GNU bug report logs - #25987
25.2; support gcc fixit notes

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Severity: wishlist; Reported by: Tom Tromey <tom@HIDDEN>; merged with #29004; dated Sun, 5 Mar 2017 21:49:01 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at 25987 <at> debbugs.gnu.org:


Received: (at 25987) by debbugs.gnu.org; 15 Oct 2020 14:44:58 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Oct 15 10:44:57 2020
Received: from localhost ([127.0.0.1]:56173 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kT4Uz-00089v-Og
	for submit <at> debbugs.gnu.org; Thu, 15 Oct 2020 10:44:57 -0400
Received: from mab.sdf.org ([205.166.94.33]:60710 helo=ma.sdf.org)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <akrl@HIDDEN>) id 1kT4Uy-00089n-CV
 for 25987 <at> debbugs.gnu.org; Thu, 15 Oct 2020 10:44:56 -0400
Received: from akrl by ma.sdf.org with local (Exim 4.92)
 (envelope-from <akrl@HIDDEN>)
 id 1kT4Uu-0002uW-6W; Thu, 15 Oct 2020 14:44:52 +0000
From: Andrea Corallo <akrl@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#25987: 25.2; support gcc fixit notes
References: <87lgsj1jle.fsf@HIDDEN> <1521218887.2913.237.camel@HIDDEN>
 <83muz7pyde.fsf@HIDDEN>
 <f3dfa5f31852456d551ec5d330d53921f623265c.camel@HIDDEN>
 <83o8lf9p68.fsf@HIDDEN>
 <26f277bb345f10efe6340ac4074960905064fc97.camel@HIDDEN>
 <83362i2nul.fsf@HIDDEN>
 <b48450189c9f42b4f2ed602ce3dabc19f0405b57.camel@HIDDEN>
 <83mu0ny4ru.fsf@HIDDEN> <xjfr1pzmuuu.fsf@HIDDEN>
 <83blh3y32w.fsf@HIDDEN>
Date: Thu, 15 Oct 2020 14:44:52 +0000
In-Reply-To: <83blh3y32w.fsf@HIDDEN> (Eli Zaretskii's message of "Thu, 15 Oct
 2020 17:29:59 +0300")
Message-ID: <xjfmu0nmtuj.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 25987
Cc: 25987 <at> debbugs.gnu.org, dmalcolm@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Eli Zaretskii <eliz@HIDDEN> writes:

>> From: Andrea Corallo <akrl@HIDDEN>
>> Cc: David Malcolm <dmalcolm@HIDDEN>,  25987 <at> debbugs.gnu.org
>> Date: Thu, 15 Oct 2020 14:23:05 +0000
>> 
>> > I'm not sure how a separate file comes into this.  Aren't we talking
>> > about the "normal" GCC diagnostic output, just augmented by hints?
>> > That has the advantage that it is also human-readable, and could help
>> > the user make changes other than accepting the hints.
>> 
>> I explained this in my last mail on this thread, to make it short using
>> stderr can't work reliably for parallel builds.
>
> That's not a problem the feature discussed here can fix: it happens
> with any parallel build run by "M-x compile".

Yes, but this is less severe as the line is tipically preserved and the
regexps we use for the goto-error are not affected, so in practice it
works.  The case of the patch is more sensitive.

> The solution to that is
> elsewhere (e.g., in using the GNU Make's command-line switches which
> control parallelsim).

That is saying is good enough.  I'm fine with that in case, but this was
to explain why the separate file came in.

  Andrea




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#25987; Package emacs. Full text available.

Message received at 25987 <at> debbugs.gnu.org:


Received: (at 25987) by debbugs.gnu.org; 15 Oct 2020 14:29:58 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Oct 15 10:29:58 2020
Received: from localhost ([127.0.0.1]:56155 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kT4GT-0007mM-SK
	for submit <at> debbugs.gnu.org; Thu, 15 Oct 2020 10:29:58 -0400
Received: from eggs.gnu.org ([209.51.188.92]:58174)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1kT4GS-0007m5-1t
 for 25987 <at> debbugs.gnu.org; Thu, 15 Oct 2020 10:29:56 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:51538)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>)
 id 1kT4GK-00075C-VP; Thu, 15 Oct 2020 10:29:48 -0400
Received: from [176.228.60.248] (port=3923 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1kT4GI-0006Az-5l; Thu, 15 Oct 2020 10:29:47 -0400
Date: Thu, 15 Oct 2020 17:29:59 +0300
Message-Id: <83blh3y32w.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Andrea Corallo <akrl@HIDDEN>
In-Reply-To: <xjfr1pzmuuu.fsf@HIDDEN> (message from Andrea Corallo on Thu, 15
 Oct 2020 14:23:05 +0000)
Subject: Re: bug#25987: 25.2; support gcc fixit notes
References: <87lgsj1jle.fsf@HIDDEN> <1521218887.2913.237.camel@HIDDEN>
 <83muz7pyde.fsf@HIDDEN>
 <f3dfa5f31852456d551ec5d330d53921f623265c.camel@HIDDEN>
 <83o8lf9p68.fsf@HIDDEN>
 <26f277bb345f10efe6340ac4074960905064fc97.camel@HIDDEN>
 <83362i2nul.fsf@HIDDEN>
 <b48450189c9f42b4f2ed602ce3dabc19f0405b57.camel@HIDDEN>
 <83mu0ny4ru.fsf@HIDDEN> <xjfr1pzmuuu.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 25987
Cc: 25987 <at> debbugs.gnu.org, dmalcolm@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Andrea Corallo <akrl@HIDDEN>
> Cc: David Malcolm <dmalcolm@HIDDEN>,  25987 <at> debbugs.gnu.org
> Date: Thu, 15 Oct 2020 14:23:05 +0000
> 
> > I'm not sure how a separate file comes into this.  Aren't we talking
> > about the "normal" GCC diagnostic output, just augmented by hints?
> > That has the advantage that it is also human-readable, and could help
> > the user make changes other than accepting the hints.
> 
> I explained this in my last mail on this thread, to make it short using
> stderr can't work reliably for parallel builds.

That's not a problem the feature discussed here can fix: it happens
with any parallel build run by "M-x compile".  The solution to that is
elsewhere (e.g., in using the GNU Make's command-line switches which
control parallelsim).




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#25987; Package emacs. Full text available.

Message received at 25987 <at> debbugs.gnu.org:


Received: (at 25987) by debbugs.gnu.org; 15 Oct 2020 14:23:13 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Oct 15 10:23:13 2020
Received: from localhost ([127.0.0.1]:56137 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kT49x-0007ZK-JG
	for submit <at> debbugs.gnu.org; Thu, 15 Oct 2020 10:23:13 -0400
Received: from mab.sdf.org ([205.166.94.33]:50164 helo=ma.sdf.org)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <akrl@HIDDEN>) id 1kT49w-0007ZD-PI
 for 25987 <at> debbugs.gnu.org; Thu, 15 Oct 2020 10:23:13 -0400
Received: from akrl by ma.sdf.org with local (Exim 4.92)
 (envelope-from <akrl@HIDDEN>)
 id 1kT49p-0001PB-Mp; Thu, 15 Oct 2020 14:23:05 +0000
From: Andrea Corallo <akrl@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#25987: 25.2; support gcc fixit notes
References: <87lgsj1jle.fsf@HIDDEN> <1521218887.2913.237.camel@HIDDEN>
 <83muz7pyde.fsf@HIDDEN>
 <f3dfa5f31852456d551ec5d330d53921f623265c.camel@HIDDEN>
 <83o8lf9p68.fsf@HIDDEN>
 <26f277bb345f10efe6340ac4074960905064fc97.camel@HIDDEN>
 <83362i2nul.fsf@HIDDEN>
 <b48450189c9f42b4f2ed602ce3dabc19f0405b57.camel@HIDDEN>
 <83mu0ny4ru.fsf@HIDDEN>
Date: Thu, 15 Oct 2020 14:23:05 +0000
In-Reply-To: <83mu0ny4ru.fsf@HIDDEN> (Eli Zaretskii's message of "Thu, 15 Oct
 2020 16:53:25 +0300")
Message-ID: <xjfr1pzmuuu.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 25987
Cc: 25987 <at> debbugs.gnu.org, David Malcolm <dmalcolm@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Eli Zaretskii <eliz@HIDDEN> writes:

>> From: David Malcolm <dmalcolm@HIDDEN>
>> Cc: 25987 <at> debbugs.gnu.org
>> Date: Wed, 14 Oct 2020 18:43:33 -0400
>> 
>> In his email, Andrea suggests outputting to a file.  How would 
>> that work?  It strikes me as making it difficult to associate the
>> output from stderr with that to the file, or would the output to the
>> file need to replace that from stderr (in which case what about lines
>> of output from "make"? or other build system messages, etc).
>
> I'm not sure how a separate file comes into this.  Aren't we talking
> about the "normal" GCC diagnostic output, just augmented by hints?
> That has the advantage that it is also human-readable, and could help
> the user make changes other than accepting the hints.

I explained this in my last mail on this thread, to make it short using
stderr can't work reliably for parallel builds.  Maybe we decide that's
good enought but has to be considered now as IMO it's a strong
limitation.

  Andrea




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#25987; Package emacs. Full text available.

Message received at 25987 <at> debbugs.gnu.org:


Received: (at 25987) by debbugs.gnu.org; 15 Oct 2020 13:53:19 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Oct 15 09:53:19 2020
Received: from localhost ([127.0.0.1]:54876 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kT3h1-0006Ve-DQ
	for submit <at> debbugs.gnu.org; Thu, 15 Oct 2020 09:53:19 -0400
Received: from eggs.gnu.org ([209.51.188.92]:48326)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1kT3gz-0006VS-Qu
 for 25987 <at> debbugs.gnu.org; Thu, 15 Oct 2020 09:53:18 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:50705)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>)
 id 1kT3gu-00025h-Fa; Thu, 15 Oct 2020 09:53:12 -0400
Received: from [176.228.60.248] (port=1680 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1kT3gt-0003vW-Fs; Thu, 15 Oct 2020 09:53:12 -0400
Date: Thu, 15 Oct 2020 16:53:25 +0300
Message-Id: <83mu0ny4ru.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: David Malcolm <dmalcolm@HIDDEN>
In-Reply-To: <b48450189c9f42b4f2ed602ce3dabc19f0405b57.camel@HIDDEN>
 (message from David Malcolm on Wed, 14 Oct 2020 18:43:33 -0400)
Subject: Re: bug#25987: 25.2; support gcc fixit notes
References: <87lgsj1jle.fsf@HIDDEN>
 <1521218887.2913.237.camel@HIDDEN> <83muz7pyde.fsf@HIDDEN>
 <f3dfa5f31852456d551ec5d330d53921f623265c.camel@HIDDEN>
 <83o8lf9p68.fsf@HIDDEN>
 <26f277bb345f10efe6340ac4074960905064fc97.camel@HIDDEN>
 <83362i2nul.fsf@HIDDEN>
 <b48450189c9f42b4f2ed602ce3dabc19f0405b57.camel@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 25987
Cc: 25987 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: David Malcolm <dmalcolm@HIDDEN>
> Cc: 25987 <at> debbugs.gnu.org
> Date: Wed, 14 Oct 2020 18:43:33 -0400
> 
> In his email, Andrea suggests outputting to a file.  How would 
> that work?  It strikes me as making it difficult to associate the
> output from stderr with that to the file, or would the output to the
> file need to replace that from stderr (in which case what about lines
> of output from "make"? or other build system messages, etc).

I'm not sure how a separate file comes into this.  Aren't we talking
about the "normal" GCC diagnostic output, just augmented by hints?
That has the advantage that it is also human-readable, and could help
the user make changes other than accepting the hints.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#25987; Package emacs. Full text available.

Message received at 25987 <at> debbugs.gnu.org:


Received: (at 25987) by debbugs.gnu.org; 15 Oct 2020 07:47:53 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Oct 15 03:47:53 2020
Received: from localhost ([127.0.0.1]:54073 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kSxzN-0007YP-DT
	for submit <at> debbugs.gnu.org; Thu, 15 Oct 2020 03:47:53 -0400
Received: from mab.sdf.org ([205.166.94.33]:49892 helo=ma.sdf.org)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <akrl@HIDDEN>) id 1kSxzL-0007YH-6v
 for 25987 <at> debbugs.gnu.org; Thu, 15 Oct 2020 03:47:51 -0400
Received: from akrl by ma.sdf.org with local (Exim 4.92)
 (envelope-from <akrl@HIDDEN>)
 id 1kSxzE-0005TA-UR; Thu, 15 Oct 2020 07:47:44 +0000
From: Andrea Corallo <akrl@HIDDEN>
To: David Malcolm <dmalcolm@HIDDEN>
Subject: Re: bug#25987: 25.2; support gcc fixit notes
References: <87lgsj1jle.fsf@HIDDEN> <1521218887.2913.237.camel@HIDDEN>
 <83muz7pyde.fsf@HIDDEN>
 <f3dfa5f31852456d551ec5d330d53921f623265c.camel@HIDDEN>
 <83o8lf9p68.fsf@HIDDEN>
 <26f277bb345f10efe6340ac4074960905064fc97.camel@HIDDEN>
 <83362i2nul.fsf@HIDDEN>
 <b48450189c9f42b4f2ed602ce3dabc19f0405b57.camel@HIDDEN>
Date: Thu, 15 Oct 2020 07:47:44 +0000
In-Reply-To: <b48450189c9f42b4f2ed602ce3dabc19f0405b57.camel@HIDDEN>
 (David Malcolm's message of "Wed, 14 Oct 2020 18:43:33 -0400")
Message-ID: <xjf4kmwnd5r.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 25987
Cc: 25987 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

David Malcolm <dmalcolm@HIDDEN> writes:

[...]

>> 
>> Yes, Emacs sets INSIDE_EMACS when it runs a sub-process.
>
> I'm increasingly warming to the idea of having it be enabled by an
> environment variable, rather than a command-line option.
>
> My thinking is that it's a pain to have to set up the build system to
> inject a particular command-line option that's intended purely for
> consumption by an IDE.  As an environment variable, the IDE can inject
> it into the environment, regardless of whatever build system is in use,
> and then consume the extra output.
>
> (For reference GCC's existing environment variables are listed here:
> https://gcc.gnu.org/onlinedocs/gcc/Environment-Variables.html )
>
> Something like GCC_EXTRA_DIAGNOSTIC_SOMETHING=foo, for some SOMETHING
> and some foo?

Yes, INSIDE_EMACS is not an option if we want to have GCC to depose
special files, would work if is just a matter of changing format but I
don't think this is the case (more on this below).

> I thought about maybe emitting JSON, which would be extendable.  But it
> would have to be all on one line, which is less optimal, and would be
> much more verbose than the existing format.
>
> So maybe just use the existing format, but fixing it so that columns
> are columns, as discussed.
>
> So perhaps a fix-it aware Emacs mode could set this when compiling:
>
>   GCC_EXTRA_DIAGNOSTIC_OUTPUT=fixits-v2
>
> (v2 since v1 is the existing format from the cmdline option)
>
> In his email, Andrea suggests outputting to a file.  How would 
> that work?  It strikes me as making it difficult to associate the
> output from stderr with that to the file, or would the output to the
> file need to replace that from stderr (in which case what about lines
> of output from "make"? or other build system messages, etc).

Here come the trouble.  Ideally would be great to just emit to stderr
and integrate with compilation-mode.  My understanding is that this
would just not work for parallel builds as the output on stderr can be
intermixed, so the idea to dump to a special file.

I think (may be wrong) that this guided patching (but also the
navigation through the hierarchical hints that your static analyzer
produces) should be all handled by an ipotethical dedicated gcc-mode
that consume these json files.  I toyed already with this approach for
the static analyzer hints here [1].

You are correct suggesting that the connection from the stderr output in
compilation-mode may not be trivial but assuming this is a requirement
we have quite some info in the diagnostic message to search for the
corresponding diagnostic in the json.

"bar.c:350:3: error: invalid conversion to type 'foo_t'"

Maybe we could even add a diagnostic ID to make the connection simpler?

Or the other option is that we make it working saftely only for non
parallel builds just using stderr, but I don't think this is very future
proof, especially given you are constantly adding cool new features to
GCC we could make use of :)

  Andrea

[1] <https://gitlab.com/koral/gcc-analyzer-mode/-/blob/master/gcc-analyzer-mode.el>




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#25987; Package emacs. Full text available.

Message received at 25987 <at> debbugs.gnu.org:


Received: (at 25987) by debbugs.gnu.org; 14 Oct 2020 22:43:41 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Oct 14 18:43:41 2020
Received: from localhost ([127.0.0.1]:53421 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kSpUi-0006th-PU
	for submit <at> debbugs.gnu.org; Wed, 14 Oct 2020 18:43:41 -0400
Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:53265)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <dmalcolm@HIDDEN>) id 1kSpUg-0006tY-82
 for 25987 <at> debbugs.gnu.org; Wed, 14 Oct 2020 18:43:39 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
 s=mimecast20190719; t=1602715417;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
 content-transfer-encoding:content-transfer-encoding:
 in-reply-to:in-reply-to:references:references;
 bh=YG/OCdrNwsahS2toYtU5wLHqunvmFd/CnCjmqNXzZ28=;
 b=N3UDbIuiDWdB6LX9944qmn7b2rfrXBXQWqIS9oy2U+mtUJhPSMykweMOiDrth2rQgmoSDi
 fLRia7yRdMZ6UR/NyTi4+FjhtqV4hna2OAXMdKBux4KZmBI6KuU34lJQvAe2fZ91YHMWJZ
 evtMfih2mWP737Qm+ag+l5ZUM4nuodM=
Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com
 [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id
 us-mta-233-KVHbiThXMiGwFRwBxKeoOg-1; Wed, 14 Oct 2020 18:43:35 -0400
X-MC-Unique: KVHbiThXMiGwFRwBxKeoOg-1
Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com
 [10.5.11.12])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 31773186DD23;
 Wed, 14 Oct 2020 22:43:34 +0000 (UTC)
Received: from ovpn-112-135.phx2.redhat.com (ovpn-112-135.phx2.redhat.com
 [10.3.112.135])
 by smtp.corp.redhat.com (Postfix) with ESMTP id BAB8961177;
 Wed, 14 Oct 2020 22:43:33 +0000 (UTC)
Message-ID: <b48450189c9f42b4f2ed602ce3dabc19f0405b57.camel@HIDDEN>
Subject: Re: bug#25987: 25.2; support gcc fixit notes
From: David Malcolm <dmalcolm@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Date: Wed, 14 Oct 2020 18:43:33 -0400
In-Reply-To: <83362i2nul.fsf@HIDDEN>
References: <87lgsj1jle.fsf@HIDDEN>
 <1521218887.2913.237.camel@HIDDEN> <83muz7pyde.fsf@HIDDEN>
 <f3dfa5f31852456d551ec5d330d53921f623265c.camel@HIDDEN>
 <83o8lf9p68.fsf@HIDDEN>
 <26f277bb345f10efe6340ac4074960905064fc97.camel@HIDDEN>
 <83362i2nul.fsf@HIDDEN>
User-Agent: Evolution 3.36.5 (3.36.5-1.fc32)
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12
Authentication-Results: relay.mimecast.com;
 auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=dmalcolm@HIDDEN
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 25987
Cc: 25987 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

On Tue, 2020-10-13 at 17:37 +0300, Eli Zaretskii wrote:
> > From: David Malcolm <dmalcolm@HIDDEN>
> > Cc: 25987 <at> debbugs.gnu.org
> > Date: Mon, 12 Oct 2020 18:27:29 -0400
> > 
> > I like how -fdiagnostics-parseable-fixits adds extra lines of
> > output,
> > with a prefix that's ought to be easy to detect.
> 
> Yes, I think that's preferable, indeed.

(nods)

> > BTW, does Emacs set anything in the environment that GCC could
> > detect?
> 
> Yes, Emacs sets INSIDE_EMACS when it runs a sub-process.

I'm increasingly warming to the idea of having it be enabled by an
environment variable, rather than a command-line option.

My thinking is that it's a pain to have to set up the build system to
inject a particular command-line option that's intended purely for
consumption by an IDE.  As an environment variable, the IDE can inject
it into the environment, regardless of whatever build system is in use,
and then consume the extra output.

(For reference GCC's existing environment variables are listed here:
https://gcc.gnu.org/onlinedocs/gcc/Environment-Variables.html )

Something like GCC_EXTRA_DIAGNOSTIC_SOMETHING=foo, for some SOMETHING
and some foo?

I thought about maybe emitting JSON, which would be extendable.  But it
would have to be all on one line, which is less optimal, and would be
much more verbose than the existing format.

So maybe just use the existing format, but fixing it so that columns
are columns, as discussed.

So perhaps a fix-it aware Emacs mode could set this when compiling:

  GCC_EXTRA_DIAGNOSTIC_OUTPUT=fixits-v2

(v2 since v1 is the existing format from the cmdline option)

In his email, Andrea suggests outputting to a file.  How would 
that work?  It strikes me as making it difficult to associate the
output from stderr with that to the file, or would the output to the
file need to replace that from stderr (in which case what about lines
of output from "make"? or other build system messages, etc).

Arguably these various approaches are a poor-man's version of a
language server (I tried implementing that for GCC a few years ago, but
my proof of concept was not successful:
https://gcc.gnu.org/ml/gcc-patches/2017-07/msg01448.html )

> > Does Emacs have an automated test suite that could test this
> > feature?
> 
> Yes, see the tests in the test/ subdirectory of the Emacs tree.

(nods)

> > Another complication to consider: the locations in a fix-it hint
> > refer
> > to the original source file, before any changes are made.  If the
> > user
> > interface supports the user e.g. clicking on fix-it hints and
> > selectively apply them one by one, then after each fix-it hint is
> > applied, all locations after that point potentially need to be
> > "fixed
> > up" somehow, to reflect the changes to the buffer.
> 
> That could be handled automatically by defining a marker at each
> hint's location, then they will move as text is edited.

With the caveat that I'm a mere user of Emacs, that sounds reasonable.
(I mentioned it more as a complication I thought of that whoever
implements this on the Emacs side needs to be aware of).


Thoughts?

Dave





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#25987; Package emacs. Full text available.

Message received at 25987 <at> debbugs.gnu.org:


Received: (at 25987) by debbugs.gnu.org; 13 Oct 2020 14:37:55 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Oct 13 10:37:55 2020
Received: from localhost ([127.0.0.1]:48129 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kSLR5-0005uS-Fy
	for submit <at> debbugs.gnu.org; Tue, 13 Oct 2020 10:37:55 -0400
Received: from eggs.gnu.org ([209.51.188.92]:60158)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1kSLR3-0005u3-Hg
 for 25987 <at> debbugs.gnu.org; Tue, 13 Oct 2020 10:37:54 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:36478)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>)
 id 1kSLQx-0002nJ-1z; Tue, 13 Oct 2020 10:37:47 -0400
Received: from [176.228.60.248] (port=2109 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1kSLQw-0003Zf-H1; Tue, 13 Oct 2020 10:37:46 -0400
Date: Tue, 13 Oct 2020 17:37:54 +0300
Message-Id: <83362i2nul.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: David Malcolm <dmalcolm@HIDDEN>
In-Reply-To: <26f277bb345f10efe6340ac4074960905064fc97.camel@HIDDEN>
 (message from David Malcolm on Mon, 12 Oct 2020 18:27:29 -0400)
Subject: Re: bug#25987: 25.2; support gcc fixit notes
References: <87lgsj1jle.fsf@HIDDEN>
 <1521218887.2913.237.camel@HIDDEN> <83muz7pyde.fsf@HIDDEN>
 <f3dfa5f31852456d551ec5d330d53921f623265c.camel@HIDDEN>
 <83o8lf9p68.fsf@HIDDEN>
 <26f277bb345f10efe6340ac4074960905064fc97.camel@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 25987
Cc: 25987 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: David Malcolm <dmalcolm@HIDDEN>
> Cc: 25987 <at> debbugs.gnu.org
> Date: Mon, 12 Oct 2020 18:27:29 -0400
> 
> I like how -fdiagnostics-parseable-fixits adds extra lines of output,
> with a prefix that's ought to be easy to detect.

Yes, I think that's preferable, indeed.

> BTW, does Emacs set anything in the environment that GCC could detect?

Yes, Emacs sets INSIDE_EMACS when it runs a sub-process.

> Does Emacs have an automated test suite that could test this feature?

Yes, see the tests in the test/ subdirectory of the Emacs tree.

> Another complication to consider: the locations in a fix-it hint refer
> to the original source file, before any changes are made.  If the user
> interface supports the user e.g. clicking on fix-it hints and
> selectively apply them one by one, then after each fix-it hint is
> applied, all locations after that point potentially need to be "fixed
> up" somehow, to reflect the changes to the buffer.

That could be handled automatically by defining a marker at each
hint's location, then they will move as text is edited.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#25987; Package emacs. Full text available.

Message received at 25987 <at> debbugs.gnu.org:


Received: (at 25987) by debbugs.gnu.org; 13 Oct 2020 07:34:17 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Oct 13 03:34:17 2020
Received: from localhost ([127.0.0.1]:45041 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kSEp7-00014k-2Z
	for submit <at> debbugs.gnu.org; Tue, 13 Oct 2020 03:34:17 -0400
Received: from mab.sdf.org ([205.166.94.33]:44112 helo=ma.sdf.org)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <akrl@HIDDEN>) id 1kSEp5-00014b-8P
 for 25987 <at> debbugs.gnu.org; Tue, 13 Oct 2020 03:34:16 -0400
Received: from akrl by ma.sdf.org with local (Exim 4.92)
 (envelope-from <akrl@HIDDEN>)
 id 1kSEos-0000un-FT; Tue, 13 Oct 2020 07:34:02 +0000
From: Andrea Corallo <akrl@HIDDEN>
To: David Malcolm <dmalcolm@HIDDEN>
Subject: Re: bug#25987: 25.2; support gcc fixit notes
References: <87lgsj1jle.fsf@HIDDEN> <1521218887.2913.237.camel@HIDDEN>
 <83muz7pyde.fsf@HIDDEN>
 <f3dfa5f31852456d551ec5d330d53921f623265c.camel@HIDDEN>
 <83o8lf9p68.fsf@HIDDEN>
 <26f277bb345f10efe6340ac4074960905064fc97.camel@HIDDEN>
Date: Tue, 13 Oct 2020 07:34:02 +0000
In-Reply-To: <26f277bb345f10efe6340ac4074960905064fc97.camel@HIDDEN>
 (David Malcolm's message of "Mon, 12 Oct 2020 18:27:29 -0400")
Message-ID: <xjflfgao9zp.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 25987
Cc: 25987 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

David Malcolm <dmalcolm@HIDDEN> writes:

> On Tue, 2020-10-06 at 21:37 +0300, Eli Zaretskii wrote:
>> > From: David Malcolm <dmalcolm@HIDDEN>
>> > Cc: 25987 <at> debbugs.gnu.org
>> > Date: Tue, 06 Oct 2020 14:17:55 -0400
>> >=20
>> > In GCC 11 we've revamped the column number handling in how we emit
>> > diagnostics; see:
>> >=20=20=20
>> > https://gcc.gnu.org/pipermail/gcc-patches/2020-October/555632.html
>> >=20
>> > GCC 11 diagnostics now (by default) should use actual column
>> > numbers,
>> > rather than byte counts.
>>=20
>> That's good news, thanks.
>>=20
>> > We haven't changed -fdiagnostics-parseable-fixits; it still emits
>> > its
>> > range information in terms of byte offsets (and e.g. Eclipse
>> > already
>> > consumes that option); this is bug-for-bug compatible with clang, I
>> > believe (which had that option first).
>>=20
>> So fixit hints will still count bytes?  Or will GCC 11 emit such
>> hints even without -fdiagnostics-parseable-fixits on the command
>> line?
>>=20
>> > Note that characters !=3D columns, or, at least, we have to be
>> > careful
>> > about what we mean.  Consider the case of =F0=9F=99=82 aka SLIGHTLY SM=
ILING
>> > FACE
>> > (U+1F642) which is a single unicode code point, but occupies two
>> > columns, with its UTF-8 encoding requiring four bytes.
>> >=20
>> > When I type it into an Emacs buffer, and look at the column number
>> > I
>> > see that Emacs appears to treat the character as occupying two
>> > columns.
>> >  Is that the kind of column numbering you would want for machine-
>> > readable fix-it hints?
>>=20
>> Yes.  Emacs computes the width of each character by using UCD, the
>> Unicode Character Database (specifically, the EastAsianWidth.txt file
>> that is part of the UCD).  If GCC gets its column counts from a
>> similar DB, then it will match what Emacs does.
>>=20
>> > Similarly, the column numbering emitted by GCC 11 diagnostics is
>> > affected by tab characters as tab stops, which seems to reflect
>> > Emacs
>> > behavior as well.
>>=20
>> Yes.
>>=20
>> > I can add an additional option for fix-it hints that's similar to
>> > -fdiagnostics-parseable-fixits, but with a different output format
>> > (or
>> > to add an argument to that option, perhaps).
>>=20
>> If an option is needed for getting the hints, then a special option
>> which reports columns in hints will be appreciated, as it will make
>> the Emacs support for processing those hints 100% accurate and devoid
>> of encoding guesswork.
>>=20
>> > Before I do that, I wanted to check that it would be consumable by
>> > Emacs.  What works for you?  Would it help to send the proposed GCC
>> > patch to this bug address (or to the emacs-devel list?).
>>=20
>> I don't know how many people here build their own GCC, and thus could
>> try the patch, but if sending the patch is not too much trouble,
>> perhaps posting it on emacs-devel would be a good idea.  If you do
>> that, please cite this bug report, so that people who try that could
>> respond here with their experience.
>>=20
>> > Alternatively, we already have a JSON output option (-fdiagnostics-
>> > format=3Djson); perhaps something like that could be used?
>>=20
>> Emacs can parse JSON.  What are the pros and cons of the JSON
>> alternative wrt to the text alternative?
>
> The existing "-fdiagnostics-format=3Djson" GCC option replaces the
> existing diagnostic output with a big blob of JSON to stderr, all on
> one line.  Although I implemented it, I now feel it to be rather half-
> baked.
>
> I like how -fdiagnostics-parseable-fixits adds extra lines of output,
> with a prefix that's ought to be easy to detect.
>
> BTW, does Emacs set anything in the environment that GCC could detect?

Hi Dave,

If we are searching for a way to ask GCC to dump a file instead of
logging to sterr I think Emacs could easily set the env variable before
invoking the compilation.  Which one I think is to be agreed as would be
probably used by a flymake back-end or same other special case as the
one discussed.

>> > Feature freeze for GCC 11 is about a month away; I'd love for Emacs
>> > to
>> > be able to consume GCC fix-it hints (and have GCC and Emacs fix my
>> > typos for me)
>>=20
>> Agreed; let's try to make that happen.
>
> I put together a test file showing various features to try to ensure
> that GCC and Emacs interoperate on this.  I'm attaching it.
>
> This can also be seen on Compiler Explorer at:
>   https://godbolt.org/z/zazejq
> which adds the existing
>   -fdiagnostics-parseable-fixits -fdiagnostics-generate-patch
> options.
>
> Ideas for other test cases are most welcome.
>
> Does Emacs have an automated test suite that could test this feature?
> A long-postponed goal for me for GCC's testsuite is to ensure that fix-
> it hints apply and actually fix the problem (clang's testsuite has
> tests that verify this for clang's fix-it hints).

Yes we have a testsuite, we could have a test that runs only with like
GCC versions >=3D 11 or keep in the testsuite some pre cooked GCC output.
Some tests should be easy to write.

  Andrea




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#25987; Package emacs. Full text available.

Message received at 25987 <at> debbugs.gnu.org:


Received: (at 25987) by debbugs.gnu.org; 12 Oct 2020 22:27:41 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Oct 12 18:27:41 2020
Received: from localhost ([127.0.0.1]:44270 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kS6I8-00080Y-Qn
	for submit <at> debbugs.gnu.org; Mon, 12 Oct 2020 18:27:41 -0400
Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:38344)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <dmalcolm@HIDDEN>) id 1kS6I4-00080N-6e
 for 25987 <at> debbugs.gnu.org; Mon, 12 Oct 2020 18:27:38 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
 s=mimecast20190719; t=1602541656;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
 in-reply-to:in-reply-to:references:references;
 bh=kv5M84xSoWNJu92zJFPbJ7C4dOnMchJdRfsA+3OjzGw=;
 b=YDhGwUucR28Vcs2DdhHwW6obDFiWDOu/gh6ajl6lYzc7687sxtqyKbZG2vQ5hT2TznIA21
 kxE+aK9WrWPa2jVWdcMWzDkEBayY9OLlOUph60mBYvDvJ99RVxPepD70BUrJr6TmI/IJn9
 xUDOLXtixrNUk26nlOA/pS3DTq8rBRg=
Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com
 [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id
 us-mta-11-EJO9qhY1Ph2WaERuUN-OcA-1; Mon, 12 Oct 2020 18:27:31 -0400
X-MC-Unique: EJO9qhY1Ph2WaERuUN-OcA-1
Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com
 [10.5.11.22])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx01.redhat.com (Postfix) with ESMTPS id A71C4185A0C4;
 Mon, 12 Oct 2020 22:27:30 +0000 (UTC)
Received: from ovpn-112-135.phx2.redhat.com (ovpn-112-135.phx2.redhat.com
 [10.3.112.135])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 2F6C510013DB;
 Mon, 12 Oct 2020 22:27:29 +0000 (UTC)
Message-ID: <26f277bb345f10efe6340ac4074960905064fc97.camel@HIDDEN>
Subject: Re: bug#25987: 25.2; support gcc fixit notes
From: David Malcolm <dmalcolm@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Date: Mon, 12 Oct 2020 18:27:29 -0400
In-Reply-To: <83o8lf9p68.fsf@HIDDEN>
References: <87lgsj1jle.fsf@HIDDEN>
 <1521218887.2913.237.camel@HIDDEN> <83muz7pyde.fsf@HIDDEN>
 <f3dfa5f31852456d551ec5d330d53921f623265c.camel@HIDDEN>
 <83o8lf9p68.fsf@HIDDEN>
User-Agent: Evolution 3.36.5 (3.36.5-1.fc32)
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22
Authentication-Results: relay.mimecast.com;
 auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=dmalcolm@HIDDEN
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Type: multipart/mixed; boundary="=-n3E9E9o33IMfHcokYE/T"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 25987
Cc: 25987 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--=-n3E9E9o33IMfHcokYE/T
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

On Tue, 2020-10-06 at 21:37 +0300, Eli Zaretskii wrote:
> > From: David Malcolm <dmalcolm@HIDDEN>
> > Cc: 25987 <at> debbugs.gnu.org
> > Date: Tue, 06 Oct 2020 14:17:55 -0400
> > 
> > In GCC 11 we've revamped the column number handling in how we emit
> > diagnostics; see:
> >   
> > https://gcc.gnu.org/pipermail/gcc-patches/2020-October/555632.html
> > 
> > GCC 11 diagnostics now (by default) should use actual column
> > numbers,
> > rather than byte counts.
> 
> That's good news, thanks.
> 
> > We haven't changed -fdiagnostics-parseable-fixits; it still emits
> > its
> > range information in terms of byte offsets (and e.g. Eclipse
> > already
> > consumes that option); this is bug-for-bug compatible with clang, I
> > believe (which had that option first).
> 
> So fixit hints will still count bytes?  Or will GCC 11 emit such
> hints even without -fdiagnostics-parseable-fixits on the command
> line?
> 
> > Note that characters != columns, or, at least, we have to be
> > careful
> > about what we mean.  Consider the case of 🙂 aka SLIGHTLY SMILING
> > FACE
> > (U+1F642) which is a single unicode code point, but occupies two
> > columns, with its UTF-8 encoding requiring four bytes.
> > 
> > When I type it into an Emacs buffer, and look at the column number
> > I
> > see that Emacs appears to treat the character as occupying two
> > columns.
> >  Is that the kind of column numbering you would want for machine-
> > readable fix-it hints?
> 
> Yes.  Emacs computes the width of each character by using UCD, the
> Unicode Character Database (specifically, the EastAsianWidth.txt file
> that is part of the UCD).  If GCC gets its column counts from a
> similar DB, then it will match what Emacs does.
> 
> > Similarly, the column numbering emitted by GCC 11 diagnostics is
> > affected by tab characters as tab stops, which seems to reflect
> > Emacs
> > behavior as well.
> 
> Yes.
> 
> > I can add an additional option for fix-it hints that's similar to
> > -fdiagnostics-parseable-fixits, but with a different output format
> > (or
> > to add an argument to that option, perhaps).
> 
> If an option is needed for getting the hints, then a special option
> which reports columns in hints will be appreciated, as it will make
> the Emacs support for processing those hints 100% accurate and devoid
> of encoding guesswork.
> 
> > Before I do that, I wanted to check that it would be consumable by
> > Emacs.  What works for you?  Would it help to send the proposed GCC
> > patch to this bug address (or to the emacs-devel list?).
> 
> I don't know how many people here build their own GCC, and thus could
> try the patch, but if sending the patch is not too much trouble,
> perhaps posting it on emacs-devel would be a good idea.  If you do
> that, please cite this bug report, so that people who try that could
> respond here with their experience.
> 
> > Alternatively, we already have a JSON output option (-fdiagnostics-
> > format=json); perhaps something like that could be used?
> 
> Emacs can parse JSON.  What are the pros and cons of the JSON
> alternative wrt to the text alternative?

The existing "-fdiagnostics-format=json" GCC option replaces the
existing diagnostic output with a big blob of JSON to stderr, all on
one line.  Although I implemented it, I now feel it to be rather half-
baked.

I like how -fdiagnostics-parseable-fixits adds extra lines of output,
with a prefix that's ought to be easy to detect.

BTW, does Emacs set anything in the environment that GCC could detect?

> > Feature freeze for GCC 11 is about a month away; I'd love for Emacs
> > to
> > be able to consume GCC fix-it hints (and have GCC and Emacs fix my
> > typos for me)
> 
> Agreed; let's try to make that happen.

I put together a test file showing various features to try to ensure
that GCC and Emacs interoperate on this.  I'm attaching it.

This can also be seen on Compiler Explorer at:
  https://godbolt.org/z/zazejq
which adds the existing
  -fdiagnostics-parseable-fixits -fdiagnostics-generate-patch
options.

Ideas for other test cases are most welcome.

Does Emacs have an automated test suite that could test this feature?
A long-postponed goal for me for GCC's testsuite is to ensure that fix-
it hints apply and actually fix the problem (clang's testsuite has
tests that verify this for clang's fix-it hints).

Another complication to consider: the locations in a fix-it hint refer
to the original source file, before any changes are made.  If the user
interface supports the user e.g. clicking on fix-it hints and
selectively apply them one by one, then after each fix-it hint is
applied, all locations after that point potentially need to be "fixed
up" somehow, to reflect the changes to the buffer.  GCC's own code
implements this in gcc/edit-context.{c|h}, for implementing -
fdiagnostics-generate-patch, which applies all fix-its "atomically" -
but the use-case I thinking of involves clicking on fix-it hints one-
by-one in the compilation buffer, perhaps replacing the fix-it output
with an "Apply fix" button.

(to cover this case I made sure the demo file contained examples of a
fix-it hint that adds a line, and one that has multiple fix-it hints on
the same line).


Thoughts?

Dave

--=-n3E9E9o33IMfHcokYE/T
Content-Disposition: attachment; filename="demo.c"
Content-Type: text/x-csrc; name="demo.c"; charset="UTF-8"
Content-Transfer-Encoding: base64

LyogQSBkdW1teSBpbmNsdWRlLCB0byBvZmZzZXQgdGhlIGZpeC1pdCBpbmNsdWRlIGluIHRlc3Rf
MSBiZWxvdy4gICovCiNpbmNsdWRlIDxzdGRpby5oPgoKc3RydWN0IHZlcnQKewogIGludCBjb2xv
cjsKfTsKCnZvaWQgKnRlc3RfMSAodm9pZCkKewogIC8qIC1XaW1wbGljaXQtZnVuY3Rpb24tZGVj
bGFyYXRpb24gc2hvdWxkIGdlbmVyYXRlIGEgZml4LWl0IGhpbnQgdGhhdAogICAgIGFkZHMgYSB3
aG9sZSBuZXcgbGluZSBzdWdnZXN0aW5nIGEgI2luY2x1ZGUsIGFkZGVkIGFmdGVyIHRoZQogICAg
IGV4aXN0aW5nICNpbmNsdWRlLiAgKi8KICByZXR1cm4gbWFsbG9jICg0MDk2KTsKfQoKdm9pZCB0
ZXN0XzJhIChzdHJ1Y3QgdmVydCAqdikKewogIC8qIFNvbWUgbm9uLUFTQ0lJIHRleHQgcHJlY2Vk
aW5nIGEgZml4LWl0IGhpbnQuICAqLwogIC8qIPCfmYIg8J+ZgiDwn5mCICovIHYtPmNvbG91ciA9
IDA7Cn0KCnZvaWQgdGVzdF8yYiAoc3RydWN0IHZlcnQgKnYpCnsKICAvKiBTb21lIG90aGVyIG5v
bi1BU0NJSSB0ZXh0IHByZWNlZGluZyBhIGZpeC1pdCBoaW50LiAgKi8KICAvKiDPgCDPgCDPgCAq
LyB2LT5jb2xvdXIgPSAwOwp9Cgp2b2lkIHRlc3RfMmMgKHN0cnVjdCB2ZXJ0ICp2KQp7CiAgLyog
WWV0IG1vcmUgbm9uLUFTQ0lJIHRleHQgcHJlY2VkaW5nIGEgZml4LWl0IGhpbnQuICAqLwogIC8q
IOaWh+Wtl+WMluOBkSAqLyB2LT5jb2xvdXIgPSAwOwp9Cgp2b2lkIHRlc3RfMyAoc3RydWN0IHZl
cnQgKnYpCnsKCSAgLyogVGFicyBhbmQgc3BhY2VzIHByZWNlZGluZyBhIGZpeC1pdCBoaW50LiAg
Ki8KCSAgdi0+Y29sb3VyID0gMDsKfQoKdm9pZCB0ZXN0XzQgKHN0cnVjdCB2ZXJ0ICp2KQp7CiAg
LyogTW9yZSB0aGFuIG9uZSBmaXgtaXQgb24gdGhlIHNhbWUgbGluZS4gICovCiAgaWYgKHYtPmNv
bG91cikgdi0+Y29sb3VyICs9IDI7Cn0KCmRvdWJsZSB0ZXN0XzUgKHZvaWQpCnsKICAvKiBOb24t
QVNDSUkgcmVwbGFjZW1lbnQuICAqLwogIGNvbnN0IGRvdWJsZSB0d29fz4AgPSAoMy4xNDEgKiAy
KTsKICByZXR1cm4gdHdvX3BpOwp9Cg==
--=-n3E9E9o33IMfHcokYE/T--





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#25987; Package emacs. Full text available.

Message received at 25987 <at> debbugs.gnu.org:


Received: (at 25987) by debbugs.gnu.org; 6 Oct 2020 18:37:11 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Oct 06 14:37:11 2020
Received: from localhost ([127.0.0.1]:54118 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kPrpn-0004S3-Bj
	for submit <at> debbugs.gnu.org; Tue, 06 Oct 2020 14:37:11 -0400
Received: from eggs.gnu.org ([209.51.188.92]:51790)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1kPrpi-0004RY-LD
 for 25987 <at> debbugs.gnu.org; Tue, 06 Oct 2020 14:37:10 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:57259)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>)
 id 1kPrpc-0006zT-Jg; Tue, 06 Oct 2020 14:37:01 -0400
Received: from [176.228.60.248] (port=4282 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1kPrpb-0003nT-8q; Tue, 06 Oct 2020 14:37:00 -0400
Date: Tue, 06 Oct 2020 21:37:03 +0300
Message-Id: <83o8lf9p68.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: David Malcolm <dmalcolm@HIDDEN>
In-Reply-To: <f3dfa5f31852456d551ec5d330d53921f623265c.camel@HIDDEN>
 (message from David Malcolm on Tue, 06 Oct 2020 14:17:55 -0400)
Subject: Re: bug#25987: 25.2; support gcc fixit notes
References: <87lgsj1jle.fsf@HIDDEN>
 <1521218887.2913.237.camel@HIDDEN> <83muz7pyde.fsf@HIDDEN>
 <f3dfa5f31852456d551ec5d330d53921f623265c.camel@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 25987
Cc: 25987 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: David Malcolm <dmalcolm@HIDDEN>
> Cc: 25987 <at> debbugs.gnu.org
> Date: Tue, 06 Oct 2020 14:17:55 -0400
> 
> In GCC 11 we've revamped the column number handling in how we emit
> diagnostics; see:
>   https://gcc.gnu.org/pipermail/gcc-patches/2020-October/555632.html
> 
> GCC 11 diagnostics now (by default) should use actual column numbers,
> rather than byte counts.

That's good news, thanks.

> We haven't changed -fdiagnostics-parseable-fixits; it still emits its
> range information in terms of byte offsets (and e.g. Eclipse already
> consumes that option); this is bug-for-bug compatible with clang, I
> believe (which had that option first).

So fixit hints will still count bytes?  Or will GCC 11 emit such
hints even without -fdiagnostics-parseable-fixits on the command line?

> Note that characters != columns, or, at least, we have to be careful
> about what we mean.  Consider the case of 🙂 aka SLIGHTLY SMILING FACE
> (U+1F642) which is a single unicode code point, but occupies two
> columns, with its UTF-8 encoding requiring four bytes.
> 
> When I type it into an Emacs buffer, and look at the column number I
> see that Emacs appears to treat the character as occupying two columns.
>  Is that the kind of column numbering you would want for machine-
> readable fix-it hints?

Yes.  Emacs computes the width of each character by using UCD, the
Unicode Character Database (specifically, the EastAsianWidth.txt file
that is part of the UCD).  If GCC gets its column counts from a
similar DB, then it will match what Emacs does.

> Similarly, the column numbering emitted by GCC 11 diagnostics is
> affected by tab characters as tab stops, which seems to reflect Emacs
> behavior as well.

Yes.

> I can add an additional option for fix-it hints that's similar to
> -fdiagnostics-parseable-fixits, but with a different output format (or
> to add an argument to that option, perhaps).

If an option is needed for getting the hints, then a special option
which reports columns in hints will be appreciated, as it will make
the Emacs support for processing those hints 100% accurate and devoid
of encoding guesswork.

> Before I do that, I wanted to check that it would be consumable by
> Emacs.  What works for you?  Would it help to send the proposed GCC
> patch to this bug address (or to the emacs-devel list?).

I don't know how many people here build their own GCC, and thus could
try the patch, but if sending the patch is not too much trouble,
perhaps posting it on emacs-devel would be a good idea.  If you do
that, please cite this bug report, so that people who try that could
respond here with their experience.

> Alternatively, we already have a JSON output option (-fdiagnostics-
> format=json); perhaps something like that could be used?

Emacs can parse JSON.  What are the pros and cons of the JSON
alternative wrt to the text alternative?

> Feature freeze for GCC 11 is about a month away; I'd love for Emacs to
> be able to consume GCC fix-it hints (and have GCC and Emacs fix my
> typos for me)

Agreed; let's try to make that happen.

Thanks.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#25987; Package emacs. Full text available.

Message received at 25987 <at> debbugs.gnu.org:


Received: (at 25987) by debbugs.gnu.org; 6 Oct 2020 18:18:04 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Oct 06 14:18:04 2020
Received: from localhost ([127.0.0.1]:54108 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kPrXH-0003zu-T3
	for submit <at> debbugs.gnu.org; Tue, 06 Oct 2020 14:18:04 -0400
Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:56090)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <dmalcolm@HIDDEN>) id 1kPrXE-0003zS-Ig
 for 25987 <at> debbugs.gnu.org; Tue, 06 Oct 2020 14:18:02 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
 s=mimecast20190719; t=1602008280;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
 content-transfer-encoding:content-transfer-encoding:
 in-reply-to:in-reply-to:references:references;
 bh=utkPp9rT1g++RKRA1gcFaa64mBtC+gEOqw5FDxNcyUE=;
 b=MWcRs5o6StCWK9VkFIuy9C2QKFg2d0f0XN4fFPS4DmZtfixGqjCRjRTL+uPH7LAohPRVNT
 +2UnlT/TxngQhD9MhnGki/Ow3FCl9Jj/QCnGMIxrtnfA+uXzOtG6gigpNsK7oLmUgY+wMJ
 f8ywDvkHAd3KC4EnJmDZ1QVpqyCCaW8=
Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com
 [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id
 us-mta-75-nVZ4H36qMOWtiNWVrsuROQ-1; Tue, 06 Oct 2020 14:17:57 -0400
X-MC-Unique: nVZ4H36qMOWtiNWVrsuROQ-1
Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com
 [10.5.11.13])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx01.redhat.com (Postfix) with ESMTPS id BCD9956BFE;
 Tue,  6 Oct 2020 18:17:56 +0000 (UTC)
Received: from ovpn-112-135.phx2.redhat.com (ovpn-112-135.phx2.redhat.com
 [10.3.112.135])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 539936EF43;
 Tue,  6 Oct 2020 18:17:56 +0000 (UTC)
Message-ID: <f3dfa5f31852456d551ec5d330d53921f623265c.camel@HIDDEN>
Subject: Re: bug#25987: 25.2; support gcc fixit notes
From: David Malcolm <dmalcolm@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Date: Tue, 06 Oct 2020 14:17:55 -0400
In-Reply-To: <83muz7pyde.fsf@HIDDEN>
References: <87lgsj1jle.fsf@HIDDEN>
 <1521218887.2913.237.camel@HIDDEN> <83muz7pyde.fsf@HIDDEN>
User-Agent: Evolution 3.36.5 (3.36.5-1.fc32)
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13
Authentication-Results: relay.mimecast.com;
 auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=dmalcolm@HIDDEN
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 25987
Cc: 25987 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

On Fri, 2018-03-16 at 22:19 +0200, Eli Zaretskii wrote:
> > From: David Malcolm <dmalcolm@HIDDEN>
> > Date: Fri, 16 Mar 2018 12:48:07 -0400
> > 
> > It appears that Emacs can already decode from byte-offsets in a
> > line
> > back to columns
> 
> Actually, doing this translation is a pain, because it requires to
> know the original encoding used by GCC for its messages, and that
> info
> is gone by the time we have the text decoded in an Emacs buffer.
> Emacs can guess the encoding, but that guesswork is bound to
> fail.  So
> reporting the offsets in characters (a.k.a. columns) is really a
> necessity.
> 
> Thanks.

Sorry for the long delay in responding.

In GCC 11 we've revamped the column number handling in how we emit
diagnostics; see:
  https://gcc.gnu.org/pipermail/gcc-patches/2020-October/555632.html

GCC 11 diagnostics now (by default) should use actual column numbers,
rather than byte counts.

We haven't changed -fdiagnostics-parseable-fixits; it still emits its
range information in terms of byte offsets (and e.g. Eclipse already
consumes that option); this is bug-for-bug compatible with clang, I
believe (which had that option first).

Note that characters != columns, or, at least, we have to be careful
about what we mean.  Consider the case of 🙂 aka SLIGHTLY SMILING FACE
(U+1F642) which is a single unicode code point, but occupies two
columns, with its UTF-8 encoding requiring four bytes.

When I type it into an Emacs buffer, and look at the column number I
see that Emacs appears to treat the character as occupying two columns.
 Is that the kind of column numbering you would want for machine-
readable fix-it hints?

Similarly, the column numbering emitted by GCC 11 diagnostics is
affected by tab characters as tab stops, which seems to reflect Emacs
behavior as well.

I can add an additional option for fix-it hints that's similar to
-fdiagnostics-parseable-fixits, but with a different output format (or
to add an argument to that option, perhaps).

Before I do that, I wanted to check that it would be consumable by
Emacs.  What works for you?  Would it help to send the proposed GCC
patch to this bug address (or to the emacs-devel list?).

The existing option is documented here:
https://gcc.gnu.org/onlinedocs/gcc/Diagnostic-Message-Formatting-Options.html#index-fdiagnostics-parseable-fixits

Alternatively, we already have a JSON output option (-fdiagnostics-
format=json); perhaps something like that could be used?


Feature freeze for GCC 11 is about a month away; I'd love for Emacs to
be able to consume GCC fix-it hints (and have GCC and Emacs fix my
typos for me)

Dave





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#25987; Package emacs. Full text available.

Message received at 25987 <at> debbugs.gnu.org:


Received: (at 25987) by debbugs.gnu.org; 16 Mar 2018 20:19:17 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Mar 16 16:19:17 2018
Received: from localhost ([127.0.0.1]:37314 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ewvor-00017h-Hn
	for submit <at> debbugs.gnu.org; Fri, 16 Mar 2018 16:19:17 -0400
Received: from eggs.gnu.org ([208.118.235.92]:43944)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1ewvoq-00017V-BU
 for 25987 <at> debbugs.gnu.org; Fri, 16 Mar 2018 16:19:16 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <eliz@HIDDEN>) id 1ewvoi-0007EX-Bf
 for 25987 <at> debbugs.gnu.org; Fri, 16 Mar 2018 16:19:11 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,T_RP_MATCHES_RCVD
 autolearn=disabled version=3.3.2
Received: from fencepost.gnu.org ([2001:4830:134:3::e]:34793)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1ewvoi-0007EQ-7u; Fri, 16 Mar 2018 16:19:08 -0400
Received: from [176.228.60.248] (port=1339 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1ewvoh-000777-ML; Fri, 16 Mar 2018 16:19:08 -0400
Date: Fri, 16 Mar 2018 22:19:09 +0200
Message-Id: <83muz7pyde.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: David Malcolm <dmalcolm@HIDDEN>
In-reply-to: <1521218887.2913.237.camel@HIDDEN> (message from David
 Malcolm on Fri, 16 Mar 2018 12:48:07 -0400)
Subject: Re: bug#25987: 25.2; support gcc fixit notes
References: <87lgsj1jle.fsf@HIDDEN> <1521218887.2913.237.camel@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 2001:4830:134:3::e
X-Spam-Score: -5.0 (-----)
X-Debbugs-Envelope-To: 25987
Cc: 25987 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Reply-To: Eli Zaretskii <eliz@HIDDEN>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.0 (-----)

> From: David Malcolm <dmalcolm@HIDDEN>
> Date: Fri, 16 Mar 2018 12:48:07 -0400
> 
> It appears that Emacs can already decode from byte-offsets in a line
> back to columns

Actually, doing this translation is a pain, because it requires to
know the original encoding used by GCC for its messages, and that info
is gone by the time we have the text decoded in an Emacs buffer.
Emacs can guess the encoding, but that guesswork is bound to fail.  So
reporting the offsets in characters (a.k.a. columns) is really a
necessity.

Thanks.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#25987; Package emacs. Full text available.

Message received at 25987 <at> debbugs.gnu.org:


Received: (at 25987) by debbugs.gnu.org; 16 Mar 2018 17:08:11 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Mar 16 13:08:11 2018
Received: from localhost ([127.0.0.1]:37229 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ewspv-0002zk-D0
	for submit <at> debbugs.gnu.org; Fri, 16 Mar 2018 13:08:11 -0400
Received: from mx1.redhat.com ([209.132.183.28]:43590)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <dmalcolm@HIDDEN>) id 1ewsWc-0002X9-53
 for 25987 <at> debbugs.gnu.org; Fri, 16 Mar 2018 12:48:14 -0400
Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com
 [10.5.11.16])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mx1.redhat.com (Postfix) with ESMTPS id 810B57FEB5
 for <25987 <at> debbugs.gnu.org>; Fri, 16 Mar 2018 16:48:08 +0000 (UTC)
Received: from ovpn-117-5.phx2.redhat.com (ovpn-117-5.phx2.redhat.com
 [10.3.117.5])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 3E9B06375A
 for <25987 <at> debbugs.gnu.org>; Fri, 16 Mar 2018 16:48:08 +0000 (UTC)
Message-ID: <1521218887.2913.237.camel@HIDDEN>
Subject: Re: bug#25987: 25.2; support gcc fixit notes
From: David Malcolm <dmalcolm@HIDDEN>
To: 25987 <at> debbugs.gnu.org
Date: Fri, 16 Mar 2018 12:48:07 -0400
Content-Type: text/plain; charset="UTF-8"
Mime-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16
 (mx1.redhat.com [10.5.110.25]); Fri, 16 Mar 2018 16:48:08 +0000 (UTC)
X-Spam-Score: -5.0 (-----)
X-Debbugs-Envelope-To: 25987
X-Mailman-Approved-At: Fri, 16 Mar 2018 13:08:10 -0400
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.0 (-----)

[I'm not familiar with this bug-tracking system; let's see if this
works]

I'm the author of the -fdiagnostics-parseable-fixits feature in GCC; I
maintain the GCC diagnostics subsystem.

As Tom(?) noted, I made -fdiagnostics-parseable-fixits report in bytes,
partly because that's the status quo for all of GCC's "column"
reporting, and partly because that's what clang implemented for this. 
It appears that Emacs can already decode from byte-offsets in a line
back to columns, so this seems like a compatibility detail in case we
fix everything to use real column numbers.

I'm also an Emacs user (though not a Emacs developer, sorry; my Lisp is
practically non-existent) - I just wondered what the status of this is.
I'm keen to be able to use it (GCC will get better faster!), even if
it's just a new command in compilation mode to go ahead and apply a
fix-it hint for the current diagnostic, as seen by next-error, if it
has one, maybe prettifying the printing of such lines, with the user
having to manually supply -fdiagnostics-parseable-fixits somehow.

FWIW GCC 8 is gaining lots more fix-it hints (including ones that add
newlines, for missing "#include" suggestions); see:

https://developers.redhat.com/blog/2018/03/15/gcc-8-usability-improvements/

for a blog post I wrote about it.

Thanks; hope this is constructive.
Dave





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#25987; Package emacs. Full text available.
Forcibly Merged 25987 29004. Request was from Glenn Morris <rgm@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at 25987 <at> debbugs.gnu.org:


Received: (at 25987) by debbugs.gnu.org; 6 Aug 2017 03:34:43 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Aug 05 23:34:43 2017
Received: from localhost ([127.0.0.1]:43975 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1deCKx-00076N-3n
	for submit <at> debbugs.gnu.org; Sat, 05 Aug 2017 23:34:43 -0400
Received: from gproxy6-pub.mail.unifiedlayer.com ([67.222.39.168]:36239)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <tom@HIDDEN>) id 1deCKu-000768-U6
 for 25987 <at> debbugs.gnu.org; Sat, 05 Aug 2017 23:34:42 -0400
Received: from cmgw4 (unknown [10.0.90.85])
 by gproxy6.mail.unifiedlayer.com (Postfix) with ESMTP id 2F6BC1E0786
 for <25987 <at> debbugs.gnu.org>; Sat,  5 Aug 2017 21:34:33 -0600 (MDT)
Received: from box522.bluehost.com ([74.220.219.122]) by cmgw4 with 
 id tfaW1v0022f2jeq01faZzR; Sat, 05 Aug 2017 21:34:33 -0600
X-Authority-Analysis: v=2.2 cv=aJeAkf1m c=1 sm=1 tr=0
 a=GsOEXm/OWkKvwdLVJsfwcA==:117 a=GsOEXm/OWkKvwdLVJsfwcA==:17
 a=KeKAF7QvOSUA:10 a=vaJtXVxTAAAA:8 a=8IKrs8vvOidCoWTx8LcA:9
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; 
 s=default;
 h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date:
 References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:
 Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:
 Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:
 List-Subscribe:List-Post:List-Owner:List-Archive;
 bh=+JS6bHqr3/wPGWRR9qFxfiKgi2dGZ3LO5xAHqB8nqTY=; b=D/MqqgcgUtaxQulMwNFsSgdRXU
 qfuqL26cRd491qa6Dmc9RU+RBgCp6G2K/7nGKbpRcHzL3Vw14Ew2ktPz9I6lPxqHUE34Zdj/gHzFy
 c+sqqEJh65fjcMgL+I1FclFhJ;
Received: from 75-166-24-97.hlrn.qwest.net ([75.166.24.97]:34912 helo=bapiya)
 by box522.bluehost.com with esmtpsa
 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.87)
 (envelope-from <tom@HIDDEN>)
 id 1deCKj-0014RZ-UD; Sat, 05 Aug 2017 21:34:30 -0600
From: Tom Tromey <tom@HIDDEN>
To: Dmitry Gutov <dgutov@HIDDEN>
Subject: Re: bug#25987: 25.2; support gcc fixit notes
References: <87lgsj1jle.fsf@HIDDEN> <83efyai778.fsf@HIDDEN>
 <878toh19bs.fsf@HIDDEN> <874lz37glw.fsf@HIDDEN>
 <8360jjh8jo.fsf@HIDDEN>
 <11da16db-d636-8cb2-142e-5d240cd88d1c@HIDDEN>
X-Attribution: Tom
Date: Sat, 05 Aug 2017 21:34:24 -0600
In-Reply-To: <11da16db-d636-8cb2-142e-5d240cd88d1c@HIDDEN> (Dmitry Gutov's
 message of "Thu, 9 Mar 2017 18:37:30 +0200")
Message-ID: <87ini1e5dr.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-AntiAbuse: This header was added to track abuse,
 please include it with any abuse report
X-AntiAbuse: Primary Hostname - box522.bluehost.com
X-AntiAbuse: Original Domain - debbugs.gnu.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - tromey.com
X-BWhitelist: no
X-Source-IP: 75.166.24.97
X-Exim-ID: 1deCKj-0014RZ-UD
X-Source: 
X-Source-Args: 
X-Source-Dir: 
X-Source-Sender: 75-166-24-97.hlrn.qwest.net (bapiya) [75.166.24.97]:34912
X-Source-Auth: tom+tromey.com
X-Email-Count: 5
X-Source-Cap: ZWx5bnJvYmk7ZWx5bnJvYmk7Ym94NTIyLmJsdWVob3N0LmNvbQ==
X-Local-Domain: yes
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 25987
Cc: 25987 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>,
 Tom Tromey <tom@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.3 (--)

>>>>> "Dmitry" == Dmitry Gutov <dgutov@HIDDEN> writes:

Dmitry> Thinking along these lines, the closest things we have are Flymake and
Dmitry> Flyspell. The third-party Flycheck is even better is several respects
Dmitry> (e.g. it can show a listing of all problems in the file buffer), but
Dmitry> sadly we won't be able to use it, since the primary author is sternly
Dmitry> against copyright assignment.

It'd be great to evolve Flymake into something more like Flycheck.

Dmitry> But it'd be good to teach Flymake about fixits, and when we can't use
Dmitry> tooltips, use a text-based prompts a la Flyspell.

I think this would be a good addition, kind of like LSP mode; but also
not really necessary -- at least for me, I usually use M-x compile for C
and C++ projects, and some integration with next-error would be more
than sufficient.

Tom




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#25987; Package emacs. Full text available.

Message received at 25987 <at> debbugs.gnu.org:


Received: (at 25987) by debbugs.gnu.org; 6 Aug 2017 03:31:40 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Aug 05 23:31:40 2017
Received: from localhost ([127.0.0.1]:43970 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1deCI0-000722-KS
	for submit <at> debbugs.gnu.org; Sat, 05 Aug 2017 23:31:40 -0400
Received: from gproxy2-pub.mail.unifiedlayer.com ([69.89.18.3]:48016)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <tom@HIDDEN>) id 1deCHy-00071o-Bi
 for 25987 <at> debbugs.gnu.org; Sat, 05 Aug 2017 23:31:39 -0400
Received: from cmgw4 (unknown [10.0.90.85])
 by gproxy2.mail.unifiedlayer.com (Postfix) with ESMTP id 6C88E1E09EE
 for <25987 <at> debbugs.gnu.org>; Sat,  5 Aug 2017 21:31:29 -0600 (MDT)
Received: from box522.bluehost.com ([74.220.219.122]) by cmgw4 with 
 id tfXP1v00h2f2jeq01fXSxc; Sat, 05 Aug 2017 21:31:29 -0600
X-Authority-Analysis: v=2.2 cv=aJeAkf1m c=1 sm=1 tr=0
 a=GsOEXm/OWkKvwdLVJsfwcA==:117 a=GsOEXm/OWkKvwdLVJsfwcA==:17
 a=KeKAF7QvOSUA:10 a=vaJtXVxTAAAA:8 a=AhS_egAj-RsG7vl5rnIA:9
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; 
 s=default;
 h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date:
 References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:
 Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:
 Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:
 List-Subscribe:List-Post:List-Owner:List-Archive;
 bh=0T97B+riDUBvkCmncp4Uj9k4dYt45RJrbg/2gzoKw8A=; b=ZGhfFJ3BIGIW2mkvRwPwq6uWAa
 lQ7P82cm0NEhowC9Sd+z5lhdBE/vDqiVg8Sg9ROL3oxnEiI2QkJFwA9nIf4bk1Or+s1qBGYUpGwLq
 oA9I6m6hesraqVhr1l2ZYLgak;
Received: from 75-166-24-97.hlrn.qwest.net ([75.166.24.97]:34900 helo=bapiya)
 by box522.bluehost.com with esmtpsa
 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.87)
 (envelope-from <tom@HIDDEN>)
 id 1deCHj-0011w3-E7; Sat, 05 Aug 2017 21:31:23 -0600
From: Tom Tromey <tom@HIDDEN>
To: Dmitry Gutov <dgutov@HIDDEN>
Subject: Re: bug#25987: 25.2; support gcc fixit notes
References: <87lgsj1jle.fsf@HIDDEN>
 <b1850167-dddc-46d7-ddd1-c03d4c014d94@HIDDEN>
X-Attribution: Tom
Date: Sat, 05 Aug 2017 21:31:22 -0600
In-Reply-To: <b1850167-dddc-46d7-ddd1-c03d4c014d94@HIDDEN> (Dmitry Gutov's
 message of "Thu, 9 Mar 2017 18:18:04 +0200")
Message-ID: <87mv7de5it.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-AntiAbuse: This header was added to track abuse,
 please include it with any abuse report
X-AntiAbuse: Primary Hostname - box522.bluehost.com
X-AntiAbuse: Original Domain - debbugs.gnu.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - tromey.com
X-BWhitelist: no
X-Source-IP: 75.166.24.97
X-Exim-ID: 1deCHj-0011w3-E7
X-Source: 
X-Source-Args: 
X-Source-Dir: 
X-Source-Sender: 75-166-24-97.hlrn.qwest.net (bapiya) [75.166.24.97]:34900
X-Source-Auth: tom+tromey.com
X-Email-Count: 2
X-Source-Cap: ZWx5bnJvYmk7ZWx5bnJvYmk7Ym94NTIyLmJsdWVob3N0LmNvbQ==
X-Local-Domain: yes
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 25987
Cc: 25987 <at> debbugs.gnu.org, Tom Tromey <tom@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.3 (--)

>>>>> "Dmitry" == Dmitry Gutov <dgutov@HIDDEN> writes:

>> * One way for this to work would be to display the buffer and
>> show the proposed change as an overlay; and then use y-or-n-p
>> to ask whether it should be applied.  I was thinking something like:
[...]

Dmitry> I'm not sure we want to tie this feature to compilation-mode. Many
Dmitry> modes that derive from it don't support fix-its, e.g. those of them
Dmitry> that run the test suites. And even for those that do, Compilation
Dmitry> provides a very basic UI.

To me it seems very natural.  I compile, then as I next-error through
the results, Emacs offers to apply a change.

I think it's fine that some sub-modes don't support fix-its.  Actually I
don't understand how that would be a problem.  Presumably `grep' or
whatever isn't going to emit a fixit note anyhow.

Dmitry> Even to find and apply all fix-its, we'd need to add some new buffer,
Dmitry> to show the list.

That doesn't seem necessary to me either.

Tom




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#25987; Package emacs. Full text available.

Message received at 25987 <at> debbugs.gnu.org:


Received: (at 25987) by debbugs.gnu.org; 9 Mar 2017 21:26:11 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 09 16:26:11 2017
Received: from localhost ([127.0.0.1]:48084 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1cm5Za-00088P-P6
	for submit <at> debbugs.gnu.org; Thu, 09 Mar 2017 16:26:10 -0500
Received: from mail-wm0-f53.google.com ([74.125.82.53]:36031)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <raaahh@HIDDEN>) id 1cm5ZZ-00088D-77
 for 25987 <at> debbugs.gnu.org; Thu, 09 Mar 2017 16:26:09 -0500
Received: by mail-wm0-f53.google.com with SMTP id n11so149117485wma.1
 for <25987 <at> debbugs.gnu.org>; Thu, 09 Mar 2017 13:26:09 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=sender:subject:to:cc:references:from:message-id:date:user-agent
 :mime-version:in-reply-to:content-language:content-transfer-encoding;
 bh=RDNR1LqsN+ISXhvz3H+C0scEmoUl83TFqALmmWKNylU=;
 b=KpThiWRrwo8S4cY8d+0MbM9C9o6FolPTBvKcUQyYxNx2qq7Zenz46QdB4T7GSd+RRI
 HDkbMjI0tXuxQI/kvAVozd7lheHSJY+7H6Rgqxq6v3RgKpELMwoh/LsFdB3B2Lj9t/ue
 SzXq71WcGTR6Imgsr87+2vGSPSfIei0cjuD4byMy7q4VXGVnXOT0SkuEsb7hmD8/8GPL
 UEhh0Y/WSCiV4166amAxWkxBcsdT7dgY4kMaykLcRoGGPINpot9P3UJTttJkoLJ4qMll
 R5t/+BQjilHJHv/OWfVDFFWYKS7uioTdEU/HFbkA9PQJVBP3hISDkneSKKmKhcFUlfx7
 0kVg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:sender:subject:to:cc:references:from:message-id
 :date:user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=RDNR1LqsN+ISXhvz3H+C0scEmoUl83TFqALmmWKNylU=;
 b=V3TmHjApIMOJzWQnaN0rXHNY0kRBPiIkdzHbP6IFZA2ZsQ5tw+GerIFd3W4fAOiBWH
 fjDr1CbLQmxQo8tirBGVrByjl5Odnkqd6vEuZWbP/XhGTTDkoDedsHVnJl3+nLSh6UhG
 w0b0j3o/c3S7yys+yjeQpbzgQjkEbaUpTOeFzv2Sr7dKO9tILYjrdJnPyR79pqx0LHiL
 m+bkSMxs48q6IZGVUceljW+FHgPu+GEgmdD00k7a5g8PyzpX3GXqOfwzuoMs9QQ14M6p
 VY9v6tOeUIqK5PQfJa2B0gzQf+e4hds1vX4G1N2HRj1W8mSw/JYv9PCvjGvN7z+6A/Of
 yNIA==
X-Gm-Message-State: AMke39nhj2tLNwCwYax/PUyK+RvI05VrBocf9nrd7f5Kaa8UjEvoniQArDZ+jXDLatxkVA==
X-Received: by 10.28.52.137 with SMTP id b131mr12688865wma.30.1489094763345;
 Thu, 09 Mar 2017 13:26:03 -0800 (PST)
Received: from [192.168.1.3] ([185.105.173.41])
 by smtp.googlemail.com with ESMTPSA id c9sm192646wmf.18.2017.03.09.13.26.01
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
 Thu, 09 Mar 2017 13:26:02 -0800 (PST)
Subject: Re: bug#25987: 25.2; support gcc fixit notes
To: Eli Zaretskii <eliz@HIDDEN>
References: <87lgsj1jle.fsf@HIDDEN> <83efyai778.fsf@HIDDEN>
 <878toh19bs.fsf@HIDDEN> <874lz37glw.fsf@HIDDEN>
 <8360jjh8jo.fsf@HIDDEN> <11da16db-d636-8cb2-142e-5d240cd88d1c@HIDDEN>
 <83mvcufky5.fsf@HIDDEN> <dc7d7a17-0d99-3331-fcc6-c8cc03d922bd@HIDDEN>
 <83k27yfgif.fsf@HIDDEN>
From: Dmitry Gutov <dgutov@HIDDEN>
Message-ID: <93fec26b-4716-f199-e6e7-c9d7faedecb6@HIDDEN>
Date: Thu, 9 Mar 2017 23:26:00 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.0
MIME-Version: 1.0
In-Reply-To: <83k27yfgif.fsf@HIDDEN>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.2 (/)
X-Debbugs-Envelope-To: 25987
Cc: 25987 <at> debbugs.gnu.org, tom@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 0.2 (/)

On 09.03.2017 20:32, Eli Zaretskii wrote:

>>> It sounds gross to ask people to use Flymake just to be able to use
>>> something like this.
>>
>> What's gross about that?
> 
> It's a large package, and its purpose is not just fix compilation
> errors.

Its purpose is just showing them, and we, ideally, need both.

Flymake is moderately large because it includes some checker 
definitions. We could extract the core to a separate file.

Anyway, yes, a minor mode that would act on the fixits inside the 
Compilation buffer might be helpful.

But that's basically ignoring the prior art in IDEs that you asked 
about, where "quick fixes" go together with in-buffer visualizations.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#25987; Package emacs. Full text available.

Message received at 25987 <at> debbugs.gnu.org:


Received: (at 25987) by debbugs.gnu.org; 9 Mar 2017 18:35:59 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 09 13:35:59 2017
Received: from localhost ([127.0.0.1]:48003 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1cm2ut-0000Ta-40
	for submit <at> debbugs.gnu.org; Thu, 09 Mar 2017 13:35:59 -0500
Received: from eggs.gnu.org ([208.118.235.92]:53122)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1cm2ur-0000TN-KA
 for 25987 <at> debbugs.gnu.org; Thu, 09 Mar 2017 13:35:57 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <eliz@HIDDEN>) id 1cm2uj-0001sc-Vb
 for 25987 <at> debbugs.gnu.org; Thu, 09 Mar 2017 13:35:51 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_40,RP_MATCHES_RCVD
 autolearn=disabled version=3.3.2
Received: from fencepost.gnu.org ([2001:4830:134:3::e]:51786)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1cm2uj-0001sR-St; Thu, 09 Mar 2017 13:35:49 -0500
Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:3464
 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1cm2ui-0001Sx-F9; Thu, 09 Mar 2017 13:35:49 -0500
Date: Thu, 09 Mar 2017 20:35:24 +0200
Message-Id: <83h932fgcz.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Dmitry Gutov <dgutov@HIDDEN>
In-reply-to: <33b3eca2-5e34-43d1-fccf-b4bd8e5f6ee6@HIDDEN> (message from
 Dmitry Gutov on Thu, 9 Mar 2017 19:49:19 +0200)
Subject: Re: bug#25987: 25.2; support gcc fixit notes
References: <87lgsj1jle.fsf@HIDDEN>
 <b1850167-dddc-46d7-ddd1-c03d4c014d94@HIDDEN> <83pohqfl3f.fsf@HIDDEN>
 <33b3eca2-5e34-43d1-fccf-b4bd8e5f6ee6@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 2001:4830:134:3::e
X-Spam-Score: -5.0 (-----)
X-Debbugs-Envelope-To: 25987
Cc: 25987 <at> debbugs.gnu.org, tom@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Reply-To: Eli Zaretskii <eliz@HIDDEN>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.0 (-----)

> Cc: tom@HIDDEN, 25987 <at> debbugs.gnu.org
> From: Dmitry Gutov <dgutov@HIDDEN>
> Date: Thu, 9 Mar 2017 19:49:19 +0200
> 
> On 09.03.2017 18:53, Eli Zaretskii wrote:
> 
> > So you suggest a separate minor mode, is that right?
> 
> A minor mode would be a good way toward the "quick-and-dirty" solution.
> 
> But we'd still want in-buffer indicators and a way to promptly 
> invalidate them as soon as the user makes some changes.
> 
> Ideally, also a way to refresh them automatically (e.g. as soon as the 
> user saves the changes). These requirements spell "Flymake" to me.

We could do both, of course.  Or Flymake could turn on that minor
mode.





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#25987; Package emacs. Full text available.

Message received at 25987 <at> debbugs.gnu.org:


Received: (at 25987) by debbugs.gnu.org; 9 Mar 2017 18:33:07 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 09 13:33:07 2017
Received: from localhost ([127.0.0.1]:47999 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1cm2s7-0000PX-KM
	for submit <at> debbugs.gnu.org; Thu, 09 Mar 2017 13:33:07 -0500
Received: from eggs.gnu.org ([208.118.235.92]:52202)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1cm2s6-0000P2-93
 for 25987 <at> debbugs.gnu.org; Thu, 09 Mar 2017 13:33:06 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <eliz@HIDDEN>) id 1cm2rx-0000ro-6D
 for 25987 <at> debbugs.gnu.org; Thu, 09 Mar 2017 13:33:01 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_20,RP_MATCHES_RCVD
 autolearn=disabled version=3.3.2
Received: from fencepost.gnu.org ([2001:4830:134:3::e]:51749)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1cm2ra-0000aF-89; Thu, 09 Mar 2017 13:32:34 -0500
Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:3462
 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1cm2rZ-0003rr-4L; Thu, 09 Mar 2017 13:32:33 -0500
Date: Thu, 09 Mar 2017 20:32:08 +0200
Message-Id: <83k27yfgif.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Dmitry Gutov <dgutov@HIDDEN>
In-reply-to: <dc7d7a17-0d99-3331-fcc6-c8cc03d922bd@HIDDEN> (message from
 Dmitry Gutov on Thu, 9 Mar 2017 19:37:45 +0200)
Subject: Re: bug#25987: 25.2; support gcc fixit notes
References: <87lgsj1jle.fsf@HIDDEN> <83efyai778.fsf@HIDDEN>
 <878toh19bs.fsf@HIDDEN> <874lz37glw.fsf@HIDDEN>
 <8360jjh8jo.fsf@HIDDEN> <11da16db-d636-8cb2-142e-5d240cd88d1c@HIDDEN>
 <83mvcufky5.fsf@HIDDEN> <dc7d7a17-0d99-3331-fcc6-c8cc03d922bd@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 2001:4830:134:3::e
X-Spam-Score: -5.0 (-----)
X-Debbugs-Envelope-To: 25987
Cc: 25987 <at> debbugs.gnu.org, tom@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Reply-To: Eli Zaretskii <eliz@HIDDEN>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.0 (-----)

> Cc: 25987 <at> debbugs.gnu.org, tom@HIDDEN
> From: Dmitry Gutov <dgutov@HIDDEN>
> Date: Thu, 9 Mar 2017 19:37:45 +0200
> 
> On 09.03.2017 18:56, Eli Zaretskii wrote:
> 
> > It sounds gross to ask people to use Flymake just to be able to use
> > something like this.
> 
> What's gross about that?

It's a large package, and its purpose is not just fix compilation
errors.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#25987; Package emacs. Full text available.

Message received at 25987 <at> debbugs.gnu.org:


Received: (at 25987) by debbugs.gnu.org; 9 Mar 2017 17:49:30 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 09 12:49:30 2017
Received: from localhost ([127.0.0.1]:47972 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1cm2Bu-0007mq-2d
	for submit <at> debbugs.gnu.org; Thu, 09 Mar 2017 12:49:30 -0500
Received: from mail-wm0-f50.google.com ([74.125.82.50]:34874)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <raaahh@HIDDEN>) id 1cm2Bs-0007md-Ob
 for 25987 <at> debbugs.gnu.org; Thu, 09 Mar 2017 12:49:29 -0500
Received: by mail-wm0-f50.google.com with SMTP id v186so145154100wmd.0
 for <25987 <at> debbugs.gnu.org>; Thu, 09 Mar 2017 09:49:28 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=sender:subject:to:cc:references:from:message-id:date:user-agent
 :mime-version:in-reply-to:content-language:content-transfer-encoding;
 bh=MMNNBLNiOLHgt0fsfInGapSlQby9Jtz/P2VXOBmygYQ=;
 b=gqEVcrGMhd4p/4f8I+mf7yeXK2uLLfsZ1TOH3QZCrDVSkLRgzvsIi0ux7Oh5rFndEF
 B2aiVBVYOGa77Jy8zklOp1xWf1ccKFsljeC/t/aOcC0PJdMuWiuzGH9o9xpggcIshKQi
 8RD7C08d2h8UYz/v/TMrPG4K+tMP/4C672ZRFkz2kax6yVacMPbtSvxGd22x7E8IQE/g
 XKIVf+k+9+cDY6LgcNyo9jywjPpZtwFnR9/maP3UlgTKRad+x4DRyIeKCuWlF8wjAwOX
 /zUOjLtPcwVVRTbj9w44vLmPiOH7gJJEcIOWUAeNwJskp3UeJGF6uyUu8ioo2bqVEqft
 b4+Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:sender:subject:to:cc:references:from:message-id
 :date:user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=MMNNBLNiOLHgt0fsfInGapSlQby9Jtz/P2VXOBmygYQ=;
 b=BFoLH4AlgZxxQRXo1yOSArRr28pwcQUFdX9xaAVxFFpv9SlRm9r94h+ZrhXB5xweti
 OauZgK6FpHtBmMyCChLaq+VrwPGWbYfD5Rm6NHp2dCIxhAYSc8yMZsJstNPIh8RPSE6G
 bB4NgJIdW6fK3uvuSgJmQq1qzzY9xlbyf/E87g87/aGfqzYbTsY17oG0N+NrVYktE9/u
 WrktMauAGMWgBH9xGmib5rD63Cya4dwHLpTJl9trQVxPfIe7PAA2ttIMDd+gek8xauxx
 htglZsysp4AQTNekZigqmE4iYbX3ZMq1r0Xhf8LwJGCuFOoEkz8kTvz62DvQe6r9zaNN
 tGYw==
X-Gm-Message-State: AMke39naTYuC13dGgRT+7zlNFyaODFBFEj/BPspqEzF+iUJ2BCuyDk+VP+WvPmMg+shjAw==
X-Received: by 10.28.35.66 with SMTP id j63mr12406599wmj.84.1489081762971;
 Thu, 09 Mar 2017 09:49:22 -0800 (PST)
Received: from [192.168.1.3] ([185.105.173.41])
 by smtp.googlemail.com with ESMTPSA id z198sm9614974wmz.24.2017.03.09.09.49.21
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
 Thu, 09 Mar 2017 09:49:22 -0800 (PST)
Subject: Re: bug#25987: 25.2; support gcc fixit notes
To: Eli Zaretskii <eliz@HIDDEN>
References: <87lgsj1jle.fsf@HIDDEN>
 <b1850167-dddc-46d7-ddd1-c03d4c014d94@HIDDEN> <83pohqfl3f.fsf@HIDDEN>
From: Dmitry Gutov <dgutov@HIDDEN>
Message-ID: <33b3eca2-5e34-43d1-fccf-b4bd8e5f6ee6@HIDDEN>
Date: Thu, 9 Mar 2017 19:49:19 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.0
MIME-Version: 1.0
In-Reply-To: <83pohqfl3f.fsf@HIDDEN>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.2 (/)
X-Debbugs-Envelope-To: 25987
Cc: 25987 <at> debbugs.gnu.org, tom@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 0.2 (/)

On 09.03.2017 18:53, Eli Zaretskii wrote:

> So you suggest a separate minor mode, is that right?

A minor mode would be a good way toward the "quick-and-dirty" solution.

But we'd still want in-buffer indicators and a way to promptly 
invalidate them as soon as the user makes some changes.

Ideally, also a way to refresh them automatically (e.g. as soon as the 
user saves the changes). These requirements spell "Flymake" to me.





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#25987; Package emacs. Full text available.

Message received at 25987 <at> debbugs.gnu.org:


Received: (at 25987) by debbugs.gnu.org; 9 Mar 2017 17:37:56 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 09 12:37:55 2017
Received: from localhost ([127.0.0.1]:47963 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1cm20h-0007SJ-FH
	for submit <at> debbugs.gnu.org; Thu, 09 Mar 2017 12:37:55 -0500
Received: from mail-wm0-f68.google.com ([74.125.82.68]:34961)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <raaahh@HIDDEN>) id 1cm20f-0007S5-CX
 for 25987 <at> debbugs.gnu.org; Thu, 09 Mar 2017 12:37:53 -0500
Received: by mail-wm0-f68.google.com with SMTP id z63so12070554wmg.2
 for <25987 <at> debbugs.gnu.org>; Thu, 09 Mar 2017 09:37:53 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=sender:subject:to:cc:references:from:message-id:date:user-agent
 :mime-version:in-reply-to:content-language:content-transfer-encoding;
 bh=cq9YAfgFAvvECDuhk6nE+DDlWaWHt2Yd5SemxKtpTx0=;
 b=YODIm5xw+D8zW6XrdVf/JgdDqei1KIAZK5s2IWLD0d60DO4YU1/uRjKy/alXrUPdpi
 7SP1On+cJXhg0TVHvAv8ToDbiIePCmhIZB0vgechQnSpSEDVLbyxjPxDLTqLDglob+yQ
 bGEFBz0+9OaNZpyt3DakJ4EenpwOW6E/ahii1mxwuxppbQjxMYHDHcc7ROApVpB0PCFk
 VSDbXTlVbCuMrJrCkZtP0rFuNUqLs7bDcSG5OVSP+2KAQaNISOq/Cv8iD22xlBjVtPjQ
 TpCK5Vo1Bs0TBO0aL/zOOtcrn4UUTvxUXHXXNEpMC0IzPcBeZEFKWNVBvjFGKyMz3Phs
 /+Og==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:sender:subject:to:cc:references:from:message-id
 :date:user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=cq9YAfgFAvvECDuhk6nE+DDlWaWHt2Yd5SemxKtpTx0=;
 b=SqzREQv55vIcSv/0jt/GYIBq/PR85Uq0GsxWBc8w+b8TYBQmEGLGhwhAkRSbdA2CWN
 PQP/qIiKA9FtgES/i/VjgChX/D9RoBvPcGCDQdhhNw6K+pP3QhR9W0L5iBl5Wg3zusth
 vE7Cf+9dHemTx9wIHa5FpvNqwbtNScuvoti36nWUD9ni+aq1Cu1X9s/e7XNUcyVkkZe+
 lp5PqOsghdRCDAfxA8QYV0RxLR9sy53/J0FXvP1jHeOqfVTz8h8uxqrhDLEXZ0pyl8Xj
 lzfChHdbQkh4+JFJAVWt58ixbAeddanb8XllyU2F2MghQyjlkoHQoiXQ/5j+FbuzTv6n
 wUaQ==
X-Gm-Message-State: AMke39mxhejDwGxvx3C/V5ZkfXq5AqWAoILWsBGzGdrUpMSyauCSa181dS7Qw1YE9Nfj8Q==
X-Received: by 10.28.13.80 with SMTP id 77mr10840046wmn.88.1489081067630;
 Thu, 09 Mar 2017 09:37:47 -0800 (PST)
Received: from [192.168.1.3] ([185.105.173.41])
 by smtp.googlemail.com with ESMTPSA id e72sm9638997wma.5.2017.03.09.09.37.46
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
 Thu, 09 Mar 2017 09:37:46 -0800 (PST)
Subject: Re: bug#25987: 25.2; support gcc fixit notes
To: Eli Zaretskii <eliz@HIDDEN>
References: <87lgsj1jle.fsf@HIDDEN> <83efyai778.fsf@HIDDEN>
 <878toh19bs.fsf@HIDDEN> <874lz37glw.fsf@HIDDEN>
 <8360jjh8jo.fsf@HIDDEN> <11da16db-d636-8cb2-142e-5d240cd88d1c@HIDDEN>
 <83mvcufky5.fsf@HIDDEN>
From: Dmitry Gutov <dgutov@HIDDEN>
Message-ID: <dc7d7a17-0d99-3331-fcc6-c8cc03d922bd@HIDDEN>
Date: Thu, 9 Mar 2017 19:37:45 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.0
MIME-Version: 1.0
In-Reply-To: <83mvcufky5.fsf@HIDDEN>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.7 (/)
X-Debbugs-Envelope-To: 25987
Cc: 25987 <at> debbugs.gnu.org, tom@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 0.7 (/)

On 09.03.2017 18:56, Eli Zaretskii wrote:

> It sounds gross to ask people to use Flymake just to be able to use
> something like this.

What's gross about that? Don't we like Flymake?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#25987; Package emacs. Full text available.

Message received at 25987 <at> debbugs.gnu.org:


Received: (at 25987) by debbugs.gnu.org; 9 Mar 2017 16:56:52 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 09 11:56:52 2017
Received: from localhost ([127.0.0.1]:47932 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1cm1Mx-0004hx-Ow
	for submit <at> debbugs.gnu.org; Thu, 09 Mar 2017 11:56:52 -0500
Received: from eggs.gnu.org ([208.118.235.92]:50791)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1cm1Mw-0004hk-Ra
 for 25987 <at> debbugs.gnu.org; Thu, 09 Mar 2017 11:56:51 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <eliz@HIDDEN>) id 1cm1Mn-0006E1-40
 for 25987 <at> debbugs.gnu.org; Thu, 09 Mar 2017 11:56:45 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD
 autolearn=disabled version=3.3.2
Received: from fencepost.gnu.org ([2001:4830:134:3::e]:50180)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1cm1Mn-0006Dw-0I; Thu, 09 Mar 2017 11:56:41 -0500
Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:2312
 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1cm1Mm-00051j-4Y; Thu, 09 Mar 2017 11:56:40 -0500
Date: Thu, 09 Mar 2017 18:56:18 +0200
Message-Id: <83mvcufky5.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Dmitry Gutov <dgutov@HIDDEN>
In-reply-to: <11da16db-d636-8cb2-142e-5d240cd88d1c@HIDDEN> (message from
 Dmitry Gutov on Thu, 9 Mar 2017 18:37:30 +0200)
Subject: Re: bug#25987: 25.2; support gcc fixit notes
References: <87lgsj1jle.fsf@HIDDEN> <83efyai778.fsf@HIDDEN>
 <878toh19bs.fsf@HIDDEN> <874lz37glw.fsf@HIDDEN>
 <8360jjh8jo.fsf@HIDDEN> <11da16db-d636-8cb2-142e-5d240cd88d1c@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 2001:4830:134:3::e
X-Spam-Score: -5.0 (-----)
X-Debbugs-Envelope-To: 25987
Cc: 25987 <at> debbugs.gnu.org, tom@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Reply-To: Eli Zaretskii <eliz@HIDDEN>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.0 (-----)

> Cc: 25987 <at> debbugs.gnu.org
> From: Dmitry Gutov <dgutov@HIDDEN>
> Date: Thu, 9 Mar 2017 18:37:30 +0200
> 
> If we look at Eclipse and friends, we can observe that (almost?) every 
> warning or error that the IDE shows to the user comes with a set of 
> actions, suggesting possible fixes, improvements, etc.
> 
> Thinking along these lines, the closest things we have are Flymake and 
> Flyspell. The third-party Flycheck is even better is several respects 
> (e.g. it can show a listing of all problems in the file buffer), but 
> sadly we won't be able to use it, since the primary author is sternly 
> against copyright assignment.

It sounds gross to ask people to use Flymake just to be able to use
something like this.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#25987; Package emacs. Full text available.

Message received at 25987 <at> debbugs.gnu.org:


Received: (at 25987) by debbugs.gnu.org; 9 Mar 2017 16:53:43 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 09 11:53:43 2017
Received: from localhost ([127.0.0.1]:47928 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1cm1Jv-0004ch-AD
	for submit <at> debbugs.gnu.org; Thu, 09 Mar 2017 11:53:43 -0500
Received: from eggs.gnu.org ([208.118.235.92]:48942)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1cm1Ju-0004cV-2M
 for 25987 <at> debbugs.gnu.org; Thu, 09 Mar 2017 11:53:42 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <eliz@HIDDEN>) id 1cm1Jj-0004Xh-JY
 for 25987 <at> debbugs.gnu.org; Thu, 09 Mar 2017 11:53:36 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_40,RP_MATCHES_RCVD
 autolearn=disabled version=3.3.2
Received: from fencepost.gnu.org ([2001:4830:134:3::e]:50103)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1cm1Jj-0004Xd-Gk; Thu, 09 Mar 2017 11:53:31 -0500
Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:2310
 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1cm1Ji-0004Sd-Kp; Thu, 09 Mar 2017 11:53:31 -0500
Date: Thu, 09 Mar 2017 18:53:08 +0200
Message-Id: <83pohqfl3f.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Dmitry Gutov <dgutov@HIDDEN>
In-reply-to: <b1850167-dddc-46d7-ddd1-c03d4c014d94@HIDDEN> (message from
 Dmitry Gutov on Thu, 9 Mar 2017 18:18:04 +0200)
Subject: Re: bug#25987: 25.2; support gcc fixit notes
References: <87lgsj1jle.fsf@HIDDEN>
 <b1850167-dddc-46d7-ddd1-c03d4c014d94@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 2001:4830:134:3::e
X-Spam-Score: -5.0 (-----)
X-Debbugs-Envelope-To: 25987
Cc: 25987 <at> debbugs.gnu.org, tom@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Reply-To: Eli Zaretskii <eliz@HIDDEN>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.0 (-----)

> From: Dmitry Gutov <dgutov@HIDDEN>
> Date: Thu, 9 Mar 2017 18:18:04 +0200
> 
> I'm not sure we want to tie this feature to compilation-mode. Many modes 
> that derive from it don't support fix-its, e.g. those of them that run 
> the test suites. And even for those that do, Compilation provides a very 
> basic UI.

So you suggest a separate minor mode, is that right?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#25987; Package emacs. Full text available.

Message received at 25987 <at> debbugs.gnu.org:


Received: (at 25987) by debbugs.gnu.org; 9 Mar 2017 16:37:46 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 09 11:37:46 2017
Received: from localhost ([127.0.0.1]:47923 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1cm14T-00048e-Fl
	for submit <at> debbugs.gnu.org; Thu, 09 Mar 2017 11:37:46 -0500
Received: from mail-wr0-f177.google.com ([209.85.128.177]:34435)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <raaahh@HIDDEN>) id 1cm14R-00048P-CY
 for 25987 <at> debbugs.gnu.org; Thu, 09 Mar 2017 11:37:43 -0500
Received: by mail-wr0-f177.google.com with SMTP id l37so48798657wrc.1
 for <25987 <at> debbugs.gnu.org>; Thu, 09 Mar 2017 08:37:43 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=sender:subject:to:cc:references:from:message-id:date:user-agent
 :mime-version:in-reply-to:content-language:content-transfer-encoding;
 bh=z/d+8DAqmvNDrYXFEuUZCHH9gAFyIvzBqcnHtUsA3vA=;
 b=KGiNGj6OfXWgrlyhKp7tX2V2M1F+aBAYCXiH8ZxLGV3yYDy7HSiF65VaTfscG+SSOY
 LwGNczpzoFwEwL80lCGaFwNCZNe89PKRMgE+UPfExOco1usrCjfLdCHPGFo1Vs8cWdMu
 C3JiWNAAJSOCyksnDh3AA/KdreavBzeg2xJI/b5R0kigMT2skzScPc3BI28bTrg5pMxi
 WTNB42uuGPC/oAKRdITD0+qnwjViMXkrnxiXXAm5NxB4j54N0WVOveKLi/rAsOIGhmXd
 nmMZRPpWChr1fDVyIlGZ7KfAuJJI0VRqY0EO82aejXyeyIyTwVj6MpEmJHvq+lk9hWxG
 07/g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:sender:subject:to:cc:references:from:message-id
 :date:user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=z/d+8DAqmvNDrYXFEuUZCHH9gAFyIvzBqcnHtUsA3vA=;
 b=l11zEq4ky9J5a9rhJZSGZiD9V7BzLEV2QZXYqZXS9PVBrFr3zlPtqFzqHKDqochK7q
 CaMcVttS7q0ZzJEh76sUaynIgD3d2U6MtG9yiOOGbb48DlIYOfk7QeYjsGVfAD8KaKxb
 Rpw6aoz2CXPFGaszpSrdFNKWZeRMd1kDVHi+hZsUpF7N4EPPg/OVQMhWsbWr5QdMj1QL
 aAM0g0RNBCGAW5w3cCvJqdRArBgLYAdtFSUNKAuAgq4QF15jCMJV0pZOTXgHtnkMatw4
 X7EBhC33o3SdsqhTE41/dN3QqcHGDi3ZH9DmEJ62mWieG18rqPi7yfmh0+1JAJXQJyun
 +SCA==
X-Gm-Message-State: AMke39nkPAYN+IjOh1J4VwnDYTsCxEsZJkR5gFZBJr4Hx91O1H9QtRat3WRlPam8mErFvA==
X-Received: by 10.223.177.18 with SMTP id l18mr11766299wra.96.1489077457490;
 Thu, 09 Mar 2017 08:37:37 -0800 (PST)
Received: from [192.168.0.133] (static-nbl2-118.cytanet.com.cy.
 [212.31.107.118])
 by smtp.googlemail.com with ESMTPSA id 61sm8855260wrs.29.2017.03.09.08.37.33
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
 Thu, 09 Mar 2017 08:37:36 -0800 (PST)
Subject: Re: bug#25987: 25.2; support gcc fixit notes
To: Eli Zaretskii <eliz@HIDDEN>, Tom Tromey <tom@HIDDEN>
References: <87lgsj1jle.fsf@HIDDEN> <83efyai778.fsf@HIDDEN>
 <878toh19bs.fsf@HIDDEN> <874lz37glw.fsf@HIDDEN>
 <8360jjh8jo.fsf@HIDDEN>
From: Dmitry Gutov <dgutov@HIDDEN>
Message-ID: <11da16db-d636-8cb2-142e-5d240cd88d1c@HIDDEN>
Date: Thu, 9 Mar 2017 18:37:30 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.0
MIME-Version: 1.0
In-Reply-To: <8360jjh8jo.fsf@HIDDEN>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.8 (/)
X-Debbugs-Envelope-To: 25987
Cc: 25987 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 0.8 (/)

On 08.03.2017 21:28, Eli Zaretskii wrote:

> Quick fixes work by presenting a kind of tooltip.  We should probably
> have something similar, but it cannot be the only UI, to support TTY
> and GUI users who don't like the mouse.

Tooltip or not, that's a visualization concern.

I think a better first question would be where this feature would fit 
among the existing Emacs tools.

If we look at Eclipse and friends, we can observe that (almost?) every 
warning or error that the IDE shows to the user comes with a set of 
actions, suggesting possible fixes, improvements, etc.

Thinking along these lines, the closest things we have are Flymake and 
Flyspell. The third-party Flycheck is even better is several respects 
(e.g. it can show a listing of all problems in the file buffer), but 
sadly we won't be able to use it, since the primary author is sternly 
against copyright assignment.

But it'd be good to teach Flymake about fixits, and when we can't use 
tooltips, use a text-based prompts a la Flyspell.

Bonus points for teaching Flymake to use multiple checkers in one file, 
and making Flyspell one of them.

I guess the first difficulty is how to reconcile project-global 
compilation logs with buffer-local warnings and errors.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#25987; Package emacs. Full text available.

Message received at 25987 <at> debbugs.gnu.org:


Received: (at 25987) by debbugs.gnu.org; 9 Mar 2017 16:18:16 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 09 11:18:16 2017
Received: from localhost ([127.0.0.1]:47909 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1cm0lc-0003gT-9r
	for submit <at> debbugs.gnu.org; Thu, 09 Mar 2017 11:18:16 -0500
Received: from mail-wm0-f46.google.com ([74.125.82.46]:33983)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <raaahh@HIDDEN>) id 1cm0la-0003gG-LE
 for 25987 <at> debbugs.gnu.org; Thu, 09 Mar 2017 11:18:15 -0500
Received: by mail-wm0-f46.google.com with SMTP id 196so36695961wmm.1
 for <25987 <at> debbugs.gnu.org>; Thu, 09 Mar 2017 08:18:14 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=sender:subject:to:references:from:message-id:date:user-agent
 :mime-version:in-reply-to:content-language:content-transfer-encoding;
 bh=8yHxMk+uvk8ISqj3v7FyvKXH/2ItGv138C99i4HJmkg=;
 b=sZqPBeLOABzVhV2SNV6NN1Z5phnKs3+YXkvm+V1kmnLL2avCoG9uYW+hy5/NW3NspO
 rkefxjlpyyhgh+pJBRbZQ+u2RyNNDGpanCaMMXXzGlSntTs+1W/j0BQxPW/dJpt8asp7
 mRsVA9Zdvv+VrcaXYByUyiNvpgb+Zymw9h1iTsTOZ4xHIR1HkCCLH4/fSaripEawUkpT
 1DBaY6ak90OgKnSAM1GdfPJIXAJxJ3j3GvehR2wFB6VynegDgCBcaRmjo19qg9roHTmD
 iPVMebzerSfMX6HDN1e+2dyliCYHUk/pDq7mf2k5LapR2/7A/+78S6uReEaVYVRCJGB5
 ETdA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:sender:subject:to:references:from:message-id
 :date:user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=8yHxMk+uvk8ISqj3v7FyvKXH/2ItGv138C99i4HJmkg=;
 b=S3dSGjz/ydrS7T9jt08dObACXKZ2+92bjmL0w1BtC5vx84UElQk1hPal3lQo4wzknb
 8ZC+1ihiMuPQ390OCqQGmhEVt0wl/72XiUO47YBfkodqYrHP/k4CXeVZCrANHA34Xh/K
 ZN7NayYVu7U/qzxLXN6u5lOrFadVNEh36svuB28Ipu2IKfvwZrRUmAz4Md6jutJ2JCZU
 D2oSHd23n/sfpbkx6r4wVIzoCrlmpzy9T6vg7Kgo7Mevrsod+KpzJb2yGcB9ee7ydb7R
 0CVXNCGiA+MN/9YV2DbZge37ALfZIgla79DMNumn/JsMRQf1w1eem6W7B+LPIN5oRYsx
 tM6Q==
X-Gm-Message-State: AMke39kHiEA1SroYVVxCIJZanQn4e80LP8JCJAIo3dW8Fu6VmnA/1a3rUSe2Nsi1t54hrg==
X-Received: by 10.28.137.211 with SMTP id l202mr11188541wmd.118.1489076288291; 
 Thu, 09 Mar 2017 08:18:08 -0800 (PST)
Received: from [192.168.0.133] (static-nbl2-118.cytanet.com.cy.
 [212.31.107.118]) by smtp.googlemail.com with ESMTPSA id
 j184sm27851108wmd.31.2017.03.09.08.18.06
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
 Thu, 09 Mar 2017 08:18:07 -0800 (PST)
Subject: Re: bug#25987: 25.2; support gcc fixit notes
To: Tom Tromey <tom@HIDDEN>, 25987 <at> debbugs.gnu.org
References: <87lgsj1jle.fsf@HIDDEN>
From: Dmitry Gutov <dgutov@HIDDEN>
Message-ID: <b1850167-dddc-46d7-ddd1-c03d4c014d94@HIDDEN>
Date: Thu, 9 Mar 2017 18:18:04 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.0
MIME-Version: 1.0
In-Reply-To: <87lgsj1jle.fsf@HIDDEN>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.7 (/)
X-Debbugs-Envelope-To: 25987
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 0.7 (/)

On 05.03.2017 23:47, Tom Tromey wrote:

> * One way for this to work would be to display the buffer and
>    show the proposed change as an overlay; and then use y-or-n-p
>    to ask whether it should be applied.  I was thinking something like:
> 
> (defun compilation--fixit-make-overlay (start end text)
>    (let ((overlay (make-overlay start end)))
>      (overlay-put overlay 'face 'diff-removed)
>      (overlay-put overlay 'after-string
>                   (propertize text 'face 'diff-added))
>      overlay))
> 
>    With this approach perhaps nothing could be done if the fixit was
>    already visited, or if the buffer text already matches the
>    replacement.

I'm not sure we want to tie this feature to compilation-mode. Many modes 
that derive from it don't support fix-its, e.g. those of them that run 
the test suites. And even for those that do, Compilation provides a very 
basic UI.

Even to find and apply all fix-its, we'd need to add some new buffer, to 
show the list.

On the other hand, this can be a quick-and-dirty way to try out the 
feature and how handy it is. Showing the "quick fix" buttons on top of 
the fix-it text can be it (not sure it that's the UI you had in mind).




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#25987; Package emacs. Full text available.

Message received at 25987 <at> debbugs.gnu.org:


Received: (at 25987) by debbugs.gnu.org; 9 Mar 2017 15:37:19 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 09 10:37:19 2017
Received: from localhost ([127.0.0.1]:47855 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1cm07y-0000tb-Oc
	for submit <at> debbugs.gnu.org; Thu, 09 Mar 2017 10:37:18 -0500
Received: from eggs.gnu.org ([208.118.235.92]:51487)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1cm07x-0000tO-EX
 for 25987 <at> debbugs.gnu.org; Thu, 09 Mar 2017 10:37:17 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <eliz@HIDDEN>) id 1cm07n-0005f3-Ss
 for 25987 <at> debbugs.gnu.org; Thu, 09 Mar 2017 10:37:12 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_40,RP_MATCHES_RCVD
 autolearn=disabled version=3.3.2
Received: from fencepost.gnu.org ([2001:4830:134:3::e]:49061)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1cm07n-0005ez-P4; Thu, 09 Mar 2017 10:37:07 -0500
Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:2203
 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1cm07g-00042R-KV; Thu, 09 Mar 2017 10:37:01 -0500
Date: Thu, 09 Mar 2017 17:36:39 +0200
Message-Id: <831su6h37c.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: rms@HIDDEN
In-reply-to: <E1clpYq-0005R3-RY@HIDDEN> (message from Richard
 Stallman on Wed, 08 Mar 2017 23:20:20 -0500)
Subject: Re: bug#25987: 25.2; support gcc fixit notes
References: <87lgsj1jle.fsf@HIDDEN> <83efyai778.fsf@HIDDEN>
 <878toh19bs.fsf@HIDDEN> <83tw75gjz9.fsf@HIDDEN>
 <87a88v7h35.fsf@HIDDEN> <837f3zh8uc.fsf@HIDDEN>
 <E1clpYq-0005R3-RY@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 2001:4830:134:3::e
X-Spam-Score: -5.0 (-----)
X-Debbugs-Envelope-To: 25987
Cc: 25987 <at> debbugs.gnu.org, tom@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Reply-To: Eli Zaretskii <eliz@HIDDEN>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.0 (-----)

> From: Richard Stallman <rms@HIDDEN>
> CC: tom@HIDDEN, 25987 <at> debbugs.gnu.org
> Date: Wed, 08 Mar 2017 23:20:20 -0500
> 
>   > > The reason is compatibility with clang, which had this option first.
>   > > http://releases.llvm.org/3.8.0/tools/clang/docs/UsersManual.html#cmdoption-fdiagnostics-parseable-fixits
> 
>   > Thanks.  So maybe GCC should have a similar option, named differently,
>   > which would report in characters.
> 
> I am not sure whether that is serious or in jest.

It's serious.

> Do you have a serious suggestion for a change in GCC?
> If so, what would it be?

Like I wrote: I think GCC should introduce a (differently-named)
option which would report positions inside a line in terms of
characters, not bytes.  Reports in bytes require applications that use
these hints to somehow preserve or reconstruct the original encoding
of the file as it was presented to the compiler, something that could
be a pain.

I understand why GCC developers wanted to be bug-compatible with
clang, to allow the various front-ends use GCC without any changes,
but it sounds wrong for GCC to be forever stuck with this bad design
decision made by clang.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#25987; Package emacs. Full text available.

Message received at 25987 <at> debbugs.gnu.org:


Received: (at 25987) by debbugs.gnu.org; 9 Mar 2017 04:20:47 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 08 23:20:47 2017
Received: from localhost ([127.0.0.1]:46968 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1clpZH-0004cZ-60
	for submit <at> debbugs.gnu.org; Wed, 08 Mar 2017 23:20:47 -0500
Received: from eggs.gnu.org ([208.118.235.92]:42126)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rms@HIDDEN>) id 1clpZF-0004cN-G4
 for 25987 <at> debbugs.gnu.org; Wed, 08 Mar 2017 23:20:45 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <rms@HIDDEN>) id 1clpZ9-0005r3-2y
 for 25987 <at> debbugs.gnu.org; Wed, 08 Mar 2017 23:20:40 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD
 autolearn=disabled version=3.3.2
Received: from fencepost.gnu.org ([2001:4830:134:3::e]:40768)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <rms@HIDDEN>)
 id 1clpYr-0005ma-Rl; Wed, 08 Mar 2017 23:20:21 -0500
Received: from rms by fencepost.gnu.org with local (Exim 4.82)
 (envelope-from <rms@HIDDEN>)
 id 1clpYq-0005R3-RY; Wed, 08 Mar 2017 23:20:20 -0500
Content-Type: text/plain; charset=Utf-8
From: Richard Stallman <rms@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
In-reply-to: <837f3zh8uc.fsf@HIDDEN> (message from Eli Zaretskii on Wed, 08
 Mar 2017 21:22:35 +0200)
Subject: Re: bug#25987: 25.2; support gcc fixit notes
References: <87lgsj1jle.fsf@HIDDEN> <83efyai778.fsf@HIDDEN>
 <878toh19bs.fsf@HIDDEN> <83tw75gjz9.fsf@HIDDEN>
 <87a88v7h35.fsf@HIDDEN> <837f3zh8uc.fsf@HIDDEN>
Message-Id: <E1clpYq-0005R3-RY@HIDDEN>
Date: Wed, 08 Mar 2017 23:20:20 -0500
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 2001:4830:134:3::e
X-Spam-Score: -5.0 (-----)
X-Debbugs-Envelope-To: 25987
Cc: 25987 <at> debbugs.gnu.org, tom@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Reply-To: rms@HIDDEN
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.0 (-----)

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

  > > The reason is compatibility with clang, which had this option first.
  > > http://releases.llvm.org/3.8.0/tools/clang/docs/UsersManual.html#cmdoption-fdiagnostics-parseable-fixits

  > Thanks.  So maybe GCC should have a similar option, named differently,
  > which would report in characters.

I am not sure whether that is serious or in jest.
Do you have a serious suggestion for a change in GCC?
If so, what would it be?

-- 
Dr Richard Stallman
President, Free Software Foundation (gnu.org, fsf.org)
Internet Hall-of-Famer (internethalloffame.org)
Skype: No way! See stallman.org/skype.html.





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#25987; Package emacs. Full text available.

Message received at 25987 <at> debbugs.gnu.org:


Received: (at 25987) by debbugs.gnu.org; 8 Mar 2017 19:29:35 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 08 14:29:35 2017
Received: from localhost ([127.0.0.1]:46682 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1clhHC-0003kM-Sy
	for submit <at> debbugs.gnu.org; Wed, 08 Mar 2017 14:29:35 -0500
Received: from eggs.gnu.org ([208.118.235.92]:33429)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1clhHB-0003k9-LX
 for 25987 <at> debbugs.gnu.org; Wed, 08 Mar 2017 14:29:33 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <eliz@HIDDEN>) id 1clhH1-0004lX-S7
 for 25987 <at> debbugs.gnu.org; Wed, 08 Mar 2017 14:29:28 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_40,RP_MATCHES_RCVD
 autolearn=disabled version=3.3.2
Received: from fencepost.gnu.org ([2001:4830:134:3::e]:34348)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1clhH1-0004lT-Oh; Wed, 08 Mar 2017 14:29:23 -0500
Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:1552
 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1clhH1-0002Cr-3e; Wed, 08 Mar 2017 14:29:23 -0500
Date: Wed, 08 Mar 2017 21:28:59 +0200
Message-Id: <8360jjh8jo.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Tom Tromey <tom@HIDDEN>
In-reply-to: <874lz37glw.fsf@HIDDEN> (message from Tom Tromey on Wed, 08
 Mar 2017 11:44:59 -0700)
Subject: Re: bug#25987: 25.2; support gcc fixit notes
References: <87lgsj1jle.fsf@HIDDEN> <83efyai778.fsf@HIDDEN>
 <878toh19bs.fsf@HIDDEN> <874lz37glw.fsf@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 2001:4830:134:3::e
X-Spam-Score: -5.0 (-----)
X-Debbugs-Envelope-To: 25987
Cc: 25987 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Reply-To: Eli Zaretskii <eliz@HIDDEN>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.0 (-----)

> From: Tom Tromey <tom@HIDDEN>
> Cc: Eli Zaretskii <eliz@HIDDEN>,  25987 <at> debbugs.gnu.org
> Date: Wed, 08 Mar 2017 11:44:59 -0700
> 
> David Malcolm (who wrote the gcc feature) pointed me at the Eclipse bug
> for this:
> 
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=497670
> 
> It sounds like they're going to integrate it into their "quick fix"
> feature, which is an Eclipse thing.

Thanks.

Quick fixes work by presenting a kind of tooltip.  We should probably
have something similar, but it cannot be the only UI, to support TTY
and GUI users who don't like the mouse.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#25987; Package emacs. Full text available.

Message received at 25987 <at> debbugs.gnu.org:


Received: (at 25987) by debbugs.gnu.org; 8 Mar 2017 19:23:10 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 08 14:23:10 2017
Received: from localhost ([127.0.0.1]:46666 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1clhB0-0003av-2l
	for submit <at> debbugs.gnu.org; Wed, 08 Mar 2017 14:23:10 -0500
Received: from eggs.gnu.org ([208.118.235.92]:60119)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1clhAy-0003aj-UD
 for 25987 <at> debbugs.gnu.org; Wed, 08 Mar 2017 14:23:09 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <eliz@HIDDEN>) id 1clhAq-0002j5-IS
 for 25987 <at> debbugs.gnu.org; Wed, 08 Mar 2017 14:23:03 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD
 autolearn=disabled version=3.3.2
Received: from fencepost.gnu.org ([2001:4830:134:3::e]:34278)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1clhAq-0002j1-Ex; Wed, 08 Mar 2017 14:23:00 -0500
Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:1512
 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1clhAp-0006SI-NP; Wed, 08 Mar 2017 14:23:00 -0500
Date: Wed, 08 Mar 2017 21:22:35 +0200
Message-Id: <837f3zh8uc.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Tom Tromey <tom@HIDDEN>
In-reply-to: <87a88v7h35.fsf@HIDDEN> (message from Tom Tromey on Wed, 08
 Mar 2017 11:34:38 -0700)
Subject: Re: bug#25987: 25.2; support gcc fixit notes
References: <87lgsj1jle.fsf@HIDDEN> <83efyai778.fsf@HIDDEN>
 <878toh19bs.fsf@HIDDEN> <83tw75gjz9.fsf@HIDDEN>
 <87a88v7h35.fsf@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 2001:4830:134:3::e
X-Spam-Score: -5.0 (-----)
X-Debbugs-Envelope-To: 25987
Cc: 25987 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Reply-To: Eli Zaretskii <eliz@HIDDEN>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.0 (-----)

> From: Tom Tromey <tom@HIDDEN>
> Cc: Tom Tromey <tom@HIDDEN>,  25987 <at> debbugs.gnu.org
> Date: Wed, 08 Mar 2017 11:34:38 -0700
> 
> Tom> I'll see if I can find out the rationale.
> 
> Eli> Thanks.
> 
> The reason is compatibility with clang, which had this option first.
> http://releases.llvm.org/3.8.0/tools/clang/docs/UsersManual.html#cmdoption-fdiagnostics-parseable-fixits

Thanks.  So maybe GCC should have a similar option, named differently,
which would report in characters.

Anyway, "we have the technology" in Emacs to deal with this.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#25987; Package emacs. Full text available.

Message received at 25987 <at> debbugs.gnu.org:


Received: (at 25987) by debbugs.gnu.org; 8 Mar 2017 18:45:20 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 08 13:45:20 2017
Received: from localhost ([127.0.0.1]:46638 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1clgaO-0002fO-HC
	for submit <at> debbugs.gnu.org; Wed, 08 Mar 2017 13:45:20 -0500
Received: from gproxy9-pub.mail.unifiedlayer.com ([69.89.20.122]:56822
 helo=gproxy9.mail.unifiedlayer.com)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <tom@HIDDEN>) id 1clgaN-0002fC-97
 for 25987 <at> debbugs.gnu.org; Wed, 08 Mar 2017 13:45:19 -0500
Received: from cmgw3 (unknown [10.0.90.84])
 by gproxy9.mail.unifiedlayer.com (Postfix) with ESMTP id 2C9301E08EF
 for <25987 <at> debbugs.gnu.org>; Wed,  8 Mar 2017 11:45:11 -0700 (MST)
Received: from box522.bluehost.com ([74.220.219.122]) by cmgw3 with 
 id tWl31u00J2f2jeq01Wl6PL; Wed, 08 Mar 2017 11:45:11 -0700
X-Authority-Analysis: v=2.1 cv=WOnsABcR c=1 sm=1 tr=0
 a=GsOEXm/OWkKvwdLVJsfwcA==:117 a=GsOEXm/OWkKvwdLVJsfwcA==:17
 a=L9H7d07YOLsA:10 a=9cW_t1CCXrUA:10 a=s5jvgZ67dGcA:10 a=6Iz7jQTuP9IA:10
 a=JIVOxcAaAAAA:8 a=ONy5B95qJStNmMpJs7YA:9 a=qjdIn5W-ogUA:10
 a=3oOLeku9CYwbEqEY-gKj:22
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; 
 s=default;
 h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date:
 References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:
 Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:
 Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:
 List-Subscribe:List-Post:List-Owner:List-Archive;
 bh=25iSmpbLL63H/sXPlrD29oJL+gt/SyAGQ5igSRB55II=; b=pbCvDDhM5AJqUinzH0hAXr0pec
 FoB/IM2WQ5g0L1KOz+7lBr461AJGwYxR+PvDRvE9Rzss47mu154YULkvz5QB+qrzx100qJFhe+T82
 DrZmDXhKEIA/1kbLPGVG2lVSD;
Received: from 67-6-181-22.hlrn.qwest.net ([67.6.181.22]:53512 helo=pokyo)
 by box522.bluehost.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 (Exim 4.87) (envelope-from <tom@HIDDEN>)
 id 1clga6-0002C5-UK; Wed, 08 Mar 2017 11:45:03 -0700
From: Tom Tromey <tom@HIDDEN>
To: Tom Tromey <tom@HIDDEN>
Subject: Re: bug#25987: 25.2; support gcc fixit notes
References: <87lgsj1jle.fsf@HIDDEN> <83efyai778.fsf@HIDDEN>
 <878toh19bs.fsf@HIDDEN>
X-Attribution: Tom
Date: Wed, 08 Mar 2017 11:44:59 -0700
In-Reply-To: <878toh19bs.fsf@HIDDEN> (Tom Tromey's message of "Tue, 07 Mar
 2017 06:54:15 -0700")
Message-ID: <874lz37glw.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-AntiAbuse: This header was added to track abuse,
 please include it with any abuse report
X-AntiAbuse: Primary Hostname - box522.bluehost.com
X-AntiAbuse: Original Domain - debbugs.gnu.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - tromey.com
X-BWhitelist: no
X-Source-IP: 67.6.181.22
X-Exim-ID: 1clga6-0002C5-UK
X-Source: 
X-Source-Args: 
X-Source-Dir: 
X-Source-Sender: 67-6-181-22.hlrn.qwest.net (pokyo) [67.6.181.22]:53512
X-Source-Auth: tom+tromey.com
X-Email-Count: 4
X-Source-Cap: ZWx5bnJvYmk7ZWx5bnJvYmk7Ym94NTIyLmJsdWVob3N0LmNvbQ==
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 25987
Cc: 25987 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 0.0 (/)

Eli> Is there perhaps some "prior art" for this in other IDEs out there?

Tom> It's a good question but I don't know the answer.

David Malcolm (who wrote the gcc feature) pointed me at the Eclipse bug
for this:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=497670

It sounds like they're going to integrate it into their "quick fix"
feature, which is an Eclipse thing.

They also discuss the need to attach the fixit to an earlier error.

Tom




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#25987; Package emacs. Full text available.

Message received at 25987 <at> debbugs.gnu.org:


Received: (at 25987) by debbugs.gnu.org; 8 Mar 2017 18:34:56 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 08 13:34:56 2017
Received: from localhost ([127.0.0.1]:46634 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1clgQK-0002QZ-FZ
	for submit <at> debbugs.gnu.org; Wed, 08 Mar 2017 13:34:56 -0500
Received: from gproxy2-pub.mail.unifiedlayer.com ([69.89.18.3]:36584)
 by debbugs.gnu.org with smtp (Exim 4.84_2)
 (envelope-from <tom@HIDDEN>) id 1clgQJ-0002QM-0V
 for 25987 <at> debbugs.gnu.org; Wed, 08 Mar 2017 13:34:55 -0500
Received: (qmail 12667 invoked by uid 0); 8 Mar 2017 18:34:43 -0000
Received: from unknown (HELO cmgw4) (10.0.90.85)
 by gproxy2.mail.unifiedlayer.com with SMTP; 8 Mar 2017 18:34:43 -0000
Received: from box522.bluehost.com ([74.220.219.122]) by cmgw4 with 
 id tWaf1u00H2f2jeq01Wai3y; Wed, 08 Mar 2017 11:34:43 -0700
X-Authority-Analysis: v=2.1 cv=R4+QR7hX c=1 sm=1 tr=0
 a=GsOEXm/OWkKvwdLVJsfwcA==:117 a=GsOEXm/OWkKvwdLVJsfwcA==:17
 a=L9H7d07YOLsA:10 a=9cW_t1CCXrUA:10 a=s5jvgZ67dGcA:10 a=6Iz7jQTuP9IA:10
 a=Twlkf-z8AAAA:8 a=nsm7zcIx6NiVIp9evpIA:9 a=b7jcOwihhWAA:10 a=eqUqhmPFYAgA:10
 a=-74SuR6ZdpOK_LpdRCUo:22
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; 
 s=default;
 h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date:
 References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:
 Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:
 Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:
 List-Subscribe:List-Post:List-Owner:List-Archive;
 bh=taGUQx7SkmwNwi2yg/8W8ynuDFbiIcH4ltiTV+s7chg=; b=s7O2fDstFiewMVFDQwet+J+tPD
 pQaVUg19JIBWSCVTzYnHY0rbiBmxUs1WP2e8yYEbzm4gciKo34UVsbx5WTmZfjqLIG9Yw1xtAgaSG
 4swmPJp7xhXvd4ElI3T+GG8sU;
Received: from 67-6-181-22.hlrn.qwest.net ([67.6.181.22]:53386 helo=pokyo)
 by box522.bluehost.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 (Exim 4.87) (envelope-from <tom@HIDDEN>)
 id 1clgQ2-0008Jb-VR; Wed, 08 Mar 2017 11:34:39 -0700
From: Tom Tromey <tom@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#25987: 25.2; support gcc fixit notes
References: <87lgsj1jle.fsf@HIDDEN> <83efyai778.fsf@HIDDEN>
 <878toh19bs.fsf@HIDDEN> <83tw75gjz9.fsf@HIDDEN>
X-Attribution: Tom
Date: Wed, 08 Mar 2017 11:34:38 -0700
In-Reply-To: <83tw75gjz9.fsf@HIDDEN> (Eli Zaretskii's message of "Tue, 07 Mar
 2017 17:55:06 +0200")
Message-ID: <87a88v7h35.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-AntiAbuse: This header was added to track abuse,
 please include it with any abuse report
X-AntiAbuse: Primary Hostname - box522.bluehost.com
X-AntiAbuse: Original Domain - debbugs.gnu.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - tromey.com
X-BWhitelist: no
X-Source-IP: 67.6.181.22
X-Exim-ID: 1clgQ2-0008Jb-VR
X-Source: 
X-Source-Args: 
X-Source-Dir: 
X-Source-Sender: 67-6-181-22.hlrn.qwest.net (pokyo) [67.6.181.22]:53386
X-Source-Auth: tom+tromey.com
X-Email-Count: 2
X-Source-Cap: ZWx5bnJvYmk7ZWx5bnJvYmk7Ym94NTIyLmJsdWVob3N0LmNvbQ==
X-Spam-Score: 2.7 (++)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview: Tom> I'll see if I can find out the rationale. Eli> Thanks.
 The reason is compatibility with clang,
 which had this option first.
 http://releases.llvm.org/3.8.0/tools/clang/docs/UsersManual.html#cmdoption-fdiagnostics-parseable-fixits
 [...] Content analysis details:   (2.7 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 2.7 RCVD_IN_PSBL           RBL: Received via a relay in PSBL
 [69.89.18.3 listed in psbl.surriel.com]
 -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at http://www.dnswl.org/, no
 trust [69.89.18.3 listed in list.dnswl.org]
 -0.0 RCVD_IN_MSPIKE_H2      RBL: Average reputation (+2)
 [69.89.18.3 listed in wl.mailspike.net]
 -0.0 SPF_PASS               SPF: sender matches SPF record
 0.0 T_DKIM_INVALID         DKIM-Signature header exists but is not valid
X-Debbugs-Envelope-To: 25987
Cc: 25987 <at> debbugs.gnu.org, Tom Tromey <tom@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 2.7 (++)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 
 Content preview:  Tom> I'll see if I can find out the rationale. Eli> Thanks.
    The reason is compatibility with clang, which had this option first. http://releases.llvm.org/3.8.0/tools/clang/docs/UsersManual.html#cmdoption-fdiagnostics-parseable-fixits
    [...] 
 
 Content analysis details:   (2.7 points, 10.0 required)
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -0.0 RCVD_IN_MSPIKE_H2      RBL: Average reputation (+2)
                             [69.89.18.3 listed in wl.mailspike.net]
 -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at http://www.dnswl.org/, no
                             trust
                             [69.89.18.3 listed in list.dnswl.org]
  2.7 RCVD_IN_PSBL           RBL: Received via a relay in PSBL
                             [69.89.18.3 listed in psbl.surriel.com]
 -0.0 SPF_PASS               SPF: sender matches SPF record
  0.0 T_DKIM_INVALID         DKIM-Signature header exists but is not valid

Tom> I'll see if I can find out the rationale.

Eli> Thanks.

The reason is compatibility with clang, which had this option first.
http://releases.llvm.org/3.8.0/tools/clang/docs/UsersManual.html#cmdoption-fdiagnostics-parseable-fixits

Tom




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#25987; Package emacs. Full text available.

Message received at 25987 <at> debbugs.gnu.org:


Received: (at 25987) by debbugs.gnu.org; 7 Mar 2017 15:55:45 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Mar 07 10:55:45 2017
Received: from localhost ([127.0.0.1]:44766 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1clHSj-0004RW-5x
	for submit <at> debbugs.gnu.org; Tue, 07 Mar 2017 10:55:45 -0500
Received: from eggs.gnu.org ([208.118.235.92]:56941)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1clHSh-0004RK-JS
 for 25987 <at> debbugs.gnu.org; Tue, 07 Mar 2017 10:55:43 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <eliz@HIDDEN>) id 1clHSZ-0007Dy-Ap
 for 25987 <at> debbugs.gnu.org; Tue, 07 Mar 2017 10:55:38 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_40,RP_MATCHES_RCVD
 autolearn=disabled version=3.3.2
Received: from fencepost.gnu.org ([2001:4830:134:3::e]:38974)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1clHSZ-0007Dt-7c; Tue, 07 Mar 2017 10:55:35 -0500
Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:4033
 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1clHSX-00009U-MO; Tue, 07 Mar 2017 10:55:34 -0500
Date: Tue, 07 Mar 2017 17:55:06 +0200
Message-Id: <83tw75gjz9.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Tom Tromey <tom@HIDDEN>
In-reply-to: <878toh19bs.fsf@HIDDEN> (message from Tom Tromey on Tue, 07
 Mar 2017 06:54:15 -0700)
Subject: Re: bug#25987: 25.2; support gcc fixit notes
References: <87lgsj1jle.fsf@HIDDEN> <83efyai778.fsf@HIDDEN>
 <878toh19bs.fsf@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 2001:4830:134:3::e
X-Spam-Score: -5.0 (-----)
X-Debbugs-Envelope-To: 25987
Cc: 25987 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Reply-To: Eli Zaretskii <eliz@HIDDEN>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.0 (-----)

> From: Tom Tromey <tom@HIDDEN>
> Cc: Tom Tromey <tom@HIDDEN>,  25987 <at> debbugs.gnu.org
> Date: Tue, 07 Mar 2017 06:54:15 -0700
> 
> Eli> Ouch! why did they do it in bytes?  That's worth a bug report, IMO.
> 
> I'll see if I can find out the rationale.

Thanks.

> >> * However other approaches are possible, like letting the user request
> >> no confirmation, or request "auto-apply all changes" or something.
> >> Maybe a fixit should be associated with the previous error somehow.
> 
> Eli> Is there perhaps some "prior art" for this in other IDEs out there?
> 
> It's a good question but I don't know the answer.

Maybe it's worth asking on emacs-devel.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#25987; Package emacs. Full text available.

Message received at 25987 <at> debbugs.gnu.org:


Received: (at 25987) by debbugs.gnu.org; 7 Mar 2017 13:54:41 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Mar 07 08:54:41 2017
Received: from localhost ([127.0.0.1]:43744 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1clFZZ-0001Ca-FI
	for submit <at> debbugs.gnu.org; Tue, 07 Mar 2017 08:54:41 -0500
Received: from gproxy9-pub.mail.unifiedlayer.com ([69.89.20.122]:45544
 helo=gproxy9.mail.unifiedlayer.com)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <tom@HIDDEN>) id 1clFZX-0001CM-5z
 for 25987 <at> debbugs.gnu.org; Tue, 07 Mar 2017 08:54:39 -0500
Received: from CMOut01 (unknown [10.0.90.82])
 by gproxy9.mail.unifiedlayer.com (Postfix) with ESMTP id DE3181E0720
 for <25987 <at> debbugs.gnu.org>; Tue,  7 Mar 2017 06:54:27 -0700 (MST)
Received: from box522.bluehost.com ([74.220.219.122]) by CMOut01 with 
 id t1uP1u00b2f2jeq011uSSW; Tue, 07 Mar 2017 06:54:27 -0700
X-Authority-Analysis: v=2.1 cv=Ath9goNP c=1 sm=1 tr=0
 a=GsOEXm/OWkKvwdLVJsfwcA==:117 a=GsOEXm/OWkKvwdLVJsfwcA==:17
 a=L9H7d07YOLsA:10 a=9cW_t1CCXrUA:10 a=s5jvgZ67dGcA:10 a=6Iz7jQTuP9IA:10
 a=uCwpq-ptF4TB8Hgb_poA:9
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; 
 s=default;
 h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date:
 References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:
 Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:
 Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:
 List-Subscribe:List-Post:List-Owner:List-Archive;
 bh=xYOgTudTSINgmhP3bhnKlMI0Ub1dvOis43S4GvTIUjM=; b=VCYQWXchK5s6yfun08OSia8tqe
 vIrB79EL9BUjZAXFOpRzR2zsu3/MLTvMUwV+0nxJMkG8P05E4VQ6hd1tdZByVfwU8whwePdJ2jAGq
 VevYj7LFhiIqtTI5cZIPd0nft;
Received: from 67-6-181-22.hlrn.qwest.net ([67.6.181.22]:56774 helo=bapiya)
 by box522.bluehost.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 (Exim 4.87) (envelope-from <tom@HIDDEN>)
 id 1clFZH-0000Ru-H6; Tue, 07 Mar 2017 06:54:23 -0700
From: Tom Tromey <tom@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#25987: 25.2; support gcc fixit notes
References: <87lgsj1jle.fsf@HIDDEN> <83efyai778.fsf@HIDDEN>
X-Attribution: Tom
Date: Tue, 07 Mar 2017 06:54:15 -0700
In-Reply-To: <83efyai778.fsf@HIDDEN> (Eli Zaretskii's message of "Mon, 06 Mar
 2017 20:35:55 +0200")
Message-ID: <878toh19bs.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-AntiAbuse: This header was added to track abuse,
 please include it with any abuse report
X-AntiAbuse: Primary Hostname - box522.bluehost.com
X-AntiAbuse: Original Domain - debbugs.gnu.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - tromey.com
X-BWhitelist: no
X-Source-IP: 67.6.181.22
X-Exim-ID: 1clFZH-0000Ru-H6
X-Source: 
X-Source-Args: 
X-Source-Dir: 
X-Source-Sender: 67-6-181-22.hlrn.qwest.net (bapiya) [67.6.181.22]:56774
X-Source-Auth: tom+tromey.com
X-Email-Count: 3
X-Source-Cap: ZWx5bnJvYmk7ZWx5bnJvYmk7Ym94NTIyLmJsdWVob3N0LmNvbQ==
X-Spam-Score: 0.5 (/)
X-Debbugs-Envelope-To: 25987
Cc: 25987 <at> debbugs.gnu.org, Tom Tromey <tom@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 0.5 (/)

Eli> Ouch! why did they do it in bytes?  That's worth a bug report, IMO.

I'll see if I can find out the rationale.

>> * One way for this to work would be to display the buffer and 
>> show the proposed change as an overlay;

Eli> Or maybe a tooltip on GUI frames?

Yeah.  Or even buttonizing the text so it could be fixed by clicking or
C-RET or something like that.

>> * However other approaches are possible, like letting the user request
>> no confirmation, or request "auto-apply all changes" or something.
>> Maybe a fixit should be associated with the previous error somehow.

Eli> Is there perhaps some "prior art" for this in other IDEs out there?

It's a good question but I don't know the answer.

Tom




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#25987; Package emacs. Full text available.

Message received at 25987 <at> debbugs.gnu.org:


Received: (at 25987) by debbugs.gnu.org; 6 Mar 2017 18:36:18 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Mar 06 13:36:18 2017
Received: from localhost ([127.0.0.1]:43109 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ckxUY-0006F1-6H
	for submit <at> debbugs.gnu.org; Mon, 06 Mar 2017 13:36:18 -0500
Received: from eggs.gnu.org ([208.118.235.92]:45502)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1ckxUW-0006En-ET
 for 25987 <at> debbugs.gnu.org; Mon, 06 Mar 2017 13:36:16 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <eliz@HIDDEN>) id 1ckxUN-00032a-C0
 for 25987 <at> debbugs.gnu.org; Mon, 06 Mar 2017 13:36:11 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD
 autolearn=disabled version=3.3.2
Received: from fencepost.gnu.org ([2001:4830:134:3::e]:51812)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1ckxUN-00032W-83; Mon, 06 Mar 2017 13:36:07 -0500
Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:2297
 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1ckxUM-0004e0-H1; Mon, 06 Mar 2017 13:36:07 -0500
Date: Mon, 06 Mar 2017 20:35:55 +0200
Message-Id: <83efyai778.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Tom Tromey <tom@HIDDEN>
In-reply-to: <87lgsj1jle.fsf@HIDDEN> (message from Tom Tromey on Sun, 05
 Mar 2017 14:47:57 -0700)
Subject: Re: bug#25987: 25.2; support gcc fixit notes
References: <87lgsj1jle.fsf@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 2001:4830:134:3::e
X-Spam-Score: -5.0 (-----)
X-Debbugs-Envelope-To: 25987
Cc: 25987 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Reply-To: Eli Zaretskii <eliz@HIDDEN>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.0 (-----)

> From: Tom Tromey <tom@HIDDEN>
> Date: Sun, 05 Mar 2017 14:47:57 -0700
> 
> I think Emacs should support this in compilation mode buffers.

I agree, it would be a good feature.

> A few thoughts on the implementation:
> 
> * The filename quoting stuff will require a bit of unquoting

Perhaps shell-unquote-argument will help?

> * The offsets are byte offsets, not columns, which is a bit of a pain
>   (or at least, it is for me since I don't know how to handle that in
>   elisp)

Ouch! why did they do it in bytes?  That's worth a bug report, IMO.

Anyway, filepos-to-bufferpos could help with this problem.

> * One way for this to work would be to display the buffer and 
>   show the proposed change as an overlay;

Or maybe a tooltip on GUI frames?

> * However other approaches are possible, like letting the user request
>   no confirmation, or request "auto-apply all changes" or something.
>   Maybe a fixit should be associated with the previous error somehow.

Is there perhaps some "prior art" for this in other IDEs out there?

Thanks.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#25987; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 5 Mar 2017 21:48:44 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Mar 05 16:48:44 2017
Received: from localhost ([127.0.0.1]:41449 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1cke1D-0000MC-QX
	for submit <at> debbugs.gnu.org; Sun, 05 Mar 2017 16:48:44 -0500
Received: from eggs.gnu.org ([208.118.235.92]:60412)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <tom@HIDDEN>) id 1cke1B-0000Lz-0Q
 for submit <at> debbugs.gnu.org; Sun, 05 Mar 2017 16:48:41 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <tom@HIDDEN>) id 1cke14-0006r9-3l
 for submit <at> debbugs.gnu.org; Sun, 05 Mar 2017 16:48:35 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,T_DKIM_INVALID
 autolearn=disabled version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:42094)
 by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32)
 (Exim 4.71) (envelope-from <tom@HIDDEN>) id 1cke14-0006qy-0B
 for submit <at> debbugs.gnu.org; Sun, 05 Mar 2017 16:48:34 -0500
Received: from eggs.gnu.org ([2001:4830:134:3::10]:51365)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <tom@HIDDEN>) id 1cke12-0005s4-5X
 for bug-gnu-emacs@HIDDEN; Sun, 05 Mar 2017 16:48:33 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <tom@HIDDEN>) id 1cke0y-0006nc-SJ
 for bug-gnu-emacs@HIDDEN; Sun, 05 Mar 2017 16:48:32 -0500
Received: from gproxy3-pub.mail.unifiedlayer.com ([69.89.30.42]:55020)
 by eggs.gnu.org with smtp (Exim 4.71)
 (envelope-from <tom@HIDDEN>) id 1cke0y-0006kJ-8L
 for bug-gnu-emacs@HIDDEN; Sun, 05 Mar 2017 16:48:28 -0500
Received: (qmail 14469 invoked by uid 0); 5 Mar 2017 21:48:06 -0000
Received: from unknown (HELO cmgw3) (10.0.90.84)
 by gproxy3.mail.unifiedlayer.com with SMTP; 5 Mar 2017 21:48:06 -0000
Received: from box522.bluehost.com ([74.220.219.122]) by cmgw3 with 
 id sMo11u0072f2jeq01Mo4bY; Sun, 05 Mar 2017 14:48:06 -0700
X-Authority-Analysis: v=2.1 cv=WOnsABcR c=1 sm=1 tr=0
 a=GsOEXm/OWkKvwdLVJsfwcA==:117 a=GsOEXm/OWkKvwdLVJsfwcA==:17
 a=L9H7d07YOLsA:10 a=9cW_t1CCXrUA:10 a=s5jvgZ67dGcA:10 a=IkcTkHD0fZMA:10
 a=6Iz7jQTuP9IA:10 a=ZZ9aQZciIvDeoGKFjbAA:9 a=ao9AAyzj6h5c4hyZ:21
 a=uWkv48RfckupUjmw:21 a=QEXdDO2ut3YA:10
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; 
 s=default;
 h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID:
 Date:Subject:To:From:Sender:Reply-To:Cc:Content-ID:Content-Description:
 Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
 In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:
 List-Post:List-Owner:List-Archive;
 bh=4xvU36TKnclxafVxEo3+zRiGEgFIhIWJv7OtpqdOQDM=; b=Kx/YAPUCkc5HWpOPW/S3kJfTzC
 U2RYl3cigW6J6MLEkt3al4zEKMLIqq4ciPMNIxl8v8zzglYuSrMJXl24XNZQzJOL0Lywj12Q2ESzQ
 ZhrrOYY+6Jw6PWbsoq0Evqfr0;
Received: from 71-218-43-111.hlrn.qwest.net ([71.218.43.111]:54548 helo=bapiya)
 by box522.bluehost.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 (Exim 4.87) (envelope-from <tom@HIDDEN>)
 id 1cke0W-0001Xk-Uz; Sun, 05 Mar 2017 14:48:01 -0700
From: Tom Tromey <tom@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Subject: 25.2; support gcc fixit notes
X-Attribution: Tom
Date: Sun, 05 Mar 2017 14:47:57 -0700
Message-ID: <87lgsj1jle.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-AntiAbuse: This header was added to track abuse,
 please include it with any abuse report
X-AntiAbuse: Primary Hostname - box522.bluehost.com
X-AntiAbuse: Original Domain - gnu.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - tromey.com
X-BWhitelist: no
X-Source-IP: 71.218.43.111
X-Exim-ID: 1cke0W-0001Xk-Uz
X-Source: 
X-Source-Args: 
X-Source-Dir: 
X-Source-Sender: 71-218-43-111.hlrn.qwest.net (bapiya) [71.218.43.111]:54548
X-Source-Auth: tom+tromey.com
X-Email-Count: 1
X-Source-Cap: ZWx5bnJvYmk7ZWx5bnJvYmk7Ym94NTIyLmJsdWVob3N0LmNvbQ==
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy]
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -5.0 (-----)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.0 (-----)


