GNU bug report logs - #48452
28.0.50; flymake for elisp does not respect `load-path`

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; Reported by: Max Brieiev <max.brieiev@HIDDEN>; dated Sat, 15 May 2021 20:47:02 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.
Removed tag(s) moreinfo. Request was from Lars Ingebrigtsen <larsi@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

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


Received: (at 48452) by debbugs.gnu.org; 24 Jul 2022 09:56:28 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 24 05:56:28 2022
Received: from localhost ([127.0.0.1]:46906 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oFYLc-000511-5G
	for submit <at> debbugs.gnu.org; Sun, 24 Jul 2022 05:56:28 -0400
Received: from mail-ot1-f47.google.com ([209.85.210.47]:36774)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1oFYLY-00050l-L3
 for 48452 <at> debbugs.gnu.org; Sun, 24 Jul 2022 05:56:26 -0400
Received: by mail-ot1-f47.google.com with SMTP id
 a14-20020a0568300b8e00b0061c4e3eb52aso6557013otv.3
 for <48452 <at> debbugs.gnu.org>; Sun, 24 Jul 2022 02:56:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=VF49t6vX+J476Bf+25HkyEuJTCFVWt0tzVkYOA1MCKA=;
 b=Fy2vVQ7hHBZe65Wlo2oo7OhG6LHQwr2aVOp87Byk3HUpXophRYljchl0DpEko1YKHa
 KtTMeBtdz/QsGkZ8phyhtIu92UTL2AYrcOqx6IgjJtAorz5SyFrMC93v1DPiC1112nGf
 jsk1PIjpsrKxvjOaMGEcPd/PHiAvw2c4IDMWuy51QvWPRF0wO3bhW3nV7LLRcT80qCor
 K/RSaTXeTZPJwTjMGKaam/Xefcm2i01ULWScaTGcg4H7leJsGzixaQoBFGk9h6y8F2Z5
 J/J4k6bMqvSGuE3bbe3GXi2K0WmdHcWBoPNQDo2rci6NoYzxTWgfUdxQsL/ED23E/1mi
 i41g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=VF49t6vX+J476Bf+25HkyEuJTCFVWt0tzVkYOA1MCKA=;
 b=nfGlb1oGYEG+j3rjF+0ZPkBVGtWFz1Z9KkmFO8UHbygA16CvqNgdZqe7C5RTt7q5jV
 oo3+EbR1Mo4RcfHqRs8OBDR4+q+YsiP23herzUU3aZ1OF7XDSfudqtIIzH8ELXrFbluG
 Jwq6vEEawBmLPk7IiM0vMPSmZq1FkfBJ1ywmlEt5ZWv4xw+xM7MnKqvWI8St0q1FZSW1
 q7kA+QBxV1024MmeyCNiKIeRMbwVUKDu33NNVHGL41xyNglNQXCjpPZmdMP91rXWd4PW
 TGSAwEAzNQSkz7W7UOfjCQGF+/0pLyfKk/3Dj7tKWD7VpyI8cCdvOuTlwHExM6bkjGGV
 HhTA==
X-Gm-Message-State: AJIora98sxgIJAYRpNSoaEarNy20jLGRVzocICkZmIXRfNBc7dk3B7G7
 BdaIZIqTDw5mAeg9pl7ey1pTpqXUF+2AFScH+Xo=
X-Google-Smtp-Source: AGRyM1uPS2ROj8R5dZjhZAZ43fyMreDck8ceYgewyXlfU+6hFo8AsJOdI5pX8BXCSPFv8mnpu145m9yggBy11eWE3PM=
X-Received: by 2002:a9d:7691:0:b0:61c:9963:7336 with SMTP id
 j17-20020a9d7691000000b0061c99637336mr3141513otl.317.1658656578999; Sun, 24
 Jul 2022 02:56:18 -0700 (PDT)
MIME-Version: 1.0
References: <8735unafob.fsf@HIDDEN> <877d4hs084.fsf@HIDDEN>
 <87v8s1untg.fsf@HIDDEN> <874jzlp12v.fsf@HIDDEN>
 <87wnchc75r.fsf@HIDDEN>
 <87ilnzaa49.fsf@HIDDEN> <87cze7780j.fsf@HIDDEN> <87r12mogh9.fsf@HIDDEN>
 <CALDnm50u_1Of2Ot7pACJDXUxcW79sj9u+MdwCMQXW2R_S19pVQ@HIDDEN>
 <87fsj1tlgn.fsf@HIDDEN> <87sfmy1b95.fsf@HIDDEN> <87r12d9b8f.fsf@HIDDEN>
 <CALDnm53Lf7UWKddTEC61+ey-hU-M7RVBbCtu-Ncc-TU9TXqCzQ@HIDDEN>
 <87k08497in.fsf@HIDDEN>
 <CALDnm52qgLUDc7F7a+AwsTAASQXXizcZZyucGXPhbp5VuPRzOw@HIDDEN>
 <87wnc474xt.fsf@HIDDEN> <87y1wkmba4.fsf@HIDDEN>
 <jwv8roj7w9s.fsf-monnier+emacs@HIDDEN>
 <87h737n2ov.fsf@HIDDEN> <87v8rmyilo.fsf@HIDDEN>
In-Reply-To: <87v8rmyilo.fsf@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Sun, 24 Jul 2022 10:57:23 +0100
Message-ID: <CALDnm51_xBJR87T-gBsf-LZ99pJnL9=jGjFEKQPZknFiKOVH4g@HIDDEN>
Subject: Re: bug#48452: 28.0.50; flymake for elisp does not respect `load-path`
To: Lars Ingebrigtsen <larsi@HIDDEN>
Content-Type: multipart/alternative; boundary="0000000000003218f905e48a14d8"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 48452
Cc: Max Brieiev <max.brieiev@HIDDEN>, 48452 <at> debbugs.gnu.org,
 Stefan Monnier <monnier@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 (-)

--0000000000003218f905e48a14d8
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Sun, Jul 24, 2022 at 10:18 AM Lars Ingebrigtsen <larsi@HIDDEN> wrote:

> Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:
>
> > Or maybe -- again, I'm just guessing -- the danger is that that bad.el
> > is disguised under /tmp/pcase.el and /tmp/good.el has a perfectly
> > legitimate.
> >
> >    (require 'pcase)
> >
> > Simply visitng /tmp/good.el with Flymake on would lead to disaster.
>
> Yes.  Sorry, I thought it was self-evident that that's the problem I was
> talking about with having "./" in load-path.
>

OK. I just hope that this thread has left it clear that simply visiting tha=
t
/tmp/pcase-not-malicious-at-all.el can lead to "disaster" regardless
of the value in elisp-flymake-byte-compile-load-path .

> If
> > that's the case, it's as easy as applying this patch
>
> [...]
>
> > -                   ,@(mapcan (lambda (path) (list "-L" path))
> > +                   ,@(mapcan (lambda (path) (list "-L" (format ":%s"
> path)))
> >                               elisp-flymake-byte-compile-load-path)
>
> That would be a distinct improvement; yes.  (But with a comment about
> what that does, because it's not self explanatory.)
>
> OK, I can do that.

Jo=C3=A3o T=C3=A1vora

--0000000000003218f905e48a14d8
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr">On Sun, Jul 24, 2022 at 10:18 AM Lars Ing=
ebrigtsen &lt;<a href=3D"mailto:larsi@HIDDEN">larsi@HIDDEN</a>&gt; wrot=
e:<br></div><div class=3D"gmail_quote"><blockquote class=3D"gmail_quote" st=
yle=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padd=
ing-left:1ex">Jo=C3=A3o T=C3=A1vora &lt;<a href=3D"mailto:joaotavora@gmail.=
com" target=3D"_blank">joaotavora@HIDDEN</a>&gt; writes:<br>
<br>
&gt; Or maybe -- again, I&#39;m just guessing -- the danger is that that ba=
d.el<br>
&gt; is disguised under /tmp/pcase.el and /tmp/good.el has a perfectly<br>
&gt; legitimate.<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 (require &#39;pcase)<br>
&gt;<br>
&gt; Simply visitng /tmp/good.el with Flymake on would lead to disaster.<br=
>
<br>
Yes.=C2=A0 Sorry, I thought it was self-evident that that&#39;s the problem=
 I was<br>
talking about with having &quot;./&quot; in load-path.<br></blockquote><div=
><br></div><div>OK. I just hope that this thread has left it clear that sim=
ply visiting that<br><div>/tmp/pcase-not-malicious-at-all.el can lead to &q=
uot;disaster&quot; regardless</div><div>of the value in elisp-flymake-byte-=
compile-load-path .<br></div><div><br></div></div><blockquote class=3D"gmai=
l_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,20=
4,204);padding-left:1ex">&gt; If<br>
&gt; that&#39;s the case, it&#39;s as easy as applying this patch<br>
<br>
[...]<br>
<br>
&gt; -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
,@(mapcan (lambda (path) (list &quot;-L&quot; path))<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
,@(mapcan (lambda (path) (list &quot;-L&quot; (format &quot;:%s&quot; path)=
))<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0elisp-flymake-byte-compile-load-pa=
th)<br>
<br>
That would be a distinct improvement; yes.=C2=A0 (But with a comment about<=
br>
what that does, because it&#39;s not self explanatory.)<br>
<br>
</blockquote></div><div>OK, I can do that.</div><br><div><div dir=3D"ltr" c=
lass=3D"gmail_signature">Jo=C3=A3o T=C3=A1vora</div></div></div>

--0000000000003218f905e48a14d8--




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

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


Received: (at 48452) by debbugs.gnu.org; 24 Jul 2022 09:18:23 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 24 05:18:23 2022
Received: from localhost ([127.0.0.1]:46845 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oFXkl-0001i0-GP
	for submit <at> debbugs.gnu.org; Sun, 24 Jul 2022 05:18:23 -0400
Received: from quimby.gnus.org ([95.216.78.240]:43454)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <larsi@HIDDEN>) id 1oFXkj-0001hi-Hz
 for 48452 <at> debbugs.gnu.org; Sun, 24 Jul 2022 05:18:22 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org;
 s=20200322; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID
 :Date:References:In-Reply-To:Subject:Cc:To:From:Sender:Reply-To: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=0ksJ9bVD4seAD84znFG0aSs5EST3SjgKghCDX6gchho=; b=gLX40EZ8rErwJh7GLIJJdY9Kq+
 XrRjU/b0cHmsaQjCEl7mqHYS1HrndMpfYoAvdFjEqtZslBdM1kWowgkJURBByOroNYDbpOC1Rcn4O
 Qg3aNi6bz6CPukJsGRn5D+o4h2o9c8X+pZS+UgLt+EP+Vzd9gow0uGH84w7gOtGAQOn8=;
Received: from [84.212.220.105] (helo=joga)
 by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.92) (envelope-from <larsi@HIDDEN>)
 id 1oFXkZ-0005Ka-MA; Sun, 24 Jul 2022 11:18:13 +0200
From: Lars Ingebrigtsen <larsi@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Subject: Re: bug#48452: 28.0.50; flymake for elisp does not respect `load-path`
In-Reply-To: <87h737n2ov.fsf@HIDDEN> (=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vor?=
 =?utf-8?Q?a=22's?= message of "Sat, 23 Jul 2022 18:45:04 +0100")
References: <8735unafob.fsf@HIDDEN> <877d4hs084.fsf@HIDDEN>
 <87v8s1untg.fsf@HIDDEN> <874jzlp12v.fsf@HIDDEN>
 <87wnchc75r.fsf@HIDDEN> <87ilnzaa49.fsf@HIDDEN>
 <87cze7780j.fsf@HIDDEN> <87r12mogh9.fsf@HIDDEN>
 <CALDnm50u_1Of2Ot7pACJDXUxcW79sj9u+MdwCMQXW2R_S19pVQ@HIDDEN>
 <87fsj1tlgn.fsf@HIDDEN> <87sfmy1b95.fsf@HIDDEN>
 <87r12d9b8f.fsf@HIDDEN>
 <CALDnm53Lf7UWKddTEC61+ey-hU-M7RVBbCtu-Ncc-TU9TXqCzQ@HIDDEN>
 <87k08497in.fsf@HIDDEN>
 <CALDnm52qgLUDc7F7a+AwsTAASQXXizcZZyucGXPhbp5VuPRzOw@HIDDEN>
 <87wnc474xt.fsf@HIDDEN> <87y1wkmba4.fsf@HIDDEN>
 <jwv8roj7w9s.fsf-monnier+emacs@HIDDEN> <87h737n2ov.fsf@HIDDEN>
Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAACBj
 SFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAJFBMVEUwdskudspHfMsw
 etAuedCak9NlhM7Yo9cZccw1cbdQeKn///93HEaEAAAAAWJLR0QLH9fEwAAAAAd0SU1FB+YHGAkH
 HH/VAFgAAAGbSURBVDjLpVI7TsNAEJ0hRrQz0YY+NwDZB/DKcwEKkjoFikSFkFBuQB0KGo7gUzIf
 O/4EV6wly+s37735AehhAmTiyYHhLADISwxellrT4EP934cGYHOAAjkzNQj69KQKNu8kFl1lkyJN
 1XiFwP1pqymkRtCkCOzdFIXUzf6NkBsxmoAqIYLeRPLumUTKyr5LjVcjWJWl1Li72zqQk1RhAIVR
 Hl8+D5hMKnP2PhkCNeDtzZbEQiwrtXbgp23b79eW2MwCGKrfH/TqBMmarjNAvzenJ7T/ipACzA4g
 4fGkDPXIYv/YKjFnxuMHu1JWE1QhM1GAeL21TiWRlNnjOaQYqQN8HjZrB6CfuqToFXVDofFwqYao
 bw5wB5B7cIjlGHk/eY8fz/wLvMDQsXfKAZg1jbcqSXic5wsnk+0B35dRuuAZdZX/vYjT3aULwdoe
 WYkg2oJcbCI15FU1RHccjKYCzJBYJNPHKcPu1DV/ClCsGOAc8E5H42YMT1j1rghd0VfesZfUbcdw
 zoBDsTPg0h/47xkPbprWAuDmve8vj6FHl3JHDHgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDct
 MjRUMDk6MDc6MjgrMDA6MDB8fKDyAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTA3LTI0VDA5OjA3
 OjI4KzAwOjAwDSEYTgAAAABJRU5ErkJggg==
X-Now-Playing: King Crimson's _Beat_: "Waiting Man"
Date: Sun, 24 Jul 2022 11:18:11 +0200
Message-ID: <87v8rmyilo.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Report: Spam detection software, running on the system "quimby.gnus.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
 @@CONTACT_ADDRESS@@ for details.
 
 Content preview:  João Távora <joaotavora@HIDDEN> writes: > Or maybe --
    again, I'm just guessing -- the danger is that that bad.el > is disguised
    under /tmp/pcase.el and /tmp/good.el has a perfectly > legitimate. > > (require
    'pcase) > > Simply visitng /tmp/ [...] 
 
 Content analysis details:   (-2.9 points, 5.0 required)
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -1.0 ALL_TRUSTED            Passed through trusted hosts only via SMTP
 -1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%
                             [score: 0.0000]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 48452
Cc: Max Brieiev <max.brieiev@HIDDEN>, 48452 <at> debbugs.gnu.org,
 Stefan Monnier <monnier@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 (---)

Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

> Or maybe -- again, I'm just guessing -- the danger is that that bad.el
> is disguised under /tmp/pcase.el and /tmp/good.el has a perfectly
> legitimate.
>
>    (require 'pcase)
>
> Simply visitng /tmp/good.el with Flymake on would lead to disaster.

Yes.  Sorry, I thought it was self-evident that that's the problem I was
talking about with having "./" in load-path.

> If
> that's the case, it's as easy as applying this patch

[...]

> -                   ,@(mapcan (lambda (path) (list "-L" path))
> +                   ,@(mapcan (lambda (path) (list "-L" (format ":%s" pat=
h)))
>                               elisp-flymake-byte-compile-load-path)

That would be a distinct improvement; yes.  (But with a comment about
what that does, because it's not self explanatory.)





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

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


Received: (at 48452) by debbugs.gnu.org; 23 Jul 2022 17:55:15 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jul 23 13:55:15 2022
Received: from localhost ([127.0.0.1]:46252 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oFJLP-0005yj-Gs
	for submit <at> debbugs.gnu.org; Sat, 23 Jul 2022 13:55:15 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:7562)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1oFJLK-0005yO-BR
 for 48452 <at> debbugs.gnu.org; Sat, 23 Jul 2022 13:55:14 -0400
Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id DA0A644182E;
 Sat, 23 Jul 2022 13:55:04 -0400 (EDT)
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id B925C4401B6;
 Sat, 23 Jul 2022 13:55:03 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1658598903;
 bh=78jUOpy4Eabbv1sF0bK6PdF6QvnTlTKb+L9f82pvFZw=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=patNRbvLUwnZun8ggnJrZVuBU57vbComzZaRFK60p0/cP9W3ajkBcuufWo26kfHsM
 YdMYT30eGC8YxeQjwawwGgfjKs/pAik/UxCnjIRhi4pV/Ahok2OIsqlh8HBp/Avuqu
 Qt0upxmtoqO9WqcRWouQB893qLZy3KWAbB6OQckwjfqpZ/d1hwwufpG47X3Ij6JFqb
 2Xi7q49PE99FJD5FqjplhbMt3RDyaxDHJt+8vcH6zYPFQlncxCjusGOjc6N8kxvt3v
 9YlPEGREuKyJGlBf5EpB2zTKwJ/x3zcGmPVpAqFjgeZj54sUyKr/iGNnPpaRIWqxTh
 nYzA4M2vwUiiw==
Received: from pastel (unknown [45.72.195.111])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 7C66212032C;
 Sat, 23 Jul 2022 13:55:03 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: =?windows-1252?B?Sm/jbyBU4XZvcmE=?= <joaotavora@HIDDEN>
Subject: Re: bug#48452: 28.0.50; flymake for elisp does not respect `load-path`
In-Reply-To: <87h737n2ov.fsf@HIDDEN> (=?windows-1252?Q?=22Jo=E3o_T=E1vo?=
 =?windows-1252?Q?ra=22's?= message of "Sat, 23
 Jul 2022 18:45:04 +0100")
Message-ID: <jwvbktf3edb.fsf-monnier+emacs@HIDDEN>
References: <8735unafob.fsf@HIDDEN> <877d4hs084.fsf@HIDDEN>
 <87v8s1untg.fsf@HIDDEN> <874jzlp12v.fsf@HIDDEN>
 <87wnchc75r.fsf@HIDDEN> <87ilnzaa49.fsf@HIDDEN>
 <87cze7780j.fsf@HIDDEN> <87r12mogh9.fsf@HIDDEN>
 <CALDnm50u_1Of2Ot7pACJDXUxcW79sj9u+MdwCMQXW2R_S19pVQ@HIDDEN>
 <87fsj1tlgn.fsf@HIDDEN> <87sfmy1b95.fsf@HIDDEN>
 <87r12d9b8f.fsf@HIDDEN>
 <CALDnm53Lf7UWKddTEC61+ey-hU-M7RVBbCtu-Ncc-TU9TXqCzQ@HIDDEN>
 <87k08497in.fsf@HIDDEN>
 <CALDnm52qgLUDc7F7a+AwsTAASQXXizcZZyucGXPhbp5VuPRzOw@HIDDEN>
 <87wnc474xt.fsf@HIDDEN> <87y1wkmba4.fsf@HIDDEN>
 <jwv8roj7w9s.fsf-monnier+emacs@HIDDEN> <87h737n2ov.fsf@HIDDEN>
Date: Sat, 23 Jul 2022 13:55:02 -0400
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.071 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 48452
Cc: Max Brieiev <max.brieiev@HIDDEN>, Lars Ingebrigtsen <larsi@HIDDEN>,
 48452 <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 (---)

>> AFAIC, it's not just `load-path`: the set of autoloaded functions (and
>> a few other similar things) is also relevant.
> I presume those relevant things are setup by package-initialize, right?

Typically, yes (tho nowadays you don't want to call `package-initialize`
but `package-activate-all` which can do much less work).


        Stefan





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

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


Received: (at 48452) by debbugs.gnu.org; 23 Jul 2022 17:43:57 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jul 23 13:43:57 2022
Received: from localhost ([127.0.0.1]:46230 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oFJAT-0005bD-Ee
	for submit <at> debbugs.gnu.org; Sat, 23 Jul 2022 13:43:57 -0400
Received: from mail-wr1-f51.google.com ([209.85.221.51]:40469)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1oFJAR-0005ay-K6
 for 48452 <at> debbugs.gnu.org; Sat, 23 Jul 2022 13:43:56 -0400
Received: by mail-wr1-f51.google.com with SMTP id m17so10163417wrw.7
 for <48452 <at> debbugs.gnu.org>; Sat, 23 Jul 2022 10:43:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=from:to:cc:subject:in-reply-to:references:date:message-id
 :user-agent:mime-version:content-transfer-encoding;
 bh=uvG/avzmWQCXAmidziG/IaGp1QrYP/H1eSCV2chQ3ec=;
 b=fr8a9ANph/KfwWk9UQzK3jkz/TLmN8M3TFKD3TLEOpkcXBYX/hF/AIA4xa7XNU++cU
 +sAtwL8pAsa8Ei1+b8PBl2qp8sCguroioVm0eNQgqctkj+OOoD4XI7gLdJC5wMoq6FkY
 6NpkkR32f0VzpXS9qYCk0N3qNlHhb5dOFWbNP7gFMQwXFRNk0qndGBUDiDfeUmAE/W3C
 T9Ei46RvWZeRHHcOCEocuE51FRcuyUyMwm6dCHZXnVmKMgn4ajGe2OAhFpYYgX9qfBxQ
 eWEN0oU1UtynMCmbDprUdMX8CAZ0tXvWRb0+kAXCH17IRD4Awfc9uD0v+2ePV6iFB1Nf
 nd8A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date
 :message-id:user-agent:mime-version:content-transfer-encoding;
 bh=uvG/avzmWQCXAmidziG/IaGp1QrYP/H1eSCV2chQ3ec=;
 b=N5lcbHSW+jihy5qSI3LVCeABLySoMcImeYcJtl4S7xFMlQpWZQQdvMJg2SPnfGzTFw
 GE94KthBH/Jv0cq9P8GjoAoscISwnLwBT352yAHRpUhpHJ9Qv4Zqxg3iY4aKMbgKIXkm
 RZG8rBdH/epVHdVitoEONETOl1r3Mkok8GOoY+iKFHnPJqisdtMktMV/xXSzwYMOPgxG
 EIWvoaLgdW51WBgbT2Bl/QZVt+m1UUKpOfiGmsgjsIWruk3CHsGlhEdwFp44xzgUW8V4
 lQhFE31IOjyGxVrAHtNZ1APxuBQMDb/u5vo5L4dqCsdBz2CGBO0yelaJuUwqyNnunQ2H
 CKaQ==
X-Gm-Message-State: AJIora8OeNPaSuWpOV/gbOz+nuf39Rsb+CZOIub2aJ0vo9oGBxI7s1tt
 ow3REWx2O5aox0tr422sAlvz2bDrEs8=
X-Google-Smtp-Source: AGRyM1ua10izdEsDWwnAbF3sN42EqkyN5R13l4wqLx7XJ94EOI2AXCU0Foxdbdd97PFp9uPBeuD4zg==
X-Received: by 2002:adf:f90f:0:b0:21e:7e3d:6af6 with SMTP id
 b15-20020adff90f000000b0021e7e3d6af6mr1490672wrr.183.1658598229140; 
 Sat, 23 Jul 2022 10:43:49 -0700 (PDT)
Received: from krug ([62.28.191.198]) by smtp.gmail.com with ESMTPSA id
 f5-20020adff445000000b0021e5f32ade7sm4179211wrp.68.2022.07.23.10.43.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 23 Jul 2022 10:43:48 -0700 (PDT)
From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
Subject: Re: bug#48452: 28.0.50; flymake for elisp does not respect `load-path`
In-Reply-To: <jwv8roj7w9s.fsf-monnier+emacs@HIDDEN> (Stefan Monnier's message
 of "Sat, 23 Jul 2022 10:26:45 -0400")
References: <8735unafob.fsf@HIDDEN> <877d4hs084.fsf@HIDDEN>
 <87v8s1untg.fsf@HIDDEN> <874jzlp12v.fsf@HIDDEN>
 <87wnchc75r.fsf@HIDDEN> <87ilnzaa49.fsf@HIDDEN>
 <87cze7780j.fsf@HIDDEN> <87r12mogh9.fsf@HIDDEN>
 <CALDnm50u_1Of2Ot7pACJDXUxcW79sj9u+MdwCMQXW2R_S19pVQ@HIDDEN>
 <87fsj1tlgn.fsf@HIDDEN> <87sfmy1b95.fsf@HIDDEN>
 <87r12d9b8f.fsf@HIDDEN>
 <CALDnm53Lf7UWKddTEC61+ey-hU-M7RVBbCtu-Ncc-TU9TXqCzQ@HIDDEN>
 <87k08497in.fsf@HIDDEN>
 <CALDnm52qgLUDc7F7a+AwsTAASQXXizcZZyucGXPhbp5VuPRzOw@HIDDEN>
 <87wnc474xt.fsf@HIDDEN> <87y1wkmba4.fsf@HIDDEN>
 <jwv8roj7w9s.fsf-monnier+emacs@HIDDEN>
Date: Sat, 23 Jul 2022 18:45:04 +0100
Message-ID: <87h737n2ov.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.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: 48452
Cc: Max Brieiev <max.brieiev@HIDDEN>, Lars Ingebrigtsen <larsi@HIDDEN>,
 48452 <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 (-)

Stefan Monnier <monnier@HIDDEN> writes:

>> At some point in the past, Stefan was working on a "sandboxed" Emacs
>> that could, in theory, pave the way for automatically enabled Elisp
>> Flymake, but I haven't heard of that effort lately.
>
> I need to get back to that indeed :-)
>
>>> It seems to me that there's two useful values for load-path in the
>>> Flymake backend: Either just the standard load-path (so that you
>>> actually get the same results as when doing a batch byte-compile) or the
>>> current running load-path (so that you get the same results as when you
>>> `require' the file from your .emacs, say).  Altering the load-path to
>>> also include the ELPA directories doesn't really help much, because
>>> people have all kinds of code that's not in ELPA (but is in their
>>> load-path).
>
> AFAIC, it's not just `load-path`: the set of autoloaded functions (and
> a few other similar things) is also relevant.

I presume those relevant things are setup by package-initialize, right?
My proposed patch uses that.

>> I think we have to ask ourselves: what is Flymake used for?  The most
>> useful answers will come from the people who actually use it, though
>> potential uses are also interesting.
>
> I don't think we can hope to make flymake-elisp work correctly in all
> existing cases, because there are conflicting requirements there.
>
> So, we should take it for granted that some use-cases will be considered
> as "unsupported", and the important thing is to figure out what behavior
> to provide such that all(?) use-cases can be adapted (and such that the
> behavior is sane enough to be described, understandable, and
> predictable).
>
>> Having './' in the default load-path for elisp-flymake-byte-compile is
>> fundamental for the accuracy of this prediction.  Why?  Because the
>> clients of my packages -- regardless if they use package.el,
>> straight.el, etc or just simply using a git checkout -- will always have
>> the the files I have in some directory in some other directory in their
>> machines, and _that_ directory will be in the load-path.
>
> BTW, while the GNUmakefile of `elpa-admin` also adds `.` to the
> `load-path`, there are cases where this is harmful.

I don't dispute that, but in my experience (and as far as I can see) it
is _not_ functionally harmful to have ./ in the
elisp-flymake-byte-compile-load-path for the use case that I described:
developing package.el packages that can be distributed and installed
through a number of ways.

But is it potentially "dangerous/disastrous"?  I don't think so either,
but I haven't a clear picture of the disaster scenario.  Lars mentioned
"editing files in /tmp".

Maybe Lars is worried about some user e.g. having /tmp/bad.el and
opening some /tmp/good.el and slowly typing in

   (require 'badminton)

By the time (require 'bad) is in the buffer, disaster strikes.  But this
disaster could just as well happen by simply visiting /tmp/bad.el to see
what's in it.  Except that malicious files don't advertise themselves
like that in their file names...

Or maybe -- again, I'm just guessing -- the danger is that that bad.el
is disguised under /tmp/pcase.el and /tmp/good.el has a perfectly
legitimate.

   (require 'pcase)

Simply visitng /tmp/good.el with Flymake on would lead to disaster.  If
that's the case, it's as easy as applying this patch

diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el
index 0c4a9bfdbe..01c0679c76 100644
--- a/lisp/progmodes/elisp-mode.el
+++ b/lisp/progmodes/elisp-mode.el
@@ -2144,7 +2144,7 @@ elisp-flymake-byte-compile
                    "-Q"
                    "--batch"
                    ;; "--eval" "(setq load-prefer-newer t)" ; for testing
-                   ,@(mapcan (lambda (path) (list "-L" path))
+                   ,@(mapcan (lambda (path) (list "-L" (format ":%s" path)=
))
                              elisp-flymake-byte-compile-load-path)
                    "-f" "elisp-flymake--batch-compile-for-flymake"
                    ,temp-file)

Jo=C3=A3o




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

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


Received: (at 48452) by debbugs.gnu.org; 23 Jul 2022 17:15:35 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jul 23 13:15:35 2022
Received: from localhost ([127.0.0.1]:46198 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oFIj0-0004KV-UL
	for submit <at> debbugs.gnu.org; Sat, 23 Jul 2022 13:15:35 -0400
Received: from mail-wr1-f52.google.com ([209.85.221.52]:39681)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1oFIiz-00040N-Fj
 for 48452 <at> debbugs.gnu.org; Sat, 23 Jul 2022 13:15:33 -0400
Received: by mail-wr1-f52.google.com with SMTP id d8so10364677wrp.6
 for <48452 <at> debbugs.gnu.org>; Sat, 23 Jul 2022 10:15:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=from:to:cc:subject:in-reply-to:references:date:message-id
 :user-agent:mime-version:content-transfer-encoding;
 bh=Cl/pz0v7zGmNgQY1+i/c87UsekYyM3ZkYDJyo75y2L0=;
 b=aD+w8mjtYz7gnsFwAqVt8JvvcCjW2LCYPDSuHn/dkiinh+sdjln0wjtMR/mxcOBsRI
 rlTxNCe7ZA1ubzB47slsU0rNz4Z5GHcnTiBXrWyA1Q7dVHuleq5aPOFpKtdzhg1NjiTo
 2VxvzX/WFkaNzVQQ04E3YaS9oF4BzySffNOpY9+BQIcfChzGyRKgFzUmWAdRbOleAP7Z
 9x3zJM+IZLoxGHXVHsQOyXpETE5F1HFb4BiCjGssAKuZiZKSELW0+5b2xhpRCELpZ5gH
 mEwKv801iCTvl74KjSFyz9YQjw2wqbiVLPofn3lDbDhRBES5jZuwr8keYax9XszzgrIt
 ypsQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date
 :message-id:user-agent:mime-version:content-transfer-encoding;
 bh=Cl/pz0v7zGmNgQY1+i/c87UsekYyM3ZkYDJyo75y2L0=;
 b=H2qVZX4E3/JA+U51GTpcesVYGjwvz4YRU01M3bW0uzWz3UhaMZhIp109ivDFdpXMW8
 s7n+f1qXWIiyfjoB1Zvtm1jkMMk/7m7MINW2mPx93WWoW1LsRH+5zciChK/U0HHh3fvX
 5zaGCUx5CiBmcyA9dhNpDmtT7hHiOOt+Xda4JvGKmc08x9rLCTKdnDZbsFYGxceD9f5h
 RoAII4VeKShi4X3KwjSvTaaixK8fT35vCduvxdoNEvohh1k23Nnj26IbBhYUC20o0bBQ
 l0c8CtF1EEMSGyMjvJcDGgmKvF2RpP6eMRtW55DUUYX1KLu68M7eRpzHyksl9+CN5Z7d
 hnnA==
X-Gm-Message-State: AJIora9v0aL6bQlIax4OV7nWzPe0cW5IoaxXq4sssi4bh51intOYIzoC
 SJlJ/S+6uvGSKRdYOdO2Ljw=
X-Google-Smtp-Source: AGRyM1tfv2ZhS5OClBhnpfSsL9zokrwCdcJDDCikU55PV2Hsm3YR44Niw3DWq45ldoA8cTWUZe7twA==
X-Received: by 2002:adf:d1cf:0:b0:21d:a2cd:522d with SMTP id
 b15-20020adfd1cf000000b0021da2cd522dmr3212666wrd.383.1658596527528; 
 Sat, 23 Jul 2022 10:15:27 -0700 (PDT)
Received: from krug ([62.28.191.198]) by smtp.gmail.com with ESMTPSA id
 x10-20020adfec0a000000b0021d6c7a9f50sm7613869wrn.41.2022.07.23.10.15.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 23 Jul 2022 10:15:26 -0700 (PDT)
From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
To: Max Brieiev <max.brieiev@HIDDEN>
Subject: Re: bug#48452: 28.0.50; flymake for elisp does not respect `load-path`
In-Reply-To: <87zggzvpi5.fsf@HIDDEN> (Max Brieiev's message of "Sat, 23 Jul
 2022 18:05:06 +0300")
References: <8735unafob.fsf@HIDDEN> <877d4hs084.fsf@HIDDEN>
 <87v8s1untg.fsf@HIDDEN> <874jzlp12v.fsf@HIDDEN>
 <87wnchc75r.fsf@HIDDEN> <87ilnzaa49.fsf@HIDDEN>
 <87cze7780j.fsf@HIDDEN> <87r12mogh9.fsf@HIDDEN>
 <CALDnm50u_1Of2Ot7pACJDXUxcW79sj9u+MdwCMQXW2R_S19pVQ@HIDDEN>
 <87fsj1tlgn.fsf@HIDDEN> <87sfmy1b95.fsf@HIDDEN>
 <87r12d9b8f.fsf@HIDDEN>
 <CALDnm53Lf7UWKddTEC61+ey-hU-M7RVBbCtu-Ncc-TU9TXqCzQ@HIDDEN>
 <87k08497in.fsf@HIDDEN>
 <CALDnm52qgLUDc7F7a+AwsTAASQXXizcZZyucGXPhbp5VuPRzOw@HIDDEN>
 <87wnc474xt.fsf@HIDDEN> <87y1wkmba4.fsf@HIDDEN>
 <87zggzvpi5.fsf@HIDDEN>
Date: Sat, 23 Jul 2022 18:16:41 +0100
Message-ID: <87lesjn406.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.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: 48452
Cc: Lars Ingebrigtsen <larsi@HIDDEN>, 48452 <at> debbugs.gnu.org,
 monnier@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 (-)

Max Brieiev <max.brieiev@HIDDEN> writes:

> Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:
>
>> I think we have to ask ourselves: what is Flymake used for?  The most
>> useful answers will come from the people who actually use it, though
>> potential uses are also interesting.
>
> For a regular user like me, the most obvious use cases are:
>
> 1. Utilities for my own use. This can be sloppy code, heavily dependent
> on my current Emacs setup. But it works, or at least it can be required
> into init.el. So it is counter-intuitive, when flymake displays the
> error, but running `restart-emacs' reveals no errors.

Another way to see this is elisp-flymake-byte-compile is rooting for
less sloppy code :-), i.e. code that you can share with me.

> 2. If I would decide to distribute my code through (M)ELPA, this is
> where I'd like flymake to be more finicky: probably compile my code only
> against standard load-path _and_ dependencies (packages listed in
> "Package-Requires" header section).

... and if your hypothetical.el package comes more than one file, say
hypothetical-tests.el or hypothetical-utils.el which require each other,
you'd probably also like "./" to be in the load-path for
elisp-flymake-byte-compile.

Jo=C3=A3o





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

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


Received: (at 48452) by debbugs.gnu.org; 23 Jul 2022 15:05:18 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jul 23 11:05:18 2022
Received: from localhost ([127.0.0.1]:46032 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oFGgw-0007Fd-Ge
	for submit <at> debbugs.gnu.org; Sat, 23 Jul 2022 11:05:18 -0400
Received: from mail-wr1-f46.google.com ([209.85.221.46]:43828)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <max.brieiev@HIDDEN>) id 1oFGgs-0007FI-30
 for 48452 <at> debbugs.gnu.org; Sat, 23 Jul 2022 11:05:17 -0400
Received: by mail-wr1-f46.google.com with SMTP id d13so2439837wrn.10
 for <48452 <at> debbugs.gnu.org>; Sat, 23 Jul 2022 08:05:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=from:to:cc:subject:in-reply-to:references:date:message-id
 :user-agent:mime-version:content-transfer-encoding;
 bh=NB1LrYIrdpls+2uE6lJk7QXEOEy2cuNxZ4bGCNbtRJU=;
 b=VhaT4qP4izV+8vxYoOxatJnFGa/hOPsW2hwNdOMcrBnqi+n/pVMTj8Eiar0rFzkTRg
 rOlGoeIf4vqqfuOdquSmBiAEOI1ISsSIljCreDl87IMy+m4gyOBeRp7kWUw7+ckCp7ct
 9ut8WsOikZWfFDRkymGv0X0se3/BBfRssg/OrHKqxLNcgm7miQt7BBOIOZoYltHf+Whk
 FiLa4N2iYWkor9wRy2wxrPOWmA2/5a6xKqeNxf3lIETgs1ROswnAZcdDnf+OS/XH3qzl
 vSzEVhWILXz3gmN1V2Rt5EQnNyWl8Hu/cNF6S0rOSGMSyvNkEta+ps45ryo5uLiZmkpr
 5MXA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date
 :message-id:user-agent:mime-version:content-transfer-encoding;
 bh=NB1LrYIrdpls+2uE6lJk7QXEOEy2cuNxZ4bGCNbtRJU=;
 b=7dreGUhrNxyN5+Ji1lhx58M2lAfN0GSc9Ep7tHlU0Gr8UX3cwOfhXQZzAtu0VG934d
 O4VR4wDI9bUDm7LxjiRbVW9jW/leP6VzdTfjMbvfau6nJ5ukpui+6DROZ0ABbjdufFgZ
 Q96hqCw9w7/37DvzmiW8UTgx5fYDHfHDfWXwZHvOvyEFJjkCcVNJQfot65yJBVHp5+sw
 xZUxeWp83I1l5EDWq/uho5BwjUB48w6YKEpwDMlftFS+G7UCKiVPfYiZanfSwQ5c1ZLw
 SFseyrjt11M6hEZI8hHH/mkx37sSKDZYz91fbxOHiCkgAxF5GDgb0L6Mx75joOeon7hv
 ZckQ==
X-Gm-Message-State: AJIora8JsjIl9Df1bQV/ESEN33D1u+VUhzBERzz5LIGTTuVtj6W4SugS
 l5aYf0VjHuk9LCZn/mVQITU=
X-Google-Smtp-Source: AGRyM1tGyXLmEmPrCB23AVp1pBCRT29Mo1iJAJoqBNpL1KH5IgjSVWJAW9aPk1NNdVYbExOtW9S7fg==
X-Received: by 2002:a5d:638e:0:b0:21d:68bc:17c8 with SMTP id
 p14-20020a5d638e000000b0021d68bc17c8mr3016807wru.467.1658588708256; 
 Sat, 23 Jul 2022 08:05:08 -0700 (PDT)
Received: from thinkmax ([109.251.233.9]) by smtp.gmail.com with ESMTPSA id
 d13-20020adf9c8d000000b0021e4c3b2967sm7476313wre.65.2022.07.23.08.05.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 23 Jul 2022 08:05:07 -0700 (PDT)
From: Max Brieiev <max.brieiev@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Subject: Re: bug#48452: 28.0.50; flymake for elisp does not respect `load-path`
In-Reply-To: <87y1wkmba4.fsf@HIDDEN> (=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vor?=
 =?utf-8?Q?a=22's?= message of "Sat, 23 Jul 2022 10:24:51 +0100")
References: <8735unafob.fsf@HIDDEN> <877d4hs084.fsf@HIDDEN>
 <87v8s1untg.fsf@HIDDEN> <874jzlp12v.fsf@HIDDEN>
 <87wnchc75r.fsf@HIDDEN> <87ilnzaa49.fsf@HIDDEN>
 <87cze7780j.fsf@HIDDEN> <87r12mogh9.fsf@HIDDEN>
 <CALDnm50u_1Of2Ot7pACJDXUxcW79sj9u+MdwCMQXW2R_S19pVQ@HIDDEN>
 <87fsj1tlgn.fsf@HIDDEN> <87sfmy1b95.fsf@HIDDEN>
 <87r12d9b8f.fsf@HIDDEN>
 <CALDnm53Lf7UWKddTEC61+ey-hU-M7RVBbCtu-Ncc-TU9TXqCzQ@HIDDEN>
 <87k08497in.fsf@HIDDEN>
 <CALDnm52qgLUDc7F7a+AwsTAASQXXizcZZyucGXPhbp5VuPRzOw@HIDDEN>
 <87wnc474xt.fsf@HIDDEN> <87y1wkmba4.fsf@HIDDEN>
Date: Sat, 23 Jul 2022 18:05:06 +0300
Message-ID: <87zggzvpi5.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.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: 48452
Cc: Lars Ingebrigtsen <larsi@HIDDEN>, 48452 <at> debbugs.gnu.org,
 monnier@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 (-)

Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

> I think we have to ask ourselves: what is Flymake used for?  The most
> useful answers will come from the people who actually use it, though
> potential uses are also interesting.

For a regular user like me, the most obvious use cases are:

1. Utilities for my own use. This can be sloppy code, heavily dependent
on my current Emacs setup. But it works, or at least it can be required
into init.el. So it is counter-intuitive, when flymake displays the
error, but running `restart-emacs' reveals no errors.

2. If I would decide to distribute my code through (M)ELPA, this is
where I'd like flymake to be more finicky: probably compile my code only
against standard load-path _and_ dependencies (packages listed in
"Package-Requires" header section).




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

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


Received: (at 48452) by debbugs.gnu.org; 23 Jul 2022 14:26:59 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jul 23 10:26:59 2022
Received: from localhost ([127.0.0.1]:45977 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oFG5q-00063A-Jt
	for submit <at> debbugs.gnu.org; Sat, 23 Jul 2022 10:26:58 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:20838)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1oFG5m-00062m-6f
 for 48452 <at> debbugs.gnu.org; Sat, 23 Jul 2022 10:26:57 -0400
Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 3C74A10027D;
 Sat, 23 Jul 2022 10:26:48 -0400 (EDT)
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 83A9F100120;
 Sat, 23 Jul 2022 10:26:46 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1658586406;
 bh=Pzy6VUgR+BYRol2Me0iLLIXqioxCU9m6mrgLMd4JM+M=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=UNxp0VXGYl7Veh+DDZ2Zj8YOAcy5OIonqOrKjN3cb+cOL7gaR38YAfODf0bqDEz6e
 8RkEthJYptuZVvbe0LbNbmoYb3DBYEZKaWrNP0zSo/DuSzMei2EKw/78NI7vlLflLJ
 jRPn+66VKy44Oud+nvF091ggaK6wPKaUyHGLHCgHfHPyfmbJoLc8G0ZTFnnHxublEL
 Uc2QHLYr8g6bofhGfs00+Iqp/f7pYjQlOFcrWEeXBFB/Sr0UY6RpvcPD4Ze6TNwmek
 HmT0MPDhf42Jt95f77LnjYsS7KbNAxcHBfJLJagu9WPc1tMrE1eWsrO5OQRDn7EvTY
 gFvqWqPQFsM5Q==
Received: from pastel (unknown [45.72.195.111])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 4CEBD12025D;
 Sat, 23 Jul 2022 10:26:46 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: =?windows-1252?B?Sm/jbyBU4XZvcmE=?= <joaotavora@HIDDEN>
Subject: Re: bug#48452: 28.0.50; flymake for elisp does not respect `load-path`
In-Reply-To: <87y1wkmba4.fsf@HIDDEN> (=?windows-1252?Q?=22Jo=E3o_T=E1vo?=
 =?windows-1252?Q?ra=22's?= message of "Sat, 23
 Jul 2022 10:24:51 +0100")
Message-ID: <jwv8roj7w9s.fsf-monnier+emacs@HIDDEN>
References: <8735unafob.fsf@HIDDEN> <877d4hs084.fsf@HIDDEN>
 <87v8s1untg.fsf@HIDDEN> <874jzlp12v.fsf@HIDDEN>
 <87wnchc75r.fsf@HIDDEN> <87ilnzaa49.fsf@HIDDEN>
 <87cze7780j.fsf@HIDDEN> <87r12mogh9.fsf@HIDDEN>
 <CALDnm50u_1Of2Ot7pACJDXUxcW79sj9u+MdwCMQXW2R_S19pVQ@HIDDEN>
 <87fsj1tlgn.fsf@HIDDEN> <87sfmy1b95.fsf@HIDDEN>
 <87r12d9b8f.fsf@HIDDEN>
 <CALDnm53Lf7UWKddTEC61+ey-hU-M7RVBbCtu-Ncc-TU9TXqCzQ@HIDDEN>
 <87k08497in.fsf@HIDDEN>
 <CALDnm52qgLUDc7F7a+AwsTAASQXXizcZZyucGXPhbp5VuPRzOw@HIDDEN>
 <87wnc474xt.fsf@HIDDEN> <87y1wkmba4.fsf@HIDDEN>
Date: Sat, 23 Jul 2022 10:26:45 -0400
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.051 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 48452
Cc: Max Brieiev <max.brieiev@HIDDEN>, Lars Ingebrigtsen <larsi@HIDDEN>,
 48452 <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 (---)

> At some point in the past, Stefan was working on a "sandboxed" Emacs
> that could, in theory, pave the way for automatically enabled Elisp
> Flymake, but I haven't heard of that effort lately.

I need to get back to that indeed :-)

>> It seems to me that there's two useful values for load-path in the
>> Flymake backend: Either just the standard load-path (so that you
>> actually get the same results as when doing a batch byte-compile) or the
>> current running load-path (so that you get the same results as when you
>> `require' the file from your .emacs, say).  Altering the load-path to
>> also include the ELPA directories doesn't really help much, because
>> people have all kinds of code that's not in ELPA (but is in their
>> load-path).

AFAIC, it's not just `load-path`: the set of autoloaded functions (and
a few other similar things) is also relevant.

> I think we have to ask ourselves: what is Flymake used for?  The most
> useful answers will come from the people who actually use it, though
> potential uses are also interesting.

I don't think we can hope to make flymake-elisp work correctly in all
existing cases, because there are conflicting requirements there.

So, we should take it for granted that some use-cases will be considered
as "unsupported", and the important thing is to figure out what behavior
to provide such that all(?) use-cases can be adapted (and such that the
behavior is sane enough to be described, understandable, and
predictable).

> Having './' in the default load-path for elisp-flymake-byte-compile is
> fundamental for the accuracy of this prediction.  Why?  Because the
> clients of my packages -- regardless if they use package.el,
> straight.el, etc or just simply using a git checkout -- will always have
> the the files I have in some directory in some other directory in their
> machines, and _that_ directory will be in the load-path.

BTW, while the GNUmakefile of `elpa-admin` also adds `.` to the
`load-path`, there are cases where this is harmful.
E.g. the "pcase benchmark" in `elisp-benchmarks` used to be in the file
.../benchmarks/pcase.el and it (of course) required Emacs to load
`pcase.el` (the other one).

This required the hideous workaround:

    (eval-and-compile
      ;; =A1FIXME!  The GNUmakefile of elpa.git uses:
      ;;
      ;;    ... -L $(dir $@) -f batch-byte-compile $<
      ;;
      ;; to compile each file.  This is handy for some cases such as files =
in
      ;; `contrib' subdirectories but for this `pcase.el' file it causes th=
is
      ;; `pcase.el' to hide the *real* `pcase.el'.  So we workaround this p=
roblem
      ;; here by removing the offending element from `load-path'.  Yuck!
      ;;
      ;; We should probably change GNUmakefile instead so it doesn't forcef=
ully
      ;; add the directory to `load-path', e.g. make this dependent on the
      ;; presence of special file like `.dont-add-to-load-path'.=20
      (when load-file-name
        (setq load-path (remove (file-name-directory load-file-name) load-p=
ath))))

We have several files in `lisp` whose directory is not in `load-path`
(most of them under `lisp/cedet`).

But, note that I decided to use the above hack (later replaced by
the simpler solution of renaming the file to `elb-pcase.el`) in
preference to changing the GNUmakefile not to add `.` to `load-path`.


        Stefan





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

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


Received: (at 48452) by debbugs.gnu.org; 23 Jul 2022 09:23:49 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jul 23 05:23:49 2022
Received: from localhost ([127.0.0.1]:43503 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oFBMS-0007Lr-P7
	for submit <at> debbugs.gnu.org; Sat, 23 Jul 2022 05:23:49 -0400
Received: from mail-wr1-f47.google.com ([209.85.221.47]:36482)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1oFBMP-0007LZ-6l
 for 48452 <at> debbugs.gnu.org; Sat, 23 Jul 2022 05:23:48 -0400
Received: by mail-wr1-f47.google.com with SMTP id g2so1356160wru.3
 for <48452 <at> debbugs.gnu.org>; Sat, 23 Jul 2022 02:23:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=from:to:cc:subject:in-reply-to:references:date:message-id
 :user-agent:mime-version:content-transfer-encoding;
 bh=mGMQPhU3duA4q0G+9deePAyTUwN2gTsL9SxwYUyIGZ4=;
 b=OVW/BeXB8IwDvJ5sAFYeqpeZdlu+7fuHkYqrw+O0j2vqkS5TtDkDeMruD/vtlf+7Kr
 p+w/xVuAGzuNyyBqZ3dLHfLwj3KzOPspMTuraRVvFBDnrcTNPd5A/3vPltDoP1X02bH8
 ae/xzgsbNkVREpuLPQj4yTVoTeXyod6wqHzOaFvPoNOWq1qbQglzp8bJXhWkRvwdHi7L
 cjKACcsr6YpxSRyOfY68S7tVqmYr4IRb+jP/4FyxH8MUmQ1QhZZSPh1asmG9GnBYVHzY
 r3CMWGDCsQZGCwkyVNmnPXbGXtkhzB0qUuZIRbeZ5+NjhWmV7p8wJnrLEdR1NvKmpp3n
 aF9g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date
 :message-id:user-agent:mime-version:content-transfer-encoding;
 bh=mGMQPhU3duA4q0G+9deePAyTUwN2gTsL9SxwYUyIGZ4=;
 b=S8IOBYp/RZ8izOpnsW1pYcYUbuiE8XuvF9efeCtdPMnY+evd1BezH/wg3aqhH640r3
 bfPUGhD+HdnF+bD8MSvIbMBNaJ+VTjXMH+1utLOtu5TR8tBShtDdl4euFqfEoFi7T7Z+
 zZBKb3qttkwKVixrIm2Q1Oig8wbUrvv5wKPT8mFOhmm2KrCfkpy1wC8m99RkQLSl0LQG
 uvLBRviY4UVqDOx2bymdZPfeeDA+BnkIbcHANov/etIdOoRfyZL2pwu/s9iqJvDCovjJ
 TyWV6gRU5sEboD3x9BkT9UdXed5EqKkCttVyrut/kY4MkumK4wryxFm3M/447lSJ1Hrf
 /fuw==
X-Gm-Message-State: AJIora9mYMqWBTkuVCRDWtjuk60IaH5JDKkr+Jefon7IVrEPS1dfoa/y
 2wQRm7l6eJ/1QSmKz5l7GpQ=
X-Google-Smtp-Source: AGRyM1swYllZ/WHfM39eFcV52GU0mVV6fR684J1zZ/zXgla7LRVi1a0AXX+JebAQUoy9h4xgM3F/RQ==
X-Received: by 2002:a5d:48c9:0:b0:21d:e031:151c with SMTP id
 p9-20020a5d48c9000000b0021de031151cmr2281548wrs.567.1658568219215; 
 Sat, 23 Jul 2022 02:23:39 -0700 (PDT)
Received: from krug ([62.28.191.198]) by smtp.gmail.com with ESMTPSA id
 m126-20020a1ca384000000b003a03e63e428sm12791622wme.36.2022.07.23.02.23.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 23 Jul 2022 02:23:38 -0700 (PDT)
From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
To: Lars Ingebrigtsen <larsi@HIDDEN>
Subject: Re: bug#48452: 28.0.50; flymake for elisp does not respect `load-path`
In-Reply-To: <87wnc474xt.fsf@HIDDEN> (Lars Ingebrigtsen's message of "Sat,
 23 Jul 2022 07:50:54 +0200")
References: <8735unafob.fsf@HIDDEN> <877d4hs084.fsf@HIDDEN>
 <87v8s1untg.fsf@HIDDEN> <874jzlp12v.fsf@HIDDEN>
 <87wnchc75r.fsf@HIDDEN> <87ilnzaa49.fsf@HIDDEN>
 <87cze7780j.fsf@HIDDEN> <87r12mogh9.fsf@HIDDEN>
 <CALDnm50u_1Of2Ot7pACJDXUxcW79sj9u+MdwCMQXW2R_S19pVQ@HIDDEN>
 <87fsj1tlgn.fsf@HIDDEN> <87sfmy1b95.fsf@HIDDEN>
 <87r12d9b8f.fsf@HIDDEN>
 <CALDnm53Lf7UWKddTEC61+ey-hU-M7RVBbCtu-Ncc-TU9TXqCzQ@HIDDEN>
 <87k08497in.fsf@HIDDEN>
 <CALDnm52qgLUDc7F7a+AwsTAASQXXizcZZyucGXPhbp5VuPRzOw@HIDDEN>
 <87wnc474xt.fsf@HIDDEN>
Date: Sat, 23 Jul 2022 10:24:51 +0100
Message-ID: <87y1wkmba4.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.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: 48452
Cc: Max Brieiev <max.brieiev@HIDDEN>, 48452 <at> debbugs.gnu.org,
 monnier@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 (-)

Lars Ingebrigtsen <larsi@HIDDEN> writes:

> Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:
>
>> If you don't elaborate, we have no way of understanding whether this
>> is a genuine expansion of the "disaster vector" that is already
>> intrinsic to this particular Flymake backend.
>
> I think I already mentioned the problem of editing files in /tmp/?
> That's the whole point of not having ./ in load-path -- you can
> inadvertently load code under control of an attacker.

As I've been trying to explain, flymake-elisp-byte-compile is all about
"inadvertently loading code": it's -- literally -- constantly and
largely unpredictably byte-compiling a file containing the transient
contents of your buffer.  As you know, in Lisp, that is always running
code, arbitrary code.

It's not at all comparable to the interactive Emacs usage where the user
takes voluntary action to execute something.

Flymake in Elisp files is inherently insecure in this respect.  This is
why we don't turn it on by default.  Maybe this should feature more
prominently somewhere: "Users must NOT turn on
flymake-elisp-byte-compile automatically if they are not aware of the
risks."

At some point in the past, Stefan was working on a "sandboxed" Emacs
that could, in theory, pave the way for automatically enabled Elisp
Flymake, but I haven't heard of that effort lately.

> It seems to me that there's two useful values for load-path in the
> Flymake backend: Either just the standard load-path (so that you
> actually get the same results as when doing a batch byte-compile) or the
> current running load-path (so that you get the same results as when you
> `require' the file from your .emacs, say).  Altering the load-path to
> also include the ELPA directories doesn't really help much, because
> people have all kinds of code that's not in ELPA (but is in their
> load-path).

I think we have to ask ourselves: what is Flymake used for?  The most
useful answers will come from the people who actually use it, though
potential uses are also interesting.

I for one use it to develop Elisp package.el packages that I later
publish to GNU ELPA and MELPA so that other users, my "clients", are
to be able to use in their Emacsen.

The ELPA packages _I_ develop only ever depend on packages in Emacs core
(at most they are :core ELPA packages).  But it seems, quite reasonably,
that Max's packages do also depend on packages that are not in Emacs
core, but in some xELPA repo.

Why is Flymake useful to me in the state it is now?  Because, given a
transient state of my Elisp buffers, it helps accurately predict the
byte-compilation warnings and errors that those clients would experience
were they to grab and install my package at state I have it in front of
me.

Having './' in the default load-path for elisp-flymake-byte-compile is
fundamental for the accuracy of this prediction.  Why?  Because the
clients of my packages -- regardless if they use package.el,
straight.el, etc or just simply using a git checkout -- will always have
the the files I have in some directory in some other directory in their
machines, and _that_ directory will be in the load-path.

Can Flymake be useful in some other situation?  Perhaps, who knows?  But
I for one never use it to obtain largely the same results I can already
get with M-x elisp-byte-compile-file.  But if you do want to use it like
that, feel free to add an option to inherit the current session's load
path.

I'd say we should first fix Max's problem, this bug report's problem,
which I can perfectly understand.  I think the correct way is with the
patch I submitted, though we can also ask max to add the path of each of
his package's dependencies to some dir-local value of
elisp-flymake-byte-compile-load-path.  Not very practical, IMO.

Finally, if you want to remove "./" from the automatic load path of
elisp-flymake-byte-compile, no problem.  It's of course your call: I'll
just add it to elisp-flymake-byte-compile-load-path in my session and be
done with it.  IMO Something like this could be justified if it were
plugging an important security hole.  But in my opinion we're closing a
window in a house with no roof and doesn't justify breaking people's
workflows.




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

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


Received: (at 48452) by debbugs.gnu.org; 23 Jul 2022 05:51:08 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jul 23 01:51:08 2022
Received: from localhost ([127.0.0.1]:42900 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oF82d-0008Od-O0
	for submit <at> debbugs.gnu.org; Sat, 23 Jul 2022 01:51:08 -0400
Received: from quimby.gnus.org ([95.216.78.240]:46622)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <larsi@HIDDEN>) id 1oF82a-0008Nf-Qr
 for 48452 <at> debbugs.gnu.org; Sat, 23 Jul 2022 01:51:06 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org;
 s=20200322; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID
 :Date:References:In-Reply-To:Subject:Cc:To:From:Sender:Reply-To: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=sJE4aJZt3SFTu+IHIkWl//6N5+4v0jbsRaO/fxfIwWw=; b=jTU3tZzvYCkPaUGdWp5sxHuj9V
 mYNwCRh1/OwxsWhKD9EsNCxPaw5UBIh1zyWUJk82DeiWTPkBDhe2bFJnexTpq9FW2NLhN23HMnwJW
 jneqANxeYG1nEQ3dFupSmDzszfzSxQZPBnyU818bDYS2dUpzKd0lx3KaJYGwvfeQFrWA=;
Received: from [84.212.220.105] (helo=joga)
 by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.92) (envelope-from <larsi@HIDDEN>)
 id 1oF82R-0007QT-5a; Sat, 23 Jul 2022 07:50:57 +0200
From: Lars Ingebrigtsen <larsi@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Subject: Re: bug#48452: 28.0.50; flymake for elisp does not respect `load-path`
In-Reply-To: <CALDnm52qgLUDc7F7a+AwsTAASQXXizcZZyucGXPhbp5VuPRzOw@HIDDEN>
 (=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vora=22's?= message of "Fri, 22 Jul 2022
 22:46:08 +0100")
References: <8735unafob.fsf@HIDDEN> <877d4hs084.fsf@HIDDEN>
 <87v8s1untg.fsf@HIDDEN> <874jzlp12v.fsf@HIDDEN>
 <87wnchc75r.fsf@HIDDEN> <87ilnzaa49.fsf@HIDDEN>
 <87cze7780j.fsf@HIDDEN> <87r12mogh9.fsf@HIDDEN>
 <CALDnm50u_1Of2Ot7pACJDXUxcW79sj9u+MdwCMQXW2R_S19pVQ@HIDDEN>
 <87fsj1tlgn.fsf@HIDDEN> <87sfmy1b95.fsf@HIDDEN>
 <87r12d9b8f.fsf@HIDDEN>
 <CALDnm53Lf7UWKddTEC61+ey-hU-M7RVBbCtu-Ncc-TU9TXqCzQ@HIDDEN>
 <87k08497in.fsf@HIDDEN>
 <CALDnm52qgLUDc7F7a+AwsTAASQXXizcZZyucGXPhbp5VuPRzOw@HIDDEN>
Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAACBj
 SFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAGFBMVEXT1dSztbSeoJ+Y
 mpmdn56+wL+/wcD////N7HCyAAAAAWJLR0QHFmGI6wAAAAd0SU1FB+YHFwUvE+NOWlEAAAEhSURB
 VDjLzZPdkYQgDMfDznDPBHTfGbYBZBvwowC9CrT/Ji6R9QxoAZs8OORniEn+Any52ej8bTj0rrsi
 9Y6v6AY3mjL+6KcYdtCUZOxTHGN4u9R0RUKKBDoGLskUtB699Zaevx5FZYPsLbYKyc8UBQwUOwE4
 wQYLqAye0AqAhNRK4VkbeAIKoNhXCrOjqMGujYKfjM6MZUdQZxxXKQ7f1LhmzKBPsNLh30RBfkUC
 yOdqG3TUShFZwcwgrjJlcVV/1bXz9oP2cEvdHrYcI5l1brGY7sxj13yR7FzsowSUkwGXq1e7XVeb
 xXAAIQZAAiwgtPjATSq380PW7mRDMa/gp4+obSFReMRd1J2bXDXg7RB1FQdoYupCuv2nXn0Y4Mvt
 D0/KJg0bENQTAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIyLTA3LTIzVDA1OjQ3OjE5KzAwOjAwgx6e
 qQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMi0wNy0yM1QwNTo0NzoxOSswMDowMPJDJhUAAAAASUVO
 RK5CYII=
X-Now-Playing: Rival Consoles's _Odyssey, Sonne_: "Soul (Bonus Track) -feat.
 Peter Broderick-"
Date: Sat, 23 Jul 2022 07:50:54 +0200
Message-ID: <87wnc474xt.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Report: Spam detection software, running on the system "quimby.gnus.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
 @@CONTACT_ADDRESS@@ for details.
 
 Content preview:  João Távora <joaotavora@HIDDEN> writes: > If you don't
    elaborate, we have no way of understanding whether this > is a genuine expansion
    of the "disaster vector" that is already > intrinsic to this particular Flymake
    backend. 
 
 Content analysis details:   (-2.9 points, 5.0 required)
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -1.0 ALL_TRUSTED            Passed through trusted hosts only via SMTP
 -1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%
                             [score: 0.0000]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 48452
Cc: Max Brieiev <max.brieiev@HIDDEN>, 48452 <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 (---)

Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

> If you don't elaborate, we have no way of understanding whether this
> is a genuine expansion of the "disaster vector" that is already
> intrinsic to this particular Flymake backend.

I think I already mentioned the problem of editing files in /tmp/?
That's the whole point of not having ./ in load-path -- you can
inadvertently load code under control of an attacker.

It seems to me that there's two useful values for load-path in the
Flymake backend: Either just the standard load-path (so that you
actually get the same results as when doing a batch byte-compile) or the
current running load-path (so that you get the same results as when you
`require' the file from your .emacs, say).  Altering the load-path to
also include the ELPA directories doesn't really help much, because
people have all kinds of code that's not in ELPA (but is in their
load-path).





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

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


Received: (at 48452) by debbugs.gnu.org; 22 Jul 2022 21:46:27 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jul 22 17:46:27 2022
Received: from localhost ([127.0.0.1]:42617 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oF0Tb-0000wT-Gz
	for submit <at> debbugs.gnu.org; Fri, 22 Jul 2022 17:46:27 -0400
Received: from mail-oi1-f171.google.com ([209.85.167.171]:38642)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1oF0TZ-0000w3-Gi
 for 48452 <at> debbugs.gnu.org; Fri, 22 Jul 2022 17:46:26 -0400
Received: by mail-oi1-f171.google.com with SMTP id s204so6953771oif.5
 for <48452 <at> debbugs.gnu.org>; Fri, 22 Jul 2022 14:46:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=5pmno1CW9BNad+rJRGswny4EU3aS3hN4ji+axk8+0WI=;
 b=CISmQiRgNSJ04UAW64K20n8rPOnI5s4wx7rUql9boiePLm81D6Y4a2D77zW8I/57Fv
 U7wLpDZ2ueqczuWeiGqRfEjsQOMKB8Bb2GE4kRvpymMpc3Op5VV6ExWLUJPp7DjKFgo2
 6W+NxC0KScL8nfPonlCJenUchs9P77P3h7TndVT6rAxC2sAs/RMBe2d+ldPHSxd0YKc2
 L3jJZt4JYPUrdVOsK/nUgidwBUwjf6U/Xd4UgIYEe1U2QDQUtOE2rq/Xb0k0D7LJRA3l
 ZnykLZO6gUblq3NMiVZ2OmUpQoepzE9ojsI1bnx8vjJ8o4qgLwrt3z3EdWP14lJQ5B0d
 w4RA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=5pmno1CW9BNad+rJRGswny4EU3aS3hN4ji+axk8+0WI=;
 b=vaZxBak6njvKoe6DcniFL/ZBGBd6YSrF5ZqiqXdlcHsivOlH/koXlBGqol4PGktH4A
 dNhl1ldCpl4bJm4aVKmoqJ/AmtOTIdYgBssMNGp3O90dFlvbCz0DcDd424DN3aoJoxWx
 ekCqFlQ6iNcmDJet1rpNNUIAFdQU/sc/Itn7mx6rXZ7w1urQ7alqelPZD3CMl7xcok9Q
 T3sP5GGh5LOpmkcJ/W9kTp0ppfR158i7txbDoSUNDvElmYVj+PMbxkkjc8XdhzqFBANR
 JxfzeutPIFyY3u4Dg8xRffFBg0w7G5/q2473uK6DNeAwjS8+MHcuX1BYT+EvjqOTMWID
 YJiA==
X-Gm-Message-State: AJIora9zwdbmIoEwx8AqHDgcZ4T2c5o2DskdVOrk+oKkGqaxBwjjcetz
 nSsVjH/7jrRI9n2AT2I95NRObdq5O4ez6khils4=
X-Google-Smtp-Source: AGRyM1uJuiEp7vxpK+6RY3C9YQs6EPQ01piE1gqFfc8osS91mRRllUKBE+wud9HRF9g3st+MlYE2iSGdYk9VmDtglZ8=
X-Received: by 2002:aca:210e:0:b0:33a:3557:b224 with SMTP id
 14-20020aca210e000000b0033a3557b224mr8158338oiz.209.1658526379912; Fri, 22
 Jul 2022 14:46:19 -0700 (PDT)
MIME-Version: 1.0
References: <8735unafob.fsf@HIDDEN> <877d4hs084.fsf@HIDDEN>
 <87v8s1untg.fsf@HIDDEN> <874jzlp12v.fsf@HIDDEN>
 <87wnchc75r.fsf@HIDDEN>
 <87ilnzaa49.fsf@HIDDEN> <87cze7780j.fsf@HIDDEN> <87r12mogh9.fsf@HIDDEN>
 <CALDnm50u_1Of2Ot7pACJDXUxcW79sj9u+MdwCMQXW2R_S19pVQ@HIDDEN>
 <87fsj1tlgn.fsf@HIDDEN> <87sfmy1b95.fsf@HIDDEN> <87r12d9b8f.fsf@HIDDEN>
 <CALDnm53Lf7UWKddTEC61+ey-hU-M7RVBbCtu-Ncc-TU9TXqCzQ@HIDDEN>
 <87k08497in.fsf@HIDDEN>
In-Reply-To: <87k08497in.fsf@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Fri, 22 Jul 2022 22:46:08 +0100
Message-ID: <CALDnm52qgLUDc7F7a+AwsTAASQXXizcZZyucGXPhbp5VuPRzOw@HIDDEN>
Subject: Re: bug#48452: 28.0.50; flymake for elisp does not respect `load-path`
To: Lars Ingebrigtsen <larsi@HIDDEN>
Content-Type: multipart/alternative; boundary="000000000000b9b20705e46bc3ea"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 48452
Cc: Max Brieiev <max.brieiev@HIDDEN>, 48452 <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 (-)

--000000000000b9b20705e46bc3ea
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Jul 22, 2022, 22:12 Lars Ingebrigtsen <larsi@HIDDEN> wrote:

> Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:
>
> > I've never had disaster struck because of load paths. What disaster
> > are you thinking about?
>
> The same disaster that having "./" in `load-path' in general would lead
> to.
>

If you don't elaborate, we have no way of understanding whether this is a
genuine expansion of the "disaster vector" that is already intrinsic to
this particular Flymake backend.

Jo=C3=A3o

>

--000000000000b9b20705e46bc3ea
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto"><div><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D=
"gmail_attr">On Fri, Jul 22, 2022, 22:12 Lars Ingebrigtsen &lt;<a href=3D"m=
ailto:larsi@HIDDEN">larsi@HIDDEN</a>&gt; wrote:<br></div><blockquote cl=
ass=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;p=
adding-left:1ex">Jo=C3=A3o T=C3=A1vora &lt;<a href=3D"mailto:joaotavora@gma=
il.com" target=3D"_blank" rel=3D"noreferrer">joaotavora@HIDDEN</a>&gt; w=
rites:<br>
<br>
&gt; I&#39;ve never had disaster struck because of load paths. What disaste=
r<br>
&gt; are you thinking about?<br>
<br>
The same disaster that having &quot;./&quot; in `load-path&#39; in general =
would lead<br>
to.<br></blockquote></div></div><div dir=3D"auto"><br></div><div dir=3D"aut=
o">If you don&#39;t elaborate, we have no way of understanding whether this=
 is a genuine expansion of the &quot;disaster vector&quot; that is already =
intrinsic to this particular Flymake backend.</div><div dir=3D"auto"><br></=
div><div dir=3D"auto">Jo=C3=A3o</div><div dir=3D"auto"><div class=3D"gmail_=
quote"><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-=
left:1px #ccc solid;padding-left:1ex">
</blockquote></div></div></div>

--000000000000b9b20705e46bc3ea--




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

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


Received: (at 48452) by debbugs.gnu.org; 22 Jul 2022 21:12:31 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jul 22 17:12:31 2022
Received: from localhost ([127.0.0.1]:42584 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oEzwi-0006MG-16
	for submit <at> debbugs.gnu.org; Fri, 22 Jul 2022 17:12:31 -0400
Received: from quimby.gnus.org ([95.216.78.240]:42910)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <larsi@HIDDEN>) id 1oEzwg-0006M1-J7
 for 48452 <at> debbugs.gnu.org; Fri, 22 Jul 2022 17:12:27 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org;
 s=20200322; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID
 :Date:References:In-Reply-To:Subject:Cc:To:From:Sender:Reply-To: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=G1/l/daeLUCKWjIL+f7DN9QdKzODApkjuFAsqBfN5TY=; b=Hz08rDHkdPFoaH+zhYiQpjJJ1c
 r97I/8fmVKlLkYQYgzcUDSuzCTw4MiBF+X1kEN5FqLCASl4L2dYN2B8h/bqfuF6BIP3Q6l7qIjGTu
 V4CPGQZof//ijpiTIcRhJcJ+7LLOtJD1h0dvrtlmiiXH1law3Qq66B0zu86/ypF6gcaY=;
Received: from [84.212.220.105] (helo=joga)
 by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.92) (envelope-from <larsi@HIDDEN>)
 id 1oEzwX-000371-39; Fri, 22 Jul 2022 23:12:19 +0200
From: Lars Ingebrigtsen <larsi@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Subject: Re: bug#48452: 28.0.50; flymake for elisp does not respect `load-path`
In-Reply-To: <CALDnm53Lf7UWKddTEC61+ey-hU-M7RVBbCtu-Ncc-TU9TXqCzQ@HIDDEN>
 (=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vora=22's?= message of "Fri, 22 Jul 2022
 22:09:32 +0100")
References: <8735unafob.fsf@HIDDEN> <877d4hs084.fsf@HIDDEN>
 <87v8s1untg.fsf@HIDDEN> <874jzlp12v.fsf@HIDDEN>
 <87wnchc75r.fsf@HIDDEN> <87ilnzaa49.fsf@HIDDEN>
 <87cze7780j.fsf@HIDDEN> <87r12mogh9.fsf@HIDDEN>
 <CALDnm50u_1Of2Ot7pACJDXUxcW79sj9u+MdwCMQXW2R_S19pVQ@HIDDEN>
 <87fsj1tlgn.fsf@HIDDEN> <87sfmy1b95.fsf@HIDDEN>
 <87r12d9b8f.fsf@HIDDEN>
 <CALDnm53Lf7UWKddTEC61+ey-hU-M7RVBbCtu-Ncc-TU9TXqCzQ@HIDDEN>
Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAACBj
 SFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAG1BMVEU1LypEOzNWUEgj
 HhqScErGnGZdSznXwpX////dnnslAAAAAWJLR0QIht6VegAAAAd0SU1FB+YHFhULFV9f2tcAAAGU
 SURBVDjLlZK9b8IwEMVtQjPbQD0XaPdItN2Rzs7cKoaVSMGsHQj+93tn57OARJ+UD93v3vPFMWNc
 klao2VJ2mjPG6CleAQoNyxEgyQlZVvIK8AmgvvgVCFAKxm+BQccdcNdBln8C9ghAtxhmRcCVi5Kd
 JQAZipVz4JwYRGG9Am2tBTAmkDiVVA6wavfe26L18DlSR92tGoIO6QDGpIwOBQ2gKJJxhwAqBLHX
 +xrvuiALgtaAjjpEAeAq0dEuEbIKHBqzGmDK8D26AWW7BnakSlWCKU0AGmAwUoHW2knBdQ8MfdDR
 V35X0GnQCEyYCnNYaj281drQawu2ODSf1n53qj9+aJsWAFsCgkDlTxfw+VlQLA3Dads541Obe3/0
 PuzTFEQEgsm0qnWxt0bSL+SYPgkOxfjzRZv889D99ADSF5Hua//9XpWHESCd6nyXe9eDdfOyKJ62
 +bk/Px1gJed9/xBkyego9uCPHgFJds+RsQGa9YuPoxqwCUqyzRgkm04ZXQRW62G5VXRc18lzG6Dn
 DsgQ/AIpZYy6KGfBdAAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wNy0yMlQyMToxMToyMSswMDow
 MM2INIIAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDctMjJUMjE6MTE6MjErMDA6MDC81Yw+AAAA
 AElFTkSuQmCC
X-Now-Playing: Nils Frahm's _Tripping with Nils Frahm_: "Fundamental Values"
Date: Fri, 22 Jul 2022 23:12:16 +0200
Message-ID: <87k08497in.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Report: Spam detection software, running on the system "quimby.gnus.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
 @@CONTACT_ADDRESS@@ for details.
 
 Content preview:  João Távora <joaotavora@HIDDEN> writes: > I've never
   had disaster struck because of load paths. What disaster > are you thinking
    about? The same disaster that having "./" in `load-path' in general would
    lead to. 
 
 Content analysis details:   (-2.9 points, 5.0 required)
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -1.0 ALL_TRUSTED            Passed through trusted hosts only via SMTP
 -1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%
                             [score: 0.0000]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 48452
Cc: Max Brieiev <max.brieiev@HIDDEN>, 48452 <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 (---)

Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

> I've never had disaster struck because of load paths. What disaster
> are you thinking about?

The same disaster that having "./" in `load-path' in general would lead
to.

--=20
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




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

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


Received: (at 48452) by debbugs.gnu.org; 22 Jul 2022 21:09:52 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jul 22 17:09:52 2022
Received: from localhost ([127.0.0.1]:42573 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oEzuB-0006Gy-RT
	for submit <at> debbugs.gnu.org; Fri, 22 Jul 2022 17:09:52 -0400
Received: from mail-oa1-f51.google.com ([209.85.160.51]:44982)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1oEzu9-0006Gm-L1
 for 48452 <at> debbugs.gnu.org; Fri, 22 Jul 2022 17:09:50 -0400
Received: by mail-oa1-f51.google.com with SMTP id
 586e51a60fabf-10bd4812c29so7713501fac.11
 for <48452 <at> debbugs.gnu.org>; Fri, 22 Jul 2022 14:09:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=KxOznuQs78JeZEsBsACdMofdv+JlzddEbgjmf82UN/Y=;
 b=ic5pn0mDOnLBE8meX5yPkHjHXCQr+scjR5DlQLrzKljXlmkJcCzG8y8axZCCodLLrr
 SEBJcI5CmvwQ7CBFAYmNtMD9kdAWVInBhFR9YviE9MEsmxw6bHWK8e9iQPEB6J9kX7q9
 xSgHqkWhYkh7YfMpnBLE/UwaLWrof/jGeWvRHMnhuvBRqv9DyTo4IbQc87/USNe2MDyg
 XR0B3XN2gtAj7Wr/5ETYgHEsGl/fe2nyyThkhKN1jVpBLayZgPgrvFxjfY9utOYMM0gd
 K4N27uaXvkIK6HD/6FFXg7rpq+67Y5tdMx73sWz4WGi6YsBmsAIXf7Je4dn+sP1uP0Ir
 gz2Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=KxOznuQs78JeZEsBsACdMofdv+JlzddEbgjmf82UN/Y=;
 b=CeOp1+Tre5Sfn3Ijl8eyUYAWMvBbMZuPoXRXq7wj9aGUZBHi2qpVa5QvzC33BPn6W/
 L9zfACOA2xiox3dzMc0G6WX9NDP3G5Bqs9KvG/wWRaFrrquuFXJUQhGUscuHru+7JwEH
 ZQDTxv/AV88iheInJMYFNpl9NEE43ciswuKlMFc/OEzdJ+54k13zUl3+e1mpO1RBXY74
 ZX9hw0zaIK8ZD+IJhmfxJr5pxOBwaKjaTzYsCuieVp4flMumomNP/9Jup+QzvWBJzYzI
 B4cZdjKdVK1oeZP5ie9u4EZt/N6pqoiQ66yHZNrcGyz1WkAKOtcV9covkMuuDOAIB34V
 IYcA==
X-Gm-Message-State: AJIora8P94vMAmUBRRa3cu9uLnaN8Fis/mu+vU68NwcyDy4KeM2HHmV+
 MJVJhSLbWeW7zHpJFJaqjrjQbxYph3eEENWlJ4Y=
X-Google-Smtp-Source: AGRyM1u6qf0YjivVyAtyLT9PpOQ2qnV0TZm4yhL2mIw6w5InrgwyZLk/5gbfniY0U0zYds/7o9SBsz6Btc44QBcKZAU=
X-Received: by 2002:a05:6870:8925:b0:fe:4638:dc01 with SMTP id
 i37-20020a056870892500b000fe4638dc01mr9015232oao.209.1658524184023; Fri, 22
 Jul 2022 14:09:44 -0700 (PDT)
MIME-Version: 1.0
References: <8735unafob.fsf@HIDDEN> <877d4hs084.fsf@HIDDEN>
 <87v8s1untg.fsf@HIDDEN> <874jzlp12v.fsf@HIDDEN>
 <87wnchc75r.fsf@HIDDEN>
 <87ilnzaa49.fsf@HIDDEN> <87cze7780j.fsf@HIDDEN> <87r12mogh9.fsf@HIDDEN>
 <CALDnm50u_1Of2Ot7pACJDXUxcW79sj9u+MdwCMQXW2R_S19pVQ@HIDDEN>
 <87fsj1tlgn.fsf@HIDDEN> <87sfmy1b95.fsf@HIDDEN> <87r12d9b8f.fsf@HIDDEN>
In-Reply-To: <87r12d9b8f.fsf@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Fri, 22 Jul 2022 22:09:32 +0100
Message-ID: <CALDnm53Lf7UWKddTEC61+ey-hU-M7RVBbCtu-Ncc-TU9TXqCzQ@HIDDEN>
Subject: Re: bug#48452: 28.0.50; flymake for elisp does not respect `load-path`
To: Lars Ingebrigtsen <larsi@HIDDEN>
Content-Type: multipart/alternative; boundary="000000000000d7185d05e46b404d"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 48452
Cc: Max Brieiev <max.brieiev@HIDDEN>, 48452 <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 (-)

--000000000000d7185d05e46b404d
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Jul 22, 2022, 20:52 Lars Ingebrigtsen <larsi@HIDDEN> wrote:

> Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:
>
> > Right.  Adding anything to the load path is "dangerous".  The default
> > "./" is a good compromise, as it enables developing packages with
> > multiple .el files that require each other in the same dir, which is a
> > very common thing IME.
>
> I'm not sure that's a good compromise at all -- the user has surely set
> up the correct load path to use, and overriding that with "./" sounds
> like a recipe for disaster.
>

We seem to be regressing. I thought we had established that the subprocess
elisp load path has no useful relation to the load path of the session.
This is how one achieves consistency  of diagnostics in the same file, but
across sessions.

I've never had disaster struck because of load paths. What disaster are you
thinking about?

> Here's a very minimally tested patch:
>
> [...]
>
> > +(defcustom elisp-flymake-byte-compile-use-elpa-dirs nil
> > +  "If non-nil, add ELPA package dirs to elisp Flymake load path."
> > +  :type 'boolean
> > +  :group 'lisp)
>
> I think it would make more sense to have an option to use the load path
> from the current Emacs incantation also in the flymake Emacsen.
>

For reasons already explained, i completely disagree. My proposal would fix
exactly this bug report. But you can add other options, as long as you
don't break the current default. Do you use Flymake mode for elisp? I've
been using it for many years, and the current default is very good. I don't
use ELPA or develop against it, though, as the bug reporter fired. We could
also see what Flycheck does in this regard. It also has an elisp checker.

Jo=C3=A3o

>

--000000000000d7185d05e46b404d
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto"><div><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D=
"gmail_attr">On Fri, Jul 22, 2022, 20:52 Lars Ingebrigtsen &lt;<a href=3D"m=
ailto:larsi@HIDDEN">larsi@HIDDEN</a>&gt; wrote:<br></div><blockquote cl=
ass=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;p=
adding-left:1ex">Jo=C3=A3o T=C3=A1vora &lt;<a href=3D"mailto:joaotavora@gma=
il.com" target=3D"_blank" rel=3D"noreferrer">joaotavora@HIDDEN</a>&gt; w=
rites:<br>
<br>
&gt; Right.=C2=A0 Adding anything to the load path is &quot;dangerous&quot;=
.=C2=A0 The default<br>
&gt; &quot;./&quot; is a good compromise, as it enables developing packages=
 with<br>
&gt; multiple .el files that require each other in the same dir, which is a=
<br>
&gt; very common thing IME.<br>
<br>
I&#39;m not sure that&#39;s a good compromise at all -- the user has surely=
 set<br>
up the correct load path to use, and overriding that with &quot;./&quot; so=
unds<br>
like a recipe for disaster.<br></blockquote></div></div><div dir=3D"auto"><=
br></div><div dir=3D"auto">We seem to be regressing. I thought we had estab=
lished that the subprocess elisp load path has no useful relation to the lo=
ad path of the session. This is how one achieves consistency=C2=A0 of diagn=
ostics in the same file, but across sessions.</div><div dir=3D"auto"><br></=
div><div dir=3D"auto">I&#39;ve never had disaster struck because of load pa=
ths. What disaster are you thinking about?</div><div dir=3D"auto"><br></div=
><div dir=3D"auto"><div class=3D"gmail_quote"><blockquote class=3D"gmail_qu=
ote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex=
">
&gt; Here&#39;s a very minimally tested patch:<br>
<br>
[...]<br>
<br>
&gt; +(defcustom elisp-flymake-byte-compile-use-elpa-dirs nil<br>
&gt; +=C2=A0 &quot;If non-nil, add ELPA package dirs to elisp Flymake load =
path.&quot;<br>
&gt; +=C2=A0 :type &#39;boolean<br>
&gt; +=C2=A0 :group &#39;lisp)<br>
<br>
I think it would make more sense to have an option to use the load path<br>
from the current Emacs incantation also in the flymake Emacsen.=C2=A0=C2=A0=
<br></blockquote></div></div><div dir=3D"auto"><br></div><div dir=3D"auto">=
For reasons already explained, i completely disagree. My proposal would fix=
 exactly this bug report. But you can add other options, as long as you don=
&#39;t break the current default. Do you use Flymake mode for elisp? I&#39;=
ve been using it for many years, and the current default is very good. I do=
n&#39;t use ELPA or develop against it, though, as the bug reporter fired. =
We could also see what Flycheck does in this regard. It also has an elisp c=
hecker.</div><div dir=3D"auto"><br></div><div dir=3D"auto">Jo=C3=A3o</div><=
div dir=3D"auto"><div class=3D"gmail_quote"><blockquote class=3D"gmail_quot=
e" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote></div></div></div>

--000000000000d7185d05e46b404d--




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

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


Received: (at 48452) by debbugs.gnu.org; 22 Jul 2022 19:52:12 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jul 22 15:52:11 2022
Received: from localhost ([127.0.0.1]:42494 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oEyh1-00021b-Kl
	for submit <at> debbugs.gnu.org; Fri, 22 Jul 2022 15:52:11 -0400
Received: from quimby.gnus.org ([95.216.78.240]:42068)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <larsi@HIDDEN>) id 1oEygz-00021M-V8
 for 48452 <at> debbugs.gnu.org; Fri, 22 Jul 2022 15:52:10 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org;
 s=20200322; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID
 :Date:References:In-Reply-To:Subject:Cc:To:From:Sender:Reply-To: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=G6GRCuYyB3QldHbao/ZDMLHVtThQOIKEj24jQN85fnA=; b=pVhMqtLgsnpbbFtlQ/PM/aDjF7
 yEGDyqiX1b2+CxnJDxaij5x/mxkgrwoPQ+H+wBg1qTctYwbhfpIiFjmZLURlrsq+25h7umxNP/xfa
 MeGeCTwh8BD4ZYbZuGosEgLlxfEl33P8QicdmmsLedTs932MUQwwzli8naPfAS7oghA0=;
Received: from [84.212.220.105] (helo=joga)
 by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.92) (envelope-from <larsi@HIDDEN>)
 id 1oEygr-0002T5-EK; Fri, 22 Jul 2022 21:52:03 +0200
From: Lars Ingebrigtsen <larsi@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Subject: Re: bug#48452: 28.0.50; flymake for elisp does not respect `load-path`
In-Reply-To: <87sfmy1b95.fsf@HIDDEN> (=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vor?=
 =?utf-8?Q?a=22's?= message of "Mon, 18 Jul 2022 20:17:26 +0100")
References: <8735unafob.fsf@HIDDEN> <877d4hs084.fsf@HIDDEN>
 <87v8s1untg.fsf@HIDDEN> <874jzlp12v.fsf@HIDDEN>
 <87wnchc75r.fsf@HIDDEN> <87ilnzaa49.fsf@HIDDEN>
 <87cze7780j.fsf@HIDDEN> <87r12mogh9.fsf@HIDDEN>
 <CALDnm50u_1Of2Ot7pACJDXUxcW79sj9u+MdwCMQXW2R_S19pVQ@HIDDEN>
 <87fsj1tlgn.fsf@HIDDEN> <87sfmy1b95.fsf@HIDDEN>
Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAACBj
 SFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAElBMVEVKYF8YGRxkcYd0
 laOHs9P////cB5SaAAAAAWJLR0QF+G/pxwAAAAd0SU1FB+YHFhMvM3g3wj4AAAGOSURBVDjLldPR
 ccMgDABQWXQA3Al0UgfgEAP0jPafqRKYxEmTu1YfdsyzkMAEtv1lILwGYPhnxg7vIL+D/a8AgPwI
 GVC1dVWt65V5Fx9ihohHAPIhJulAj4BFFK1IPQdwpXpVgstUCaSc4NHiMqdisO97DR0cfYKAHdu2
 MjCU4pEC4A6RV+KR9QG2vKaqFgALzntkePEjnRlb9Ow70L1oQOeo7sv2TbGI7q9gAAU0u0X3yXBm
 wBNs+yctsEvQqGk29u0Zdodvgj2/AA641rA6+mcpT9CPAckK30DjA0ulWGzSgByglX3h/oWY4/Nj
 8XMKVUdU32+gCZkcshzJh4VBmCYwkK8fuAT4c6riIOo//O7Zcyb0mkiV1QAqJSNCldGSA7NiM69K
 X37ls/gVSqOsuLoK6AOEat7xAnJCIvUzfYemJ6DDnKr1VqPrCSSkGaLc2NiSeuPOsys/mcoLxBpb
 gCo1uoGWZHaHsqD/AqHWTQM++oJOrTrMdgdUqxeQsblMaUI/IYGP+X9col0H1R+UuoybGnNYSAAA
 ACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wNy0yMlQxOTo0Nzo1MSswMDowMJ1mFygAAAAldEVYdGRh
 dGU6bW9kaWZ5ADIwMjItMDctMjJUMTk6NDc6NTErMDA6MDDsO6+UAAAAAElFTkSuQmCC
X-Now-Playing: New Order's _Live At Alexandra Palace (2)_: "Blue Monday"
Date: Fri, 22 Jul 2022 21:52:00 +0200
Message-ID: <87r12d9b8f.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Report: Spam detection software, running on the system "quimby.gnus.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
 @@CONTACT_ADDRESS@@ for details.
 
 Content preview:  João Távora <joaotavora@HIDDEN> writes: > Right. Adding
    anything to the load path is "dangerous". The default > "./" is a good compromise,
    as it enables developing packages with > multiple .el files that require
   each other in the same dir, [...] 
 
 Content analysis details:   (-2.9 points, 5.0 required)
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -1.0 ALL_TRUSTED            Passed through trusted hosts only via SMTP
 -1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%
                             [score: 0.0000]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 48452
Cc: Max Brieiev <max.brieiev@HIDDEN>, 48452 <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 (---)

Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

> Right.  Adding anything to the load path is "dangerous".  The default
> "./" is a good compromise, as it enables developing packages with
> multiple .el files that require each other in the same dir, which is a
> very common thing IME.

I'm not sure that's a good compromise at all -- the user has surely set
up the correct load path to use, and overriding that with "./" sounds
like a recipe for disaster.

> Here's a very minimally tested patch:

[...]

> +(defcustom elisp-flymake-byte-compile-use-elpa-dirs nil
> +  "If non-nil, add ELPA package dirs to elisp Flymake load path."
> +  :type 'boolean
> +  :group 'lisp)

I think it would make more sense to have an option to use the load path
from the current Emacs incantation also in the flymake Emacsen.  But
that would probably be more difficult to achieve, as you have to somehow
convey that to the flymake Emacsen (and the load path can be very long,
so it's probably problematic to have that on the command line).

--=20
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




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

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


Received: (at 48452) by debbugs.gnu.org; 18 Jul 2022 19:16:19 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jul 18 15:16:19 2022
Received: from localhost ([127.0.0.1]:52128 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oDWE7-0002Io-1S
	for submit <at> debbugs.gnu.org; Mon, 18 Jul 2022 15:16:19 -0400
Received: from mail-wr1-f47.google.com ([209.85.221.47]:41585)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1oDWE5-0002Ic-7m
 for 48452 <at> debbugs.gnu.org; Mon, 18 Jul 2022 15:16:18 -0400
Received: by mail-wr1-f47.google.com with SMTP id n12so5618616wrc.8
 for <48452 <at> debbugs.gnu.org>; Mon, 18 Jul 2022 12:16:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=from:to:cc:subject:in-reply-to:references:date:message-id
 :user-agent:mime-version:content-transfer-encoding;
 bh=sldqT+kBnqs1caoPcOWkjG/x6yvX1tOrFNrW5fg5sDs=;
 b=P+lN9zg/Xb+3fONzIFnrXoL3LEBTnkQC+LYa2HQLyBYez1BiBhGLvT7YnLEaNVgPSj
 uZ7vZ808r6lPQu2/rFUPH9zGvwQoXwYeJjpAY62ysVhW+sZOBkZ9vCO1o73xyKHKiMqe
 v+yet5FK3c2FZMtYqgjInCUr11VcSLuEVyOyLjSwKCm3sCYvkqSPx/cuh+izoHd73IYs
 TpxOcMR9pUpWkqvGmHCVgWnAuvihLY8cwYl0f9sef/JspDCH3sIfzL8DDg7ZYebqkgpM
 dL8limMBaimdWO1agWo9WLcpE3yBhqFamwW9MfwgC/5wMiMdsS1fW6mECTuDyH9qfzUo
 ERlQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date
 :message-id:user-agent:mime-version:content-transfer-encoding;
 bh=sldqT+kBnqs1caoPcOWkjG/x6yvX1tOrFNrW5fg5sDs=;
 b=HdbXN/XCqmL0RLkxnHg6zCVQYjn12cDF5pkuqwfOm83n1fwwD9H9jwF9vudc2LIvXv
 3Zr0S2JfpdyOEYCEkg9EzMwAsRwk9Y4USen21ewYnjl3XvaBkDbaRkzbXtnxDFArI+sl
 Dj3e/vMU/x/kmKDgyYCpe/ZUE/m+hZLUllxAIQgbQBpgNZYjVkHDPh0B1FiQtrRP04Ob
 AOriA+bEVqaKZ2JzZaZZWu/IJIa9HvG9WXj0LT5ublmRGKWPWBVyeg43jdFAPv+F/V0E
 yywXfIGSSXs4iBKH0LXDjRJwBrEOXRyNGzrnk3anWxhb8YiMvBbqdHlfbZkIc/ci9sK7
 yOvg==
X-Gm-Message-State: AJIora90QB3cDLsG6SSGT9HqJYUHAAlNjKGV4oovImdtD0FhLNe0dhul
 xDZnZ2ygVx8x1KNR/O9NxbC51RzG5sg=
X-Google-Smtp-Source: AGRyM1vrSDTMLBi+cM0Vdx9D+ipKBkAQfwxqx3dDz39/PChBzmHZLST/qMaE16IFwCdoSJiJFPlfzg==
X-Received: by 2002:adf:fbcc:0:b0:21e:117d:f56f with SMTP id
 d12-20020adffbcc000000b0021e117df56fmr6345089wrs.658.1658171771004; 
 Mon, 18 Jul 2022 12:16:11 -0700 (PDT)
Received: from krug ([87.196.73.69]) by smtp.gmail.com with ESMTPSA id
 bp7-20020a5d5a87000000b0021d80f53324sm11732285wrb.7.2022.07.18.12.16.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 18 Jul 2022 12:16:10 -0700 (PDT)
From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
To: Lars Ingebrigtsen <larsi@HIDDEN>
Subject: Re: bug#48452: 28.0.50; flymake for elisp does not respect `load-path`
In-Reply-To: <87fsj1tlgn.fsf@HIDDEN> (Lars Ingebrigtsen's message of "Sat,
 16 Jul 2022 12:12:40 +0200")
References: <8735unafob.fsf@HIDDEN> <877d4hs084.fsf@HIDDEN>
 <87v8s1untg.fsf@HIDDEN> <874jzlp12v.fsf@HIDDEN>
 <87wnchc75r.fsf@HIDDEN> <87ilnzaa49.fsf@HIDDEN>
 <87cze7780j.fsf@HIDDEN> <87r12mogh9.fsf@HIDDEN>
 <CALDnm50u_1Of2Ot7pACJDXUxcW79sj9u+MdwCMQXW2R_S19pVQ@HIDDEN>
 <87fsj1tlgn.fsf@HIDDEN>
Date: Mon, 18 Jul 2022 20:17:26 +0100
Message-ID: <87sfmy1b95.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.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: 48452
Cc: Max Brieiev <max.brieiev@HIDDEN>, 48452 <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 (-)

Lars Ingebrigtsen <larsi@HIDDEN> writes:

> Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

> Speaking of which, I was surprised that flymake adds "./" to the load
> path -- we never use that in real Emacsen exactly because of security
> considerations (we don't want to pick up stray files when working under
> /tmp/, for instance).

Right.  Adding anything to the load path is "dangerous".  The default
"./" is a good compromise, as it enables developing packages with
multiple .el files that require each other in the same dir, which is a
very common thing IME.

>> Anyway, because the directories under ~/.emacs.d/elpa are somewhat speci=
al
>> and/or security-vetted it _could_ make sense to add them to the default
>> value of the variable. This would amount to more or less the same as=20
>> calling the underlying process with `-f package-initialize` I think.
>>
>> But I'm still not sure this should be the default, or merely an option t=
o=20
>> the flymake-elisp-byte-compile backend.  I think the second is safer.
>
> An option here would be nice, yes.

Here's a very minimally tested patch:

diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el
index 0c4a9bfdbe..7e1141acf1 100644
--- a/lisp/progmodes/elisp-mode.el
+++ b/lisp/progmodes/elisp-mode.el
@@ -2119,6 +2119,11 @@ elisp-flymake-byte-compile-load-path
                                   (dolist (path x t) (unless (stringp path)
                                                        (throw 'tag nil))))=
)))
=20
+(defcustom elisp-flymake-byte-compile-use-elpa-dirs nil
+  "If non-nil, add ELPA package dirs to elisp Flymake load path."
+  :type 'boolean
+  :group 'lisp)
+
 ;;;###autoload
 (defun elisp-flymake-byte-compile (report-fn &rest _args)
   "A Flymake backend for elisp byte compilation.
@@ -2146,6 +2151,8 @@ elisp-flymake-byte-compile
                    ;; "--eval" "(setq load-prefer-newer t)" ; for testing
                    ,@(mapcan (lambda (path) (list "-L" path))
                              elisp-flymake-byte-compile-load-path)
+                   ,@(when elisp-flymake-byte-compile-use-elpa-dirs
+                       `("-f" "package-initialize"))
                    "-f" "elisp-flymake--batch-compile-for-flymake"
                    ,temp-file)
         :connection-type 'pipe





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

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


Received: (at 48452) by debbugs.gnu.org; 16 Jul 2022 10:12:54 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jul 16 06:12:54 2022
Received: from localhost ([127.0.0.1]:42966 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oCen8-00080W-Av
	for submit <at> debbugs.gnu.org; Sat, 16 Jul 2022 06:12:54 -0400
Received: from quimby.gnus.org ([95.216.78.240]:55896)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <larsi@HIDDEN>) id 1oCen4-00080G-5F
 for 48452 <at> debbugs.gnu.org; Sat, 16 Jul 2022 06:12:52 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org;
 s=20200322; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID
 :Date:References:In-Reply-To:Subject:Cc:To:From:Sender:Reply-To: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=PKxRJn2pNPQB5ib/F1ZiJDwrePT2e6Xfiaw9Tla1ee8=; b=WlRrOIVqJL0cImVzzQvPxzV4oY
 gTzXx06C0Sf9Xbb4xZgOCeMbC6auyCVxZzwr4q7cY5lyzbfrq+Y4qG/j1B3TQ58LWknsnOeYg8Kph
 oiGAozL+bJsRxpylBt0sCJT7RH8A1JTukQVmFyCq76frOvKp7Er7pL9zEaXAHsaPcFz4=;
Received: from [84.212.220.105] (helo=joga)
 by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.92) (envelope-from <larsi@HIDDEN>)
 id 1oCemv-0000lw-CY; Sat, 16 Jul 2022 12:12:43 +0200
From: Lars Ingebrigtsen <larsi@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Subject: Re: bug#48452: 28.0.50; flymake for elisp does not respect `load-path`
In-Reply-To: <CALDnm50u_1Of2Ot7pACJDXUxcW79sj9u+MdwCMQXW2R_S19pVQ@HIDDEN>
 (=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vora=22's?= message of "Fri, 15 Jul 2022
 11:03:35 +0100")
References: <8735unafob.fsf@HIDDEN> <877d4hs084.fsf@HIDDEN>
 <87v8s1untg.fsf@HIDDEN> <874jzlp12v.fsf@HIDDEN>
 <87wnchc75r.fsf@HIDDEN> <87ilnzaa49.fsf@HIDDEN>
 <87cze7780j.fsf@HIDDEN> <87r12mogh9.fsf@HIDDEN>
 <CALDnm50u_1Of2Ot7pACJDXUxcW79sj9u+MdwCMQXW2R_S19pVQ@HIDDEN>
Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAACBj
 SFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAD1BMVEV0iM+otOBQZroz
 PHv///9VtdMmAAAAAWJLR0QEj2jZUQAAAAd0SU1FB+YHEAoKAW6PhHoAAAF+SURBVDjLhZPhsQMh
 CITBNACmAdQGcl7/vb0FTTR38yZzP6J8wV1QiImTmpRUKtVcMnbkn4c3YA4Me4DgDhKBD+AZqirK
 opmZi3BWjYiQMhZFcF7R+D972IFiiYzEPBbyziCtYtnFJTT8DIK4VngAqMuVmzEKc3fgGVJ/AYnK
 I+wFbsAWsAXYfzgqB6gA9AWic7aBMOcNWGAcRegLeiXwdAGoOqT3jLDfSuOeXlegqaf+6A0eLuBR
 Gp3plfUL4D6a9vx6lgTgbY4CIS10PI+ngQ6Q3yBTObnX/rB5DTavycUhbecdNG4ElTTr+mhol56P
 J9fp0kgmcGk+XXyCMFdU7Ky9QUdHU220jIUTwq2eMEsIZ5ogM8Szi++g+P10OXJB5ZDfAaQIQXxl
 AF5Aa1ysA/ExGEDwpL9AZHAuUXAGAohX8gHzHbrOAuUGeAH+DyCjD+BP9Atw7BPbyhji74nbAM1B
 i/HfwRz/X6DKBcyjdKv8DqJXa8ovIIY58RX8AbXqWKGE9pc/AAAAJXRFWHRkYXRlOmNyZWF0ZQAy
 MDIyLTA3LTE2VDEwOjEwOjAwKzAwOjAw4ES4KAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMi0wNy0x
 NlQxMDoxMDowMCswMDowMJEZAJQAAAAASUVORK5CYII=
X-Now-Playing: Xeno & Oaklander's _Hypnos_: "Insomnia"
Date: Sat, 16 Jul 2022 12:12:40 +0200
Message-ID: <87fsj1tlgn.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Report: Spam detection software, running on the system "quimby.gnus.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
 @@CONTACT_ADDRESS@@ for details.
 
 Content preview:  João Távora <joaotavora@HIDDEN> writes: > When I was
   first coding this backend, I had that expectation too. > But it's not very
    useful, as you normally, when developing an elisp > file in a package, you
    want to be made aware of the potentia [...] 
 
 Content analysis details:   (-2.9 points, 5.0 required)
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -1.0 ALL_TRUSTED            Passed through trusted hosts only via SMTP
 -1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%
                             [score: 0.0000]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 48452
Cc: Max Brieiev <max.brieiev@HIDDEN>, 48452 <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 (---)

Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

> When I was first coding this backend, I had that expectation too.
> But it's not very useful, as you normally, when developing an elisp
> file in a package, you want to be made aware of the potential compilation
> problems arising when compiling that file in a much simpler environment,
> very often the Emacs -Q environment where Makefiles usually byte-compile=
=20
> files.

That's a good point.

> And there's also the question of security.  Flymake runs compile-time=20
> code every time by simply modifying the buffer.  So being conservative
> here is also a good idea because of that.

Speaking of which, I was surprised that flymake adds "./" to the load
path -- we never use that in real Emacsen exactly because of security
considerations (we don't want to pick up stray files when working under
/tmp/, for instance).=20=20

> Anyway, because the directories under ~/.emacs.d/elpa are somewhat special
> and/or security-vetted it _could_ make sense to add them to the default
> value of the variable. This would amount to more or less the same as=20
> calling the underlying process with `-f package-initialize` I think.
>
> But I'm still not sure this should be the default, or merely an option to=
=20
> the flymake-elisp-byte-compile backend.  I think the second is safer.

An option here would be nice, yes.

--=20
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




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

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


Received: (at 48452) by debbugs.gnu.org; 15 Jul 2022 11:54:04 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jul 15 07:54:04 2022
Received: from localhost ([127.0.0.1]:39725 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oCJtU-0002cS-HS
	for submit <at> debbugs.gnu.org; Fri, 15 Jul 2022 07:54:04 -0400
Received: from mail-wr1-f41.google.com ([209.85.221.41]:41552)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <max.brieiev@HIDDEN>) id 1oCJtR-0002bx-9y
 for 48452 <at> debbugs.gnu.org; Fri, 15 Jul 2022 07:54:02 -0400
Received: by mail-wr1-f41.google.com with SMTP id q9so6412768wrd.8
 for <48452 <at> debbugs.gnu.org>; Fri, 15 Jul 2022 04:54:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=from:to:cc:subject:in-reply-to:references:date:message-id
 :user-agent:mime-version:content-transfer-encoding;
 bh=XsX7KYlOnWe05rPVn3PQYlYuVeC1mYDOEP401gqkqSw=;
 b=SfbF2PGG2LmZxgbwfqvG7gaBw2PvXgcpJf14juglYMbPeQ87uETEYDSlBB0ensLiR+
 Ctu/W/HpKCNScL5MSHno74qwuAgVZ7XQg35F4jroc/qpMRtoaWmd+q+h9zwJyrzo9CxZ
 dVREYEgyOsKMSPiU9svRlvigOUwE/tO0Jwwu0VEpysNAqn4cL3FUxvtXuvBKxNIpLUYK
 ZChjhcskUypi2pFgiFtFiCfyxYZeBiRuLHKDSDDpsT1gUuHDv4RSWTk+TJM7YB+mq8uM
 ApfzUOEqcF7iT6Ih+wRKJZRSW5cyGZebYn3Bw4SYz9gzcawxA/zdPb8F5C+CieTEuE21
 7MTA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date
 :message-id:user-agent:mime-version:content-transfer-encoding;
 bh=XsX7KYlOnWe05rPVn3PQYlYuVeC1mYDOEP401gqkqSw=;
 b=SuILm1s9h1wdZhLOKE+1nLSLsut9JnTrKmHcLmTzWv6DgJr4BbTTyVJpuHmZhLrTRJ
 6RkruQcTlqqbfUurxPFZ50b7yy5kK92ObK4CCv5bcPPH5gQ9zyoP7m1lw+O/aeUA/Aeh
 zYW5exQL+Mn3DRoriEU8zGdzlXYYo+6kYsMbuxhrJhL+rtTqz5N+CEyw43sLo4+f85am
 I3I+xYYMHLxjJvVgE0a70AbGSOzBViDLD4OmjJqipcKI2fKmqDx484gj6lij2KKGaf9O
 a57L5V2xrlVtv/jYxuaz41wPnujYf6VMOM0xZ89UbaHkQ7GW8OmcOLrfKbG7PhBrFI2D
 f6Dg==
X-Gm-Message-State: AJIora/hg1HcMNbTrtEKr4EPEUUIr4iJDwja3jw3HxuHRYbCa6bIxAf2
 EzGbklbdCfkT90DkwkXk9ESdG+YXuQU=
X-Google-Smtp-Source: AGRyM1socb1SKA/GyRIY34tXb1B3m0zmRpFbrmV+nkQ1JM7hpZkrl6MmfvHyZj/hrw+n29d4axB87g==
X-Received: by 2002:a05:6000:1849:b0:21d:9ad7:f27f with SMTP id
 c9-20020a056000184900b0021d9ad7f27fmr11879041wri.445.1657886034866; 
 Fri, 15 Jul 2022 04:53:54 -0700 (PDT)
Received: from thinkmax (host-176-37-1-68.b025.la.net.ua. [176.37.1.68])
 by smtp.gmail.com with ESMTPSA id
 r124-20020a1c4482000000b003a2e2a2e294sm5280363wma.18.2022.07.15.04.53.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 15 Jul 2022 04:53:54 -0700 (PDT)
From: Max Brieiev <max.brieiev@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Subject: Re: bug#48452: 28.0.50; flymake for elisp does not respect `load-path`
In-Reply-To: <87cze7780j.fsf@HIDDEN> (=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vor?=
 =?utf-8?Q?a=22's?= message of "Thu, 14 Jul 2022 21:29:32 +0100")
References: <8735unafob.fsf@HIDDEN> <877d4hs084.fsf@HIDDEN>
 <87v8s1untg.fsf@HIDDEN> <874jzlp12v.fsf@HIDDEN>
 <87wnchc75r.fsf@HIDDEN> <87ilnzaa49.fsf@HIDDEN>
 <87cze7780j.fsf@HIDDEN>
Date: Fri, 15 Jul 2022 14:53:53 +0300
Message-ID: <87cze6fv72.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.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: 48452
Cc: Lars Ingebrigtsen <larsi@HIDDEN>, 48452 <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 (-)

Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

> But it could make sense to add ~/.emacs.d/elpa/* to the variable, if the
> package you're developing somewhere else has a dependency on other Elpa
> packages.

Yes, to me it seems very common to have a depandency on an Elpa
package, so I was wondering why flymake was complaining about requiring
installed package.

> Or maybe, Max, you can just set this variable it in your file-local
> variables or the dir-locals.el of the package you're developing.

This could work, but doesn't it mean that with each new version of a
dependency, I'll have to change my dir-locals.el, because the version of
the installed package is part of its file path?

> Anyway, because the directories under ~/.emacs.d/elpa are somewhat
> special and/or security-vetted it _could_ make sense to add them to
> the default value of the variable. This would amount to more or less
> the same as calling the underlying process with `-f
> package-initialize` I think.
>
> But I'm still not sure this should be the default, or merely an option
> to the flymake-elisp-byte-compile backend.  I think the second is
> safer.

Both possibilities are fine to me.

Another option could be to parse the header section of the current
buffer for `Package-Requires:' clause, and then automatically add listed
dependencies to the `elisp-flymake-byte-compile-load-path'.

In this case, flymake would still had operated in quite restricted
environment, but at the same time it'd recognize package dependencies.

Would that make sense?




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

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


Received: (at 48452) by debbugs.gnu.org; 15 Jul 2022 10:02:39 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jul 15 06:02:39 2022
Received: from localhost ([127.0.0.1]:39481 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oCI9f-0003ER-1v
	for submit <at> debbugs.gnu.org; Fri, 15 Jul 2022 06:02:39 -0400
Received: from mail-oi1-f169.google.com ([209.85.167.169]:35465)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1oCI9b-0003EB-JU
 for 48452 <at> debbugs.gnu.org; Fri, 15 Jul 2022 06:02:38 -0400
Received: by mail-oi1-f169.google.com with SMTP id r82so5541648oig.2
 for <48452 <at> debbugs.gnu.org>; Fri, 15 Jul 2022 03:02:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=+kmNSKgzwPQjsDsv9kxENg9FWV8GDYRAQw6n1V8EJkM=;
 b=pKd2WE1dNUdIeVHqShE4RSaFRJAaT4d9KSH1tx0o7db3M6coZ1aSTdsOu2a59EEy0Z
 70aCYSJo58i4qYT0o9VM9a3d7flEAXmfsaFx3+CveTL601cT7Rt4QLBGhuy/QIeF9Cow
 U6fld5r28JmjFNRoaXCRLUVxwqvgpfii+pFBQkCgt5zehIludBv7gLdM/5Kh1sF2y3Ki
 lOVNI2fnwIqW090B8/KqywV4BKWpRZFzW5G0h2zYDe2zv8uG7WHD6kgpXgTiuf4UDyYK
 RZCh4d2c34xLa06mb4v1X+HVpW/RTl141xM50YS0Rb3XLmnxvJEODnYP2SRbzyasOnqE
 2mGQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=+kmNSKgzwPQjsDsv9kxENg9FWV8GDYRAQw6n1V8EJkM=;
 b=XIZM5LyVkkY8P9ooSQbjGG5OAK0r9Ah3zv1BgrXVtHwrWn6dSZAC26MnFzHpn/HajW
 WLjvYPaNPlqCMtr9TdVJdRIL+9ww75zq1JtnqDWqwYVESeXR7emqUQFaHuRmgDNR05IM
 dmMR2SNLuklpLRa2Je28YKs6I+lnJnIfVxbGqESO73NV2IhtQwfV83LVSq7m/vIcWpNW
 ObIu+IQ2WDdZhbD2Gepcg6V9q3JDiMqaFtJCCxKdtme4FiDMeyC+M5TfiQBxetM/BijS
 xnE+08ZUTxzpN1oubTNQDgx1ntPUKadibPKCjlgREArBUkFBqFkUNYkW6cf+GbWrGhVd
 YxrQ==
X-Gm-Message-State: AJIora/k1n4KQae8zPklFhrQw4iuxbXMqcMWOJp2bZg53JXAbh1GpLix
 5sa87J4v3/oPn8xc/wKiilcN4Go10UBsOMRHGcyuZFAo8q8=
X-Google-Smtp-Source: AGRyM1v4OXHqSXfGiKPJf8CXl784NHPO/y0OVK66+/xA1Y2leQmYT/vBL+ke+H8NAds+95WFHQkVQUR7+Uxk7Q/VUwo=
X-Received: by 2002:aca:210e:0:b0:33a:3557:b224 with SMTP id
 14-20020aca210e000000b0033a3557b224mr5157445oiz.209.1657879349743; Fri, 15
 Jul 2022 03:02:29 -0700 (PDT)
MIME-Version: 1.0
References: <8735unafob.fsf@HIDDEN> <877d4hs084.fsf@HIDDEN>
 <87v8s1untg.fsf@HIDDEN> <874jzlp12v.fsf@HIDDEN>
 <87wnchc75r.fsf@HIDDEN>
 <87ilnzaa49.fsf@HIDDEN> <87cze7780j.fsf@HIDDEN> <87r12mogh9.fsf@HIDDEN>
In-Reply-To: <87r12mogh9.fsf@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Fri, 15 Jul 2022 11:03:35 +0100
Message-ID: <CALDnm50u_1Of2Ot7pACJDXUxcW79sj9u+MdwCMQXW2R_S19pVQ@HIDDEN>
Subject: Re: bug#48452: 28.0.50; flymake for elisp does not respect `load-path`
To: Lars Ingebrigtsen <larsi@HIDDEN>
Content-Type: multipart/alternative; boundary="000000000000b8d7bc05e3d51d09"
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 48452
Cc: Max Brieiev <max.brieiev@HIDDEN>, 48452 <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 (-)

--000000000000b8d7bc05e3d51d09
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Jul 15, 2022 at 10:47 AM Lars Ingebrigtsen <larsi@HIDDEN> wrote:

> Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:
>
> > I think elisp-flymake-byte-compile-load-path is relevant here.
>
> I think the question here was -- why doesn't that just default to
> `load-path'?  I'd expect the flymake environment to be similar to the
> environment in my running Emacs.
>

When I was first coding this backend, I had that expectation too.
But it's not very useful, as you normally, when developing an elisp
file in a package, you want to be made aware of the potential compilation
problems arising when compiling that file in a much simpler environment,
very often the Emacs -Q environment where Makefiles usually byte-compile
files.

It's really not very useful, in my opinion and experience, if the same
elisp file
in the same project visited from two different Emacs sessions shows
different
sets of errors.

And there's also the question of security.  Flymake runs compile-time
code every time by simply modifying the buffer.  So being conservative
here is also a good idea because of that.

Once I was working on a macro and I temporarily put a `delete-file` in
there,
which I later deleted because I had given it the wrong argument.
The macro was being expanded at top level. The file was gone.

Anyway, because the directories under ~/.emacs.d/elpa are somewhat special
and/or security-vetted it _could_ make sense to add them to the default
value of the variable. This would amount to more or less the same as
calling the underlying process with `-f package-initialize` I think.

But I'm still not sure this should be the default, or merely an option to
the flymake-elisp-byte-compile backend.  I think the second is safer.

BTW, this is very similar to other "on-the-fly" backends like C/C++
checkers
which add some "system" things to the include path considered when checking=
,
but still need to know about the user's include paths.  Google
compilation_commands.json or "compilation database".  These are normally
files checked into the repository, or very easy to generate. Of course in
Elisp,
we probably don't need such complexity: merely adjusting the variable I gav=
e
and/or putting that in the repo's dir-locals.el suffices.


Jo=C3=A3o

--000000000000b8d7bc05e3d51d09
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr">On Fri, Jul 15, 2022 at 10:47 AM Lars Ing=
ebrigtsen &lt;<a href=3D"mailto:larsi@HIDDEN">larsi@HIDDEN</a>&gt; wrot=
e:<br></div><div class=3D"gmail_quote"><blockquote class=3D"gmail_quote" st=
yle=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padd=
ing-left:1ex">Jo=C3=A3o T=C3=A1vora &lt;<a href=3D"mailto:joaotavora@gmail.=
com" target=3D"_blank">joaotavora@HIDDEN</a>&gt; writes:<br>
<br>
&gt; I think elisp-flymake-byte-compile-load-path is relevant here.<br>
<br>
I think the question here was -- why doesn&#39;t that just default to<br>
`load-path&#39;?=C2=A0 I&#39;d expect the flymake environment to be similar=
 to the<br>
environment in my running Emacs.<br></blockquote><div><br></div><div>When I=
 was first coding this backend, I had that expectation too.</div><div>But i=
t&#39;s not very useful, as you normally, when developing an elisp</div><di=
v>file in a package, you want to be made aware of the potential compilation=
</div><div>problems arising when compiling that file in a much simpler envi=
ronment,</div><div>very often the Emacs -Q environment where Makefiles usua=
lly byte-compile <br></div><div>files.<br></div><div><br></div><div>It&#39;=
s really not very useful, in my opinion and experience, if the same elisp f=
ile <br></div><div>in the same project visited from two different Emacs ses=
sions shows different <br></div><div>sets of errors.<br></div><div><br></di=
v><div>And there&#39;s also the question of security.=C2=A0 Flymake runs co=
mpile-time <br></div><div>code every time by simply modifying the buffer.=
=C2=A0 So being conservative</div><div>here is also a good idea because of =
that.</div><div><br></div><div>Once I was working on a macro and I temporar=
ily put a `delete-file` in there,</div><div>which I later deleted because I=
 had given it the wrong argument.<br></div><div>The macro was being expande=
d at top level. The file was gone.<br></div><div><br></div><div>Anyway, bec=
ause the directories under ~/.emacs.d/elpa are somewhat special</div><div>a=
nd/or security-vetted it _could_ make sense to add them to the default</div=
><div>value of the variable. This would amount to more or less the same as =
<br></div><div>calling the underlying process with `-f package-initialize` =
I think.</div><div><br></div><div><div>But I&#39;m still not sure this shou=
ld be the default, or merely an option to <br></div><div>the flymake-elisp-=
byte-compile backend.=C2=A0 I think the second is safer.</div></div><div><b=
r></div><div>BTW, this is very similar to other &quot;on-the-fly&quot; back=
ends like C/C++ checkers <br></div><div>which add some &quot;system&quot; t=
hings to the include path considered when checking,</div><div>but still nee=
d to know about the user&#39;s include paths.=C2=A0 Google <br></div><div>c=
ompilation_commands.json or &quot;compilation database&quot;.=C2=A0 These a=
re normally <br></div><div>files checked into the repository, or very easy =
to generate. Of course in Elisp,</div><div>we probably don&#39;t need such =
complexity: merely adjusting the variable I gave</div><div>and/or putting t=
hat in the repo&#39;s dir-locals.el suffices.<br></div><br></div><div class=
=3D"gmail_quote"><br></div><div class=3D"gmail_quote">Jo=C3=A3o<br></div></=
div>

--000000000000b8d7bc05e3d51d09--




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

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


Received: (at 48452) by debbugs.gnu.org; 15 Jul 2022 09:47:13 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jul 15 05:47:13 2022
Received: from localhost ([127.0.0.1]:39433 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oCHui-0000ai-VQ
	for submit <at> debbugs.gnu.org; Fri, 15 Jul 2022 05:47:13 -0400
Received: from quimby.gnus.org ([95.216.78.240]:44690)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <larsi@HIDDEN>) id 1oCHug-0000aR-DT
 for 48452 <at> debbugs.gnu.org; Fri, 15 Jul 2022 05:47:11 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org;
 s=20200322; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID
 :Date:References:In-Reply-To:Subject:Cc:To:From:Sender:Reply-To: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=BhgEavm0FkQzTGdb9SYIRetkm9aoUWIrpI925yoBheM=; b=vQY+A5J6k8sLvJd/C/hU2BAh3Y
 gAU4aRYnBCDokyfx6tvoTQSFpcWKW5MGTIblPcbS0tbtqxQbUIMxolmww1JiJSBOECl5aL9epx2U7
 xslXh9X0tLuJfftk2btA+RkxzlqHIz/e7C+acBYRCDBWcZz7vqnFcZIMDF8qv32aBPbk=;
Received: from [84.212.220.105] (helo=joga)
 by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.92) (envelope-from <larsi@HIDDEN>)
 id 1oCHuV-000582-Rh; Fri, 15 Jul 2022 11:47:02 +0200
From: Lars Ingebrigtsen <larsi@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Subject: Re: bug#48452: 28.0.50; flymake for elisp does not respect `load-path`
In-Reply-To: <87cze7780j.fsf@HIDDEN> (=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vor?=
 =?utf-8?Q?a=22's?= message of "Thu, 14 Jul 2022 21:29:32 +0100")
References: <8735unafob.fsf@HIDDEN> <877d4hs084.fsf@HIDDEN>
 <87v8s1untg.fsf@HIDDEN> <874jzlp12v.fsf@HIDDEN>
 <87wnchc75r.fsf@HIDDEN> <87ilnzaa49.fsf@HIDDEN>
 <87cze7780j.fsf@HIDDEN>
Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAACBj
 SFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAElBMVEX9+/zYmr/r0d6t
 ZppfQ1j///+R36dEAAAAAWJLR0QF+G/pxwAAAAd0SU1FB+YHDwkuA3tV/WAAAAGxSURBVDjLZZQN
 ksIgDIUp3QOY0gMA7gGKcIBFcv8zbX5AUDOjzuTry0sC1ZgZh/kKm7wx22G/AV70HYMxj08SYwA4
 jvABrOE8hfPR+DdBAJcon490op9eMfLTOREMGW9TESmbS25MMyxtW6A0x5kRE0yXkJzUoihtgmhd
 o6zkOaDnvQ+OFR1ABu97rzCfJgApJgVkrSENcM+qiBv32pQ1Jn0vZJFTXsJVreRDVg9sw0VKgQEB
 BZEIsssYRBqlPH3aCuwAIlkAnQQbaChQQaBhu6BLmlfAixpAJLXK3FJqVaTyZAd7hDdQCNy0KZBS
 oy1ajlOgG6cRxKJwqb8B5ORKr0RbHAOCrvU1R78N1JVzBce2eIs6x0HunJRaKAdyiWIDB3NAIqkv
 dyNBonbbADCBy7goxvWxSSrN2V9XNLsBpAd4XWoqT3ug49O+5tV1Aui4m+xlueyBUthBw/WNgtwB
 /yzAnqlxOXZ4vIEd29nn8+ubtpnQ7pwtWPcV/MbQgiyd2QKCuVd3Yq2PXxrlWl5a65D+Nm5X/KmA
 z8UjFPQbHs97abEswJgdH3uGSmsxp5b6B5mIj8Ftor0+AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIy
 LTA3LTE1VDA5OjQ2OjAyKzAwOjAwOMAqaAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMi0wNy0xNVQw
 OTo0NjowMiswMDowMEmdktQAAAAASUVORK5CYII=
X-Now-Playing: Peter Broderick's _Blackberry_: "What Happened To Your Heart"
Date: Fri, 15 Jul 2022 11:46:58 +0200
Message-ID: <87r12mogh9.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Report: Spam detection software, running on the system "quimby.gnus.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
 @@CONTACT_ADDRESS@@ for details.
 
 Content preview:  João Távora <joaotavora@HIDDEN> writes: > I think elisp-flymake-byte-compile-load-path
    is relevant here. I think the question here was -- why doesn't that just
   default to `load-path'? I'd expect the flymake environment to be similar to
    the environment in my running Emacs. 
 
 Content analysis details:   (-2.9 points, 5.0 required)
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -1.0 ALL_TRUSTED            Passed through trusted hosts only via SMTP
 -1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%
                             [score: 0.0000]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 48452
Cc: Max Brieiev <max.brieiev@HIDDEN>, 48452 <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 (---)

Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

> I think elisp-flymake-byte-compile-load-path is relevant here.

I think the question here was -- why doesn't that just default to
`load-path'?  I'd expect the flymake environment to be similar to the
environment in my running Emacs.

--=20
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




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

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


Received: (at 48452) by debbugs.gnu.org; 14 Jul 2022 20:28:27 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jul 14 16:28:26 2022
Received: from localhost ([127.0.0.1]:38986 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oC5Ri-00053q-GS
	for submit <at> debbugs.gnu.org; Thu, 14 Jul 2022 16:28:26 -0400
Received: from mail-wr1-f52.google.com ([209.85.221.52]:33326)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1oC5Rf-00053Z-Mi
 for 48452 <at> debbugs.gnu.org; Thu, 14 Jul 2022 16:28:25 -0400
Received: by mail-wr1-f52.google.com with SMTP id h17so4121977wrx.0
 for <48452 <at> debbugs.gnu.org>; Thu, 14 Jul 2022 13:28:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=from:to:cc:subject:references:date:in-reply-to:message-id
 :user-agent:mime-version:content-transfer-encoding;
 bh=trqLTpkbkGPDrDXN+QNO7I17dknYAaW2KSKYn9as4a8=;
 b=BEqOygPiGIanYklweeZvBuu8ZlY8cPe4n3dm3nKmO4IhPGEcKTSlG0+3MwQV0YCbep
 UIxgALWMCmkj4ee/xcDNZiXgVrzNEl7xt0A/WeIDd+czOvvWgvd9jgm5PxGhAYKbZHi3
 2EMBfXPE2FFBtm+MylgNM4t40ZM5x+HgK0ytf39P7MaUpO+Msr9ci1iiqnbykyJwl0wt
 4Dk1HIgtMxr4n1ysUXrG1ftBGeN1r9JZNfv2fck/mmPIt3LFHQi9CK/VBiS/SUGex3c5
 iXPub5wcxa5ibsusnY8hjGYpV6HpEshiDSuZ0zlwbaPJWw/DjLR8pgyd8hE30l131zLP
 cRSg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to
 :message-id:user-agent:mime-version:content-transfer-encoding;
 bh=trqLTpkbkGPDrDXN+QNO7I17dknYAaW2KSKYn9as4a8=;
 b=F52SYp6P74SU2BeMp/hDHKi0CP5X8t7xU2Eyg0VgxxIafuL0KXl7ybxI15m1wZ4OhZ
 47MbrZsAv3dJtpf7FnmZtc63BbthG+Z5R3zLNBdGi7pUkGiMoUiyLpQKcrYGCv9qTM0J
 JpJHtlpC0VV6HgwkYFeg+HDfqP8a0BK7ILgR6nfQFCWMYPIMA8mlvaS/gI6fBq5Tj4ru
 nDGos3sZpjoEdMFb5E2bve+fMBgX2Du1SYWeSphbI4yJ/a84rMK77SYbsGeV+01uHMvN
 Woqt102AvH+nAcRIrVpxWtYTPe9a8ngbvOORDVty1lOENKszZumIWc7ET+K9higJ7+Y+
 sIZQ==
X-Gm-Message-State: AJIora+6Vx+vTJsEjL/FAh0XzQ6MqTcOTmiUvxvVBo915OJ/TvK2h/Fn
 ABej7RTBaV0DNz4nQ6gkFze0pZzVdag=
X-Google-Smtp-Source: AGRyM1tK93ltzjPOdyf8KO1C4WTflaw2ms1GmN2hB9lS3TZBq4X6iaRD/T3ud3w4g1zM/dnqDVnl2A==
X-Received: by 2002:a05:6000:12c8:b0:21d:6913:89af with SMTP id
 l8-20020a05600012c800b0021d691389afmr9704541wrx.546.1657830497295; 
 Thu, 14 Jul 2022 13:28:17 -0700 (PDT)
Received: from krug ([87.196.72.111]) by smtp.gmail.com with ESMTPSA id
 t9-20020a05600c198900b003a04722d745sm7198259wmq.23.2022.07.14.13.28.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 14 Jul 2022 13:28:16 -0700 (PDT)
From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
To: Lars Ingebrigtsen <larsi@HIDDEN>
Subject: Re: bug#48452: 28.0.50; flymake for elisp does not respect `load-path`
References: <8735unafob.fsf@HIDDEN> <877d4hs084.fsf@HIDDEN>
 <87v8s1untg.fsf@HIDDEN> <874jzlp12v.fsf@HIDDEN>
 <87wnchc75r.fsf@HIDDEN> <87ilnzaa49.fsf@HIDDEN>
Date: Thu, 14 Jul 2022 21:29:32 +0100
In-Reply-To: <87ilnzaa49.fsf@HIDDEN> (Lars Ingebrigtsen's message of "Thu,
 14 Jul 2022 19:15:50 +0200")
Message-ID: <87cze7780j.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.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: 48452
Cc: Max Brieiev <max.brieiev@HIDDEN>, 48452 <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 (-)

Lars Ingebrigtsen <larsi@HIDDEN> writes:

> Max Brieiev <max.brieiev@HIDDEN> writes:
>
>> I think this issue can not be reproduced with emacs -Q, because in this
>> case Elpa packages are not added to load-path. With emacs -Q, flymake
>> will rightfully complain "No such file or directory", when you `(require
>> 'any-elpa-package)`
>
> OK; so a way to reproduce this is to say (with "emacs -Q"):
>
> M-: (push (expand-file-name "~/.emacs.d/elpa/compat-28.1.1.1/") load-path)
> M-x flymake-mode
>
> and then notice that there's a warning on
>
> (require 'subr-x)
> (require 'compat)
>
> even though it can be required fine.
>
> I've added Jo=C3=A3o to the CCs; perhaps he has some comments.

I think elisp-flymake-byte-compile-load-path is relevant here.

   elisp-flymake-byte-compile-load-path is a variable defined in `elisp-mod=
e.el'.
=20=20=20=20
   Its value is ("./")
=20=20=20=20
   Like `load-path' but used by `elisp-flymake-byte-compile'.
   The default value contains just "./" which includes the default
   directory of the buffer being compiled, and nothing else.
=20=20=20=20
     This variable is safe as a file local variable if its value
     satisfies the predicate which is a byte-compiled expression.

I don't usually develop packages in ~/.emacs.d/elpa, in fact developing
packages there is kind of questionable IMHO, as they are normally not
git checkouts.  This is, AFAIK, straight.el's main raison d'etre,
although I don't use that either.

But it could make sense to add ~/.emacs.d/elpa/* to the variable, if the
package you're developing somewhere else has a dependency on other Elpa
packages.

Although it's a safety hazard I guess (don't forget that the
elisp-flymake-byte-compile backend runs compile-time code!).  Or maybe
add a `package-initialize` call in the Emacs -Q that
elisp-flymake-byte-compile runs.  But that'll probably slow checking
down a bit, so i'd like to see some timings for the slowdown
before&after.

Or maybe, Max, you can just set this variable it in your file-local
variables or the dir-locals.el of the package you're developing.

Jo=C3=A3o









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

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


Received: (at 48452) by debbugs.gnu.org; 14 Jul 2022 17:16:06 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jul 14 13:16:06 2022
Received: from localhost ([127.0.0.1]:38730 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oC2RZ-0001qK-OP
	for submit <at> debbugs.gnu.org; Thu, 14 Jul 2022 13:16:05 -0400
Received: from quimby.gnus.org ([95.216.78.240]:36618)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <larsi@HIDDEN>) id 1oC2RV-0001pW-6W
 for 48452 <at> debbugs.gnu.org; Thu, 14 Jul 2022 13:16:03 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org;
 s=20200322; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID
 :Date:References:In-Reply-To:Subject:Cc:To:From:Sender:Reply-To: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=bEPho/VsHjGxW5eF/+n2ro17x2nSZyDYW9l/Fu+DsGU=; b=Az+N3/MgihNkzG+7OOoHuWAdTW
 lmitRtZpKv3JFPLeaTRnbnHR8TdIlvQLdgGBaMjK+E5wNqtiOSibvhjwIbzl8juFYava4M4ivNhh5
 7m7Si9sczvwM+aYRB2Gl8t+C3AofRTA4Qq+wWHNDdubZswrG7RHgUCr8ysuTUhta1kOA=;
Received: from [84.212.220.105] (helo=joga)
 by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.92) (envelope-from <larsi@HIDDEN>)
 id 1oC2RK-0004b5-VT; Thu, 14 Jul 2022 19:15:53 +0200
From: Lars Ingebrigtsen <larsi@HIDDEN>
To: Max Brieiev <max.brieiev@HIDDEN>
Subject: Re: bug#48452: 28.0.50; flymake for elisp does not respect `load-path`
In-Reply-To: <87wnchc75r.fsf@HIDDEN> (Max Brieiev's message of "Wed, 13 Jul
 2022 19:24:32 +0300")
References: <8735unafob.fsf@HIDDEN> <877d4hs084.fsf@HIDDEN>
 <87v8s1untg.fsf@HIDDEN> <874jzlp12v.fsf@HIDDEN>
 <87wnchc75r.fsf@HIDDEN>
Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAACBj
 SFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAElBMVEWbclq2i2SNcVVN
 MSasPzb///9/8nd/AAAAAWJLR0QF+G/pxwAAAAd0SU1FB+YHDhELGl1EEOoAAAGcSURBVDjLdZOL
 ccMwCEAJ6QBRzwNQ0QES0ABxpP1nKiDLie2ay50lPf4QgAuE5JyZ4tMFUjwj2VmPYL2ZyjjeOlD/
 kQNcdUJJ9iZvW+331ZWdIoRK3oi9W0LkKe0AxPM/gCAjWhmCe4DkAVUMRq7cczQQ9SlRpjCyR75b
 SR6fhQWIwJVZPmKzqDBSNLKXk9FDZ2ZVdSXJutTZi7OrqgCKeIhAi7k9uyqFRhzMguOW1QKFWHQM
 ZxGgK3qe0XYO0PU0uoh57W4OD2LAIhAT0gAenD0bAB1V9LZjuBcCcj9uNGZp6SO6hZV1eY8WvD3Q
 AXzOHNiTu5rVADEHXzUDeM1EiwnFPtlsxCtgitkvxUZL0BLybvqeklofrLBYQvbRmDn+YL6M9hjr
 n1Jafaik1O68Bc+pFn2kNLWdRWtf1UHq0+QAdvytj291gNEtDgtXKXVO2sqrxVw2ruZUq9Zc9lm1
 ear6KSuY5smCsA68/P3KPLX28p0ob2ALqgbqbHnJFQ6u2hM50w234CgLGM07NFHlxOLU1U7kDPAJ
 8BT+AKy7pC/MFreOAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIyLTA3LTE0VDE3OjExOjI1KzAwOjAw
 5UjY9wAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMi0wNy0xNFQxNzoxMToyNSswMDowMJQVYEsAAAAA
 SUVORK5CYII=
X-Now-Playing: Heidi Berry's _Love_: "Up In the Air"
Date: Thu, 14 Jul 2022 19:15:50 +0200
Message-ID: <87ilnzaa49.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Report: Spam detection software, running on the system "quimby.gnus.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
 @@CONTACT_ADDRESS@@ for details.
 Content preview:  Max Brieiev <max.brieiev@HIDDEN> writes: > I think this
 issue can not be reproduced with emacs -Q, because in this > case Elpa packages
 are not added to load-path. With emacs -Q, flymake > will rightfully complain
 "No such file or directory" [...] 
 Content analysis details:   (-2.9 points, 5.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -1.0 ALL_TRUSTED            Passed through trusted hosts only via SMTP
 -1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%
 [score: 0.0000]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 48452
Cc: 48452 <at> debbugs.gnu.org,
 =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@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 (---)

Max Brieiev <max.brieiev@HIDDEN> writes:

> I think this issue can not be reproduced with emacs -Q, because in this
> case Elpa packages are not added to load-path. With emacs -Q, flymake
> will rightfully complain "No such file or directory", when you `(require
> 'any-elpa-package)`

OK; so a way to reproduce this is to say (with "emacs -Q"):

M-: (push (expand-file-name "~/.emacs.d/elpa/compat-28.1.1.1/") load-path)
M-x flymake-mode

and then notice that there's a warning on

(require 'subr-x)
(require 'compat)

even though it can be required fine.

I've added Jo=C3=A3o to the CCs; perhaps he has some comments.

--=20
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




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

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


Received: (at 48452) by debbugs.gnu.org; 14 Jul 2022 09:23:05 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jul 14 05:23:04 2022
Received: from localhost ([127.0.0.1]:48767 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oBv3o-00021Q-LN
	for submit <at> debbugs.gnu.org; Thu, 14 Jul 2022 05:23:04 -0400
Received: from mail-lf1-f49.google.com ([209.85.167.49]:34807)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <max.brieiev@HIDDEN>) id 1oBv3m-00020i-Ne
 for 48452 <at> debbugs.gnu.org; Thu, 14 Jul 2022 05:23:03 -0400
Received: by mail-lf1-f49.google.com with SMTP id n18so1836279lfq.1
 for <48452 <at> debbugs.gnu.org>; Thu, 14 Jul 2022 02:23:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=from:to:cc:subject:in-reply-to:references:date:message-id
 :user-agent:mime-version;
 bh=SoTgQ0Y9ktr1Ew+UriVuFhy8RjaLRIM8n7hcisV292g=;
 b=qZYS7N7ASfVBFhmgghNNLBFudOwYzr6sPxY0zH+KN54nY3nujJzXcyYLWct2lxvAwi
 Xa3XyMIUhB4GLx40qbRIpGJu8Sl/YI8SSO0oFd63ZIODeBU5vc/hvoVXx+Xmd7AJ6TJM
 hWrXQZEshaEN7OMDsAFa8bs5IReBoHUVn/ks0EeINXrF0P66X95umd1htG456inzdWsz
 iVbvQa2xO0Pba9ExDJuc2cnZ57YY4PLXFde3vBmo2CiC5JOFu45yfxpGITSX9qV5/YyR
 x+w+rPuraElp4V35Xbvn07mmC47yfV9HkOd2h/pwVH5M4gqUTEOsOmNWNfqC9pDoVU+l
 YU0A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date
 :message-id:user-agent:mime-version;
 bh=SoTgQ0Y9ktr1Ew+UriVuFhy8RjaLRIM8n7hcisV292g=;
 b=oFo0pc5a/CFndJfsd/l2CDWcHZt4lJYDozrJ7LwMpBIb2B9KSp0boxP5ZMJmFQfqqJ
 0vU1a7fd9TvcfOFnkV9U8KYUzWLATOYC1TmZHrBrcgrfICP7oxcpwO940ZuJx5cSXN9p
 0D1jI5Wp5RqIwzIqTSvIDjKB9OxxxuqHIzUoblMP9eu8t4wFzjvv+sDqRrYIA0wgCH8n
 s+kBnCK0rQEKwKlPr8MMYsIzM1Ms7Z+c3ZJ+6pTTebZPs7cTT/ADhKkYQzFBc1EZiOGp
 yn4yIGPLPGYE3xkRdhvuSd5I6g+49Zs3e4P37Pe2FonACA/8HiI0QDhrK8hkyMPyGtVA
 M7Gg==
X-Gm-Message-State: AJIora/tx5/uFprPKIPOW+KnXEzw98Zcj7cY+xr/fIij/ehKCpnbiP7A
 s5jrIE87cwNihjFZIf8fhWR5uDWMv3w=
X-Google-Smtp-Source: AGRyM1sZhsnM74anDkYRmyHCYLKMv14mJ+8AJ6MjcuiacAwWjoLjwCDkW8+73edXdqNkZ0CYAtX3jw==
X-Received: by 2002:a05:6512:3f89:b0:489:e611:5533 with SMTP id
 x9-20020a0565123f8900b00489e6115533mr4311995lfa.624.1657790576086; 
 Thu, 14 Jul 2022 02:22:56 -0700 (PDT)
Received: from thinkmax (host-176-37-1-68.b025.la.net.ua. [176.37.1.68])
 by smtp.gmail.com with ESMTPSA id
 b2-20020a196442000000b00478f2f2f043sm258212lfj.147.2022.07.14.02.22.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 14 Jul 2022 02:22:55 -0700 (PDT)
From: Max Brieiev <max.brieiev@HIDDEN>
To: Lars Ingebrigtsen <larsi@HIDDEN>
Subject: Re: bug#48452: 28.0.50; flymake for elisp does not respect `load-path`
In-Reply-To: <874jzlp12v.fsf@HIDDEN> (Lars Ingebrigtsen's message of "Wed,
 13 Jul 2022 15:57:28 +0200")
References: <8735unafob.fsf@HIDDEN> <877d4hs084.fsf@HIDDEN>
 <87v8s1untg.fsf@HIDDEN> <874jzlp12v.fsf@HIDDEN>
Date: Thu, 14 Jul 2022 12:22:53 +0300
Message-ID: <87sfn4caky.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 48452
Cc: 48452 <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 (-)

--=-=-=
Content-Type: text/plain

Lars Ingebrigtsen <larsi@HIDDEN> writes:

> Do you have a complete step by step recipe that demonstrates the
> problem?  I tried the original instructions, but got no messages from
> flymake (except complaining that the .emacs file doesn't start with ;;;
> Commentary).

`elisp-flymake-byte-compile' is a flymake backend for the elisp-mode.

It runs emacs in batch mode with -Q flag as a child process to provide
diagnostics for the current buffer.

In this case the `load-path' of the child process includes only builtin
packages, while the `load-path' of the parent process includes all the
directories added by the normal bootstrap process.

The load-path for the child process is controlled with
`elisp-flymake-byte-compile-load-path'. By default, it contains only
current directory.

The following hack "fixed" the issue for me:


--=-=-=
Content-Type: text/x-patch
Content-Disposition: inline; filename=elisp-mode.el.diff

diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el
index 0c4a9bfdbe..db3592b903 100644
--- a/lisp/progmodes/elisp-mode.el
+++ b/lisp/progmodes/elisp-mode.el
@@ -2145,7 +2145,7 @@ current buffer state and calls REPORT-FN when done."
                    "--batch"
                    ;; "--eval" "(setq load-prefer-newer t)" ; for testing
                    ,@(mapcan (lambda (path) (list "-L" path))
-                             elisp-flymake-byte-compile-load-path)
+                             load-path)
                    "-f" "elisp-flymake--batch-compile-for-flymake"
                    ,temp-file)
         :connection-type 'pipe

--=-=-=
Content-Type: text/plain


Can we add some user-friendly knobs to control this behavior of flymake?

--=-=-=--




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

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


Received: (at 48452) by debbugs.gnu.org; 13 Jul 2022 16:24:45 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jul 13 12:24:45 2022
Received: from localhost ([127.0.0.1]:47594 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oBfAL-0000Xz-DD
	for submit <at> debbugs.gnu.org; Wed, 13 Jul 2022 12:24:45 -0400
Received: from mail-lj1-f181.google.com ([209.85.208.181]:43684)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <max.brieiev@HIDDEN>) id 1oBfAI-0000Xj-CO
 for 48452 <at> debbugs.gnu.org; Wed, 13 Jul 2022 12:24:43 -0400
Received: by mail-lj1-f181.google.com with SMTP id u15so3136250lji.10
 for <48452 <at> debbugs.gnu.org>; Wed, 13 Jul 2022 09:24:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=from:to:cc:subject:in-reply-to:references:date:message-id
 :user-agent:mime-version;
 bh=f7MqCSi3Ji2plR6Ypy7F+GE2C2WqHxV8PnbqeTTeMKo=;
 b=W6muOCc3yN08X464g6kqpiCSVcbyXcmwHX8o1mQ1UXMYP5C1/PtNbMvrqzrd6w7gGh
 1taL5TfQQnesGM/b7JhCWlLx9F0eaBf+CcHFnxDJ2gfxwQmthxdbxXIfWbhSNE4wWnzU
 rzFJZD/FVZFiHoXNpZKEBM4Bz9MyIlygH5iTGBqyqQH7b8ain7lf7kxUEuNfdSILkOWG
 RBEyxDrqkWaKREfIOIjuWHdZnCQslUNHuDpxM3lHO9QEkaLNkfdlkpTBNkNlkss1BDLx
 2tTFySZes9n8e9UWd+W1w1aTOjX4B3JAQgMkHp8cKMha9HkBI/WFbwGkVVapqLMaXWRF
 3enw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date
 :message-id:user-agent:mime-version;
 bh=f7MqCSi3Ji2plR6Ypy7F+GE2C2WqHxV8PnbqeTTeMKo=;
 b=HeIXAZxMnVc0Xm/M/SHdfgZQTzxhYwoieP1YfhqDptHkEB1wjX5YBJN+Lhi9iNkhp4
 I4ia4ss0mYHhRxssyfYsXy1W9/p15QOugvZQMG2pKFJ+JHeniPVAamxV4C9pJ8yAW1Tw
 Vz9HJqC3+uCbmw+XHZ/7uEdQae+263Buq9PU/jtfDWtUUNulaGw5mRRYlEVMeZsarM4E
 bQST5PRU++v272XPy0YhtIerJf7Oqd9CB9IPscHoah4El3u6BjnF2oy6vM2KrmoVxDlZ
 x9QAzEVrJpzfruCXp2yoircY/gCYb7+bhaqhfGrnLF4ZpZAbCgKC/9PWAGGG7Fn32S2l
 pyjw==
X-Gm-Message-State: AJIora+ApsEWjkuBE78SLJ5KtFDcq9n5BpCe3jg0an6Gq0DZZ6+UxejJ
 mAv/PFKVcCcTsS4u0TdBaoQNMZCEvi4=
X-Google-Smtp-Source: AGRyM1tIrVy6pB4txhtYs+hCfaCBjJfU+qmVAgdxPGPMURiMzVcNOYILSL9y3D40xB6LMYuLgMqgjw==
X-Received: by 2002:a2e:3018:0:b0:25d:5ba0:d20a with SMTP id
 w24-20020a2e3018000000b0025d5ba0d20amr2135013ljw.24.1657729475300; 
 Wed, 13 Jul 2022 09:24:35 -0700 (PDT)
Received: from thinkmax (host-176-37-1-68.b025.la.net.ua. [176.37.1.68])
 by smtp.gmail.com with ESMTPSA id
 t8-20020ac25488000000b00489c639f3dasm2893233lfk.22.2022.07.13.09.24.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 13 Jul 2022 09:24:34 -0700 (PDT)
From: Max Brieiev <max.brieiev@HIDDEN>
To: Lars Ingebrigtsen <larsi@HIDDEN>
Subject: Re: bug#48452: 28.0.50; flymake for elisp does not respect `load-path`
In-Reply-To: <874jzlp12v.fsf@HIDDEN> (Lars Ingebrigtsen's message of "Wed,
 13 Jul 2022 15:57:28 +0200")
References: <8735unafob.fsf@HIDDEN> <877d4hs084.fsf@HIDDEN>
 <87v8s1untg.fsf@HIDDEN> <874jzlp12v.fsf@HIDDEN>
Date: Wed, 13 Jul 2022 19:24:32 +0300
Message-ID: <87wnchc75r.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 48452
Cc: 48452 <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 (-)

--=-=-=
Content-Type: text/plain

Lars Ingebrigtsen <larsi@HIDDEN> writes:

> Do you have a complete step by step recipe that demonstrates the
> problem?  I tried the original instructions, but got no messages from
> flymake (except complaining that the .emacs file doesn't start with ;;;
> Commentary).

I think this issue can not be reproduced with emacs -Q, because in this
case Elpa packages are not added to load-path. With emacs -Q, flymake
will rightfully complain "No such file or directory", when you `(require
'any-elpa-package)`

However, during the normal Emacs session, all Elpa packages are on the
load-path, but flymake complains as if they were not.

For me the following reproduces the issue:
1. Start Emacs
2. Switch to scratch buffer
3. Enable flymake: M-x flymake-mode
4. Type:

    (require 'subr-x)

  Observe that flymake does not complain

5. Now load anything from Elpa:

    (require 'compat)

  Observe that flymake starts complaining, even though compat is on
  load-path and the expression above can be successfully evaluated.

screenshot:


--=-=-=
Content-Type: image/png
Content-Disposition: inline;
 filename="Screenshot from 2022-07-13 19-05-16.png"
Content-Transfer-Encoding: base64
Content-Description: screenshot

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
0Je178BB9h04mPm/ubk5M6ZMKrbtZ9C0/2WtC1sbmxIvf24KajddXR2N2rW0y5GTJvkoqL9nvaPa
zdW1wBuC8urbuQV7RekjAFeuXmPbzl2ogoJISEgkKioqM21AoBJ9fYNsx3Rhvvp92WO4uILarDdK
6eroYGKSfZpLfnWQIWseC6rruKdPeR3O1xk0ve5paSlo27oVx078Qd3atbh4+QomJiZUrFA+M025
cs/LYPmsfbLebGdpYZFtJFiTuj134W/Onr/Amx3aY22d3v6lec29/s8NBg4d/lL5eJlrn/j3eqVz
avOjVoOOts4Lc2IaNWhQonO/MmTM/Spt5cqVw8rSEqVKle1EB5CWpkYZFISjg0O+21Cr1RrtK69k
ChR5r8sxz3fB7Jncu/+AP//6i50/7WHj5h/Y9t1GjIyK5+78rCfE1NRUrt+4yahx4/l6wvhsN4Fo
Wua8FLX/lXT588prbjLarSjtWhrlKK58ZG375YsXZv6tr69fqH3n7Nsv7qfwfSQ0LIyR4yYw7suR
tG/TGj09PabNej6ylmeDaKg4juHikN+NUgXWQS4KquvQsPBiy/ur1r5ta8Z+NZkxI4dz7MQfdGib
36OtXmyrrM2nad363L3LkvlzGfvVZN7q+Ca1a9Yo9WtuhuLMx8teB0TZ99oEte6uLiQmJVG1SmWs
LC0zlweHhGBrY1Pi+3dxckStBqUqCFeX9K+209LUJCYmlvi+c3qzQzt27/3lhUd3/Xb4MKYmJtSu
WTNzWXyOOWR+/gHZRi/y4+7qQmJiImHh4Zl1nJaWRqBSiZenu0bbSEpKory3F+W9vfi4fz86vvMu
t3x8qF+3jkbvLwxtbW1q16xBrZo1+fvS5cyg1tjYmMeRkVnylPsod36K2v9eZfmz5TWfditKu5ZG
OYqSj4L6e4nXeyH7iM+duxjo69P5zTcylyU8m04D4OrqQkJCPI8jIzODwuTkFMLCw3BydNQsTy95
DJe0guogNwXVtZ6u7mtzvi6salWqoF9On0tXrvDHqVOsXb6syNvStG7793mfBvXq0r/v+8xZsJAt
G9eX+jU3Q1Hz8TLXPvHvVaq/KKalpSAtLY20NDXm5ua81fFNvpk1B6VKRWhYGMtXr2HK9FnF+ukr
t0nr8fHxmJub06ZVS2bPX8ADPz8CAgPZuPl7UgoYwVVoaQFq0tLSii2fH7zfm6DgEMZPnsL1f27g
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
iMh/10ObfiAiIg9G0w9E5L8gt6YfaCFEEREREbF4Zk8/ML35yl1fd9SVUhGRXKVRWBER82mkVkRE
REQsnoJaEREREbF4CmpFRERExOIpqBURERERi6egVkREREQsnoJaEREREbF4CmpFRERExOIpqBUR
ERERi6egVkREREQsnoJaEREREbF4CmpFRERExOIpqBURERERi6egVkREREQsnoJaEREREbF4CmpF
RERExOIpqBURERERi6egVkREREQsnoJaEREREbF4CmpFRERExOIpqBURERERi6egVkREREQsnoJa
EREREbF4CmpFRERExOIpqBURERERi6egVkREREQsnoJaEREREbF4CmpFRERExOIpqBURERERi6eg
VkREREQsnoJaEREREbF4CmpFRERExOIpqBURERERi6egVkREREQsnoJaEREREbF4CmpFRERExOIp
qBURERERi6egVkREREQsnoJaEREREbF4CmpFRERExOIpqBURERERi6egVkREREQsnoJaEREREbF4
CmpFRERExOIpqBURERERi6egVkREREQsnoJaEREREbF4CmpFRERExOIpqBURERERi6egVkREREQs
noJaEREREbF4CmpFRERExOIpqBURERERi6egVkREREQsnoJaEREREbF4CmpFRERExOIpqBURERER
i6egVkREREQsnoJaEREREbF4CmpFRERExOIpqBURERERi2dtbkJnZ+eHWQ4RERER+Q+6W4yZmJho
dj5mB7UAQUFBOUkuIiIiInLftm/fbnZaTT8QERERkcdSVFSU2WkV1IqIiIiIxVNQKyIiIiIWT0Gt
iOSu2ONsXrmOA+dTH3VJspVybj/rVm7lRNyjLslDZgFtIfIkSk1JIikp078U0yMph+m2cjzZfUGO
bhQzz3Hm9RrCjlpjmd+7/I29B796hZEHmzJ5Rjd8c/9D5UHFrOPDHrM46tCM0YsHUCmn70/6jXEv
TuYvCvPC5Bl09X0IZXwipLB3anfGb43HofEwvnmzGsYbrwXz3RtvsywsY/tOdWlOmkco7jALhk/m
dIMP+cAt0zlzajR7vp3L0t+OEHYFnDzLUKddN7o2KErenORvTj5JEexeupAVO4IIvZiIrWsRytV/
nu4v1MQ9vcczFvSjVOpYJowIZdCYbvjZ587Xf6xk1xaBM+jy0RHaTZlOJ5975GE6zncDx7HRrj2j
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
/UTkPyf2jy94c7aJ/p+/S837+lsZw+oPerDI7nXmjmj6YA8OuOdH7WbSwNnYvT6NN6o9eYvJPXhb
PKiMdWrfYun/Gj3w3d7y3xWxYhADVpdk7Jx+lH+Mp0rcdJV1w7uzo1Y2TxR7RNKeKNb4Ph6T+2gt
XbqUkSNH1gV+v1day743RUQeK461Xmdk+6vMGT6TPy+YOXyfmek0p886UK/V0w81oE05t4fpw+eT
2GkUfZ/AgBZyoS1EHqkU4i5EEhkZyJpNp/Bp8YyFBLQ3HZ3bi/bt29O+fXt6zXs0g4KHZ/e4UYY+
WUbzn0waqRURkYdAI7XyIM6xYnAfFocUoJh/W/oPakdJCzqIUpKukZTp/jGDdV7yWv/7S0mYkhNJ
TM5046HRBlsbyzo7yMlI7SN/TK6IiDyJrKg/dCVm3PIicgcF6TBpJR0edTHuk9HGFuNjEIQbrPNi
+x+K9DT9QEREREQeSx4etz9FLztmx++JiYn89ttv6cuEiIiIiIg8PB4eHnTp0oW+ffuald7soDYh
IYEXX3wx29ednR/9EzZERERExLLExMRk+1pKivkPt9D0AxERERGxeApqRURERMTiKagVEREREYun
oFZERERELJ6CWhERERGxeApqRURERMTiKagVEREREYunoFZERERELJ6CWhERERGxeApqRURERMTi
KagVEREREYunoFZERERELJ6CWhERERGxeApqRURERMTiKagVEREREYunoFZERERELJ6CWhERERGx
eApqRURERMTiKagVEREREYunoFZERERELJ61uQldXFzqPsyCiIiIiIiIiIiIiIiIiIiIiIiIiIiI
iIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIj8J/0fEge8TLPQBAAAAAAASUVORK5CYII=
--=-=-=--




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

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


Received: (at 48452) by debbugs.gnu.org; 13 Jul 2022 13:57:40 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jul 13 09:57:40 2022
Received: from localhost ([127.0.0.1]:47367 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oBcrz-0000RA-Vd
	for submit <at> debbugs.gnu.org; Wed, 13 Jul 2022 09:57:40 -0400
Received: from quimby.gnus.org ([95.216.78.240]:51928)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <larsi@HIDDEN>) id 1oBcrx-0000Qu-TJ
 for 48452 <at> debbugs.gnu.org; Wed, 13 Jul 2022 09:57:38 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org;
 s=20200322; h=Content-Type:MIME-Version:Message-ID:Date:References:
 In-Reply-To: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=R0DG7wxAXl3IQ9dbBazszr6ZNGXiHI4iflGv2oM1BjU=; b=j6DZufAksFJhSvPC4VEzmDr4hD
 0TGFeROzdOpwpWl/aGVE0ykzCyhf23ft16Q1zRPuhWcEHZE5acwkCmRWXz8OqPWNVjm5i+66XG9Pq
 TbsWq7ICbHJ3qkPHTQlEk+2floeGICUOSx5mq9OB/ReInl1QKNT7RskreZ+8w/WePN60=;
Received: from [84.212.220.105] (helo=joga)
 by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.92) (envelope-from <larsi@HIDDEN>)
 id 1oBcro-0006d6-Vr; Wed, 13 Jul 2022 15:57:31 +0200
From: Lars Ingebrigtsen <larsi@HIDDEN>
To: Max Brieiev <max.brieiev@HIDDEN>
Subject: Re: bug#48452: 28.0.50; flymake for elisp does not respect `load-path`
In-Reply-To: <87v8s1untg.fsf@HIDDEN> (Max Brieiev's message of "Wed, 13 Jul
 2022 16:47:23 +0300")
References: <8735unafob.fsf@HIDDEN> <877d4hs084.fsf@HIDDEN>
 <87v8s1untg.fsf@HIDDEN>
X-Now-Playing: Black Midi's _The Black Midi Anthology Vol. 1: Tales of
 Suspense and Revenge_: "Instrumental 2"
Date: Wed, 13 Jul 2022 15:57:28 +0200
Message-ID: <874jzlp12v.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Report: Spam detection software, running on the system "quimby.gnus.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
 @@CONTACT_ADDRESS@@ for details.
 Content preview:  Max Brieiev <max.brieiev@HIDDEN> writes: > Yes, I am able
 to reproduce this on Emacs 29 (two days old build). > > Please, check the
 screenshot below. Do you have a complete step by step recipe that demonstrates
 the problem? I tried the original instructions, but got no messages from
 flymake (except complaining that the .emacs file doesn't start wit [...] 
 Content analysis details:   (-2.9 points, 5.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -1.0 ALL_TRUSTED            Passed through trusted hosts only via SMTP
 -1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%
 [score: 0.0000]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 48452
Cc: 48452 <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 (---)

Max Brieiev <max.brieiev@HIDDEN> writes:

> Yes, I am able to reproduce this on Emacs 29 (two days old build).
>
> Please, check the screenshot below.

Do you have a complete step by step recipe that demonstrates the
problem?  I tried the original instructions, but got no messages from
flymake (except complaining that the .emacs file doesn't start with ;;;
Commentary).

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




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

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


Received: (at 48452) by debbugs.gnu.org; 13 Jul 2022 13:47:34 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jul 13 09:47:34 2022
Received: from localhost ([127.0.0.1]:45132 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oBciE-00080f-MT
	for submit <at> debbugs.gnu.org; Wed, 13 Jul 2022 09:47:34 -0400
Received: from mail-lf1-f47.google.com ([209.85.167.47]:45809)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <max.brieiev@HIDDEN>) id 1oBciC-00080G-TB
 for 48452 <at> debbugs.gnu.org; Wed, 13 Jul 2022 09:47:33 -0400
Received: by mail-lf1-f47.google.com with SMTP id d12so19137835lfq.12
 for <48452 <at> debbugs.gnu.org>; Wed, 13 Jul 2022 06:47:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=from:to:cc:subject:in-reply-to:references:date:message-id
 :user-agent:mime-version;
 bh=xQSlR8K2eIQyDSsRp8J9ptsNiHY768Af3ncSlD9OdFs=;
 b=m1YBCi+OUjDXzzU1IxtQqJEFSnjxISRVAakKds4d/naML1odsaMUauRW1DJZWvXzZI
 D+OiYbzvHLS/j48Yv8qgLEvKM86a8zZE/L0xdZz2qKBRO+wkQmk5KkrGi0x9BIEBFUHj
 glZKP7TZ/HOrgsg3qqOASZJFLLv8+V/CIWr8r2rwiUviXOCxli1syg5DnRHxm/E3EX8R
 sh0Yv19XFr0IiYXE52hAEDWcUT3c2K1e8d6vI5BsVo+WgrI98fEkVDddh/jkeaSeQND3
 2N6gp0D56TUtYMLhT1O47WZqmEa5Teg0EreC35DcR5CByMc76IfhGXdd1GeNQD2qRFHO
 5+jA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date
 :message-id:user-agent:mime-version;
 bh=xQSlR8K2eIQyDSsRp8J9ptsNiHY768Af3ncSlD9OdFs=;
 b=e+XFMEpPWyQZqBzpX3KX9b/QhacjaRR8HuO0zPVCavwBBGcWxKoCYA7UV4sfdSeoTo
 W4v3F0AwB5yvASs4GlSubEOo1OpvNZlknDa/Ipe4VNzy4MllppjJvA45Kw0ml05eLuUr
 3dYzigJ9mudoLl07BryhJIUsbOVtt85cJnuhtO8qpxJUWUJegQ5uv0CslaVuxL/R6MVq
 i2RqEBSdxrVeio8XjO+n0vktLN0m1WtJTt4gTmGlsw/5V6O4CF6St1oy4MWdVj56zuLj
 kO//MTvdThj1lV4t6YEtUb7FUwdqNuLt8c9PzSGMGqIm7wJGpg3+rubscyyaDxU0PPov
 8lKA==
X-Gm-Message-State: AJIora+oNaGdJMrkqXTbhfgh4QCuppEyi5Gn8tVcZ5T3HoebjwLLX47l
 WiW3jKSnic4qdFX+y2WKDoNDFpj5owU=
X-Google-Smtp-Source: AGRyM1tnkwkoQ57u+1foVyFsrpxaWmSTpo+u+o4yafgwgOI/F3PGXDynW8stv0fikGF5Klm0QWPEPA==
X-Received: by 2002:a05:6512:228d:b0:489:2309:fd63 with SMTP id
 f13-20020a056512228d00b004892309fd63mr2217119lfu.232.1657720046108; 
 Wed, 13 Jul 2022 06:47:26 -0700 (PDT)
Received: from thinkmax (host-176-37-1-68.b025.la.net.ua. [176.37.1.68])
 by smtp.gmail.com with ESMTPSA id
 v9-20020a05651203a900b004790a4ce3e5sm2828829lfp.278.2022.07.13.06.47.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 13 Jul 2022 06:47:24 -0700 (PDT)
From: Max Brieiev <max.brieiev@HIDDEN>
To: Lars Ingebrigtsen <larsi@HIDDEN>
Subject: Re: bug#48452: 28.0.50; flymake for elisp does not respect `load-path`
In-Reply-To: <877d4hs084.fsf@HIDDEN> (Lars Ingebrigtsen's message of "Wed,
 13 Jul 2022 13:47:39 +0200")
References: <8735unafob.fsf@HIDDEN> <877d4hs084.fsf@HIDDEN>
Date: Wed, 13 Jul 2022 16:47:23 +0300
Message-ID: <87v8s1untg.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Debbugs-Envelope-To: 48452
Cc: 48452 <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>

--=-=-=
Content-Type: text/plain

Lars Ingebrigtsen <larsi@HIDDEN> writes:

> I'm unable to reproduce this in Emacs 29.  Do you still see this problem
> in recent Emacs versions?

Yes, I am able to reproduce this on Emacs 29 (two days old build).

Please, check the screenshot below.


--=-=-=
Content-Type: image/png
Content-Disposition: inline; filename=flymake.png
Content-Transfer-Encoding: base64
Content-Description: screenshot

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
IiIiIiIiJYqKFyIiIiIiIiIiIiIiUqKoeCEiIiIiIiIiIiIiIiWKihciIiIiIiIiIiIiIlKiqHgh
IiIiIiIiIiIiIiIliooXIiIiIiIiIiIiIiJSoqh4ISIiIiIiIiIiIiIiJYqKFyIiIiIiIiIiIiIi
UqKoeCEiIiIiIiIiIiIiIiWKihciIiIiIiIiIiIiIlKiqHghIiIiIiIiIiIiIiIlRmJSkooXIiIi
IiIiIiIiIiJSsqh4ISIiIiIiIiIiIiIiJYZNmTIqXoiIiIiIiIiIiIiISMmi4oWIiIiIiIiIiIiI
iJQoKl6IiIiIiIiIiIiIiEiJouKFiIiIiIiIiIiIiIiUKCpeiIiIiIiIiIiIiIhIiaLihYiIiIiI
iIiIiIiIlCiWxZ2AiIiIiIhIcYo/8xtLlv7CP2fDSbGtRJ22/RjUtxHOZv+t3UNz+/NhcE8WTulK
2cJJVURERETkgaGRFyIiIiIi8sBKD93ItAmLOOPyKAOHj2ZoV3eCfpjKzA1h/7HlaIKC47EzeKhw
ISIiIiJyBzTyQkREREREHkym83z3yQKCmoxk7htNsQFo6MPVwDC2pUSTTkUs7rjxIIKCwNDKUGjp
ioiIiIg8SFS8EBERERGRopXiz5Kx09kU7cvgGe/Q2uEuxuTCdGILW4JdeWJ4VuECAFtavzGN1tni
MqIOs3rRKv70P09EhhOejTrzfwM74W17I+bK0R/4Zs12Dp1LokLdjgzsY0lQoi1eHuVvBKVHsG/l
Ytb9fZLzF5OxrdKQboNepZNPmUI9LxERERGR+4GmjRIRERERkaJ18TB7zsYQn2pOGau7HJOLE7v3
Eu1Ql3pVcgmK3sm0YZPZbmpKv1EfMXbQ4zj6f81H8/eSmBWSem4VH01eTZDrk7w5dgR9mqaxY9EW
gjHg4ZEVZDLy8/h3+PJIeToM+oBPpwynQ5kD/G/GGgIL+bxERERERO4HGnkhIiIiIiJFy7MX0+a2
IcnRDRfruxyTozguXLgMVb2ommNMCvuXLeQvs7ZMGNqV+qWA6t5UiPqLV77dzbG3m9PULIk9q38g
oGJXZg7uiIcZUKM6tsFb2Xi6JganzJait37D8vO1ec1vIG0cADx4tLEHK1bEEluo5yUiIiIicn9Q
8UJERERERIqYBXaVDNgVSUxOoomKBsd6lbJNGXWrAPbvj6HyY50yCxdZnBwdITWehBTAYj+7/06m
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
OwUREREREblPaOSFiIiIiIiIiIiIiIiUKCpeiIiIiIiIiIiIiIhIiaLihYiIiIiIiIiIiIiIlCgq
XoiIiIiIiIiIiIiISCaH24oAACAASURBVImi4oWIiIiIiIiIiIiIiJQoKl6IiIiIiIiIiIiIiEiJ
ouKFiIiIiIiIiIiIiIiUKCpeiIiIiIiIiIiIiIhIiaLihYiIiIiIiIiIiIiIlCgqXoiIiIiIiIiI
iIiISImi4oWIiIiIiIiIiIiIiJQoKl6IiIiIiIiIiIiIiEiJouKFiIiIiIiIiIiIiIiUKCpeiIiI
iIiIiIiIiIhIiaLihYiIiIiIiIiIiIiIlCgqXoiIiIiIiIiIiIiISImi4oWIiIiIiIiIiIiIiJQo
Kl6IiIiIiIiIiIiIiEiJouKFiIiIiIiIiIiIiIiUKCpeiIiIiIiIiIiIiIhIiWJZ3AmIiIiIiMj9
Lz6+uDOQksre3izPmLg4UxFkIiIiIiIliYoXIiIiIiIiUqxyK07kp7ghIiIiIvcfTRslIiIiIiIi
IiIiIiIliooXIiIiIiIiIiIiIiJSoqh4ISIiIiIixSN6L0tnzmWbMb24M5G7KC1oE/NnLmZ/bHFn
IiIiIiL3EhUvRERERESk6MXu4P3OPVlp1pxm7hbFnU3ewo/y/Mg5eI3ewKqYPGKjD/DIi9Oxf3EZ
c6PvUj5nJtPMvgGfn88pIJZVj67hw3kJdymB/Pdl6dGSRunf0KfLaPbGFUE6IiIiInJfUPFCRERE
RESKWDy/v9+f1bVns/ithtgUdzr5kGYM5vfwJCIuBrD7YnFnc6+xo9Hw7/nEazEvj99KYnGnIyIi
IiL3BMviTkBERERERB4wJ2YwepUvH57sRrniziWfLOu1YuUAZ45YVKJnjeLOJm+m+Hgi79aojzvq
qwLdP5vM4trD8Hv1MMOrFUVmIiIiInIvU/FCRERERESK1IEVS4jsMZtnyt5y4PI/tBv+BwdwY/pH
zbm09k+Wn4yltHs1Rg98hOcrWQIXee+dZcyJuvaiSkyd+gRWP2xk6qFwqj33KhsetYH0eLZt3M4n
e40ci7iKk4sLrVu24qOOBiqag3HTCmovD8FUvgk7PmtHAwBi+Wz8/5hwwYy2/Yfwy6O2/LF4Dk9t
S8qWpAGHRr14ye7GnqRQf979Zg/rQtLxqlmXcU9b//ukTUns3byDj3Zc4EhECg4uFWjbuhUTH3fH
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
SZIkSZIkSQopJi8kSZIkSZIkSVJIMXkhSZIkSZIkSZJCiskLSZIkSZIkSZIUUkxeSJIkSZIkSZKk
kGLyQpIkSZIkSZIkhRSTF5IkSZIkSZIkKaSYvJAkSZIkSZIkSSHF5IUkSZIkSZIkSQopJi8kSZIk
SZIkSVJIMXkhSZIkSZIkSZJCiskLSZIkSZIkSZIUUkxeSJIkSZIkSZKkkGLyQpIkSZIkSZIkhRST
F5IkSZIkSZIkKaSYvJAkSZIkSZIkSSHF5IUkSZIkSZIkSQopJi8kSZIkSZIkSVJIMXkhSZIkSZIk
SZJCiskLSZIkSZIkSZIUUkxeSJIkSZIkSZKkkGLyQpIkSZIkSZIkhRSTF5IkSZIkSZIkKaSYvJAk
SZIkSZIkSSHF5IUkSZIkSZIkSQopJi8kSZIkSZIkSVJIMXkhSZIkSZIkSZJCiskLSZIkSZIkSZIU
UkxeSJIkSZIkSZKkkGLyQpIkSZIkSZIkhRSTF5IkSZIkSZIkKaSYvJAkSZIkSZIkSSHF5IUkSZIk
SZIkSQopJi8kSZIkSZIkSVJIMXkhSZIkSZIkSZJCiskLSZIkSZIkSZIUUkxeSJIkSZIkSZKkkGLy
QpIkSZIkSZIkhRSTF5IkSZIkSZIkKaSYvJAkSZIkSZIkSSHF5IUkSZIkSZIkSQopJi8kSZIkSZIk
SVJIMXkhSZIkSZIkSZJCiskLSZIkSaftkUceOdshSJIkSfoXCY+Ojj7bMUiSJEkKccldN+zdu5fY
2Nhkl1+3bl1qhyRJkiTpXywcOOmFhiRJkiSdyE8//USdOnUoUqTI2Q5FkiRJ0jnu999/B+w2SpIk
SdJpWr9+/dkOQZIkSdK/jMkLSZIkSZIkSZIUUkxeSJIkSZIkSZKkkGLyQlJwdizm++GjmL3x4FlZ
ffyGWYwaPo4lO8/K6kPLWT4W0n+Nnz+SJKWiHUv4ceQY5m4K3d+y8RvnMGbkTyz9t3/3nwPH4pRs
nczsYS/y85ip7D3bsfwLHYzfz/79Sf7iE85KHAl/i+Nfdh7rlP1nPsP/I8KDL7qYAW0fYUL1Hrx3
R9kjU+f0bU23OfV4+c1bKJz68Z2b1n3Hc90HExtWidufeoCLs6Zk4V/o3bQnE+OPTjmvflc+uLtS
akepVBXPr6+24tlxuzjv0scZdG8Vwo7MW8mH/7ufT1Yffp2HZi+/SYvCSZcPpsxZtHM+A594md/r
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
--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#48452; Package emacs. Full text available.
Added tag(s) moreinfo. Request was from Lars Ingebrigtsen <larsi@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

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


Received: (at 48452) by debbugs.gnu.org; 13 Jul 2022 11:47:51 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jul 13 07:47:51 2022
Received: from localhost ([127.0.0.1]:44731 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oBaqN-0004L1-Ik
	for submit <at> debbugs.gnu.org; Wed, 13 Jul 2022 07:47:51 -0400
Received: from quimby.gnus.org ([95.216.78.240]:50570)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <larsi@HIDDEN>) id 1oBaqM-0004KC-5w
 for 48452 <at> debbugs.gnu.org; Wed, 13 Jul 2022 07:47:50 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org;
 s=20200322; h=Content-Type:MIME-Version:Message-ID:Date:References:
 In-Reply-To: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=dAByQVqp/uJ9xwjVWXXXJNV3hxd/fodC2a6hNhBAZQU=; b=CkNxn/+wrwiSeJGyjffBAw2XPo
 byEXXyYQM4aQTr/DWG4jJcSOXKWl2DBLzEmRm/+rmFi5bN/jxAjdy2/6oHIHPD4RDakVpBPtvz/6c
 d4WALCmZJsCa4xc7S0yiTeFVu9uYOYz4IFGAPO60A5Yk5uYgsklmvTiK58Djxms5y3Fk=;
Received: from [84.212.220.105] (helo=joga)
 by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.92) (envelope-from <larsi@HIDDEN>)
 id 1oBaqD-0005Z7-OS; Wed, 13 Jul 2022 13:47:44 +0200
From: Lars Ingebrigtsen <larsi@HIDDEN>
To: Max Brieiev <max.brieiev@HIDDEN>
Subject: Re: bug#48452: 28.0.50; flymake for elisp does not respect `load-path`
In-Reply-To: <8735unafob.fsf@HIDDEN> (Max Brieiev's message of "Sat, 15 May
 2021 23:46:28 +0300")
References: <8735unafob.fsf@HIDDEN>
X-Now-Playing: Dwayne Sodahberk's =?utf-8?Q?=5FFj=C3=A4rilsfalu=5F=3A?=
 "Bird Bones (Optofonversion)"
Date: Wed, 13 Jul 2022 13:47:39 +0200
Message-ID: <877d4hs084.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Report: Spam detection software, running on the system "quimby.gnus.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
 @@CONTACT_ADDRESS@@ for details.
 Content preview:  Max Brieiev <max.brieiev@HIDDEN> writes: > As far as I
 understand Emacs doesn't add "~/.emacs.d/elpa" to > `load-path`, when started
 with -Q flag, but this bug report needs a > fully established `load-path`.
 So to reproduce the bug please cr [...] 
 Content analysis details:   (-2.9 points, 5.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -1.0 ALL_TRUSTED            Passed through trusted hosts only via SMTP
 -1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%
 [score: 0.0000]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 48452
Cc: 48452 <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 (---)

Max Brieiev <max.brieiev@HIDDEN> writes:

> As far as I understand Emacs doesn't add "~/.emacs.d/elpa" to
> `load-path`, when started with -Q flag, but this bug report needs a
> fully established `load-path`. So to reproduce the bug please create an
> empty ".emacs" file and start Emacs.
>
> Then:
>
> - C-x C-f ~/.emacs
> - M-x flymake-mode
> - in .emacs buffer type require expression, requiring any library on
>   your elpa path, e.g. `(require 'dash)`.
>
> Observe that flymake reports "Cannot open load file: No such file or
> directory, dash", even though `load-path` contains
> "~/.emacs.d/elpa/dash-<version>/" directory.

(I'm going through old bug reports that unfortunately weren't resolved
at the time.)

I'm unable to reproduce this in Emacs 29.  Do you still see this problem
in recent Emacs versions?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




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

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


Received: (at submit) by debbugs.gnu.org; 15 May 2021 20:46:40 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat May 15 16:46:40 2021
Received: from localhost ([127.0.0.1]:49328 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1li1BH-0007bn-R9
	for submit <at> debbugs.gnu.org; Sat, 15 May 2021 16:46:40 -0400
Received: from lists.gnu.org ([209.51.188.17]:41510)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <max.brieiev@HIDDEN>) id 1li1BF-0007bf-K3
 for submit <at> debbugs.gnu.org; Sat, 15 May 2021 16:46:38 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:54450)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <max.brieiev@HIDDEN>)
 id 1li1BF-0004Vr-D6
 for bug-gnu-emacs@HIDDEN; Sat, 15 May 2021 16:46:37 -0400
Received: from mail-lj1-x235.google.com ([2a00:1450:4864:20::235]:38697)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <max.brieiev@HIDDEN>)
 id 1li1BB-0001J7-S7
 for bug-gnu-emacs@HIDDEN; Sat, 15 May 2021 16:46:37 -0400
Received: by mail-lj1-x235.google.com with SMTP id v6so2562246ljj.5
 for <bug-gnu-emacs@HIDDEN>; Sat, 15 May 2021 13:46:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:subject:date:message-id:mime-version;
 bh=5YL0P7dFggaFIyxZ+YITfGxREOudLCxpMLMPgB/9nyQ=;
 b=d4iPq733Q31wNLf54iVkbUuOD+JYD+Ywu5X98wfs14efu8HNuUHPBipAoqA3B+S5Ss
 kVEN7dwBRv56ee5Pc+bPX+xh68Fe7nePlI+W4PXWTOauoAylujXJr6WXWMiOrQ4HFR1V
 xwPIIX5QQDr+/09TjS5uebzRyOZe25jl4tg4pPB0rv9rGXAd3O6YcG/IW6Y4cQMaBt6V
 Fgyv4ZTgbWSuWfl1QDkaDXDjo4+q7b99Qp/ubPPIE4+J0Wr8oXtJdaLnDv+TquJeXaW2
 8o8jL4jKIMQwmVnOG91UhAXdospL7cxtED5+YzLHksEG+iminvrYIu29rj45W2Rp7uQz
 qdTA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:subject:date:message-id:mime-version;
 bh=5YL0P7dFggaFIyxZ+YITfGxREOudLCxpMLMPgB/9nyQ=;
 b=DEpXzLKVtmqVXNGHZYLJg1G8cKvIPUpcYzihVVIopOpMR/6fs+z9NmgZFPlBI3s7Sm
 G85Lj9oxNKHdibu7fhrcUJlbDXAS497LocHUbv4AX5GhhhS/ggOao3Wk9ersn3sbYCtj
 30p02bTjs1oyC1CzCUnps5et8Ea7LmH7h5FVuiTD1mNsEyC4pstnSamkdmdpzYRNwVzG
 7rWpNyaUky4hLFV8qe8oB+kzR1AKaArquuGtCKCO3tdmdooRzdX/+KZd1zmgwHkhbJS9
 HbB06a3BZrnGpenjwUJndivu4j/VzbNiJXxCK3p0YcciPm5YhYQzrp+RKKTSUYYVA5KR
 qqig==
X-Gm-Message-State: AOAM533L/aEMVOT3upOye6wYLPjw4YHbWJ4MT5Y/1cFwmb5xPzd97Bn7
 w8oDSUl98uZIwpBL2FJymOo2kHdQsVayeQ==
X-Google-Smtp-Source: ABdhPJwwv5MbMZL3BIGWF2XkIuhAdOE8kvPwGSDlUOdWyUskBSNE4Xjmm2EtkbX+x3+Op77V4BjhHw==
X-Received: by 2002:a2e:b4c6:: with SMTP id r6mr42165407ljm.37.1621111590913; 
 Sat, 15 May 2021 13:46:30 -0700 (PDT)
Received: from arch-max ([109.251.233.9])
 by smtp.gmail.com with ESMTPSA id s4sm2177511ljp.24.2021.05.15.13.46.29
 for <bug-gnu-emacs@HIDDEN>
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 15 May 2021 13:46:29 -0700 (PDT)
From: Max Brieiev <max.brieiev@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Subject: 28.0.50; flymake for elisp does not respect `load-path`
Date: Sat, 15 May 2021 23:46:28 +0300
Message-ID: <8735unafob.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
Received-SPF: pass client-ip=2a00:1450:4864:20::235;
 envelope-from=max.brieiev@HIDDEN; helo=mail-lj1-x235.google.com
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DC_PNG_UNO_LARGO=0.001,
 DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
 FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.3 (-)
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: -2.3 (--)

--=-=-=
Content-Type: text/plain

As far as I understand Emacs doesn't add "~/.emacs.d/elpa" to
`load-path`, when started with -Q flag, but this bug report needs a
fully established `load-path`. So to reproduce the bug please create an
empty ".emacs" file and start Emacs.

Then:

- C-x C-f ~/.emacs
- M-x flymake-mode
- in .emacs buffer type require expression, requiring any library on
  your elpa path, e.g. `(require 'dash)`.

Observe that flymake reports "Cannot open load file: No such file or
directory, dash", even though `load-path` contains
"~/.emacs.d/elpa/dash-<version>/" directory. Screenshot below
illustrates this:


--=-=-=
Content-Type: image/png
Content-Disposition: inline; filename=screenshot.png
Content-Transfer-Encoding: base64
Content-Description: screenshot

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
--=-=-=
Content-Type: text/plain



In GNU Emacs 28.0.50 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.29, cairo version 1.17.4)
 of 2021-05-09 built on arch-max
Repository revision: 5eb27833c498584797822838f00b87e52bad1c22
Repository branch: makepkg
Windowing system distributor 'System Description: Arch Linux

Configured using:
 'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
 --localstatedir=/var --mandir=/usr/share/man --with-gameuser=:games
 --with-sound=alsa --with-modules --without-gconf --without-gsettings
 --with-native-compilation --with-pgtk --with-x-toolkit=gtk3
 --without-xaw3d --without-m17n-flt --with-cairo --with-xwidgets
 --without-compress-install 'CFLAGS=-march=x86-64 -mtune=generic -O2
 -pipe -fno-plt -fexceptions
 -Wp,-D_FORTIFY_SOURCE=2,-D_GLIBCXX_ASSERTIONS -Wformat
 -Werror=format-security -fstack-clash-protection -fcf-protection -g
 -fuse-ld=gold -g -fuse-ld=gold'
 LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM HARFBUZZ JPEG JSON LCMS2
LIBOTF LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER
PGTK PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS XIM
XWIDGETS GTK3 ZLIB

Important settings:
  value of $LC_MESSAGES: 
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Fundamental

Minor modes in effect:
  yas-global-mode: t
  show-paren-mode: t
  global-company-mode: t
  display-battery-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
/home/max/.emacs.d/elpa/transient-20210426.2141/transient hides /usr/share/emacs/28.0.50/lisp/transient

Features:
(shadow comp comp-cstr rx sort vc-mtn vc-hg vc-git diff-mode easy-mmode
vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs vc vc-dispatcher mail-extr
emacsbug message rmc puny dired dired-loaddefs rfc822 mml mml-sec epa
derived epg epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail cl-extra company-oddmuse
company-keywords company-etags etags fileloop generator company-gtags
company-dabbrev-code company-dabbrev company-files company-capf
company-cmake company-xcode company-clang company-semantic company-eclim
company-template company-bbdb format-spec
solarized-light-high-contrast-theme solarized-palettes solarized
solarized-faces color yasnippet quail paren gnus nnheader gnus-util
rmail rmail-loaddefs rfc2047 rfc2045 ietf-drums time-date mail-utils
mm-util mail-prsvr wid-edit company edmacro kmacro battery dbus xml
cus-load eglot array filenotify jsonrpc ert pp ewoc debug backtrace
help-mode find-func xref flymake-proc flymake thingatpt warnings compile
text-property-search comint ansi-color ring pcase project imenu info
package browse-url url url-proxy url-privacy url-expand url-methods
url-history url-cookie url-domsuf url-util mailcap url-handlers
url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs
password-cache json subr-x map url-vars seq byte-opt gv bytecomp
byte-compile cconv cl-loaddefs cl-lib iso-transl tooltip eldoc electric
uniquify ediff-hook vc-hooks lisp-float-type mwheel term/pgtk-win
pgtk-win term/common-win tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu
timer select scroll-bar mouse jit-lock font-lock syntax font-core
term/tty-colors frame minibuffer 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 composite charscript charprop case-table epa-hook
jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button
loaddefs faces cus-face macroexp files window text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote threads xwidget-internal dbusbind
inotify dynamic-setting font-render-setting cairo move-toolbar gtk
x-toolkit pgtk lcms2 multi-tty make-network-process native-compile
emacs)

Memory information:
((conses 16 251103 8902)
 (symbols 48 19072 1)
 (strings 32 54692 4270)
 (string-bytes 1 1713885)
 (vectors 16 37517)
 (vector-slots 8 1351452 110243)
 (floats 8 246 233)
 (intervals 56 486 0)
 (buffers 992 14))

--=-=-=--




Acknowledgement sent to Max Brieiev <max.brieiev@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#48452; 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: Sun, 21 Aug 2022 15:30:02 UTC

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