Lars Ingebrigtsen <larsi@HIDDEN>
to control <at> debbugs.gnu.org
.
Full text available.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 <<a href=3D"mailto:larsi@HIDDEN">larsi@HIDDEN</a>> 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 <<a href=3D"mailto:joaotavora@gmail.= com" target=3D"_blank">joaotavora@HIDDEN</a>> writes:<br> <br> > Or maybe -- again, I'm just guessing -- the danger is that that ba= d.el<br> > is disguised under /tmp/pcase.el and /tmp/good.el has a perfectly<br> > legitimate.<br> ><br> >=C2=A0 =C2=A0 (require 'pcase)<br> ><br> > 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's the problem= I was<br> talking about with having "./" 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" 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">> If<br> > that's the case, it's as easy as applying this patch<br> <br> [...]<br> <br> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= ,@(mapcan (lambda (path) (list "-L" path))<br> > +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= ,@(mapcan (lambda (path) (list "-L" (format ":%s" path)= ))<br> >=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'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--
bug-gnu-emacs@HIDDEN
:bug#48452
; Package emacs
.
Full text available.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.)
bug-gnu-emacs@HIDDEN
:bug#48452
; Package emacs
.
Full text available.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
bug-gnu-emacs@HIDDEN
:bug#48452
; Package emacs
.
Full text available.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
bug-gnu-emacs@HIDDEN
:bug#48452
; Package emacs
.
Full text available.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
bug-gnu-emacs@HIDDEN
:bug#48452
; Package emacs
.
Full text available.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).
bug-gnu-emacs@HIDDEN
:bug#48452
; Package emacs
.
Full text available.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
bug-gnu-emacs@HIDDEN
:bug#48452
; Package emacs
.
Full text available.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.
bug-gnu-emacs@HIDDEN
:bug#48452
; Package emacs
.
Full text available.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).
bug-gnu-emacs@HIDDEN
:bug#48452
; Package emacs
.
Full text available.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 <<a href=3D"m= ailto:larsi@HIDDEN">larsi@HIDDEN</a>> 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 <<a href=3D"mailto:joaotavora@gma= il.com" target=3D"_blank" rel=3D"noreferrer">joaotavora@HIDDEN</a>> w= rites:<br> <br> > I've never had disaster struck because of load paths. What disaste= r<br> > are you thinking about?<br> <br> The same disaster that having "./" in `load-path' in general = would lead<br> to.<br></blockquote></div></div><div dir=3D"auto"><br></div><div dir=3D"aut= o">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.</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--
bug-gnu-emacs@HIDDEN
:bug#48452
; Package emacs
.
Full text available.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
bug-gnu-emacs@HIDDEN
:bug#48452
; Package emacs
.
Full text available.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 <<a href=3D"m= ailto:larsi@HIDDEN">larsi@HIDDEN</a>> 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 <<a href=3D"mailto:joaotavora@gma= il.com" target=3D"_blank" rel=3D"noreferrer">joaotavora@HIDDEN</a>> w= rites:<br> <br> > Right.=C2=A0 Adding anything to the load path is "dangerous"= .=C2=A0 The default<br> > "./" is a good compromise, as it enables developing packages= with<br> > multiple .el files that require each other in the same dir, which is a= <br> > very common thing IME.<br> <br> I'm not sure that's a good compromise at all -- the user has surely= set<br> up the correct load path to use, and overriding that with "./" 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'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= "> > Here's a very minimally tested patch:<br> <br> [...]<br> <br> > +(defcustom elisp-flymake-byte-compile-use-elpa-dirs nil<br> > +=C2=A0 "If non-nil, add ELPA package dirs to elisp Flymake load = path."<br> > +=C2=A0 :type 'boolean<br> > +=C2=A0 :group '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= '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 do= n'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--
bug-gnu-emacs@HIDDEN
:bug#48452
; Package emacs
.
Full text available.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
bug-gnu-emacs@HIDDEN
:bug#48452
; Package emacs
.
Full text available.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
bug-gnu-emacs@HIDDEN
:bug#48452
; Package emacs
.
Full text available.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
bug-gnu-emacs@HIDDEN
:bug#48452
; Package emacs
.
Full text available.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?
bug-gnu-emacs@HIDDEN
:bug#48452
; Package emacs
.
Full text available.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 <<a href=3D"mailto:larsi@HIDDEN">larsi@HIDDEN</a>> 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 <<a href=3D"mailto:joaotavora@gmail.= com" target=3D"_blank">joaotavora@HIDDEN</a>> writes:<br> <br> > I think elisp-flymake-byte-compile-load-path is relevant here.<br> <br> I think the question here was -- why doesn't that just default to<br> `load-path'?=C2=A0 I'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'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'= 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'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'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 "on-the-fly" back= ends like C/C++ checkers <br></div><div>which add some "system" t= hings to the include path considered when checking,</div><div>but still nee= d to know about the user's include paths.=C2=A0 Google <br></div><div>c= ompilation_commands.json or "compilation database".=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't need such = complexity: merely adjusting the variable I gave</div><div>and/or putting t= hat in the repo'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--
bug-gnu-emacs@HIDDEN
:bug#48452
; Package emacs
.
Full text available.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
bug-gnu-emacs@HIDDEN
:bug#48452
; Package emacs
.
Full text available.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
bug-gnu-emacs@HIDDEN
:bug#48452
; Package emacs
.
Full text available.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
bug-gnu-emacs@HIDDEN
:bug#48452
; Package emacs
.
Full text available.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? --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#48452
; Package emacs
.
Full text available.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= --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#48452
; Package emacs
.
Full text available.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
bug-gnu-emacs@HIDDEN
:bug#48452
; Package emacs
.
Full text available.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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 --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#48452
; Package emacs
.
Full text available.Lars Ingebrigtsen <larsi@HIDDEN>
to control <at> debbugs.gnu.org
.
Full text available.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
bug-gnu-emacs@HIDDEN
:bug#48452
; Package emacs
.
Full text available.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)) --=-=-=--
Max Brieiev <max.brieiev@HIDDEN>
:bug-gnu-emacs@HIDDEN
.
Full text available.bug-gnu-emacs@HIDDEN
:bug#48452
; Package emacs
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.