With -fdiagnostics-parseable-fixits, GCC can emit "fixit" notes that
tell how to apply a patch to fix a problem.

For example for this:

struct x {
  int field;
};

struct x y;

int main() {
  return y.feld;
}

I get:

q.c: In function =E2=80=98main=E2=80=99:
q.c:8:12: error: =E2=80=98struct x=E2=80=99 has no member named =E2=80=98fe=
ld=E2=80=99; did you mean =E2=80=98field=E2=80=99?
   return y.feld;
            ^~~~
            field
fix-it:"q.c":{8:12-8:16}:"field"


The documentation, from the gcc manual:

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
@item -fdiagnostics-parseable-fixits
@opindex fdiagnostics-parseable-fixits
Emit fix-it hints in a machine-parseable format, suitable for consumption
by IDEs.  For each fix-it, a line will be printed after the relevant
diagnostic, starting with the string ``fix-it:''.  For example:

@smallexample
fix-it:"test.c":@{45:3-45:21@}:"gtk_widget_show_all"
@end smallexample

The location is expressed as a half-open range, expressed as a count of
bytes, starting at byte 1 for the initial column.  In the above example,
bytes 3 through 20 of line 45 of ``test.c'' are to be replaced with the
given string:

@smallexample
00000000011111111112222222222
12345678901234567890123456789
  gtk_widget_showall (dlg);
  ^^^^^^^^^^^^^^^^^^
  gtk_widget_show_all
