From unknown Sun Aug 10 16:47:47 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#68579 <68579@debbugs.gnu.org> To: bug#68579 <68579@debbugs.gnu.org> Subject: Status: [PATCH] Support a local repo as URL in treesit-language-source-alist Reply-To: bug#68579 <68579@debbugs.gnu.org> Date: Sun, 10 Aug 2025 23:47:47 +0000 retitle 68579 [PATCH] Support a local repo as URL in treesit-language-sourc= e-alist reassign 68579 emacs submitter 68579 Konstantin Kharlamov severity 68579 wishlist tag 68579 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 19 03:08:30 2024 Received: (at submit) by debbugs.gnu.org; 19 Jan 2024 08:08:30 +0000 Received: from localhost ([127.0.0.1]:57392 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rQjvR-00064n-Hd for submit@debbugs.gnu.org; Fri, 19 Jan 2024 03:08:30 -0500 Received: from lists.gnu.org ([2001:470:142::17]:35366) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rQjvN-00064Y-Ig for submit@debbugs.gnu.org; Fri, 19 Jan 2024 03:08:27 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rQjvB-0006DY-RJ for bug-gnu-emacs@gnu.org; Fri, 19 Jan 2024 03:08:15 -0500 Received: from forward101c.mail.yandex.net ([178.154.239.212]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rQjv7-0005bj-P5 for bug-gnu-emacs@gnu.org; Fri, 19 Jan 2024 03:08:12 -0500 Received: from mail-nwsmtp-smtp-production-main-45.myt.yp-c.yandex.net (mail-nwsmtp-smtp-production-main-45.myt.yp-c.yandex.net [IPv6:2a02:6b8:c12:5205:0:640:3bd4:0]) by forward101c.mail.yandex.net (Yandex) with ESMTP id 13A9860B58 for ; Fri, 19 Jan 2024 11:08:01 +0300 (MSK) Received: by mail-nwsmtp-smtp-production-main-45.myt.yp-c.yandex.net (smtp/Yandex) with ESMTPSA id 08Jor91OfmI0-xAc7MynU; Fri, 19 Jan 2024 11:08:00 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1705651680; bh=X+KQOSylxkPz6fVw3vewg4lJI9POQJ7k/4oS7C9U58w=; h=To:Message-ID:Subject:Date:From; b=Ve/TFnYeG2bPYSyHaoGiuKWmh/aYjzumBWTtaShz4CmLn72Ey0EhBiz2ILOq/5t2y 4lZJc1UyxpiFyL3loeFesA8jaOspB7i4HxxL5MKS6RvDF8Z3zN3eo9+7k9x0y3KBgh drzSwf1mR0t2gOv6dT2+IMbEL21NIM5NZjle85fk= Authentication-Results: mail-nwsmtp-smtp-production-main-45.myt.yp-c.yandex.net; dkim=pass header.i=@yandex.ru Message-ID: <0ffc2f474cf84ed3c63aa82091c967807e5ca0e6.camel@yandex.ru> Subject: [PATCH] Support a local repo as URL in treesit-language-source-alist From: Konstantin Kharlamov To: bug-gnu-emacs@gnu.org Date: Fri, 19 Jan 2024 11:08:00 +0300 Content-Type: multipart/mixed; boundary="=-PoU4MCls5fVRYGocwjOO" User-Agent: Evolution 3.50.3 MIME-Version: 1.0 Received-SPF: pass client-ip=178.154.239.212; envelope-from=Hi-Angel@yandex.ru; helo=forward101c.mail.yandex.net 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, 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, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --=-PoU4MCls5fVRYGocwjOO Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable TL;DR: this just to simplify debugging/rebuilding treesitter grammars, because they are often broken (both the build system and the infamous "unversioning" part) and only Emacs knows what to do with them. So gotta have some way to point Emacs to a local grammar repo. ----------- Long story: I've been recently stumbling upon the infamous "Debug the query with treesit-query-validate" problem, and found that it's not the only problem in that context. The workaround to this problem currently is finding the commit in the offending treesitter-grammar that works and re-building the grammar from it. Well, that "re-building" part of the advice turns out to be very convoluted. Let's take for example typescript=C2=B9. It has no "building" docs, but I guess they are not needed because it's obvious by `Cargo.toml` presence that it's written in Rust, and hence building is just `cargo bulid --release`, right? Well, no. Doing that does not produce the shared libs Emacs expects. Now a user starts reverse- engineering, trying to find what's wrong. At some point they realize that Emacs builds code from the specific directory `tsx/src`, but=E2=80=A6 There's no build system! What do you do with these files=E2=80=A6? Well, th= e answer is that Emacs somehow knows what to do, so now you have to modify `treesit-language-source-alist` to point at the local repo and make Emacs do the job of building the grammar. However, Emacs does not support local paths as part of that grammar. What it does instead is it clones FROM the local path (which is confusing on itself, because everything completes successfully, but it didn't do what you expected it to). So what this patch does is it adds detection of a full path to the treesit-language-source-alist processing to make sure we avoid cloning the repo in that case and just proceed building it. 1: https://github.com/tree-sitter/tree-sitter-typescript --=-PoU4MCls5fVRYGocwjOO Content-Disposition: attachment; filename="1.patch" Content-Type: text/x-patch; name="1.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSBjOWRlNTlhMzk1NjZhNWRmNDZhYTM5ZWY5MzM0ODQ4N2JiMjk0OGFhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBLb25zdGFudGluIEtoYXJsYW1vdiA8SGktQW5nZWxAeWFuZGV4 LnJ1PgpEYXRlOiBGcmksIDE5IEphbiAyMDI0IDEwOjMzOjQ3ICswMzAwClN1YmplY3Q6IFtQQVRD SF0gU3VwcG9ydCBhIGxvY2FsIHJlcG8gYXMgVVJMIGluIHRyZWVzaXQtbGFuZ3VhZ2Utc291cmNl LWFsaXN0CgpTb21ldGltZXMgcGVvcGxlIG1heSBuZWVkIHRvIGJpc2VjdCB0byBmaW5kIHNwZWNp ZmljIHJldmlzaW9uIGluIGEKZ3JhbW1hciByZXBvLiBJbiB0aGlzIGNhc2UgdGhleSdkIHdhbnQg dG8gcG9pbnQgdGhlIFVSTCB0byB0aGUgbG9jYWwKcmVwbyB0byBhdm9pZCBjbG9uaW5nIGl0IG9u IGV2ZXJ5IHJlYnVpbGQuIFNvIGFkZCBzdXBwb3J0IGZvciBmdWxsCnBhdGggaW4gdHJlZXNpdC1s YW5ndWFnZS1zb3VyY2UtYWxpc3QuCgoqIGxpc3AvdHJlZXNpdC5lbCAodHJlZXNpdC0taW5zdGFs bC1sYW5ndWFnZS1ncmFtbWFyLTEpOiB0ZXN0IGlmIFVSTApzdGFydHMgd2l0aCAvIG1lYW5pbmcg dGhhdCB0aGUgVVJMIGlzIGEgbG9jYWwgcGF0aC4gVGhlbiBpZiBpdCBpcywKYXZvaWQgY2xvbmlu ZyB0aGUgcmVwbyBhbmQgcmVtb3ZpbmcgdGhlIHBhdGggb24gc3VjY2Vzcy4KKHRyZWVzaXQtLWdp dC1jbG9uZS1yZXBvKTogZmFjdG9yIG91dCB0aGUgY29kZSBmb3IgY2xvbmluZyB0byBhIHNlcGFy YXRlCmZ1bmN0aW9uLgoodHJlZXNpdC0tZ2l0LWNoZWNrb3V0LWJyYW5jaCk6IGEgaGVscGVyIHRv IGNoZWNrb3V0IHRoZSByZXZpc2lvbiBmb3IKY2FzZXMgd2hlcmUgd2UgZGlkbid0IGNsb25lIHRo ZSByZXBvIGJ1dCB3YW50IGl0IHRvIHBvaW50IHRoZQpyZXZpc2lvbi4KLS0tCiBsaXNwL3RyZWVz aXQuZWwgfCAzOCArKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQogMSBmaWxl IGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2xpc3AvdHJlZXNpdC5lbCBiL2xpc3AvdHJlZXNpdC5lbAppbmRleCBjOGI0NzNjN2JiOC4uMTE2 MzFlNjg3OTMgMTAwNjQ0Ci0tLSBhL2xpc3AvdHJlZXNpdC5lbAorKysgYi9saXNwL3RyZWVzaXQu ZWwKQEAgLTM0MTcsNyArMzQxNyw3IEBAIHRyZWVzaXQtbGFuZ3VhZ2Utc291cmNlLWFsaXN0CiAg ICAgKExBTkcgLiAoVVJMIFJFVklTSU9OIFNPVVJDRS1ESVIgQ0MgQysrKSkKIAogT25seSBMQU5H IGFuZCBVUkwgYXJlIG1hbmRhdG9yeS4gIExBTkcgaXMgdGhlIGxhbmd1YWdlIHN5bWJvbC4KLVVS TCBpcyB0aGUgR2l0IHJlcG9zaXRvcnkgVVJMIGZvciB0aGUgZ3JhbW1hci4KK1VSTCBpcyB0aGUg R2l0IHJlcG9zaXRvcnkgVVJMIG9yIGZ1bGwgcGF0aCBmb3IgdGhlIGdyYW1tYXIuCiAKIFJFVklT SU9OIGlzIHRoZSBHaXQgdGFnIG9yIGJyYW5jaCBvZiB0aGUgZGVzaXJlZCB2ZXJzaW9uLAogZGVm YXVsdGluZyB0byB0aGUgbGF0ZXN0IGRlZmF1bHQgYnJhbmNoLgpAQCAtMzU1MSw2ICszNTUxLDIz IEBAIHRyZWVzaXQtLWNhbGwtcHJvY2Vzcy1zaWduYWwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChidWZmZXItc3RyaW5nKSkpCiAgICAgKGVyYXNlLWJ1ZmZlcikpKQogCisoZGVm dW4gdHJlZXNpdC0tZ2l0LWNoZWNrb3V0LWJyYW5jaCAocmVwby1wYXRoIHJldmlzaW9uKQorICAi Q2hlY2tvdXQgYHJldmlzaW9uJyBpbiBhIHJlcG8gbG9jYXRlZCBpbiBgcmVwby1wYXRoJyIKKyAg KHRyZWVzaXQtLWNhbGwtcHJvY2Vzcy1zaWduYWwKKyAgICJnaXQiIG5pbCB0IG5pbCAiLUMiIHJl cG8tcGF0aCAiY2hlY2tvdXQiIHJldmlzaW9uKSkKKworKGRlZnVuIHRyZWVzaXQtLWdpdC1jbG9u ZS1yZXBvICh1cmwgcmV2aXNpb24gd29ya2RpcikKKyAgIkNsb25lIHJlcG8gcG9pbnRlZCBieSBg dXJsJyBhdCBjb21taXQgYHJldmlzaW9uJyB0byBgd29ya2RpciciCisgIChtZXNzYWdlICJDbG9u aW5nIHJlcG9zaXRvcnkiKQorICA7OyBnaXQgY2xvbmUgeHh4IC0tZGVwdGggMSAtLXF1aWV0IFst YiB5eXldIHdvcmtkaXIKKyAgKGlmIHJldmlzaW9uCisgICAgICAodHJlZXNpdC0tY2FsbC1wcm9j ZXNzLXNpZ25hbAorICAgICAgICJnaXQiIG5pbCB0IG5pbCAiY2xvbmUiIHVybCAiLS1kZXB0aCIg IjEiICItLXF1aWV0IgorICAgICAgICItYiIgcmV2aXNpb24gd29ya2RpcikKKyAgICAodHJlZXNp dC0tY2FsbC1wcm9jZXNzLXNpZ25hbAorICAgICAiZ2l0IiBuaWwgdCBuaWwgImNsb25lIiB1cmwg Ii0tZGVwdGgiICIxIiAiLS1xdWlldCIKKyAgICAgd29ya2RpcikpKQorCiAoZGVmdW4gdHJlZXNp dC0taW5zdGFsbC1sYW5ndWFnZS1ncmFtbWFyLTEKICAgICAob3V0LWRpciBsYW5nIHVybCAmb3B0 aW9uYWwgcmV2aXNpb24gc291cmNlLWRpciBjYyBjKyspCiAgICJJbnN0YWxsIGFuZCBjb21waWxl IGEgdHJlZS1zaXR0ZXIgbGFuZ3VhZ2UgZ3JhbW1hciBsaWJyYXJ5LgpAQCAtMzU2NCw4ICszNTgx LDEwIEBAIHRyZWVzaXQtLWluc3RhbGwtbGFuZ3VhZ2UtZ3JhbW1hci0xCiBgdHJlZXNpdC1sYW5n dWFnZS1zb3VyY2UtYWxpc3QnLiAgSWYgYW55dGhpbmcgZ29lcyB3cm9uZywgdGhpcwogZnVuY3Rp b24gc2lnbmFscyBhbiBlcnJvci4iCiAgIChsZXQqICgobGFuZyAoc3ltYm9sLW5hbWUgbGFuZykp CisgICAgICAgICA7OyBkb24ndCBjbG9uZSBpZiB1cmwgaXMgYSBsb2NhbCBwYXRoCisgICAgICAg ICAodXJsLWlzLXBhdGggKHN0cmluZy1wcmVmaXgtcCAiLyIgdXJsKSkKICAgICAgICAgIChkZWZh dWx0LWRpcmVjdG9yeSAobWFrZS10ZW1wLWZpbGUgInRyZWVzaXQtd29ya2RpciIgdCkpCi0gICAg ICAgICAod29ya2RpciAoZXhwYW5kLWZpbGUtbmFtZSAicmVwbyIpKQorICAgICAgICAgKHdvcmtk aXIgKGlmIHVybC1pcy1wYXRoIHVybCAoZXhwYW5kLWZpbGUtbmFtZSAicmVwbyIpKSkKICAgICAg ICAgIChzb3VyY2UtZGlyIChleHBhbmQtZmlsZS1uYW1lIChvciBzb3VyY2UtZGlyICJzcmMiKSB3 b3JrZGlyKSkKICAgICAgICAgIChjYyAob3IgY2MgKHNlcS1maW5kICMnZXhlY3V0YWJsZS1maW5k ICcoImNjIiAiZ2NjIiAiYzk5IikpCiAgICAgICAgICAgICAgICAgIDs7IElmIG5vIEMgY29tcGls ZXIgZm91bmQsIGp1c3QgdXNlIGNjIGFuZCBsZXQKQEAgLTM1ODAsMTUgKzM1OTksMTAgQEAgdHJl ZXNpdC0taW5zdGFsbC1sYW5ndWFnZS1ncmFtbWFyLTEKICAgICAgICAgIChsaWItbmFtZSAoY29u Y2F0ICJsaWJ0cmVlLXNpdHRlci0iIGxhbmcgc29leHQpKSkKICAgICAodW53aW5kLXByb3RlY3QK ICAgICAgICAgKHdpdGgtdGVtcC1idWZmZXIKLSAgICAgICAgICAobWVzc2FnZSAiQ2xvbmluZyBy ZXBvc2l0b3J5IikKLSAgICAgICAgICA7OyBnaXQgY2xvbmUgeHh4IC0tZGVwdGggMSAtLXF1aWV0 IFstYiB5eXldIHdvcmtkaXIKLSAgICAgICAgICAoaWYgcmV2aXNpb24KLSAgICAgICAgICAgICAg KHRyZWVzaXQtLWNhbGwtcHJvY2Vzcy1zaWduYWwKLSAgICAgICAgICAgICAgICJnaXQiIG5pbCB0 IG5pbCAiY2xvbmUiIHVybCAiLS1kZXB0aCIgIjEiICItLXF1aWV0IgotICAgICAgICAgICAgICAg Ii1iIiByZXZpc2lvbiB3b3JrZGlyKQotICAgICAgICAgICAgKHRyZWVzaXQtLWNhbGwtcHJvY2Vz cy1zaWduYWwKLSAgICAgICAgICAgICAiZ2l0IiBuaWwgdCBuaWwgImNsb25lIiB1cmwgIi0tZGVw dGgiICIxIiAiLS1xdWlldCIKLSAgICAgICAgICAgICB3b3JrZGlyKSkKKyAgICAgICAgICAoaWYg dXJsLWlzLXBhdGgKKyAgICAgICAgICAgICAgKHdoZW4gcmV2aXNpb24KKyAgICAgICAgICAgICAg ICAodHJlZXNpdC0tZ2l0LWNoZWNrb3V0LWJyYW5jaCB1cmwgcmV2aXNpb24pKQorICAgICAgICAg ICAgKHRyZWVzaXQtLWdpdC1jbG9uZS1yZXBvIHVybCByZXZpc2lvbiB3b3JrZGlyKSkKICAgICAg ICAgICA7OyBXZSBuZWVkIHRvIGdvIGludG8gdGhlIHNvdXJjZSBkaXJlY3RvcnkgYmVjYXVzZSBz b21lCiAgICAgICAgICAgOzsgaGVhZGVyIGZpbGVzIHVzZSByZWxhdGl2ZSBwYXRoICgjaW5jbHVk ZSAiLi4veHh4IikuCiAgICAgICAgICAgOzsgY2QgIiR7c291cmNlZGlyfSIKQEAgLTM2MzUsNyAr MzY0OSw3IEBAIHRyZWVzaXQtLWluc3RhbGwtbGFuZ3VhZ2UtZ3JhbW1hci0xCiAgICAgICAgICAg ICA7OyBJZ25vcmUgZXJyb3JzLCBpbiBjYXNlIHRoZSBvbGQgdmVyc2lvbiBpcyBzdGlsbCB1c2Vk LgogICAgICAgICAgICAgKGlnbm9yZS1lcnJvcnMgKGRlbGV0ZS1maWxlIG9sZC1mbmFtZSkpKQog ICAgICAgICAgIChtZXNzYWdlICJMaWJyYXJ5IGluc3RhbGxlZCB0byAlcy8lcyIgb3V0LWRpciBs aWItbmFtZSkpCi0gICAgICAod2hlbiAoZmlsZS1leGlzdHMtcCB3b3JrZGlyKQorICAgICAgKHdo ZW4gKGFuZCAobm90IHVybC1pcy1wYXRoKSAoZmlsZS1leGlzdHMtcCB3b3JrZGlyKSkKICAgICAg ICAgKGRlbGV0ZS1kaXJlY3Rvcnkgd29ya2RpciB0KSkpKSkKIAogOzs7IEV0YwotLSAKMi40My4w Cgo= --=-PoU4MCls5fVRYGocwjOO-- From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 19 03:33:58 2024 Received: (at 68579) by debbugs.gnu.org; 19 Jan 2024 08:33:58 +0000 Received: from localhost ([127.0.0.1]:57445 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rQkK6-0003fk-3g for submit@debbugs.gnu.org; Fri, 19 Jan 2024 03:33:58 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:38472) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rQkK4-0003fV-N3 for 68579@debbugs.gnu.org; Fri, 19 Jan 2024 03:33:57 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rQkJx-00032Y-3k; Fri, 19 Jan 2024 03:33:49 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=AalonTr1ksMzgLpvhShB8vpMP5Q58DyXqaqQ5M7R6wU=; b=LfLqi2Jzf3E9NTFe92C8 nXfp+iJRyZ6ui/+HFNG5yy6kz47w+8V1eFBXINDn7adI2tdWzRAY9SrYsuiFwIQY3iL4Prxw9mlyf xgtJi7yVHWeWn6N7plefAEjlIt1bkUpgcwXYTwXpI8gX/mAJaZ9kFh+Z7ggnaKsrqiIGZrn/3Si+H OtVOOPoN2mm/tQXkMGiwgJ1x+wdKYKYojgYcTQ/hvCdWu0GLJaZZiMz3VyBo7Jh5nOraC5ZgWzPPV orjG/1L/EATLVXI9uxHVTcWe+MBEkdEc0P4gmBd0UmWArV54r8SKdhgXoktrqeBu7HRf0KUK2oaQh MO8yAmCmupTqJQ==; Date: Fri, 19 Jan 2024 10:33:45 +0200 Message-Id: <83frytwwly.fsf@gnu.org> From: Eli Zaretskii To: Konstantin Kharlamov , Yuan Fu In-Reply-To: <0ffc2f474cf84ed3c63aa82091c967807e5ca0e6.camel@yandex.ru> (message from Konstantin Kharlamov on Fri, 19 Jan 2024 11:08:00 +0300) Subject: Re: bug#68579: [PATCH] Support a local repo as URL in treesit-language-source-alist References: <0ffc2f474cf84ed3c63aa82091c967807e5ca0e6.camel@yandex.ru> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 68579 Cc: 68579@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Konstantin Kharlamov > Date: Fri, 19 Jan 2024 11:08:00 +0300 > > So what this patch does is it adds detection of a full path to the > treesit-language-source-alist processing to make sure we avoid cloning > the repo in that case and just proceed building it. Thanks. Some comments below, and I added Yuan to the discussion. > From c9de59a39566a5df46aa39ef93348487bb2948aa Mon Sep 17 00:00:00 2001 > From: Konstantin Kharlamov > Date: Fri, 19 Jan 2024 10:33:47 +0300 > Subject: [PATCH] Support a local repo as URL in treesit-language-source-alist > > Sometimes people may need to bisect to find specific revision in a > grammar repo. In this case they'd want to point the URL to the local > repo to avoid cloning it on every rebuild. So add support for full > path in treesit-language-source-alist. > > * lisp/treesit.el (treesit--install-language-grammar-1): test if URL > starts with / meaning that the URL is a local path. Then if it is, > avoid cloning the repo and removing the path on success. > (treesit--git-clone-repo): factor out the code for cloning to a separate > function. > (treesit--git-checkout-branch): a helper to checkout the revision for > cases where we didn't clone the repo but want it to point the > revision. These descriptions should be full sentences: start with a capital letter and end in a period. Also, please leave two spaces between sentences. > Only LANG and URL are mandatory. LANG is the language symbol. > -URL is the Git repository URL for the grammar. > +URL is the Git repository URL or full path for the grammar. GNU Coding Standards frown on using "path" for anything but PATH-style directory lists. In this case, you mean "directory name". > +(defun treesit--git-checkout-branch (repo-path revision) > + "Checkout `revision' in a repo located in `repo-path'" References to arguments in doc strings should be capitalized and not quoted: REVISION and REPO-PATH (which should be renamed to REPO-DIR). > +(defun treesit--git-clone-repo (url revision workdir) > + "Clone repo pointed by `url' at commit `revision' to `workdir'" Likewise. Also, please document in the doc string what happens if REVISION is nil. > + ;; don't clone if url is a local path Comments should be complete sentences: begin with a capital letter and end with a period. > + (url-is-path (string-prefix-p "/" url)) "Path" used wrongly again. Also, the string-prefix-p test is too naïve and unportable. I think file-name-absolute-p is a better test (assuming we expect an absolute file name there), perhaps also augmented by file-accessible-directory-p. > - (workdir (expand-file-name "repo")) > + (workdir (if url-is-path url (expand-file-name "repo"))) Not sure about this hunk: why do we not need to expand-file-name if URL is not a local directory but a real URL? > + (if url-is-path > + (when revision > + (treesit--git-checkout-branch url revision)) Isn't the above equivalent to (and url-is-path revision (treesit--git-checkout-branch url revision)) ? > - (when (file-exists-p workdir) > + (when (and (not url-is-path) (file-exists-p workdir)) > (delete-directory workdir t))))) Why? Does workdir have different semantics in these two use cases? Isn't it the directory where we cloned the repository? Finally, this needs a NEWS entry. From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 19 03:58:01 2024 Received: (at 68579) by debbugs.gnu.org; 19 Jan 2024 08:58:01 +0000 Received: from localhost ([127.0.0.1]:57478 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rQkhM-00074M-Sd for submit@debbugs.gnu.org; Fri, 19 Jan 2024 03:58:01 -0500 Received: from forward502b.mail.yandex.net ([2a02:6b8:c02:900:1:45:d181:d502]:40210) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rQkhK-000747-7R for 68579@debbugs.gnu.org; Fri, 19 Jan 2024 03:57:59 -0500 Received: from mail-nwsmtp-smtp-production-main-92.myt.yp-c.yandex.net (mail-nwsmtp-smtp-production-main-92.myt.yp-c.yandex.net [IPv6:2a02:6b8:c12:2a0c:0:640:2804:0]) by forward502b.mail.yandex.net (Yandex) with ESMTP id D9A8F5EEFC; Fri, 19 Jan 2024 11:57:49 +0300 (MSK) Received: by mail-nwsmtp-smtp-production-main-92.myt.yp-c.yandex.net (smtp/Yandex) with ESMTPSA id mvJMsT1Ooa60-mdiFyTjf; Fri, 19 Jan 2024 11:57:49 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1705654669; bh=+/y+nv6hr0gJImXg7gyNGoGohtHeKu0LCZtU5prrC9s=; h=In-Reply-To:Cc:References:To:From:Date:Subject:Message-ID; b=f8vplkWY7JjUuVrBEMGZ39ODy0sJLNfRbdWyUtXqXVi6+8ccwGRn8Ng7YxgvSYAiA +LRWSV1WAZELk68t3YMRxKy/2YigdAyqbR7r4J8w07zHJEG3RdeI9Dmhx0s0eL0iEb DjakhR8jY6FhH3XGxWszFwKND79PjyF9zRFzu5VE= Authentication-Results: mail-nwsmtp-smtp-production-main-92.myt.yp-c.yandex.net; dkim=pass header.i=@yandex.ru Message-ID: <7010aa960be524d13f4dd96a1c7ea9102b580adf.camel@yandex.ru> Subject: Re: bug#68579: [PATCH] Support a local repo as URL in treesit-language-source-alist From: Konstantin Kharlamov To: Eli Zaretskii , Yuan Fu Date: Fri, 19 Jan 2024 11:57:48 +0300 In-Reply-To: <83frytwwly.fsf@gnu.org> References: <0ffc2f474cf84ed3c63aa82091c967807e5ca0e6.camel@yandex.ru> <83frytwwly.fsf@gnu.org> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.50.3 MIME-Version: 1.0 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 68579 Cc: 68579@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Fri, 2024-01-19 at 10:33 +0200, Eli Zaretskii wrote: [=E2=80=A6] Thank you! >=20 > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (url-is-path (string-= prefix-p "/" url)) >=20 > "Path" used wrongly again.=C2=A0 Also, the string-prefix-p test is too > na=C3=AFve and unportable.=C2=A0 I think file-name-absolute-p is a better= test > (assuming we expect an absolute file name there), perhaps also > augmented by file-accessible-directory-p. I would presume if the directory inaccessible some later commands such as `git checkout` will fail anyway, so no point in adding the `file- accessible-directory-p` check on Emacs side=E2=80=A6? > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (workdir (expand-file= -name "repo")) > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (workdir (if url-is-p= ath url (expand-file-name "repo"))) >=20 > Not sure about this hunk: why do we not need to expand-file-name if > URL is not a local directory but a real URL? Idk, that was there =F0=9F=98=85 But yeah, I can remove if it's not needed.= I presume if it's really needed, there needs to be an explanation comment > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (if url-is-path > > +=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 (when revision > > +=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 (treesit--git-checkout-branch url revision)) >=20 > Isn't the above equivalent to >=20 > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 = (and url-is-path revision > =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=A0=C2=A0 (treesit--git-checkout-branch url revision)) >=20 > ? Good point! > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (when (file-exists-p workdir) > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (when (and (not url-is-path) (file-exis= ts-p workdir)) > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (delete-directory work= dir t))))) >=20 > Why?=C2=A0 Does workdir have different semantics in these two use cases? > Isn't it the directory where we cloned the repository? When an absolute path is passed as URL, that means the user have cloned the repo, not us. So we do not want to remove the directory. This is a different semantics from the case where we created a temporary clone ourselves, and want to get rid of the temporary directory after everything is done. I can add a comment explaining that there From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 19 06:47:11 2024 Received: (at 68579) by debbugs.gnu.org; 19 Jan 2024 11:47:11 +0000 Received: from localhost ([127.0.0.1]:57661 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rQnL4-0001sJ-If for submit@debbugs.gnu.org; Fri, 19 Jan 2024 06:47:10 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:47538) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rQnL1-0001np-S5 for 68579@debbugs.gnu.org; Fri, 19 Jan 2024 06:47:09 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rQnKs-0006ce-P8; Fri, 19 Jan 2024 06:46:58 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=p1TK6IoRzZVFcndyquF+EszxMqKorjMl3tqylPgihS8=; b=cjxhU7UmTExOf96YjemM 5JkXSgjuy+WUEVUFejVuxEhMrgz4rPdvRS6f67pn0WmZkoTrI4U43OuspIa6LS8W9kKYEWqMdNwD0 332cB8ppXAjlyAuJJf4yGTt9TDcFsltf8PNMXhhYkHLwBmPDdqZyFauL8C+8wbHOsADJ+xNptFmLF iKKWfXwEB07NnpiE3g3qXlt5KmmSa2uat0aRsrd1+07H45tOkMXFW8QXe3ZOEbLFSvewJUeyTFy7y Nm5t7d+qx4GUILQxV8MLj2OIs4TIUrfuacMh3XqvNoR4+FeOEDuCEijXoj5iOG0goRz4R5OBltOeR 53PaDduA+594aQ==; Date: Fri, 19 Jan 2024 13:46:54 +0200 Message-Id: <83ededwno1.fsf@gnu.org> From: Eli Zaretskii To: Konstantin Kharlamov In-Reply-To: <7010aa960be524d13f4dd96a1c7ea9102b580adf.camel@yandex.ru> (message from Konstantin Kharlamov on Fri, 19 Jan 2024 11:57:48 +0300) Subject: Re: bug#68579: [PATCH] Support a local repo as URL in treesit-language-source-alist References: <0ffc2f474cf84ed3c63aa82091c967807e5ca0e6.camel@yandex.ru> <83frytwwly.fsf@gnu.org> <7010aa960be524d13f4dd96a1c7ea9102b580adf.camel@yandex.ru> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 68579 Cc: casouri@gmail.com, 68579@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Konstantin Kharlamov > Cc: 68579@debbugs.gnu.org > Date: Fri, 19 Jan 2024 11:57:48 +0300 > > On Fri, 2024-01-19 at 10:33 +0200, Eli Zaretskii wrote: > […] > > Thank you! > > > > > > +         (url-is-path (string-prefix-p "/" url)) > > > > "Path" used wrongly again.  Also, the string-prefix-p test is too > > naïve and unportable.  I think file-name-absolute-p is a better test > > (assuming we expect an absolute file name there), perhaps also > > augmented by file-accessible-directory-p. > > I would presume if the directory inaccessible some later commands such > as `git checkout` will fail anyway, so no point in adding the `file- > accessible-directory-p` check on Emacs side…? I'm talking about distinguishing between a URL and a local file name. Are we guaranteed to get an absolute file name there? If not, how do you know that something like "http://foo.bar" cannot be a local file name? > > > -         (workdir (expand-file-name "repo")) > > > +         (workdir (if url-is-path url (expand-file-name "repo"))) > > > > Not sure about this hunk: why do we not need to expand-file-name if > > URL is not a local directory but a real URL? > > Idk, that was there 😅 The expand-file-name was there, yes. But why do you think we should avoid calling expand-file-name if URL is a local file name? > > > -      (when (file-exists-p workdir) > > > +      (when (and (not url-is-path) (file-exists-p workdir)) > > >          (delete-directory workdir t))))) > > > > Why?  Does workdir have different semantics in these two use cases? > > Isn't it the directory where we cloned the repository? > > When an absolute path is passed as URL, that means the user have cloned > the repo, not us. But you still clone from it into workdir, no? treesit--git-clone-repo invokes "git clone" in both cases, according to my reading of the patch. From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 19 09:33:14 2024 Received: (at 68579) by debbugs.gnu.org; 19 Jan 2024 14:33:14 +0000 Received: from localhost ([127.0.0.1]:57953 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rQpvm-0002TM-50 for submit@debbugs.gnu.org; Fri, 19 Jan 2024 09:33:14 -0500 Received: from forward500a.mail.yandex.net ([2a02:6b8:c0e:500:1:45:d181:d500]:58320) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rQpvk-0002T8-Uz for 68579@debbugs.gnu.org; Fri, 19 Jan 2024 09:33:13 -0500 Received: from mail-nwsmtp-smtp-production-main-68.vla.yp-c.yandex.net (mail-nwsmtp-smtp-production-main-68.vla.yp-c.yandex.net [IPv6:2a02:6b8:c0d:1f80:0:640:8386:0]) by forward500a.mail.yandex.net (Yandex) with ESMTP id 4ADD16116A; Fri, 19 Jan 2024 17:33:04 +0300 (MSK) Received: by mail-nwsmtp-smtp-production-main-68.vla.yp-c.yandex.net (smtp/Yandex) with ESMTPSA id 3XPY3P5OpOs0-xw3rdzt2; Fri, 19 Jan 2024 17:33:03 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1705674783; bh=zZTUWnPa+OlzvBAdqFoz3gMvKYx0CobZMcoBoV4uU0c=; h=In-Reply-To:Cc:References:To:From:Date:Subject:Message-ID; b=fJHO6b+uIQZqORpOv7pycKu1pO8sMtDsgz34QDJnuZDND0iC0c2danWifJKvfTigK 5aFLpNUnjrmgmub4o/HM89mv5j9zkNMSS98S5dxNr2LXaf/7kkr7dS9yKUnVYppTlP j6ygYUuH1GCwWN3y+yOVkbT22n3eedS0bxTSxF/A= Authentication-Results: mail-nwsmtp-smtp-production-main-68.vla.yp-c.yandex.net; dkim=pass header.i=@yandex.ru Message-ID: <79692782ee323c59388fac26d39dc70aeb525284.camel@yandex.ru> Subject: Re: bug#68579: [PATCH] Support a local repo as URL in treesit-language-source-alist From: Konstantin Kharlamov To: Eli Zaretskii Date: Fri, 19 Jan 2024 17:33:03 +0300 In-Reply-To: <83ededwno1.fsf@gnu.org> References: <0ffc2f474cf84ed3c63aa82091c967807e5ca0e6.camel@yandex.ru> <83frytwwly.fsf@gnu.org> <7010aa960be524d13f4dd96a1c7ea9102b580adf.camel@yandex.ru> <83ededwno1.fsf@gnu.org> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.50.3 MIME-Version: 1.0 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 68579 Cc: casouri@gmail.com, 68579@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Fri, 2024-01-19 at 13:46 +0200, Eli Zaretskii wrote: > > From: Konstantin Kharlamov > > Cc: 68579@debbugs.gnu.org > > Date: Fri, 19 Jan 2024 11:57:48 +0300 > >=20 > > On Fri, 2024-01-19 at 10:33 +0200, Eli Zaretskii wrote: > > [=E2=80=A6] > >=20 > > Thank you! > >=20 > > >=20 > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (url-is-path (str= ing-prefix-p "/" url)) > > >=20 > > > "Path" used wrongly again.=C2=A0 Also, the string-prefix-p test is to= o > > > na=C3=AFve and unportable.=C2=A0 I think file-name-absolute-p is a be= tter > > > test > > > (assuming we expect an absolute file name there), perhaps also > > > augmented by file-accessible-directory-p. > >=20 > > I would presume if the directory inaccessible some later commands > > such > > as `git checkout` will fail anyway, so no point in adding the > > `file- > > accessible-directory-p` check on Emacs side=E2=80=A6? >=20 > I'm talking about distinguishing between a URL and a local file name. > Are we guaranteed to get an absolute file name there?=C2=A0 If not, how d= o > you know that something like "http://foo.bar" cannot be a local file > name? Ah, gotcha! > > > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (workdir (expand-= file-name "repo")) > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (workdir (if url-= is-path url (expand-file-name > > > > "repo"))) > > >=20 > > > Not sure about this hunk: why do we not need to expand-file-name > > > if > > > URL is not a local directory but a real URL? > >=20 > > Idk, that was there =F0=9F=98=85 >=20 > The expand-file-name was there, yes.=C2=A0 But why do you think we should > avoid calling expand-file-name if URL is a local file name? Ah, sorry, I got that reversed. Yeah, it makes sense calling that for a local filename. I was wondering why was it there for a URL, which is partially why I read you wrong. > > > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (when (file-exists-p workdir) > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (when (and (not url-is-path) (file-= exists-p workdir)) > > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (delete-directory = workdir t))))) > > >=20 > > > Why?=C2=A0 Does workdir have different semantics in these two use > > > cases? > > > Isn't it the directory where we cloned the repository? > >=20 > > When an absolute path is passed as URL, that means the user have > > cloned > > the repo, not us. >=20 > But you still clone from it into workdir, no?=C2=A0 treesit--git-clone- > repo > invokes "git clone" in both cases, according to my reading of the > patch. No, the `treesit--git-clone-repo` is located on the "else" branch of the `(if url-is-path`. That is, we do not call it when it's a local path From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 19 10:06:46 2024 Received: (at 68579) by debbugs.gnu.org; 19 Jan 2024 15:06:46 +0000 Received: from localhost ([127.0.0.1]:59942 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rQqSE-0000s7-Ck for submit@debbugs.gnu.org; Fri, 19 Jan 2024 10:06:46 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:60252) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rQqSB-0000rD-Sj for 68579@debbugs.gnu.org; Fri, 19 Jan 2024 10:06:44 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rQqS0-0007ZQ-7j; Fri, 19 Jan 2024 10:06:35 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=DYAW5qsLwfp1Tgi9oHYeW2juq22sjFCKG+pZCvgO+jE=; b=hdbG5S+cqC5l3LqW0Bz8 qtkPN+ALV64yBG20jINaUuWVCi2eXUSFMkpkRf4qneQLAQBCqWECIYXu8ozHc8y1M5anu78UhTtEx ioLn+pJYnLqrWEJJsFWmHUwrQbiOOUrajkbOhHR8xDtPA9cfawyx68cUUERqoc7XYoUS9qVSA/Ahu DBKQDbt6+xCl6HDqw8jbyKKFdhShQ9onQtgLZSs8Y+hYSzv3r+obPwaVFpbfmTWr8SVYtpjj+by/I Yt8S3wuMP4UP2CfBH2LU/2ZTLY3ghkyUWCPKT4YoVuWGZvWlBL5P1eTouWBNHX68hrbzTnnXue6Mh SFJJP/g4mA579g==; Date: Fri, 19 Jan 2024 17:06:15 +0200 Message-Id: <83r0iduzvc.fsf@gnu.org> From: Eli Zaretskii To: Konstantin Kharlamov In-Reply-To: <79692782ee323c59388fac26d39dc70aeb525284.camel@yandex.ru> (message from Konstantin Kharlamov on Fri, 19 Jan 2024 17:33:03 +0300) Subject: Re: bug#68579: [PATCH] Support a local repo as URL in treesit-language-source-alist References: <0ffc2f474cf84ed3c63aa82091c967807e5ca0e6.camel@yandex.ru> <83frytwwly.fsf@gnu.org> <7010aa960be524d13f4dd96a1c7ea9102b580adf.camel@yandex.ru> <83ededwno1.fsf@gnu.org> <79692782ee323c59388fac26d39dc70aeb525284.camel@yandex.ru> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 68579 Cc: casouri@gmail.com, 68579@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Konstantin Kharlamov > Cc: casouri@gmail.com, 68579@debbugs.gnu.org > Date: Fri, 19 Jan 2024 17:33:03 +0300 > > > > > > -      (when (file-exists-p workdir) > > > > > +      (when (and (not url-is-path) (file-exists-p workdir)) > > > > >          (delete-directory workdir t))))) > > > > > > > > Why?  Does workdir have different semantics in these two use > > > > cases? > > > > Isn't it the directory where we cloned the repository? > > > > > > When an absolute path is passed as URL, that means the user have > > > cloned > > > the repo, not us. > > > > But you still clone from it into workdir, no?  treesit--git-clone- > > repo > > invokes "git clone" in both cases, according to my reading of the > > patch. > > No, the `treesit--git-clone-repo` is located on the "else" branch of > the `(if url-is-path`. That is, we do not call it when it's a local > path Then this assumes some kind of workflow, doesn't it? The user must first clone the repository, either via treesit.el or manually, and then they can use this new feature, right? So I guess we should document this workflow somewhere? From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 19 11:07:09 2024 Received: (at 68579) by debbugs.gnu.org; 19 Jan 2024 16:07:09 +0000 Received: from localhost ([127.0.0.1]:60003 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rQrOf-0004sh-5t for submit@debbugs.gnu.org; Fri, 19 Jan 2024 11:07:09 -0500 Received: from forward501b.mail.yandex.net ([178.154.239.145]:59384) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rQrOb-0004rw-Uj for 68579@debbugs.gnu.org; Fri, 19 Jan 2024 11:07:07 -0500 Received: from mail-nwsmtp-smtp-production-main-45.myt.yp-c.yandex.net (mail-nwsmtp-smtp-production-main-45.myt.yp-c.yandex.net [IPv6:2a02:6b8:c12:5205:0:640:3bd4:0]) by forward501b.mail.yandex.net (Yandex) with ESMTP id 3F2F7609B6; Fri, 19 Jan 2024 19:07:01 +0300 (MSK) Received: by mail-nwsmtp-smtp-production-main-45.myt.yp-c.yandex.net (smtp/Yandex) with ESMTPSA id x6RSoL6OnSw0-OpXFsaP3; Fri, 19 Jan 2024 19:07:00 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1705680420; bh=GIglIlSJVeNI9FRnBjkUGC6/SdEjfDr9vCsW/UqPcZU=; h=In-Reply-To:Cc:References:To:From:Date:Subject:Message-ID; b=lxYrhm4iwHBmqZknXJpPah7881MAl0joZuePBtZ4XJ1zHfkK+4FLTSSp9HnXcZbJi ZhvYmwJgh4GZg/CEbmd5oOGcBFz61uHhaDLx55e37ZY0oclKY5vZGQfobAndSi9Tj9 /CZ0JULMuxppmAoPrCjGc7Or+mz9XghyIUyaVCQE= Authentication-Results: mail-nwsmtp-smtp-production-main-45.myt.yp-c.yandex.net; dkim=pass header.i=@yandex.ru Message-ID: <4b9f254dcba00812e8f6002d82cd7ebb0a29c45e.camel@yandex.ru> Subject: Re: bug#68579: [PATCH] Support a local repo as URL in treesit-language-source-alist From: Konstantin Kharlamov To: Eli Zaretskii Date: Fri, 19 Jan 2024 19:06:59 +0300 In-Reply-To: <83r0iduzvc.fsf@gnu.org> References: <0ffc2f474cf84ed3c63aa82091c967807e5ca0e6.camel@yandex.ru> <83frytwwly.fsf@gnu.org> <7010aa960be524d13f4dd96a1c7ea9102b580adf.camel@yandex.ru> <83ededwno1.fsf@gnu.org> <79692782ee323c59388fac26d39dc70aeb525284.camel@yandex.ru> <83r0iduzvc.fsf@gnu.org> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.50.3 MIME-Version: 1.0 X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 68579 Cc: casouri@gmail.com, 68579@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On Fri, 2024-01-19 at 17:06 +0200, Eli Zaretskii wrote: > > From: Konstantin Kharlamov > > Cc: casouri@gmail.com, 68579@debbugs.gnu.org > > Date: Fri, 19 Jan 2024 17:33:03 +0300 > >=20 > > > > > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (when (file-exists-p workdir) > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (when (and (not url-is-path) (f= ile-exists-p > > > > > > workdir)) > > > > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (delete-direct= ory workdir t))))) > > > > >=20 > > > > > Why?=C2=A0 Does workdir have different semantics in these two use > > > > > cases? > > > > > Isn't it the directory where we cloned the repository? > > > >=20 > > > > When an absolute path is passed as URL, that means the user > > > > have > > > > cloned > > > > the repo, not us. > > >=20 > > > But you still clone from it into workdir, no?=C2=A0 treesit--git- > > > clone- > > > repo > > > invokes "git clone" in both cases, according to my reading of the > > > patch. > >=20 > > No, the `treesit--git-clone-repo` is located on the "else" branch > > of > > the `(if url-is-path`. That is, we do not call it when it's a local > > path >=20 > Then this assumes some kind of workflow, doesn't it?=C2=A0 The user must > first clone the repository, either via treesit.el or manually, and > then they can use this new feature, right?=C2=A0 So I guess we should > document this workflow somewhere? Well, I can add some docs if you want, but the workflow per se seems obvious to me: you have a function that accepts a local path to repo and builds from it. You'd never want someone to delete your repo just because you asked that someone to compile sources in the repo, because you might have some local commits in there. Removing it would be a completely surprising side-effect. OTOH, when you pass a URL to the same function, you ask "pls build from the sources, I don't care how", so the function clones it to a temporary dir. It may or may not remove the dir, it's doesn't matter that much. But the temporary directory becomes a junk after the build completed, so why not remove it as well. To me personally these two workflows is something that immediately comes to mind when I see that the parameter is a URL or a local path. From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 19 11:26:15 2024 Received: (at 68579) by debbugs.gnu.org; 19 Jan 2024 16:26:15 +0000 Received: from localhost ([127.0.0.1]:60023 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rQrh9-00086l-6Y for submit@debbugs.gnu.org; Fri, 19 Jan 2024 11:26:15 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50998) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rQrh6-00086U-Pq for 68579@debbugs.gnu.org; Fri, 19 Jan 2024 11:26:13 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rQrgy-0007oU-CN; Fri, 19 Jan 2024 11:26:04 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=DhTUyCLPmVK77yBPLmxKYDvLICyyph9KbamL/1P3yM0=; b=bhg+SMERrNFQcgFyDxh5 QUEHW4oONXUSDctv2W7r/fcuEMttfrXyl+vmgyYNbjhdNJybz+Q8SEkQeDl6+blmlOglDmZ+MXldO YZ0sPoj2OIKtGB5H/PVD8xXkLyM06LtYFpDCh67zeoOik3fBkzdTskqSd6u0wVbl3R/uyzjQEWuai NbUEbqvImKlR1UARZkvJwa/Kf6X9uZdz85VvTGyolqCiZ18oPwZyZAXnB6rg/S/ltIXuPl32jSIUA 6bNDR41rwxsjyioliLUVsmj7SX4HVB4TJUFXX99g/uvbGZd/H/dVl3ZH6z5SeF/km6AywC/x7pbq0 U8Cn3FLExvMlOw==; Date: Fri, 19 Jan 2024 18:26:00 +0200 Message-Id: <83jzo5uw6f.fsf@gnu.org> From: Eli Zaretskii To: Konstantin Kharlamov In-Reply-To: <4b9f254dcba00812e8f6002d82cd7ebb0a29c45e.camel@yandex.ru> (message from Konstantin Kharlamov on Fri, 19 Jan 2024 19:06:59 +0300) Subject: Re: bug#68579: [PATCH] Support a local repo as URL in treesit-language-source-alist References: <0ffc2f474cf84ed3c63aa82091c967807e5ca0e6.camel@yandex.ru> <83frytwwly.fsf@gnu.org> <7010aa960be524d13f4dd96a1c7ea9102b580adf.camel@yandex.ru> <83ededwno1.fsf@gnu.org> <79692782ee323c59388fac26d39dc70aeb525284.camel@yandex.ru> <83r0iduzvc.fsf@gnu.org> <4b9f254dcba00812e8f6002d82cd7ebb0a29c45e.camel@yandex.ru> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 68579 Cc: casouri@gmail.com, 68579@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Konstantin Kharlamov > Cc: casouri@gmail.com, 68579@debbugs.gnu.org > Date: Fri, 19 Jan 2024 19:06:59 +0300 > > On Fri, 2024-01-19 at 17:06 +0200, Eli Zaretskii wrote: > > > From: Konstantin Kharlamov > > > Cc: casouri@gmail.com, 68579@debbugs.gnu.org > > > Date: Fri, 19 Jan 2024 17:33:03 +0300 > > > > > > > > > > -      (when (file-exists-p workdir) > > > > > > > +      (when (and (not url-is-path) (file-exists-p > > > > > > > workdir)) > > > > > > >          (delete-directory workdir t))))) > > > > > > > > > > > > Why?  Does workdir have different semantics in these two use > > > > > > cases? > > > > > > Isn't it the directory where we cloned the repository? > > > > > > > > > > When an absolute path is passed as URL, that means the user > > > > > have > > > > > cloned > > > > > the repo, not us. > > > > > > > > But you still clone from it into workdir, no?  treesit--git- > > > > clone- > > > > repo > > > > invokes "git clone" in both cases, according to my reading of the > > > > patch. > > > > > > No, the `treesit--git-clone-repo` is located on the "else" branch > > > of > > > the `(if url-is-path`. That is, we do not call it when it's a local > > > path > > > > Then this assumes some kind of workflow, doesn't it?  The user must > > first clone the repository, either via treesit.el or manually, and > > then they can use this new feature, right?  So I guess we should > > document this workflow somewhere? > > Well, I can add some docs if you want, but the workflow per se seems > obvious to me: you have a function that accepts a local path to repo > and builds from it. What I had in mind is some short description in the doc string of the interactive command that invokes all this stuff. From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 20 06:56:58 2024 Received: (at 68579) by debbugs.gnu.org; 20 Jan 2024 11:56:58 +0000 Received: from localhost ([127.0.0.1]:33060 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rR9y5-00058N-M4 for submit@debbugs.gnu.org; Sat, 20 Jan 2024 06:56:58 -0500 Received: from forward101a.mail.yandex.net ([178.154.239.84]:39250) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rR9y1-000587-Da for 68579@debbugs.gnu.org; Sat, 20 Jan 2024 06:56:55 -0500 Received: from mail-nwsmtp-smtp-production-main-91.iva.yp-c.yandex.net (mail-nwsmtp-smtp-production-main-91.iva.yp-c.yandex.net [IPv6:2a02:6b8:c0c:2912:0:640:56:0]) by forward101a.mail.yandex.net (Yandex) with ESMTP id 8F46A608CD for <68579@debbugs.gnu.org>; Sat, 20 Jan 2024 14:56:47 +0300 (MSK) Received: by mail-nwsmtp-smtp-production-main-91.iva.yp-c.yandex.net (smtp/Yandex) with ESMTPSA id juN1JVCj4Gk0-WlnnHMLF; Sat, 20 Jan 2024 14:56:47 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1705751807; bh=Vy+IMGAkPPBOKivI9o92V6NSLv+torWcFujN0TE5p5c=; h=To:Message-ID:Date:Subject:From; b=j/66wC5CD9uOoILEY3Ah2YJCs019N9fVBaLMcsgjFmaaMnmFijynUED2OYB8iXgGK 268vLyydJwYUeLKIxK3aI+irKp1QlB3/Vu5rOrkUk5Ax+FPMZI7zri+9PABBcBLmO8 PN0jz42rNAth8plb+RCKbzQ1jAcg0tEOAzrtQCww= Authentication-Results: mail-nwsmtp-smtp-production-main-91.iva.yp-c.yandex.net; dkim=pass header.i=@yandex.ru From: Konstantin Kharlamov To: 68579@debbugs.gnu.org Subject: [PATCH v2] Support a local repo as URL in treesit-language-source-alist Date: Sat, 20 Jan 2024 14:56:29 +0300 Message-ID: <20240120115637.25253-1-Hi-Angel@yandex.ru> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 68579 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Sometimes people may need to bisect to find specific revision in a grammar repo. In this case they'd want to point the URL to the local repo to avoid cloning it on every rebuild. So add support for full path in treesit-language-source-alist. * lisp/treesit.el (treesit--install-language-grammar-1): Test if URL starts with / meaning that the URL is a local path. Then if it is, avoid cloning the repo and removing the path on success. (treesit--git-clone-repo): Factor out the code for cloning to a separate function. (treesit--git-checkout-branch): A helper to checkout the revision for cases where we didn't clone the repo but want it to point the revision. --- v2: 1. Regarding discussion about (file-name-absolute-p) and (file-accessible-directory-p), I figured that if we only test whether the file is accessible, we can lift the restriction of it being an absolute directory. So now I test for accessibility. 2. I also removed my comment in variable initialization because it's obsolete and no longer useful. 3. I also couldn't squash the (if url-is-path (when revision (treesit--git-checkout-branch url revision)) to (and url-is-path revision (treesit--git-checkout-branch url revision)) because that would change the semantics: note that there's an `(if` which checks whether we're dealing with a local path, and then in "else" branch (which is not in the snippet) we clone the repo. Changing the code as requested would result in the code cloning the repo when it's a local path but the revision wasn't set. 4. I hope it's not a problem: I made use of the word `path` inside documentation for `treesit-language-source-alist`. It just seems to sound awkward repeating the word "directory" twice, and I think it's clear from the context that these are synonyms. Hopefully I didn't miss anything 😅 (Eli Zaretskii): * start sentences with capital letter and put 2 spaces after the dot * replace "path" with "dir" and "directory" in code and docs * capitalize and unquote arg names in the docs * (treesit--git-clone-repo): document REVISION being nil * call (expand-file-name) on the URL * added a NEWS entry * changed (treesit-language-source-alist) docs to shortly mention the workflow of building the grammar from a local path etc/NEWS | 8 ++++++++ lisp/treesit.el | 49 ++++++++++++++++++++++++++++++++++++------------- 2 files changed, 44 insertions(+), 13 deletions(-) diff --git a/etc/NEWS b/etc/NEWS index 735a05f6579..19b06ea4c66 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -1832,6 +1832,14 @@ The 'test' parameter is omitted if it is 'eql' (the default), as is 'data' if empty. 'rehash-size', 'rehash-threshold' and 'size' are always omitted, and ignored if present when the object is read back in. ++++ +** 'treesit-install-language-grammar' can handle local directory as URL. +It is now possible to pass a directory of a local repository as URL +inside 'treesit-language-source-alist', so that calling +'treesit-install-language-grammar' would avoid cloning the repository. +It may be useful for example for the purposes of bisecting a +treesitter grammar. + * Changes in Emacs 30.1 on Non-Free Operating Systems diff --git a/lisp/treesit.el b/lisp/treesit.el index c8b473c7bb8..19dcbe324aa 100644 --- a/lisp/treesit.el +++ b/lisp/treesit.el @@ -3410,14 +3410,16 @@ treesit-explore-mode ;;; Install & build language grammar (defvar treesit-language-source-alist nil - "Configuration for downloading and installing tree-sitter language grammars. + "Configuration for downloading and installing tree-sitter language +grammars. The grammar can also be built from a local directory if +URL is an existing local path to the repo. The value should be an alist where each element has the form (LANG . (URL REVISION SOURCE-DIR CC C++)) Only LANG and URL are mandatory. LANG is the language symbol. -URL is the Git repository URL for the grammar. +URL is the Git repository URL or directory name for the grammar. REVISION is the Git tag or branch of the desired version, defaulting to the latest default branch. @@ -3551,6 +3553,26 @@ treesit--call-process-signal (buffer-string))) (erase-buffer))) +(defun treesit--git-checkout-branch (repo-dir revision) + "Checkout REVISION in a repo located in REPO-DIR." + (treesit--call-process-signal + "git" nil t nil "-C" repo-dir "checkout" revision)) + +(defun treesit--git-clone-repo (url revision workdir) + "Clone repo pointed by URL at commit REVISION to WORKDIR. + +REVISION may be nil, in which case the cloned repo will be at its +default branch." + (message "Cloning repository") + ;; git clone xxx --depth 1 --quiet [-b yyy] workdir + (if revision + (treesit--call-process-signal + "git" nil t nil "clone" url "--depth" "1" "--quiet" + "-b" revision workdir) + (treesit--call-process-signal + "git" nil t nil "clone" url "--depth" "1" "--quiet" + workdir))) + (defun treesit--install-language-grammar-1 (out-dir lang url &optional revision source-dir cc c++) "Install and compile a tree-sitter language grammar library. @@ -3564,8 +3586,12 @@ treesit--install-language-grammar-1 `treesit-language-source-alist'. If anything goes wrong, this function signals an error." (let* ((lang (symbol-name lang)) + (maybe-repo-dir (expand-file-name url)) + (url-is-dir (file-accessible-directory-p maybe-repo-dir)) (default-directory (make-temp-file "treesit-workdir" t)) - (workdir (expand-file-name "repo")) + (workdir (if url-is-dir + maybe-repo-dir + (expand-file-name "repo"))) (source-dir (expand-file-name (or source-dir "src") workdir)) (cc (or cc (seq-find #'executable-find '("cc" "gcc" "c99")) ;; If no C compiler found, just use cc and let @@ -3580,15 +3606,10 @@ treesit--install-language-grammar-1 (lib-name (concat "libtree-sitter-" lang soext))) (unwind-protect (with-temp-buffer - (message "Cloning repository") - ;; git clone xxx --depth 1 --quiet [-b yyy] workdir - (if revision - (treesit--call-process-signal - "git" nil t nil "clone" url "--depth" "1" "--quiet" - "-b" revision workdir) - (treesit--call-process-signal - "git" nil t nil "clone" url "--depth" "1" "--quiet" - workdir)) + (if url-is-dir + (when revision + (treesit--git-checkout-branch workdir revision)) + (treesit--git-clone-repo url revision workdir)) ;; We need to go into the source directory because some ;; header files use relative path (#include "../xxx"). ;; cd "${sourcedir}" @@ -3635,7 +3656,9 @@ treesit--install-language-grammar-1 ;; Ignore errors, in case the old version is still used. (ignore-errors (delete-file old-fname))) (message "Library installed to %s/%s" out-dir lib-name)) - (when (file-exists-p workdir) + ;; Remove workdir if it's not a repo owned by user and we + ;; managed to create it in the first place. + (when (and (not url-is-dir) (file-exists-p workdir)) (delete-directory workdir t))))) ;;; Etc -- 2.43.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 20 07:01:01 2024 Received: (at 68579) by debbugs.gnu.org; 20 Jan 2024 12:01:01 +0000 Received: from localhost ([127.0.0.1]:33091 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rRA20-0006lX-PQ for submit@debbugs.gnu.org; Sat, 20 Jan 2024 07:01:01 -0500 Received: from forward501a.mail.yandex.net ([178.154.239.81]:53846) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rRA1x-0006he-Nd for 68579@debbugs.gnu.org; Sat, 20 Jan 2024 07:00:58 -0500 Received: from mail-nwsmtp-smtp-production-main-59.iva.yp-c.yandex.net (mail-nwsmtp-smtp-production-main-59.iva.yp-c.yandex.net [IPv6:2a02:6b8:c0c:7b86:0:640:efb0:0]) by forward501a.mail.yandex.net (Yandex) with ESMTP id 354E2613F1; Sat, 20 Jan 2024 15:00:53 +0300 (MSK) Received: by mail-nwsmtp-smtp-production-main-59.iva.yp-c.yandex.net (smtp/Yandex) with ESMTPSA id q0OAMvDUuGk0-uvZjvAb0; Sat, 20 Jan 2024 15:00:52 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1705752052; bh=YJ0SFMSzWoLRSRhRDeSV40WeWuB3MXhZCemVgO2HJAM=; h=In-Reply-To:Cc:References:To:From:Date:Subject:Message-ID; b=iqx7E3vU0ltLlWiZvi0zBT4rDMaZbLBZjkLHDFsksZHotTSC6u3FGdRbD40t9eYik 2eRnlt7H1GX/UHLdTQfj5baQL51BX2QqK0ieOB0yO9QUARgh+i5BrH6NzdnhS4+PPO 0xvMAZdg1PeGtlBTSPOnbdO33OAMEx8+mvKTu7Qs= Authentication-Results: mail-nwsmtp-smtp-production-main-59.iva.yp-c.yandex.net; dkim=pass header.i=@yandex.ru Message-ID: <42fda053a41ec8f85bdc75cf10cd591f0915e201.camel@yandex.ru> Subject: Re: bug#68579: [PATCH v2] Support a local repo as URL in treesit-language-source-alist From: Konstantin Kharlamov To: Eli Zaretskii Date: Sat, 20 Jan 2024 15:00:52 +0300 In-Reply-To: <83jzo5uw6f.fsf@gnu.org> References: <0ffc2f474cf84ed3c63aa82091c967807e5ca0e6.camel@yandex.ru> <83frytwwly.fsf@gnu.org> <7010aa960be524d13f4dd96a1c7ea9102b580adf.camel@yandex.ru> <83ededwno1.fsf@gnu.org> <79692782ee323c59388fac26d39dc70aeb525284.camel@yandex.ru> <83r0iduzvc.fsf@gnu.org> <4b9f254dcba00812e8f6002d82cd7ebb0a29c45e.camel@yandex.ru> <83jzo5uw6f.fsf@gnu.org> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.50.3 MIME-Version: 1.0 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 68579 Cc: casouri@gmail.com, 68579@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Omg, I'm sorry, I forgot to test the code. I see one of the cases is broken, let me fix that. I just had to do so much, I had completely forgotten to test that=E2=80=A6 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 20 07:05:03 2024 Received: (at 68579) by debbugs.gnu.org; 20 Jan 2024 12:05:04 +0000 Received: from localhost ([127.0.0.1]:33099 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rRA5v-00088n-B4 for submit@debbugs.gnu.org; Sat, 20 Jan 2024 07:05:03 -0500 Received: from forward500b.mail.yandex.net ([178.154.239.144]:53668) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rRA5t-00088E-5f for 68579@debbugs.gnu.org; Sat, 20 Jan 2024 07:05:01 -0500 Received: from mail-nwsmtp-smtp-production-main-46.sas.yp-c.yandex.net (mail-nwsmtp-smtp-production-main-46.sas.yp-c.yandex.net [IPv6:2a02:6b8:c08:4212:0:640:eaad:0]) by forward500b.mail.yandex.net (Yandex) with ESMTP id 6230260EAA; Sat, 20 Jan 2024 15:04:56 +0300 (MSK) Received: by mail-nwsmtp-smtp-production-main-46.sas.yp-c.yandex.net (smtp/Yandex) with ESMTPSA id t4OssRIfvuQ0-b8t4uRfO; Sat, 20 Jan 2024 15:04:56 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1705752296; bh=cymAeQ4Mc5lrln4WtMY+d3v5admakMGGiQ0AORkVpp4=; h=In-Reply-To:Cc:References:To:From:Date:Subject:Message-ID; b=ld5TslVxvVxuhRBXNS+SzLlwkkSeITLhePBvgyo5qC9dFmLoP1AtL0m86snzFkcxq W7qVoAhwNGcj+W6avbmKWh/vj6Ixd3C7BXOBm0TytIkMayY3+A0GjV2c/XECIdoi72 TSQJkn2q3QaQJOc9yxIfmaodXXMy9I/4ZHpNrj9g= Authentication-Results: mail-nwsmtp-smtp-production-main-46.sas.yp-c.yandex.net; dkim=pass header.i=@yandex.ru Message-ID: <8e6ee719fe44c659183326f475c3a23601dec8a9.camel@yandex.ru> Subject: Re: bug#68579: [PATCH v2] Support a local repo as URL in treesit-language-source-alist From: Konstantin Kharlamov To: Eli Zaretskii Date: Sat, 20 Jan 2024 15:04:54 +0300 In-Reply-To: <42fda053a41ec8f85bdc75cf10cd591f0915e201.camel@yandex.ru> References: <0ffc2f474cf84ed3c63aa82091c967807e5ca0e6.camel@yandex.ru> <83frytwwly.fsf@gnu.org> <7010aa960be524d13f4dd96a1c7ea9102b580adf.camel@yandex.ru> <83ededwno1.fsf@gnu.org> <79692782ee323c59388fac26d39dc70aeb525284.camel@yandex.ru> <83r0iduzvc.fsf@gnu.org> <4b9f254dcba00812e8f6002d82cd7ebb0a29c45e.camel@yandex.ru> <83jzo5uw6f.fsf@gnu.org> <42fda053a41ec8f85bdc75cf10cd591f0915e201.camel@yandex.ru> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.50.3 MIME-Version: 1.0 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 68579 Cc: casouri@gmail.com, 68579@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On Sat, 2024-01-20 at 15:00 +0300, Konstantin Kharlamov wrote: > Omg, I'm sorry, I forgot to test the code. I see one of the cases is > broken, let me fix that. >=20 > I just had to do so much, I had completely forgotten to test that=E2=80= =A6 Ah, never mind, everything is fine, I just forgot to evaluate it. Tested: github URL, local path with a commit, local path with nil as a commit. Everything seems to work =F0=9F=91=8D From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 27 04:37:47 2024 Received: (at 68579) by debbugs.gnu.org; 27 Jan 2024 09:37:47 +0000 Received: from localhost ([127.0.0.1]:53484 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rTf8E-0006uY-Ky for submit@debbugs.gnu.org; Sat, 27 Jan 2024 04:37:47 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:42984) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rTf8C-0006uL-DT for 68579@debbugs.gnu.org; Sat, 27 Jan 2024 04:37:45 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rTf7y-0005L8-Lj; Sat, 27 Jan 2024 04:37:30 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=R9nXu28+H5c2OBZoNstN6xJKgvpvsxP8m1u4CWs6eEU=; b=clVxr7m0zC5w b3GJPCKZrBcogMGpHjBBT4x59XNjGMeB9hlI/TnGlSZGtRPZJbM+Dea7dT9HCDfjxI+vjmhzDvkjO qv+3arjr6TKUSAK1CRDhzralTOL0xT7jRk6PZPtjUEyYpKS7xYCzO2iylXEDI0Dh7VxG5eA05rItg t0GhyK2N6hfL1QUObSWgrsaqqoX81rx9DmAhrawdS+Gr6HIPCkdROuRDU3LSw1YXAKn6Lla6GRgHX iT7zvoMww3pLrWHK2Po5aIrNx47W5buRWNxUDnHHKBd74yDWH+UujQFnLrW2fkXuoVrffz/fJoYAU jUOSBLYN/ZqmV7VPtf98cw==; Date: Sat, 27 Jan 2024 11:37:27 +0200 Message-Id: <86sf2j86co.fsf@gnu.org> From: Eli Zaretskii To: Konstantin Kharlamov In-Reply-To: <20240120115637.25253-1-Hi-Angel@yandex.ru> (message from Konstantin Kharlamov on Sat, 20 Jan 2024 14:56:29 +0300) Subject: Re: bug#68579: [PATCH v2] Support a local repo as URL in treesit-language-source-alist References: <0ffc2f474cf84ed3c63aa82091c967807e5ca0e6.camel@yandex.ru> <20240120115637.25253-1-Hi-Angel@yandex.ru> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 68579 Cc: 68579@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Konstantin Kharlamov > Date: Sat, 20 Jan 2024 14:56:29 +0300 > > Sometimes people may need to bisect to find specific revision in a > grammar repo. In this case they'd want to point the URL to the local > repo to avoid cloning it on every rebuild. So add support for full > path in treesit-language-source-alist. > > * lisp/treesit.el (treesit--install-language-grammar-1): Test if URL > starts with / meaning that the URL is a local path. Then if it is, > avoid cloning the repo and removing the path on success. > (treesit--git-clone-repo): Factor out the code for cloning to a separate > function. > (treesit--git-checkout-branch): A helper to checkout the revision for > cases where we didn't clone the repo but want it to point the > revision. > --- Thanks, but could you please send the patch as attachments created with "git format-patch", and include only the stuff you think should be in the patch and the commit log message? Also, I have a few minor comments below. > ++++ > +** 'treesit-install-language-grammar' can handle local directory as URL. > +It is now possible to pass a directory of a local repository as URL ^^^^^^ I think you mean "instead of a URL" there. > +inside 'treesit-language-source-alist', so that calling > +'treesit-install-language-grammar' would avoid cloning the repository. > +It may be useful for example for the purposes of bisecting a ^ ^ Commas missing there. > --- a/lisp/treesit.el > +++ b/lisp/treesit.el > @@ -3410,14 +3410,16 @@ treesit-explore-mode > ;;; Install & build language grammar > > (defvar treesit-language-source-alist nil > - "Configuration for downloading and installing tree-sitter language grammars. > + "Configuration for downloading and installing tree-sitter language > +grammars. The grammar can also be built from a local directory if > +URL is an existing local path to the repo. The first line of a doc string should be a single complete sentence (because various apropos commands display only the first lines of doc strings). > The value should be an alist where each element has the form > > (LANG . (URL REVISION SOURCE-DIR CC C++)) > > Only LANG and URL are mandatory. LANG is the language symbol. > -URL is the Git repository URL for the grammar. > +URL is the Git repository URL or directory name for the grammar. Suggest to reword: URL is the URL of the grammar's Git repository or a directory where the repository has been cloned. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 27 13:53:31 2024 Received: (at 68579) by debbugs.gnu.org; 27 Jan 2024 18:53:32 +0000 Received: from localhost ([127.0.0.1]:55938 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rTno3-0001E9-1O for submit@debbugs.gnu.org; Sat, 27 Jan 2024 13:53:31 -0500 Received: from forward500c.mail.yandex.net ([178.154.239.208]:40284) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rTnnz-0001Bi-5E for 68579@debbugs.gnu.org; Sat, 27 Jan 2024 13:53:29 -0500 Received: from mail-nwsmtp-smtp-production-main-63.sas.yp-c.yandex.net (mail-nwsmtp-smtp-production-main-63.sas.yp-c.yandex.net [IPv6:2a02:6b8:c14:6e01:0:640:627f:0]) by forward500c.mail.yandex.net (Yandex) with ESMTP id BA92660F05; Sat, 27 Jan 2024 21:53:16 +0300 (MSK) Received: by mail-nwsmtp-smtp-production-main-63.sas.yp-c.yandex.net (smtp/Yandex) with ESMTPSA id FrbdqlS4ReA0-mYvVFSQU; Sat, 27 Jan 2024 21:53:16 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1706381596; bh=URlZO+6bwY7Lh2JlirXvAyIot0Rl7zA0ABIvctwA1fU=; h=In-Reply-To:Cc:References:To:From:Date:Subject:Message-ID; b=h5jWIdbybgy3r0JSV8cCw15/M3qt7vO7+VtwfHdIM7EAhd+8I86X3L1t/lbXf7WNK JheOgUvlUGmLoIaWD5s/rh+Tmnu8j4ya2aVUZB9Rql1L77zV6/2KUWa7e+F7iS2sVU QCWi9pXTleNJc0RSv+fj8dqHjrvhZjxp8J2JYDkE= Authentication-Results: mail-nwsmtp-smtp-production-main-63.sas.yp-c.yandex.net; dkim=pass header.i=@yandex.ru Message-ID: Subject: Re: bug#68579: [PATCH v2] Support a local repo as URL in treesit-language-source-alist From: Konstantin Kharlamov To: Eli Zaretskii Date: Sat, 27 Jan 2024 21:53:15 +0300 In-Reply-To: <86sf2j86co.fsf@gnu.org> References: <0ffc2f474cf84ed3c63aa82091c967807e5ca0e6.camel@yandex.ru> <20240120115637.25253-1-Hi-Angel@yandex.ru> <86sf2j86co.fsf@gnu.org> Content-Type: multipart/mixed; boundary="=-h2jzGW51O0AfQBORfJBb" User-Agent: Evolution 3.50.3 MIME-Version: 1.0 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 68579 Cc: 68579@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-h2jzGW51O0AfQBORfJBb Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sat, 2024-01-27 at 11:37 +0200, Eli Zaretskii wrote: > > From: Konstantin Kharlamov > > Date: Sat, 20 Jan 2024 14:56:29 +0300 > >=20 > > Sometimes people may need to bisect to find specific revision in a > > grammar repo. In this case they'd want to point the URL to the > > local > > repo to avoid cloning it on every rebuild. So add support for full > > path in treesit-language-source-alist. > >=20 > > * lisp/treesit.el (treesit--install-language-grammar-1): Test if > > URL > > starts with / meaning that the URL is a local path.=C2=A0 Then if it is= , > > avoid cloning the repo and removing the path on success. > > (treesit--git-clone-repo): Factor out the code for cloning to a > > separate > > function. > > (treesit--git-checkout-branch): A helper to checkout the revision > > for > > cases where we didn't clone the repo but want it to point the > > revision. > > --- >=20 > Thanks, but could you please send the patch as attachments created > with "git format-patch", and include only the stuff you think should > be in the patch and the commit log message? >=20 > Also, I have a few minor comments below. >=20 > > ++++ > > +** 'treesit-install-language-grammar' can handle local directory > > as URL. > > +It is now possible to pass a directory of a local repository as > > URL > =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=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=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=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=A0=C2=A0= =C2=A0 > ^^^^^^ > I think you mean "instead of a URL" there. Right, sorry, I was thinking of "URL" being the name of the argument, but your text sure is clearer. > > +inside 'treesit-language-source-alist', so that calling > > +'treesit-install-language-grammar' would avoid cloning the > > repository. > > +It may be useful for example for the purposes of bisecting a > =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=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 ^ > Commas missing there. >=20 > > --- a/lisp/treesit.el > > +++ b/lisp/treesit.el > > @@ -3410,14 +3410,16 @@ treesit-explore-mode > > =C2=A0;;; Install & build language grammar > > =C2=A0 > > =C2=A0(defvar treesit-language-source-alist nil > > -=C2=A0 "Configuration for downloading and installing tree-sitter > > language grammars. > > +=C2=A0 "Configuration for downloading and installing tree-sitter > > language > > +grammars. The grammar can also be built from a local directory if > > +URL is an existing local path to the repo. >=20 > The first line of a doc string should be a single complete sentence > (because various apropos commands display only the first lines of doc > strings). Ah, okay, in this case I'm a bit confused regarding what you wanted me to do by asking to provide a small description of the workflow. I've documented that URL arg may accept a local dir. I can put this new sentence to a separate paragraph, but I'm not sure it reads too well, given the same information is provided one paragraph below. I've reverted this change for now. > > =C2=A0The value should be an alist where each element has the form > > =C2=A0 > > =C2=A0=C2=A0=C2=A0=C2=A0 (LANG . (URL REVISION SOURCE-DIR CC C++)) > > =C2=A0 > > =C2=A0Only LANG and URL are mandatory.=C2=A0 LANG is the language symbo= l. > > -URL is the Git repository URL for the grammar. > > +URL is the Git repository URL or directory name for the grammar. >=20 > Suggest to reword: >=20 > =C2=A0 URL is the URL of the grammar's Git repository or a directory wher= e > =C2=A0 the repository has been cloned. >=20 > Thanks. Thanks! Patch is attached, everything is addressed except one question above. I also fixed "one space" to two spaces" in one place in the commit description. --=-h2jzGW51O0AfQBORfJBb Content-Disposition: attachment; filename="1.patch" Content-Type: text/x-patch; name="1.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSA4N2E4OTg0MzY2YWI4NDNmNmEyOGEzMGE3NGNmNTE5MzAxOTc4YmQyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBLb25zdGFudGluIEtoYXJsYW1vdiA8SGktQW5nZWxAeWFuZGV4 LnJ1PgpEYXRlOiBGcmksIDE5IEphbiAyMDI0IDEwOjMzOjQ3ICswMzAwClN1YmplY3Q6IFtQQVRD SF0gU3VwcG9ydCBhIGxvY2FsIHJlcG8gYXMgVVJMIGluIHRyZWVzaXQtbGFuZ3VhZ2Utc291cmNl LWFsaXN0CgpTb21ldGltZXMgcGVvcGxlIG1heSBuZWVkIHRvIGJpc2VjdCB0byBmaW5kIHNwZWNp ZmljIHJldmlzaW9uIGluIGEKZ3JhbW1hciByZXBvLiAgSW4gdGhpcyBjYXNlIHRoZXknZCB3YW50 IHRvIHBvaW50IHRoZSBVUkwgdG8gdGhlIGxvY2FsCnJlcG8gdG8gYXZvaWQgY2xvbmluZyBpdCBv biBldmVyeSByZWJ1aWxkLiAgU28gYWRkIHN1cHBvcnQgZm9yIGZ1bGwKcGF0aCBpbiB0cmVlc2l0 LWxhbmd1YWdlLXNvdXJjZS1hbGlzdC4KCiogbGlzcC90cmVlc2l0LmVsICh0cmVlc2l0LS1pbnN0 YWxsLWxhbmd1YWdlLWdyYW1tYXItMSk6IFRlc3QgaWYgVVJMCnN0YXJ0cyB3aXRoIC8gbWVhbmlu ZyB0aGF0IHRoZSBVUkwgaXMgYSBsb2NhbCBwYXRoLiAgVGhlbiBpZiBpdCBpcywKYXZvaWQgY2xv bmluZyB0aGUgcmVwbyBhbmQgcmVtb3ZpbmcgdGhlIHBhdGggb24gc3VjY2Vzcy4KKHRyZWVzaXQt LWdpdC1jbG9uZS1yZXBvKTogRmFjdG9yIG91dCB0aGUgY29kZSBmb3IgY2xvbmluZyB0byBhIHNl cGFyYXRlCmZ1bmN0aW9uLgoodHJlZXNpdC0tZ2l0LWNoZWNrb3V0LWJyYW5jaCk6IEEgaGVscGVy IHRvIGNoZWNrb3V0IHRoZSByZXZpc2lvbiBmb3IKY2FzZXMgd2hlcmUgd2UgZGlkbid0IGNsb25l IHRoZSByZXBvIGJ1dCB3YW50IGl0IHRvIHBvaW50IHRoZQpyZXZpc2lvbi4KLS0tCiBldGMvTkVX UyAgICAgICAgfCAgOCArKysrKysrKwogbGlzcC90cmVlc2l0LmVsIHwgNDYgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCA0MiBp bnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9ldGMvTkVXUyBiL2V0 Yy9ORVdTCmluZGV4IDczNWEwNWY2NTc5Li45YmRjM2FmNWU3MSAxMDA2NDQKLS0tIGEvZXRjL05F V1MKKysrIGIvZXRjL05FV1MKQEAgLTE4MzIsNiArMTgzMiwxNCBAQCBUaGUgJ3Rlc3QnIHBhcmFt ZXRlciBpcyBvbWl0dGVkIGlmIGl0IGlzICdlcWwnICh0aGUgZGVmYXVsdCksIGFzIGlzCiAnZGF0 YScgaWYgZW1wdHkuICAncmVoYXNoLXNpemUnLCAncmVoYXNoLXRocmVzaG9sZCcgYW5kICdzaXpl JyBhcmUKIGFsd2F5cyBvbWl0dGVkLCBhbmQgaWdub3JlZCBpZiBwcmVzZW50IHdoZW4gdGhlIG9i amVjdCBpcyByZWFkIGJhY2sgaW4uCiAKKysrKworKiogJ3RyZWVzaXQtaW5zdGFsbC1sYW5ndWFn ZS1ncmFtbWFyJyBjYW4gaGFuZGxlIGxvY2FsIGRpcmVjdG9yeSBpbnN0ZWFkIG9mIFVSTC4KK0l0 IGlzIG5vdyBwb3NzaWJsZSB0byBwYXNzIGEgZGlyZWN0b3J5IG9mIGEgbG9jYWwgcmVwb3NpdG9y eSBhcyBVUkwKK2luc2lkZSAndHJlZXNpdC1sYW5ndWFnZS1zb3VyY2UtYWxpc3QnLCBzbyB0aGF0 IGNhbGxpbmcKKyd0cmVlc2l0LWluc3RhbGwtbGFuZ3VhZ2UtZ3JhbW1hcicgd291bGQgYXZvaWQg Y2xvbmluZyB0aGUgcmVwb3NpdG9yeS4KK0l0IG1heSBiZSB1c2VmdWwsIGZvciBleGFtcGxlLCBm b3IgdGhlIHB1cnBvc2VzIG9mIGJpc2VjdGluZyBhCit0cmVlc2l0dGVyIGdyYW1tYXIuCisKIAwK ICogQ2hhbmdlcyBpbiBFbWFjcyAzMC4xIG9uIE5vbi1GcmVlIE9wZXJhdGluZyBTeXN0ZW1zCiAK ZGlmZiAtLWdpdCBhL2xpc3AvdHJlZXNpdC5lbCBiL2xpc3AvdHJlZXNpdC5lbAppbmRleCBjOGI0 NzNjN2JiOC4uYjFmOWQ1NTE0NDIgMTAwNjQ0Ci0tLSBhL2xpc3AvdHJlZXNpdC5lbAorKysgYi9s aXNwL3RyZWVzaXQuZWwKQEAgLTM0MTcsNyArMzQxNyw4IEBAIHRyZWVzaXQtbGFuZ3VhZ2Utc291 cmNlLWFsaXN0CiAgICAgKExBTkcgLiAoVVJMIFJFVklTSU9OIFNPVVJDRS1ESVIgQ0MgQysrKSkK IAogT25seSBMQU5HIGFuZCBVUkwgYXJlIG1hbmRhdG9yeS4gIExBTkcgaXMgdGhlIGxhbmd1YWdl IHN5bWJvbC4KLVVSTCBpcyB0aGUgR2l0IHJlcG9zaXRvcnkgVVJMIGZvciB0aGUgZ3JhbW1hci4K K1VSTCBpcyB0aGUgVVJMIG9mIHRoZSBncmFtbWFyJ3MgR2l0IHJlcG9zaXRvcnkgb3IgYSBkaXJl Y3RvcnkKK3doZXJlIHRoZSByZXBvc2l0b3J5IGhhcyBiZWVuIGNsb25lZC4KIAogUkVWSVNJT04g aXMgdGhlIEdpdCB0YWcgb3IgYnJhbmNoIG9mIHRoZSBkZXNpcmVkIHZlcnNpb24sCiBkZWZhdWx0 aW5nIHRvIHRoZSBsYXRlc3QgZGVmYXVsdCBicmFuY2guCkBAIC0zNTUxLDYgKzM1NTIsMjYgQEAg dHJlZXNpdC0tY2FsbC1wcm9jZXNzLXNpZ25hbAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKGJ1ZmZlci1zdHJpbmcpKSkKICAgICAoZXJhc2UtYnVmZmVyKSkpCiAKKyhkZWZ1biB0 cmVlc2l0LS1naXQtY2hlY2tvdXQtYnJhbmNoIChyZXBvLWRpciByZXZpc2lvbikKKyAgIkNoZWNr b3V0IFJFVklTSU9OIGluIGEgcmVwbyBsb2NhdGVkIGluIFJFUE8tRElSLiIKKyAgKHRyZWVzaXQt LWNhbGwtcHJvY2Vzcy1zaWduYWwKKyAgICJnaXQiIG5pbCB0IG5pbCAiLUMiIHJlcG8tZGlyICJj aGVja291dCIgcmV2aXNpb24pKQorCisoZGVmdW4gdHJlZXNpdC0tZ2l0LWNsb25lLXJlcG8gKHVy bCByZXZpc2lvbiB3b3JrZGlyKQorICAiQ2xvbmUgcmVwbyBwb2ludGVkIGJ5IFVSTCBhdCBjb21t aXQgUkVWSVNJT04gdG8gV09SS0RJUi4KKworUkVWSVNJT04gbWF5IGJlIG5pbCwgaW4gd2hpY2gg Y2FzZSB0aGUgY2xvbmVkIHJlcG8gd2lsbCBiZSBhdCBpdHMKK2RlZmF1bHQgYnJhbmNoLiIKKyAg KG1lc3NhZ2UgIkNsb25pbmcgcmVwb3NpdG9yeSIpCisgIDs7IGdpdCBjbG9uZSB4eHggLS1kZXB0 aCAxIC0tcXVpZXQgWy1iIHl5eV0gd29ya2RpcgorICAoaWYgcmV2aXNpb24KKyAgICAgICh0cmVl c2l0LS1jYWxsLXByb2Nlc3Mtc2lnbmFsCisgICAgICAgImdpdCIgbmlsIHQgbmlsICJjbG9uZSIg dXJsICItLWRlcHRoIiAiMSIgIi0tcXVpZXQiCisgICAgICAgIi1iIiByZXZpc2lvbiB3b3JrZGly KQorICAgICh0cmVlc2l0LS1jYWxsLXByb2Nlc3Mtc2lnbmFsCisgICAgICJnaXQiIG5pbCB0IG5p bCAiY2xvbmUiIHVybCAiLS1kZXB0aCIgIjEiICItLXF1aWV0IgorICAgICB3b3JrZGlyKSkpCisK IChkZWZ1biB0cmVlc2l0LS1pbnN0YWxsLWxhbmd1YWdlLWdyYW1tYXItMQogICAgIChvdXQtZGly IGxhbmcgdXJsICZvcHRpb25hbCByZXZpc2lvbiBzb3VyY2UtZGlyIGNjIGMrKykKICAgIkluc3Rh bGwgYW5kIGNvbXBpbGUgYSB0cmVlLXNpdHRlciBsYW5ndWFnZSBncmFtbWFyIGxpYnJhcnkuCkBA IC0zNTY0LDggKzM1ODUsMTIgQEAgdHJlZXNpdC0taW5zdGFsbC1sYW5ndWFnZS1ncmFtbWFyLTEK IGB0cmVlc2l0LWxhbmd1YWdlLXNvdXJjZS1hbGlzdCcuICBJZiBhbnl0aGluZyBnb2VzIHdyb25n LCB0aGlzCiBmdW5jdGlvbiBzaWduYWxzIGFuIGVycm9yLiIKICAgKGxldCogKChsYW5nIChzeW1i b2wtbmFtZSBsYW5nKSkKKyAgICAgICAgIChtYXliZS1yZXBvLWRpciAoZXhwYW5kLWZpbGUtbmFt ZSB1cmwpKQorICAgICAgICAgKHVybC1pcy1kaXIgKGZpbGUtYWNjZXNzaWJsZS1kaXJlY3Rvcnkt cCBtYXliZS1yZXBvLWRpcikpCiAgICAgICAgICAoZGVmYXVsdC1kaXJlY3RvcnkgKG1ha2UtdGVt cC1maWxlICJ0cmVlc2l0LXdvcmtkaXIiIHQpKQotICAgICAgICAgKHdvcmtkaXIgKGV4cGFuZC1m aWxlLW5hbWUgInJlcG8iKSkKKyAgICAgICAgICh3b3JrZGlyIChpZiB1cmwtaXMtZGlyCisgICAg ICAgICAgICAgICAgICAgICAgbWF5YmUtcmVwby1kaXIKKyAgICAgICAgICAgICAgICAgICAgKGV4 cGFuZC1maWxlLW5hbWUgInJlcG8iKSkpCiAgICAgICAgICAoc291cmNlLWRpciAoZXhwYW5kLWZp bGUtbmFtZSAob3Igc291cmNlLWRpciAic3JjIikgd29ya2RpcikpCiAgICAgICAgICAoY2MgKG9y IGNjIChzZXEtZmluZCAjJ2V4ZWN1dGFibGUtZmluZCAnKCJjYyIgImdjYyIgImM5OSIpKQogICAg ICAgICAgICAgICAgICA7OyBJZiBubyBDIGNvbXBpbGVyIGZvdW5kLCBqdXN0IHVzZSBjYyBhbmQg bGV0CkBAIC0zNTgwLDE1ICszNjA1LDEwIEBAIHRyZWVzaXQtLWluc3RhbGwtbGFuZ3VhZ2UtZ3Jh bW1hci0xCiAgICAgICAgICAobGliLW5hbWUgKGNvbmNhdCAibGlidHJlZS1zaXR0ZXItIiBsYW5n IHNvZXh0KSkpCiAgICAgKHVud2luZC1wcm90ZWN0CiAgICAgICAgICh3aXRoLXRlbXAtYnVmZmVy Ci0gICAgICAgICAgKG1lc3NhZ2UgIkNsb25pbmcgcmVwb3NpdG9yeSIpCi0gICAgICAgICAgOzsg Z2l0IGNsb25lIHh4eCAtLWRlcHRoIDEgLS1xdWlldCBbLWIgeXl5XSB3b3JrZGlyCi0gICAgICAg ICAgKGlmIHJldmlzaW9uCi0gICAgICAgICAgICAgICh0cmVlc2l0LS1jYWxsLXByb2Nlc3Mtc2ln bmFsCi0gICAgICAgICAgICAgICAiZ2l0IiBuaWwgdCBuaWwgImNsb25lIiB1cmwgIi0tZGVwdGgi ICIxIiAiLS1xdWlldCIKLSAgICAgICAgICAgICAgICItYiIgcmV2aXNpb24gd29ya2RpcikKLSAg ICAgICAgICAgICh0cmVlc2l0LS1jYWxsLXByb2Nlc3Mtc2lnbmFsCi0gICAgICAgICAgICAgImdp dCIgbmlsIHQgbmlsICJjbG9uZSIgdXJsICItLWRlcHRoIiAiMSIgIi0tcXVpZXQiCi0gICAgICAg ICAgICAgd29ya2RpcikpCisgICAgICAgICAgKGlmIHVybC1pcy1kaXIKKyAgICAgICAgICAgICAg KHdoZW4gcmV2aXNpb24KKyAgICAgICAgICAgICAgICAodHJlZXNpdC0tZ2l0LWNoZWNrb3V0LWJy YW5jaCB3b3JrZGlyIHJldmlzaW9uKSkKKyAgICAgICAgICAgICh0cmVlc2l0LS1naXQtY2xvbmUt cmVwbyB1cmwgcmV2aXNpb24gd29ya2RpcikpCiAgICAgICAgICAgOzsgV2UgbmVlZCB0byBnbyBp bnRvIHRoZSBzb3VyY2UgZGlyZWN0b3J5IGJlY2F1c2Ugc29tZQogICAgICAgICAgIDs7IGhlYWRl ciBmaWxlcyB1c2UgcmVsYXRpdmUgcGF0aCAoI2luY2x1ZGUgIi4uL3h4eCIpLgogICAgICAgICAg IDs7IGNkICIke3NvdXJjZWRpcn0iCkBAIC0zNjM1LDcgKzM2NTUsOSBAQCB0cmVlc2l0LS1pbnN0 YWxsLWxhbmd1YWdlLWdyYW1tYXItMQogICAgICAgICAgICAgOzsgSWdub3JlIGVycm9ycywgaW4g Y2FzZSB0aGUgb2xkIHZlcnNpb24gaXMgc3RpbGwgdXNlZC4KICAgICAgICAgICAgIChpZ25vcmUt ZXJyb3JzIChkZWxldGUtZmlsZSBvbGQtZm5hbWUpKSkKICAgICAgICAgICAobWVzc2FnZSAiTGli cmFyeSBpbnN0YWxsZWQgdG8gJXMvJXMiIG91dC1kaXIgbGliLW5hbWUpKQotICAgICAgKHdoZW4g KGZpbGUtZXhpc3RzLXAgd29ya2RpcikKKyAgICAgIDs7IFJlbW92ZSB3b3JrZGlyIGlmIGl0J3Mg bm90IGEgcmVwbyBvd25lZCBieSB1c2VyIGFuZCB3ZQorICAgICAgOzsgbWFuYWdlZCB0byBjcmVh dGUgaXQgaW4gdGhlIGZpcnN0IHBsYWNlLgorICAgICAgKHdoZW4gKGFuZCAobm90IHVybC1pcy1k aXIpIChmaWxlLWV4aXN0cy1wIHdvcmtkaXIpKQogICAgICAgICAoZGVsZXRlLWRpcmVjdG9yeSB3 b3JrZGlyIHQpKSkpKQogCiA7OzsgRXRjCi0tIAoyLjQzLjAKCg== --=-h2jzGW51O0AfQBORfJBb-- From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 27 14:21:59 2024 Received: (at 68579) by debbugs.gnu.org; 27 Jan 2024 19:21:59 +0000 Received: from localhost ([127.0.0.1]:55966 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rToFb-0002NG-Ee for submit@debbugs.gnu.org; Sat, 27 Jan 2024 14:21:59 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:43012) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rToFW-0002N1-Rx for 68579@debbugs.gnu.org; Sat, 27 Jan 2024 14:21:58 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rToFJ-0007L8-Sn; Sat, 27 Jan 2024 14:21:41 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=LKvO5NO26SJ/qsc8qvLNcb+v1WmKRD4mmSC2nPBBa8g=; b=YTj9ZE8q2AZP 7UMvdGCOlU380JLpaphR6sE6GYR1l2vzbK9+SrNvXx3F7Vbhp4LafyQzfVSj5M/Qs/h07j4hPA9QR G8gcu0Xb/YRj1wUYhvnxmOUxTBA3/WjEiiNexC2s0nlrrqrEQq0YgV0owtHSlrIjiXvIkowGiKKfv mtOjs9cVlatC6Qw6WM18xBeMHwoE1P7bn6VRePbf6hHCdRtNhEMXHI6Nj6fQ3+pM9Wz4HH7Wc3dg2 TadrQlCv1DmtSDNRtlurW4ShYIBJxVcNZSrRwEYFfR7qzbSYrvFBW6YqPBVA0cgNhCV12eEYyPQ0t DmlXldfVyeHy8qtgeUgt0Q==; Date: Sat, 27 Jan 2024 21:21:22 +0200 Message-Id: <86fryi7fbh.fsf@gnu.org> From: Eli Zaretskii To: Konstantin Kharlamov In-Reply-To: (message from Konstantin Kharlamov on Sat, 27 Jan 2024 21:53:15 +0300) Subject: Re: bug#68579: [PATCH v2] Support a local repo as URL in treesit-language-source-alist References: <0ffc2f474cf84ed3c63aa82091c967807e5ca0e6.camel@yandex.ru> <20240120115637.25253-1-Hi-Angel@yandex.ru> <86sf2j86co.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 68579 Cc: 68579@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Konstantin Kharlamov > Cc: 68579@debbugs.gnu.org > Date: Sat, 27 Jan 2024 21:53:15 +0300 > > Thanks! Patch is attached, everything is addressed except one question > above. I also fixed "one space" to two spaces" in one place in the > commit description. Thanks, installed on the master branch, and closing the bug. From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 29 19:43:59 2024 Received: (at control) by debbugs.gnu.org; 30 Jan 2024 00:43:59 +0000 Received: from localhost ([127.0.0.1]:34007 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rUcEJ-0005xF-4p for submit@debbugs.gnu.org; Mon, 29 Jan 2024 19:43:59 -0500 Received: from mail-ed1-x529.google.com ([2a00:1450:4864:20::529]:58656) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rUcEI-0005x0-0C for control@debbugs.gnu.org; Mon, 29 Jan 2024 19:43:58 -0500 Received: by mail-ed1-x529.google.com with SMTP id 4fb4d7f45d1cf-55a8fd60af0so3444785a12.1 for ; Mon, 29 Jan 2024 16:43:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706575423; x=1707180223; darn=debbugs.gnu.org; h=to:subject:message-id:date:mime-version:from:from:to:cc:subject :date:message-id:reply-to; bh=buWdNeD/3i0xscXMKVJQTOpJ8Z2DeMekRYuIOtovO2M=; b=IDOx3rNBjxGOzoU3XTDdB9R36RPyKiiZShV6hsHpsUOMoozIZwGNSiQFHQoGtb5szX I9NC3O5EwFsZ7bfwzK+coJVaIWcKmnmFqVAMiSziuu3RhylLWmpcExcOkgpSZDVXc+fo gr7t7nYqHAZbph/AqXkkyhxDpV58Fe/1AJr4WEDfKLr2xoBFW9311uaBQBy9lR0Bklpn af1Zxsy/arYaH7sQS8+Ri5tp4ZrCB9A8dgXddqAFiDGHiX0KsCFrX8nTpVGsKG6h44Ab NcEjXh8Up1SCRhu08Vx9Z0JXQsWtQ9CthDRH1EmpYR7hPIFZGe64CjzeVkOKPyxx+8p5 vhtQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706575423; x=1707180223; h=to:subject:message-id:date:mime-version:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=buWdNeD/3i0xscXMKVJQTOpJ8Z2DeMekRYuIOtovO2M=; b=IjfIk25Xq+2MtCFHIty08WPPO59/+614zn4SwRnf8gNIKFPV7sH6GPwsRvKCc2efLh UoZhwjtYil6AbKbTtohvLU15r7kenGeJsb8dbeaCuYFBi+6rjbpAkDVuX3yUtAh99a0j yd3MeBwU56/AjiGQNn8za0wRMEnydBuklNvREj2uo4YGqypNaOdNbpACI/22rlVXFjWc 4PwJBHZJirIR9CUZBpy3KiC77SQcB4sOXEZcY3PPg1SUmMOGhnYSdljMKjceeowmdzfJ zsqh+ddFmSsIPMIdmC/8E8eXSnDvyxIPHxKihTuXNbHZUDSzJoldJ5AksemxmV0ZeK4l NRwg== X-Gm-Message-State: AOJu0YwN+Pah/WHRiWAbERgS2GcTH75dpAkZdhpWVl+qOLJGS+s4wlIC 9OtLLanqJ7cjSFbAmvTvrkPpj8p0VZr+Cyi3VT8Z7TE5Cbo8GadMKIEOd3xh6VQKFk70PSYOauq MCSxav4ZlcP4z1KwxhXR45OCFS82OrG2by9k= X-Google-Smtp-Source: AGHT+IG1goEGzhOB181+bVgx1HJ2i5XFUEP8szE/rJtJxzo9F7f9v4WgS7rKsRn/FR93qNtQeFz1LpK2RppfgoPmMAM= X-Received: by 2002:a05:6402:2550:b0:55e:deca:edac with SMTP id l16-20020a056402255000b0055edecaedacmr4602627edb.7.1706575423611; Mon, 29 Jan 2024 16:43:43 -0800 (PST) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Mon, 29 Jan 2024 19:43:43 -0500 From: Stefan Kangas MIME-Version: 1.0 Date: Mon, 29 Jan 2024 19:43:43 -0500 Message-ID: Subject: control message for bug #68579 To: control@debbugs.gnu.org Content-Type: text/plain; charset="UTF-8" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) severity 68579 wishlist quit From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 01 05:07:20 2024 Received: (at 68579-done) by debbugs.gnu.org; 1 Feb 2024 10:07:20 +0000 Received: from localhost ([127.0.0.1]:40269 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rVTya-0005QJ-HK for submit@debbugs.gnu.org; Thu, 01 Feb 2024 05:07:20 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:51198) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rVTyY-0005Q7-KA for 68579-done@debbugs.gnu.org; Thu, 01 Feb 2024 05:07:18 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rVTyJ-0007rx-9g for 68579-done@debbugs.gnu.org; Thu, 01 Feb 2024 05:07:03 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=zOgy3xzPzAI0K6q3DcaCaE9+NXWlZ3G5ciIJrKHLSoA=; b=lULg8zkZ+dLg 8GFLgkk40zN/bWygFUzZluHLGU1fkyaeO4zSCTKFPnx5+D4Q3OdO3P4t2hePax34sDBGMJrn25ehv agi0FBRKD+yzuyVenNyMsABOwLOXpo9aPXdBA5aSa6p7A8y8p9SuT6Ijr0kMNeH+EJ9PxOBcZ8VyX ikPBld7PcssCGKOUr3wTFpJSV3lw/9S5O5pZh3cfJXvQxss9yUtOXbjMl+WqeRPcBHp5F93I+69xT jtbZTU+/lXI8T2wFZ5dKja7gD/em2x6vpYWnHTH6K0yk00/L07j8PsncSgEeyzEt7Vjlhg2mLrpkV 7cRY6ez0Y/X84C0iz87YUA==; Date: Thu, 01 Feb 2024 12:06:31 +0200 Message-Id: <86zfwkzefs.fsf@gnu.org> From: Eli Zaretskii To: 68579-done@debbugs.gnu.org In-Reply-To: <86sf2j86co.fsf@gnu.org> (message from Eli Zaretskii on Sat, 27 Jan 2024 11:37:27 +0200) Subject: Re: bug#68579: [PATCH v2] Support a local repo as URL in treesit-language-source-alist References: <0ffc2f474cf84ed3c63aa82091c967807e5ca0e6.camel@yandex.ru> <20240120115637.25253-1-Hi-Angel@yandex.ru> <86sf2j86co.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 68579-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Now _really_ closing the bug. From unknown Sun Aug 10 16:47:47 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Thu, 29 Feb 2024 12:24:13 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator