Taylan Kammer <taylan.kammer@HIDDEN>
to control <at> debbugs.gnu.org
.
Full text available.Received: (at 18835) by debbugs.gnu.org; 17 May 2021 20:26:01 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon May 17 16:26:01 2021 Received: from localhost ([127.0.0.1]:53887 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1lijoO-0002LC-R8 for submit <at> debbugs.gnu.org; Mon, 17 May 2021 16:26:01 -0400 Received: from mail-ed1-f50.google.com ([209.85.208.50]:41709) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <taylan.kammer@HIDDEN>) id 1lijoJ-0002Kt-Bl for 18835 <at> debbugs.gnu.org; Mon, 17 May 2021 16:25:59 -0400 Received: by mail-ed1-f50.google.com with SMTP id v5so8391785edc.8 for <18835 <at> debbugs.gnu.org>; Mon, 17 May 2021 13:25:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=to:from:subject:message-id:date:user-agent:mime-version :content-language; bh=/bWFoZzqrvjzrE6aav77YELc/EFuE3P0SmU9LjxU2R4=; b=pc/LkgAFLkqnrkU0XrVMWlbfqDRWoyMH/tSu7XNFh1ZUkglOBJ+kUJ+wqZr8nFe7Fv BQkw5uoI1oxlEhkHfsWu1EO/YkOkvot9G8lZvYeVbJE0fkUn4zz/CnDqIgI1RxHaNJac PBxtOZBTCOuZGBs3ZMvft5LvcIwzNnse7VU/7i5herz76a/zaRwFTtN2D8cy69msaXRS waB9MSH3eO10YQ+IT4tpQYyvGFwo5zun/yjo+6Gm5/2NovV0GwzJ/xNB2ToOo5LuHWfx GZ5Ni5Z0gURz1IXjmKtKB41kgObob+50IVvHfFXjuMbdhwB79sNEUV2P6mVsxfxOR8Vn y9mw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:from:subject:message-id:date:user-agent :mime-version:content-language; bh=/bWFoZzqrvjzrE6aav77YELc/EFuE3P0SmU9LjxU2R4=; b=EbpAanjAi7gkTfUj/3jDf9B4rhecuoYTrV3XFVqofBMbCAwV2l94V43SdXYyFKfJZv lmD/GWvtMZLTQ00X+kLD/WwS/k/IFez+dsA4JRT8XoAf9vE86sWXCbSMYmupYwLnqgAk DnAM4oV1Yp5K8owuzGxVEcSJdbCJEooLBNojYMXFuqHjUSUVha/uGyK6zdIMRbnMOqH4 LHK7N0Jx7aDHiQ6SGxilI57rDfKjZfDZ/wI5y0qNr6Z7UWJrIT0q57t4KvzVn9i7+lvK e4x8lyMGL5ZL6GUF/K1Aly4dpr+Y/7zLQnEIofaaRhAKFxlVUBxOjiPAlnHH8F8ASLqW YR3g== X-Gm-Message-State: AOAM5311DX9HXz3uGJDdkhhmCrzf5wwSpO3rfp/Ztpt5cnzBxMIKcUvW heg8geTLW7xZ1v6Yk0Nk7IQ= X-Google-Smtp-Source: ABdhPJzGsB06+XH9clPPQbYtTceRZI6SfwWuyYaVUPICGW3HIO2H2cdEX2suoH/GpK5vweY78wZvFw== X-Received: by 2002:aa7:d94f:: with SMTP id l15mr2297667eds.235.1621283149465; Mon, 17 May 2021 13:25:49 -0700 (PDT) Received: from [192.168.178.20] (b2b-109-90-125-150.unitymedia.biz. [109.90.125.150]) by smtp.gmail.com with ESMTPSA id x9sm11729010edv.22.2021.05.17.13.25.49 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 17 May 2021 13:25:49 -0700 (PDT) To: 18835 <at> debbugs.gnu.org, Andy Wingo <wingo@HIDDEN> From: Taylan Kammer <taylan.kammer@HIDDEN> Subject: load-from-path is inconsistent when looking for a compiled version of the source file Message-ID: <9b5e0494-cbad-1187-f04b-98280b1ce07f@HIDDEN> Date: Mon, 17 May 2021 22:25:48 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.10.1 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------D3815E581937F966DBF60D3E" Content-Language: en-US X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 18835 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 (-) This is a multi-part message in MIME format. --------------D3815E581937F966DBF60D3E Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit In 2016, Andy wrote: > The logic in load.c is that we only add on .go if the file > doesn't already have an extension. If the file has an extension and > it's not .go, then we don't grovel in the path at all. I guess this is > the wrong thing? > > I am not sure if we can change this in 2.0 or not. I guess we can. Well that ship has sailed anyway. ;-) IMO we should change the behavior to always try to add extensions, after first trying without an extension. It's feasible that one might choose to name one's files like foo.bar.scm and the like, in which case trying to load foo.bar should work. I might name a number of files foo.v1.scm, foo.v2.scm, and so on. Alternatively, consider the already popular foo.upstream.scm. Further, I don't see any possible confusion arising from adding the extensions. No one would name their files foo.go.scm or foo.scm.scm and then try to load "foo.go" or "foo.scm" and expect the one with an extra .scm to be loaded. I thought a bit whether there might be security implications, like when dropping files into a directory where every user can create files, and someone could maliciously put a foo.scm.scm to take precedence over your foo.scm, but that's already a problem as they could drop in a foo.go, so the solution is not to try to load files from directories you can't trust, like /tmp. The only compatibility issue I can think of: maybe some people put both a file foo and a file foo.scm in the same directory, and expect (load "foo") to *not* try to load the one without an extension. Thoughts? Attached is a patch that would implement the suggestion of trying without an extension first, then with an extension, without checking whether the original filename does or doesn't have an extension. -- Taylan --------------D3815E581937F966DBF60D3E Content-Type: text/plain; charset=UTF-8; name="0001-Make-load-try-to-add-an-extension-to-files-that-alre.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-Make-load-try-to-add-an-extension-to-files-that-alre.pa"; filename*1="tch" RnJvbSAyZWQ4MGY4MzEwMDY4MTVlMzczNzRhNzQyMThhZjQ1NzI3MDMyMjlmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBUYXlsYW4gS2FtbWVyIDx0YXlsYW4ua2FtbWVyQGdt YWlsLmNvbT4KRGF0ZTogTW9uLCAxNyBNYXkgMjAyMSAxOTozMTo0MCArMDIwMApTdWJqZWN0 OiBbUEFUQ0hdIE1ha2UgbG9hZCB0cnkgdG8gYWRkIGFuIGV4dGVuc2lvbiB0byBmaWxlcyB0 aGF0IGFscmVhZHkgaGF2ZQogb25lLgoKKiBsaWJndWlsZS9sb2FkLmMgKGxvYWRfdGh1bmtf ZnJvbV9wYXRoLCBzZWFyY2hfcGF0aCk6IFJlbW92ZSB0aGUgY29kZQp0aGF0IGNoZWNrcyB3 aGV0aGVyIHRoZSBmaWxlbmFtZSBhbHJlYWR5IGhhcyBhbiBleHRlbnNpb24uICBBZGQgdGhl CmVtcHR5IHN0cmluZyB0byB0aGUgaGVhZCBvZiB0aGUgZXh0ZW5zaW9ucyBsaXN0LgotLS0K IGxpYmd1aWxlL2xvYWQuYyB8IDY3ICsrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDYx IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmd1aWxlL2xvYWQuYyBiL2xpYmd1aWxl L2xvYWQuYwppbmRleCBlOTVjMzZkYjEuLjBjMTk4ZjE2NSAxMDA2NDQKLS0tIGEvbGliZ3Vp bGUvbG9hZC5jCisrKyBiL2xpYmd1aWxlL2xvYWQuYwpAQCAtNjQ5LDcgKzY0OSw2IEBAIGxv YWRfdGh1bmtfZnJvbV9wYXRoIChTQ00gZmlsZW5hbWUsIFNDTSBzb3VyY2VfZmlsZV9uYW1l LAogICBzdHJ1Y3Qgc3RyaW5nYnVmIGJ1ZjsKICAgc3RydWN0IHN0YXQgc3RhdF9idWY7CiAg IGNoYXIgKmZpbGVuYW1lX2NoYXJzOwotICBzaXplX3QgZmlsZW5hbWVfbGVuOwogICBTQ00g cGF0aCwgZXh0ZW5zaW9uczsKICAgU0NNIHJlc3VsdCA9IFNDTV9CT09MX0Y7CiAgIGNoYXIg aW5pdGlhbF9idWZmZXJbMjU2XTsKQEAgLTY2Nyw3ICs2NjYsNiBAQCBsb2FkX3RodW5rX2Zy b21fcGF0aCAoU0NNIGZpbGVuYW1lLCBTQ00gc291cmNlX2ZpbGVfbmFtZSwKICAgc2NtX2R5 bndpbmRfYmVnaW4gKDApOwogCiAgIGZpbGVuYW1lX2NoYXJzID0gc2NtX3RvX2xvY2FsZV9z dHJpbmcgKGZpbGVuYW1lKTsKLSAgZmlsZW5hbWVfbGVuID0gc3RybGVuIChmaWxlbmFtZV9j aGFycyk7CiAgIHNjbV9keW53aW5kX2ZyZWUgKGZpbGVuYW1lX2NoYXJzKTsKIAogICAvKiBJ ZiBGSUxFTkFNRSBpcyBhYnNvbHV0ZSBhbmQgaXMgc3RpbGwgdmFsaWQsIHJldHVybiBpdCB1 bmNoYW5nZWQuICAqLwpAQCAtNjgwLDM0ICs2NzgsNiBAQCBsb2FkX3RodW5rX2Zyb21fcGF0 aCAoU0NNIGZpbGVuYW1lLCBTQ00gc291cmNlX2ZpbGVfbmFtZSwKICAgICAgIGdvdG8gZW5k OwogICAgIH0KIAotICAvKiBJZiBGSUxFTkFNRSBoYXMgYW4gZXh0ZW5zaW9uLCBkb24ndCB0 cnkgdG8gYWRkIEVYVEVOU0lPTlMgdG8gaXQuICAqLwotICB7Ci0gICAgY2hhciAqZW5kcDsK LQotICAgIGZvciAoZW5kcCA9IGZpbGVuYW1lX2NoYXJzICsgZmlsZW5hbWVfbGVuIC0gMTsK LQkgZW5kcCA+PSBmaWxlbmFtZV9jaGFyczsKLQkgZW5kcC0tKQotICAgICAgewotCWlmICgq ZW5kcCA9PSAnLicpCi0JICB7Ci0gICAgICAgICAgICBpZiAoIXN0cmluZ19oYXNfYW5fZXh0 IChmaWxlbmFtZSwgZXh0ZW5zaW9ucykpCi0gICAgICAgICAgICAgIHsKLSAgICAgICAgICAg ICAgICAvKiBUaGlzIGZpbGVuYW1lIGhhcyBhbiBleHRlbnNpb24sIGJ1dCBub3Qgb25lIG9m IHRoZSByaWdodAotICAgICAgICAgICAgICAgICAgIG9uZXMuLi4gKi8KLSAgICAgICAgICAg ICAgICBnb3RvIGVuZDsKLSAgICAgICAgICAgICAgfQotCSAgICAvKiBUaGlzIGZpbGVuYW1l IGFscmVhZHkgaGFzIGFuIGV4dGVuc2lvbiwgc28gY2FuY2VsIHRoZQotICAgICAgICAgICAg ICAgbGlzdCBvZiBleHRlbnNpb25zLiAgKi8KLQkgICAgZXh0ZW5zaW9ucyA9IFNDTV9FT0w7 Ci0JICAgIGJyZWFrOwotCSAgfQotCWVsc2UgaWYgKGlzX2ZpbGVfbmFtZV9zZXBhcmF0b3Ig KFNDTV9NQUtFX0NIQVIgKCplbmRwKSkpCi0JICAvKiBUaGlzIGZpbGVuYW1lIGhhcyBubyBl eHRlbnNpb24sIHNvIGtlZXAgdGhlIGN1cnJlbnQgbGlzdAotICAgICAgICAgICAgIG9mIGV4 dGVuc2lvbnMuICAqLwotCSAgYnJlYWs7Ci0gICAgICB9Ci0gIH0KLQogICAvKiBUaGlzIHNp bXBsaWZpZXMgdGhlIGxvb3AgYmVsb3cgYSBiaXQuCiAgICAqLwogICBpZiAoc2NtX2lzX251 bGwgKGV4dGVuc2lvbnMpKQpAQCAtNzM2LDYgKzcwNiw5IEBAIGxvYWRfdGh1bmtfZnJvbV9w YXRoIChTQ00gZmlsZW5hbWUsIFNDTSBzb3VyY2VfZmlsZV9uYW1lLAogICAgICAgc3RyaW5n YnVmX2NhdCAoJmJ1ZiwgZmlsZW5hbWVfY2hhcnMpOwogICAgICAgc2Fuc19leHRfbGVuID0g YnVmLnB0ciAtIGJ1Zi5idWY7CiAKKyAgICAgIC8qIEFkZCB0aGUgZW1wdHkgc3RyaW5nIGFz IHRoZSBmaXJzdCAiZXh0ZW5zaW9uLiIgKi8KKyAgICAgIGV4dGVuc2lvbnMgPSBzY21fY29u cyAoc2NtX251bGxzdHIsIGV4dGVuc2lvbnMpOworCiAgICAgICAvKiBUcnkgZXZlcnkgZXh0 ZW5zaW9uLiAqLwogICAgICAgZm9yIChleHRzID0gZXh0ZW5zaW9uczsgc2NtX2lzX3BhaXIg KGV4dHMpOyBleHRzID0gU0NNX0NEUiAoZXh0cykpCiAJewpAQCAtODA1LDcgKzc3OCw2IEBA IHNlYXJjaF9wYXRoIChTQ00gcGF0aCwgU0NNIGZpbGVuYW1lLCBTQ00gZXh0ZW5zaW9ucywg U0NNIHJlcXVpcmVfZXh0cywKIHsKICAgc3RydWN0IHN0cmluZ2J1ZiBidWY7CiAgIGNoYXIg KmZpbGVuYW1lX2NoYXJzOwotICBzaXplX3QgZmlsZW5hbWVfbGVuOwogICBTQ00gcmVzdWx0 ID0gU0NNX0JPT0xfRjsKICAgY2hhciBpbml0aWFsX2J1ZmZlclsyNTZdOwogCkBAIC04MTks NyArNzkxLDYgQEAgc2VhcmNoX3BhdGggKFNDTSBwYXRoLCBTQ00gZmlsZW5hbWUsIFNDTSBl eHRlbnNpb25zLCBTQ00gcmVxdWlyZV9leHRzLAogICBzY21fZHlud2luZF9iZWdpbiAoMCk7 CiAKICAgZmlsZW5hbWVfY2hhcnMgPSBzY21fdG9fbG9jYWxlX3N0cmluZyAoZmlsZW5hbWUp OwotICBmaWxlbmFtZV9sZW4gPSBzdHJsZW4gKGZpbGVuYW1lX2NoYXJzKTsKICAgc2NtX2R5 bndpbmRfZnJlZSAoZmlsZW5hbWVfY2hhcnMpOwogCiAgIC8qIElmIEZJTEVOQU1FIGlzIGFi c29sdXRlIGFuZCBpcyBzdGlsbCB2YWxpZCwgcmV0dXJuIGl0IHVuY2hhbmdlZC4gICovCkBA IC04MzMsMzUgKzgwNCw2IEBAIHNlYXJjaF9wYXRoIChTQ00gcGF0aCwgU0NNIGZpbGVuYW1l LCBTQ00gZXh0ZW5zaW9ucywgU0NNIHJlcXVpcmVfZXh0cywKICAgICAgIGdvdG8gZW5kOwog ICAgIH0KIAotICAvKiBJZiBGSUxFTkFNRSBoYXMgYW4gZXh0ZW5zaW9uLCBkb24ndCB0cnkg dG8gYWRkIEVYVEVOU0lPTlMgdG8gaXQuICAqLwotICB7Ci0gICAgY2hhciAqZW5kcDsKLQot ICAgIGZvciAoZW5kcCA9IGZpbGVuYW1lX2NoYXJzICsgZmlsZW5hbWVfbGVuIC0gMTsKLQkg ZW5kcCA+PSBmaWxlbmFtZV9jaGFyczsKLQkgZW5kcC0tKQotICAgICAgewotCWlmICgqZW5k cCA9PSAnLicpCi0JICB7Ci0gICAgICAgICAgICBpZiAoc2NtX2lzX3RydWUgKHJlcXVpcmVf ZXh0cykgJiYKLSAgICAgICAgICAgICAgICAhc3RyaW5nX2hhc19hbl9leHQgKGZpbGVuYW1l LCBleHRlbnNpb25zKSkKLSAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIC8qIFRo aXMgZmlsZW5hbWUgaGFzIGFuIGV4dGVuc2lvbiwgYnV0IG5vdCBvbmUgb2YgdGhlIHJpZ2h0 Ci0gICAgICAgICAgICAgICAgICAgb25lcy4uLiAqLwotICAgICAgICAgICAgICAgIGdvdG8g ZW5kOwotICAgICAgICAgICAgICB9Ci0JICAgIC8qIFRoaXMgZmlsZW5hbWUgYWxyZWFkeSBo YXMgYW4gZXh0ZW5zaW9uLCBzbyBjYW5jZWwgdGhlCi0gICAgICAgICAgICAgICBsaXN0IG9m IGV4dGVuc2lvbnMuICAqLwotCSAgICBleHRlbnNpb25zID0gU0NNX0VPTDsKLQkgICAgYnJl YWs7Ci0JICB9Ci0JZWxzZSBpZiAoaXNfZmlsZV9uYW1lX3NlcGFyYXRvciAoU0NNX01BS0Vf Q0hBUiAoKmVuZHApKSkKLQkgIC8qIFRoaXMgZmlsZW5hbWUgaGFzIG5vIGV4dGVuc2lvbiwg c28ga2VlcCB0aGUgY3VycmVudCBsaXN0Ci0gICAgICAgICAgICAgb2YgZXh0ZW5zaW9ucy4g ICovCi0JICBicmVhazsKLSAgICAgIH0KLSAgfQotCiAgIC8qIFRoaXMgc2ltcGxpZmllcyB0 aGUgbG9vcCBiZWxvdyBhIGJpdC4KICAgICovCiAgIGlmIChzY21faXNfbnVsbCAoZXh0ZW5z aW9ucykpCkBAIC04OTAsNiArODMyLDkgQEAgc2VhcmNoX3BhdGggKFNDTSBwYXRoLCBTQ00g ZmlsZW5hbWUsIFNDTSBleHRlbnNpb25zLCBTQ00gcmVxdWlyZV9leHRzLAogICAgICAgc3Ry aW5nYnVmX2NhdCAoJmJ1ZiwgZmlsZW5hbWVfY2hhcnMpOwogICAgICAgc2Fuc19leHRfbGVu ID0gYnVmLnB0ciAtIGJ1Zi5idWY7CiAKKyAgICAgIC8qIEFkZCB0aGUgZW1wdHkgc3RyaW5n IGFzIHRoZSBmaXJzdCAiZXh0ZW5zaW9uLiIgKi8KKyAgICAgIGV4dGVuc2lvbnMgPSBzY21f Y29ucyAoc2NtX251bGxzdHIsIGV4dGVuc2lvbnMpOworCiAgICAgICAvKiBUcnkgZXZlcnkg ZXh0ZW5zaW9uLiAqLwogICAgICAgZm9yIChleHRzID0gZXh0ZW5zaW9uczsgc2NtX2lzX3Bh aXIgKGV4dHMpOyBleHRzID0gU0NNX0NEUiAoZXh0cykpCiAJewotLSAKMi4zMC4yCgo= --------------D3815E581937F966DBF60D3E--
bug-guile@HIDDEN
:bug#18835
; Package guile
.
Full text available.Received: (at 18835) by debbugs.gnu.org; 22 Jun 2016 08:29:04 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jun 22 04:29:04 2016 Received: from localhost ([127.0.0.1]:50324 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1bFdWy-0007a7-1s for submit <at> debbugs.gnu.org; Wed, 22 Jun 2016 04:29:04 -0400 Received: from pb-sasl1.pobox.com ([64.147.108.66]:64629 helo=sasl.smtp.pobox.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <wingo@HIDDEN>) id 1bFdWw-0007Zr-G3 for 18835 <at> debbugs.gnu.org; Wed, 22 Jun 2016 04:29:03 -0400 Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by pb-sasl1.pobox.com (Postfix) with ESMTP id 3FACA19624; Wed, 22 Jun 2016 04:29:00 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=sasl; bh=y+N20NBDjHO5+KzlIF94LTmWWR0=; b=x6zs7u Wdau7DFLRAaC7QAVJi7K4Bhu6b6hK+Sl/bsWlVCtchFX9zQrceCQ3GlcIGQcFHdW MdF2QrnE6gumj5bVOioIggiMpydw6RnsCcN+Yr3bcokwhp2v5mePmwKVMBU2xHYM PzTAZ/tcTFtfZ9cbwn4sAtR3gwgWhHMlGtUAA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; q=dns; s=sasl; b=X1RalOu1UbA/ueXbcbJ3iNPydpa7ATCh /tsSA4ZpXHsMPLddUpcB8CR1t+2uh8tKJOyQH594hXviQyGLwpl4MIEczCoa4dWI XKpM80uch9FuwNMdCU4kjS0JQIzv1jhEAO3reXILzJaHyKGx6Uw17JMH7u+NILdI WZcVfysudz4= Received: from pb-sasl1.nyi.icgroup.com (unknown [127.0.0.1]) by pb-sasl1.pobox.com (Postfix) with ESMTP id 3818E19623; Wed, 22 Jun 2016 04:29:00 -0400 (EDT) Received: from clucks (unknown [88.160.190.192]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by pb-sasl1.pobox.com (Postfix) with ESMTPSA id 5EEB319622; Wed, 22 Jun 2016 04:28:59 -0400 (EDT) From: Andy Wingo <wingo@HIDDEN> To: Geert Janssens <info@HIDDEN> Subject: Re: bug#18835: load-from-path is inconsistent when looking for a compiled version of the source file References: <2787802.8pnN87I00l@HIDDEN> Date: Wed, 22 Jun 2016 10:28:52 +0200 In-Reply-To: <2787802.8pnN87I00l@HIDDEN> (Geert Janssens's message of "Sat, 25 Oct 2014 19:09:09 +0200") Message-ID: <87twgltynv.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Pobox-Relay-ID: 5E4AF098-3853-11E6-8444-C1836462E9F6-02397024!pb-sasl1.pobox.com X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: 18835 Cc: 18835 <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.4 (-) On Sat 25 Oct 2014 19:09, Geert Janssens <info@HIDDEN> writes: > $ guild compile -o test.scm.go ../test.scm > > $ GUILE_LOAD_PATH=$HOME/guile \ > > GUILE_LOAD_COMPILED_PATH=$HOME/guile/ccache \ > > guile -c '(load-from-path "test.scm")' > > => This command will *not* use either of $HOME/guile/ccache/test.go or > $HOME/guile/ccache/test.scm.go. Instead it will autocompile test.scm > into <default-cache-dir>/test.scm.go and use that one. Weird. The logic in load.c is that we only add on .go if the file doesn't already have an extension. If the file has an extension and it's not .go, then we don't grovel in the path at all. I guess this is the wrong thing? I am not sure if we can change this in 2.0 or not. I guess we can. Andy
bug-guile@HIDDEN
:bug#18835
; Package guile
.
Full text available.Received: (at submit) by debbugs.gnu.org; 25 Oct 2014 17:30:18 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Oct 25 13:30:17 2014 Received: from localhost ([127.0.0.1]:35455 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1Xi5AO-0005og-W1 for submit <at> debbugs.gnu.org; Sat, 25 Oct 2014 13:30:17 -0400 Received: from eggs.gnu.org ([208.118.235.92]:38220) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from <info@HIDDEN>) id 1Xi4qZ-0005JC-U7 for submit <at> debbugs.gnu.org; Sat, 25 Oct 2014 13:09:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <info@HIDDEN>) id 1Xi4qK-00044K-Ne for submit <at> debbugs.gnu.org; Sat, 25 Oct 2014 13:09:42 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,HTML_MESSAGE autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:39361) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <info@HIDDEN>) id 1Xi4qK-00044G-LP for submit <at> debbugs.gnu.org; Sat, 25 Oct 2014 13:09:32 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39929) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <info@HIDDEN>) id 1Xi4qD-0008V0-1s for bug-guile@HIDDEN; Sat, 25 Oct 2014 13:09:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <info@HIDDEN>) id 1Xi4q5-00042T-Iv for bug-guile@HIDDEN; Sat, 25 Oct 2014 13:09:25 -0400 Received: from michel.telenet-ops.be ([195.130.137.88]:53947) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <info@HIDDEN>) id 1Xi4q5-00041Q-9X for bug-guile@HIDDEN; Sat, 25 Oct 2014 13:09:17 -0400 Received: from hosting6.kobaltwit.lan ([81.82.192.49]) by michel.telenet-ops.be with bizsmtp id 7V9C1p00P14QHfV06V9ChH; Sat, 25 Oct 2014 19:09:12 +0200 Received: from localhost (localhost [127.0.0.1]) by hosting6.kobaltwit.lan (Postfix) with ESMTP id 7888727589A for <bug-guile@HIDDEN>; Sat, 25 Oct 2014 17:09:12 +0000 (UTC) X-Virus-Scanned: amavisd-new at kobaltwit.lan Received: from hosting6.kobaltwit.lan ([127.0.0.1]) by localhost (hosting6.kobaltwit.lan [127.0.0.1]) (amavisd-new, port 10024) with LMTP id iODpsG7xnK4e for <bug-guile@HIDDEN>; Sat, 25 Oct 2014 19:09:10 +0200 (CEST) Received: from legolas.kobaltwit.lan (legolas.kobaltwit.lan [192.168.93.4]) by hosting6.kobaltwit.lan (Postfix) with ESMTPS id 41340274BA8 for <bug-guile@HIDDEN>; Sat, 25 Oct 2014 19:09:10 +0200 (CEST) From: Geert Janssens <info@HIDDEN> To: bug-guile@HIDDEN Subject: load-from-path is inconsistent when looking for a compiled version of the source file Date: Sat, 25 Oct 2014 19:09:09 +0200 Message-ID: <2787802.8pnN87I00l@HIDDEN> User-Agent: KMail/4.14.1 (Linux/3.16.3-200.fc20.x86_64; KDE/4.14.1; x86_64; ; ) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="nextPart1675530.NTyNcRlumu" Content-Transfer-Encoding: 7Bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Sat, 25 Oct 2014 13:30:14 -0400 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://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: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -5.0 (-----) This is a multi-part message in MIME format. --nextPart1675530.NTyNcRlumu Content-Type: multipart/alternative; boundary="nextPart5320587.iDt9Tjd8NJ" Content-Transfer-Encoding: 7Bit This is a multi-part message in MIME format. --nextPart5320587.iDt9Tjd8NJ Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" $ guile --version guile (GNU Guile) 2.0.11 $ config.guess x86_64-unknown-linux-gnu $ rpm -qa | grep guile compat-guile18-1.8.8-7.fc20.x86_64 guile-debuginfo-2.0.11-1.fc20.x86_64 guile-2.0.11-1.fc20.x86_64 guile-devel-2.0.11-1.fc20.x86_64 These steps illustrate the issue: 1. Download the attached file and save it as $HOME/guile/test.scm Note: this is just an example file printing one line to indicate is has successfully been called. Any other scm file will do to illustrate this bug. 2. Run these commands: $ mkdir -p $HOME/guile/ccache $ cd $HOME/guile/ccache $ guild compile -o test.go ../test.scm $ guild compile -o test.scm.go ../test.scm This will generate two compiled versions of the test file, each with a different extension. Now run these commands and observe what happens: $ cd $HOME/guile $ GUILE_LOAD_PATH=$HOME/guile \ GUILE_LOAD_COMPILED_PATH=$HOME/guile/ccache \ guile -c '(load-from-path "test")' => This command will use the file $HOME/guile/ccache/test.go. That is, no auto-compilation is triggered. $ GUILE_LOAD_PATH=$HOME/guile \ GUILE_LOAD_COMPILED_PATH=$HOME/guile/ccache \ guile -c '(load-from-path "test.scm")' => This command will *not* use either of $HOME/guile/ccache/test.go or $HOME/guile/ccache/test.scm.go. Instead it will autocompile test.scm into <default-cache- dir>/test.scm.go and use that one. So there is no way to have the second command use your self-compiled files. From Andy Wingo's comments on irc, it is expected that the second case would have used the self-compiled $HOME/guile/ccache/test.scm.go. I'm fine with that although using $HOME/guile/ccache/test.go would have made more sense from an outsider's point of view. At least it should be possible to make load-from-path use a self-compiled .go file regardless of whether the argument ends in .scm or not. If more information is needed, feel free to ask. Regards, Geert --nextPart5320587.iDt9Tjd8NJ Content-Transfer-Encoding: 7Bit Content-Type: text/html; charset="us-ascii" <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Monospace'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">$ guile --version</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">guile (GNU Guile) 2.0.11</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">$ config.guess </p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">x86_64-unknown-linux-gnu</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">$ rpm -qa | grep guile</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">compat-guile18-1.8.8-7.fc20.x86_64</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">guile-debuginfo-2.0.11-1.fc20.x86_64</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">guile-2.0.11-1.fc20.x86_64</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">guile-devel-2.0.11-1.fc20.x86_64</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">These steps illustrate the issue:</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">1. Download the attached file and save it as $HOME/guile/test.scm</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Note: this is just an example file printing one line to indicate is has</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">successfully been called. Any other scm file will do to illustrate this bug.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">2. Run these commands:</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">$ mkdir -p $HOME/guile/ccache</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">$ cd $HOME/guile/ccache</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">$ guild compile -o test.go ../test.scm</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">$ guild compile -o test.scm.go ../test.scm</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">This will generate two compiled versions of the test file, each with a different extension.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Now run these commands and observe what happens:</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">$ cd $HOME/guile</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">$ GUILE_LOAD_PATH=$HOME/guile \</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"> GUILE_LOAD_COMPILED_PATH=$HOME/guile/ccache \</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"> guile -c '(load-from-path "test")'</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">=> This command will use the file $HOME/guile/ccache/test.go. That is, no auto-compilation is triggered.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">$ GUILE_LOAD_PATH=$HOME/guile \</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"> GUILE_LOAD_COMPILED_PATH=$HOME/guile/ccache \</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"> guile -c '(load-from-path "test.scm")'</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">=> This command will *not* use either of $HOME/guile/ccache/test.go or $HOME/guile/ccache/test.scm.go. Instead it will autocompile test.scm into <default-cache-dir>/test.scm.go and use that one.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">So there is no way to have the second command use your self-compiled files.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">From Andy Wingo's comments on irc, it is expected that the second case would have used the self-compiled $HOME/guile/ccache/test.scm.go. I'm fine with that although using $HOME/guile/ccache/test.go would have made more sense from an outsider's point of view. At least it should be possible to make load-from-path use a self-compiled .go file regardless of whether the argument ends in .scm or not.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">If more information is needed, feel free to ask.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Regards,</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Geert</p></body></html> --nextPart5320587.iDt9Tjd8NJ-- --nextPart1675530.NTyNcRlumu Content-Disposition: attachment; filename="test.scm" Content-Transfer-Encoding: 7Bit Content-Type: text/x-scheme; charset="UTF-8"; name="test.scm" (display "Testfile is read")(newline) --nextPart1675530.NTyNcRlumu--
Geert Janssens <info@HIDDEN>
:bug-guile@HIDDEN
.
Full text available.bug-guile@HIDDEN
:bug#18835
; Package guile
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.