@end smallexample

The filename and replacement string escape backslash as ``\\", tab as ``\t'=
',
newline as ``\n'', double quotes as ``\"'', non-printable characters as oct=
al
(e.g. vertical tab as ``\013'').

An empty replacement string indicates that the given range is to be removed.
An empty range (e.g. ``45:3-45:3'') indicates that the string is to
be inserted at the given position.
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D


I think Emacs should support this in compilation mode buffers.
A few thoughts on the implementation:

* The filename quoting stuff will require a bit of unquoting
* The offsets are byte offsets, not columns, which is a bit of a pain
  (or at least, it is for me since I don't know how to handle that in
  elisp)
* One way for this to work would be to display the buffer and=20
  show the proposed change as an overlay; and then use y-or-n-p
  to ask whether it should be applied.  I was thinking something like:

(defun compilation--fixit-make-overlay (start end text)
  (let ((overlay (make-overlay start end)))
    (overlay-put overlay 'face 'diff-removed)
    (overlay-put overlay 'after-string
                 (propertize text 'face 'diff-added))
    overlay))

  With this approach perhaps nothing could be done if the fixit was
  already visited, or if the buffer text already matches the
  replacement.

* However other approaches are possible, like letting the user request
  no confirmation, or request "auto-apply all changes" or something.
  Maybe a fixit should be associated with the previous error somehow.

* Allowing "fixit" to be handled specially in compile mode might mean
  adding a new "type" value, not sure.

Tom



In GNU Emacs 25.2.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.22.8)
 of 2017-03-02 built on bapiya
Repository revision: 6e788ef0e262fafc014c21f4ad52cc5dc9f1715b
Windowing system distributor 'Fedora Project', version 11.0.11901000
System Description:	Fedora release 25 (Twenty Five)

Configured using:
 'configure --prefix=3D/home/tromey/Emacs/install/ --with-modules'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GCONF GSETTINGS
NOTIFY LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 MODULES

Important settings:
  value of $LANG: en_US.utf8
  value of $XMODIFIERS: @im=3Dibus
  locale-coding-system: utf-8-unix

Major mode: Emacs-Lisp

Minor modes in effect:
  shell-dirtrack-mode: t
  diff-auto-refine-mode: t
  flyspell-mode: t
  which-function-mode: t
  global-auto-revert-mode: t
  erc-services-mode: t
  erc-list-mode: t
  erc-menu-mode: t
  erc-autojoin-mode: t
  erc-ring-mode: t
  erc-networks-mode: t
  erc-pcomplete-mode: t
  erc-track-mode: t
  erc-match-mode: t
  erc-netsplit-mode: t
  erc-hl-nicks-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-move-to-prompt-mode: t
  erc-readonly-mode: t
  savehist-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  auto-fill-function: do-auto-fill
  transient-mark-mode: t

Recent messages:
Discard changes to this group and exit? (y or n) y
Are you sure you want to quit reading news? (y or n) y
Saving Gnus registry (13456 entries) to ~/.gnus.registry.eieio...
Saving Gnus registry (size 13456) to ~/.gnus.registry.eieio...done
Saving file /home/tromey/.newsrc...
Wrote /home/tromey/.newsrc
Saving /home/tromey/.newsrc.eld...
Saving file /home/tromey/.newsrc.eld...
Wrote /home/tromey/.newsrc.eld
Saving /home/tromey/.newsrc.eld...done

Load-path shadows:
/home/tromey/.emacs.d/elpa/bubbles-0.5/bubbles hides /home/tromey/Emacs/ins=
tall/share/emacs/25.2/lisp/play/bubbles
/home/tromey/.emacs.d/elpa/soap-client-3.1.1/soap-inspect hides /home/trome=
y/Emacs/install/share/emacs/25.2/lisp/net/soap-inspect
/home/tromey/.emacs.d/elpa/soap-client-3.1.1/soap-client hides /home/tromey=
/Emacs/install/share/emacs/25.2/lisp/net/soap-client

Features:
(org-bullets org-element org-rmail org-mhe org-irc org-info org-gnus
org-docview doc-view image-mode org-bibtex bibtex org-bbdb org-w3m org
org-macro org-footnote org-pcomplete org-list org-faces org-entities
noutline outline org-version ob-emacs-lisp ob ob-tangle ob-ref ob-lob
ob-table ob-exp org-src ob-keys ob-comint ob-core ob-eval org-compat
org-macs org-loaddefs gnus-html xml url-cache mm-url url url-proxy
url-privacy url-expand url-methods url-history url-cookie url-domsuf
gnus-draft xref project mail-hist nnir url-util url-parse url-vars
shr-color shr dom subr-x browse-url flow-fill mm-archive smiley
gnus-cite gnus-async gnus-bcklg qp gnus-ml disp-table gnus-topic nndraft
nnmh nnfolder utf-7 bbdb-gnus bbdb-mua bbdb-com crm gnus-agent gnus-srvr
gnus-score score-mode nnvirtual gnus-msg nntp gnus-cache gnus-registry
registry eieio-compat eieio-base gnus-art mm-uu mml2015 mm-view
mml-smime smime dig gnus-sum gnus-group gnus-undo gnus-start gnus-cloud
nnimap nnmail mail-source utf7 netrc nnoo parse-time gnus-spec gnus-int
gnus-range gnus-win gnus gnus-ems nnheader cus-edit find-dired
bug-reference texinfo vc-mtn vc-hg tabify man term/xterm xterm shadow
emacsbug network-stream nsm starttls tls gnutls mailalias smtpmail sort
mailcap bbdb-message sendmail mail-extr vc-bzr vc-src vc-sccs vc-svn
vc-cvs vc-rcs whitespace log-edit message idna dired rfc822 mml mml-sec
epg mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045
ietf-drums mailabbrev mail-utils gmm-utils mailheader pcvs-util cc-mode
cc-fonts cc-guess cc-menus cc-cmds shell rx dabbrev eieio-opt speedbar
sb-image ezimage dframe find-func copyright debug add-log vc-git
diff-mode easy-mmode misearch multi-isearch jka-compr flyspell ispell
diminish edmacro kmacro projectile grep compile ibuf-ext ibuffer dash
appt diary-lib diary-loaddefs cal-menu calendar cal-loaddefs which-func
imenu minimap autorevert filenotify cus-start cus-load status
erc-services erc-list erc-menu erc-join erc-ring erc-networks
erc-pcomplete pcomplete erc-track erc-match erc-netsplit erc-hl-nicks
color erc-button erc-fill erc-stamp wid-edit erc-goodies erc erc-backend
erc-compat format-spec auth-source eieio gnus-util mm-util help-fns
mail-prsvr password-cache thingatpt pp warnings advice vc-dir ewoc vc
vc-dispatcher cc-styles cc-align cc-engine cc-vars cc-defs bbdb
bbdb-site timezone ange-ftp comint ansi-color ring server savehist
finder-inf dwarf-mode-autoloads gdb-shell-autoloads eieio-core
lisppaste-autoloads pydoc-info-autoloads info-look cl-seq cl-macs cl
weblogger-autoloads info package epg-config seq byte-opt gv bytecomp
byte-compile cl-extra help-mode easymenu cconv cl-loaddefs pcase cl-lib
bbdb-loaddefs time-date mule-util tooltip eldoc electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel x-win term/common-win x-dnd
tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment
elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
frame cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan
thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian
slovak czech european ethiopic indian cyrillic chinese charscript
case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer
cl-preloaded nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote dbusbind inotify
dynamic-setting system-font-setting font-render-setting move-toolbar gtk
x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 997972 86208)
 (symbols 48 117986 0)
 (miscs 40 21518 46)
 (strings 32 431164 32131)
 (string-bytes 1 10881610)
 (vectors 16 99059)
 (vector-slots 8 2222084 4114)
 (floats 8 851 728)
 (intervals 56 31730 1034)
 (buffers 976 62))




Acknowledgement sent to Tom Tromey <tom@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#25987; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Thu, 15 Oct 2020 15:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.