From unknown Sat Aug 16 21:17:27 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#41736 <41736@debbugs.gnu.org> To: bug#41736 <41736@debbugs.gnu.org> Subject: Status: 28.0.50; project.el - support global patterns for project-ignores Reply-To: bug#41736 <41736@debbugs.gnu.org> Date: Sun, 17 Aug 2025 04:17:27 +0000 retitle 41736 28.0.50; project.el - support global patterns for project-ign= ores reassign 41736 emacs submitter 41736 Theodor Thornhill severity 41736 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 06 05:45:58 2020 Received: (at submit) by debbugs.gnu.org; 6 Jun 2020 09:45:58 +0000 Received: from localhost ([127.0.0.1]:50757 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jhVOo-0002Ai-4P for submit@debbugs.gnu.org; Sat, 06 Jun 2020 05:45:58 -0400 Received: from lists.gnu.org ([209.51.188.17]:46776) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jhVOl-0002AZ-Sc for submit@debbugs.gnu.org; Sat, 06 Jun 2020 05:45:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:49798) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jhVOl-0001nd-7Y for bug-gnu-emacs@gnu.org; Sat, 06 Jun 2020 05:45:55 -0400 Received: from mail2.protonmail.ch ([185.70.40.22]:17311) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jhVOj-0006H6-9I for bug-gnu-emacs@gnu.org; Sat, 06 Jun 2020 05:45:54 -0400 Date: Sat, 06 Jun 2020 09:45:42 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thornhill.no; s=protonmail; t=1591436749; bh=dDRYePvsW8hIjydqQmf7uZH8x+4PdlBkNGjw5kvbN9U=; h=Date:To:From:Reply-To:Subject:From; b=o34XMjLzEZB/Igr/La/hfJrA6jlBaZF+AV73Ve2lyXnMnWTfOdnorytDAaojoljhE tp4SvOpjsz9p0SQO92Fb3GEJmLQlD8YX/W2ksJK3QrwImf41geA20pudra7BdwCiZ6 gxSvvWaoLMDNf6Gzfb5CWtbh1sUOlBgKPjVTgvZhpy66TND1zbxOQvxa2pXEFhtlhe XQABS5pr5D4G9jSlKQu6ShOisaNPMSg4R2BNYVFif65Nv60EHBe+sd3M5jTWRvQL3z vZkBF+A28whMDu7AFglFDgqiVgRhUGjXmSmx7izAqqx7BGa4WQQb+cMRpvGIfYUf5g Siq0ttR5H1AdA== To: bug-gnu-emacs@gnu.org From: Theodor Thornhill Subject: 28.0.50; project.el - support global patterns for project-ignores Message-ID: <87mu5g34u6.fsf@thornhill.no> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-1.2 required=7.0 tests=ALL_TRUSTED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF shortcircuit=no autolearn=disabled version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on mail.protonmail.ch Received-SPF: pass client-ip=185.70.40.22; envelope-from=theo@thornhill.no; helo=mail2.protonmail.ch X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/06 05:45:49 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-Spam-Score: -1.3 (-) 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: , Reply-To: Theodor Thornhill Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Hello, In https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D41572 there is talk abou= t supporting a "plain project", and when joining that chat I realised that = the "best" current implementation is the VC backend. However, this backend = does not easily include other patterns to ignore. For example we might want to ignore "node_modules", "elm-stuff" etc. These can be added pretty easily to 'project-vc-ignores' via: 1. Major mode support: "(setq-local project-vc-ignores '("foo" "bar"))" 2. User init.el "(add-to-list project-vc-ignores "foo")" However, there are some drawbacks. Method 1: - We rely on major mode to implement this - When using "project-switch-project", then press "f - find-file" the ignor= e is not recognized yet since it relies on the major mode. - It does not work when a project uses several modes Method 2: - Needs user to add this to own init file. - Pollutes the defcustom globally Is there a way to set these patters such that we still can use the fast VC = backend, but not have these drawbacks? It seems like an easy solution could be to add a "defcustom project-ignore-= patterns" that the project-vc backend picks up. This could be set by both f= uture major modes and as user customization. FWIW, method 2 seems to work perfectly, yet seems like kind of a hack. Theo From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 06 05:54:04 2020 Received: (at 41736) by debbugs.gnu.org; 6 Jun 2020 09:54:04 +0000 Received: from localhost ([127.0.0.1]:50762 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jhVWe-0002NU-01 for submit@debbugs.gnu.org; Sat, 06 Jun 2020 05:54:04 -0400 Received: from mail-wr1-f49.google.com ([209.85.221.49]:43902) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jhVWc-0002Mz-36 for 41736@debbugs.gnu.org; Sat, 06 Jun 2020 05:54:02 -0400 Received: by mail-wr1-f49.google.com with SMTP id l10so12127633wrr.10 for <41736@debbugs.gnu.org>; Sat, 06 Jun 2020 02:54:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tcd-ie.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=iqDrJ+5NlzJl3I1kY87RUMiRO0o28KbdPIkENLwrwxs=; b=O2afHPDuLRXVOzt5+0cOfJxLcTZwQ7rx74f5VIXRvCsc2SvlPQb2Cz8ZWqkcF/k10w AWKp9xt3+DbC89IBaYHKZlFeiVLHL1iX+p4PJCrcw2p+ueGbmsXpX2NCm+8Qlm9jWS03 piN4DQz5nEkqNjeclnvgK8F+Yk33mFcqaRCu6j+TfKh/Af02nQozbCb0KJsm1XHd8b2W 1Ue8w432G44bJU2Wt6qhN7wezWwMmh+H5nwu6lRcrrw0Btn7STY+Cx1tN1kmiIhErYma 3nsOPOHy1Ata9YP3iIOsnInmFw4KFL3Ke4F5Ih7mAjC5P8jDI7/cDp9SXx/WMD9CdC5e Bl/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=iqDrJ+5NlzJl3I1kY87RUMiRO0o28KbdPIkENLwrwxs=; b=bAiC9CJVBnbYlR8w+7L5CDTlxdQaY+qu7c/z1Fneh/rBVzvHYuyREg4IdIvBTp/mmJ dCnB/FVlmPH+iUbV7a/n0jLBa+QzZSeuBa0uGv/176QaoGiGG+P1Y7XvLk0HCLmlfRp1 Rj5DKqvp4sorVUUN7l6DNq4excqk8PL/wInfnZa4jdflcsH7y2DfEDeTObiGct55wT8a EWpweUaAHm6DMg36aohSof2fgttUNKoaX47Ptvp8Fr+C+RAleP6obPZHK8+C/PyYs9gG lYl1IVxvIKjDnFCidJkvt+jL9Ze9ou0uhTLpwLNadsGaSDthVL7XrZYFFUhpzKoYfOBq ezYQ== X-Gm-Message-State: AOAM531ghphazd97alBxeJ2NAiK8aB5GHYBnx7oaDa9m21J0i2yWUMdK SCRo+yWA8tvDLqd0GB1a0JsyUw== X-Google-Smtp-Source: ABdhPJx0IKZLfXlr/oKkig1k06e4msxnVrvebGx8Kjy6bH4SFBM3R0f3yoqkSoLVkNqktL4b7WbnWg== X-Received: by 2002:adf:e604:: with SMTP id p4mr13461946wrm.212.1591437236127; Sat, 06 Jun 2020 02:53:56 -0700 (PDT) Received: from localhost ([2a02:8084:20e2:c380:1f68:7ff5:120d:64e]) by smtp.gmail.com with ESMTPSA id c65sm15193432wme.8.2020.06.06.02.53.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 06 Jun 2020 02:53:55 -0700 (PDT) From: "Basil L. Contovounesios" To: Theodor Thornhill Subject: Re: bug#41736: 28.0.50; project.el - support global patterns for project-ignores References: <87mu5g34u6.fsf@thornhill.no> Date: Sat, 06 Jun 2020 10:53:54 +0100 In-Reply-To: <87mu5g34u6.fsf@thornhill.no> (Theodor Thornhill's message of "Sat, 06 Jun 2020 09:45:42 +0000") Message-ID: <87y2p0cyfh.fsf@tcd.ie> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 41736 Cc: 41736@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 (-) Theodor Thornhill writes: > It seems like an easy solution could be to add a "defcustom > project-ignore-patterns" that the project-vc backend picks up. This could be set > by both future major modes and as user customization. Note that defcustoms are generally a user-level preference and should therefore generally not be modified by major modes or other Lisp. -- Basil From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 06 06:11:21 2020 Received: (at 41736) by debbugs.gnu.org; 6 Jun 2020 10:11:21 +0000 Received: from localhost ([127.0.0.1]:50771 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jhVnN-0002oE-16 for submit@debbugs.gnu.org; Sat, 06 Jun 2020 06:11:21 -0400 Received: from mail-40134.protonmail.ch ([185.70.40.134]:40519) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jhVnG-0002nu-Dm for 41736@debbugs.gnu.org; Sat, 06 Jun 2020 06:11:19 -0400 Date: Sat, 06 Jun 2020 10:10:59 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thornhill.no; s=protonmail; t=1591438267; bh=G5AccpeLnw7mZ1rsXhhYB5Blk2xJWs1MT689V+I0hMU=; h=Date:To:From:Cc:Reply-To:Subject:In-Reply-To:References:From; b=b5fYiRV4GBfZEb/daTSAVm90qitcCwl+2ZzWSBHIIkKw7WGi0+CzrC0OMrWR/uGox mLoPr4I/uPecGLADTNZz/cAHIVO+0VbdRdST+20i3PKFs8JFqm1nmAQTA92bo7xjhb lSqxZ8o30YN9QMLcZUtqhBjRUTqy7PIbpVPr1valQ4ws9ULZULaJrrKkrWaSNxcxYm LAT8xtM2i2py7lG8EovID+K+S5TC37XFOpEVijVGcnvgzh4C3GFMkQLRjsepthdyUj xCQlEmVUuizHPs0TK8L6HioP0e6JmNCCvYEEU2kZMm2pGgpaB8vxiM536xj1vis4Tk uZrVOCLJzslbA== To: "Basil L. Contovounesios" From: Theodor Thornhill Subject: Re: bug#41736: 28.0.50; project.el - support global patterns for project-ignores Message-ID: In-Reply-To: <87y2p0cyfh.fsf@tcd.ie> References: <87mu5g34u6.fsf@thornhill.no> <87y2p0cyfh.fsf@tcd.ie> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="b1_f296055e6276fbb2813f4c2345a3ae2a" X-Spam-Status: No, score=-1.2 required=7.0 tests=ALL_TRUSTED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,HTML_MESSAGE shortcircuit=no autolearn=disabled version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on mail.protonmail.ch X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 41736 Cc: 41736@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: , Reply-To: Theodor Thornhill Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) This is a multi-part message in MIME format. --b1_f296055e6276fbb2813f4c2345a3ae2a Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 T24gU2F0LCBKdW4gNiwgMjAyMCBhdCAxMTo1MywgQmFzaWwgTC4gQ29udG92b3VuZXNpb3MgPGNv bnRvdm9iQHRjZC5pZT4gd3JvdGU6Cgo+IE5vdGUgdGhhdCBkZWZjdXN0b21zIGFyZSBnZW5lcmFs bHkgYSB1c2VyLWxldmVsIHByZWZlcmVuY2UgYW5kIHNob3VsZAo+IHRoZXJlZm9yZSBnZW5lcmFs bHkgbm90IGJlIG1vZGlmaWVkIGJ5IG1ham9yIG1vZGVzIG9yIG90aGVyIExpc3AuCgo+IFllYWgs IGFic29sdXRlbHkuIFVuY2xlYXIgd29yZGluZyBmcm9tIG15IGVuZC4KCldoYXQgSSBtZWFuIGlz OgoKV2Ugc2VlbSB0byB3YW50IHRoZSB2YyBiYWNrZW5kIG5vIG1hdHRlciB3aGF0LiBIb3dldmVy IC0gaWYgSSBvcGVuIGRpcmVkIGluIHJvb3QgYW5kIGV4ZWN1dGUg4oCccHJvamVjdC1maW5kLWZp bGVz4oCdIGFsbCB0aGUgc3R1ZmYgSSB3YW50IGlnbm9yZWQgaXMgbm90LiBJIGdldCB0aGUgZmFz dCBiYWNrZW5kLCBidXQgbWF5IHNlYXJjaCBhIG1pbGxpb24gb2JmdXNjYXRlZCBtaW5pZmllZCBm aWxlcy4KCkkgdGhpbmsgd2hhdCBJIHdhbnQgaXMgdG8gYmUgYWJsZSB0byBzYXk6CjEuIFVzZSB0 aGUgdmMgYmFja2VkIOKAnG1ham9yLW1vZGXigJ0gcHJvamVjdAoyLiBVc2UgdGhlIHZjIGJhY2tl ZCDigJxtYWpvci1tb2Rlc+KAnSBwcm9qZWN0CgpOb3Qgc3VyZSBob3cgdGhpcyB3b3VsZCBiZSBp bXBsZW1lbnRlZCBtb3N0IGNsZWFybHksIGJ1dCBtYXliZSB0aGUg4oCccHJvamVjdC12Yy1pZ25v cmVz4oCdIGRlZmN1c3RvbSBpbiBpbml0LmVsIGlzIHRoZSBtYWdpYyB3YW5kIGhlcmU/CgpJZiBz byAtIHRoaXMgYnVnIHJlcG9ydCBjb3VsZCBiZSByZWR1Y2VkIHRvIOKAnGFkZCBkb2N1bWVudGF0 aW9uIHRvIGNsYXJpZnkgdGhpc+KAnSA6KQoKVGhlbw== --b1_f296055e6276fbb2813f4c2345a3ae2a Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: base64 ICAgPGRpdj48YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdiBpZD0icHJvdG9ubWFpbF9tb2Jp bGVfc2lnbmF0dXJlX2Jsb2NrIj48ZGl2Pk9uIFNhdCwgSnVuIDYsIDIwMjAgYXQgMTE6NTMsIEJh c2lsIEwuIENvbnRvdm91bmVzaW9zICZsdDs8YSBocmVmPSJtYWlsdG86Y29udG92b2JAdGNkLmll IiBjbGFzcz0iIj5jb250b3ZvYkB0Y2QuaWU8L2E+Jmd0OyB3cm90ZTo8L2Rpdj48L2Rpdj48Ymxv Y2txdW90ZSBjbGFzcz0icHJvdG9ubWFpbF9xdW90ZSIgdHlwZT0iY2l0ZSI+Tm90ZSB0aGF0IGRl ZmN1c3RvbXMgYXJlIGdlbmVyYWxseSBhIHVzZXItbGV2ZWwgcHJlZmVyZW5jZSBhbmQgc2hvdWxk PGJyPnRoZXJlZm9yZSBnZW5lcmFsbHkgbm90IGJlIG1vZGlmaWVkIGJ5IG1ham9yIG1vZGVzIG9y IG90aGVyIExpc3AuPGJyPjwvYmxvY2txdW90ZT48YmxvY2txdW90ZSBjbGFzcz0icHJvdG9ubWFp bF9xdW90ZSIgdHlwZT0iY2l0ZSI+WWVhaCwgYWJzb2x1dGVseS4gVW5jbGVhciB3b3JkaW5nIGZy b20gbXkmbmJzcDtlbmQuJm5ic3A7PGJyPjwvYmxvY2txdW90ZT5XaGF0IEkgbWVhbiBpczo8ZGl2 Pjxicj48L2Rpdj48ZGl2PldlIHNlZW0gdG8gd2FudCB0aGUgdmMgYmFja2VuZCBubyBtYXR0ZXIg d2hhdC4gSG93ZXZlciAtIGlmIEkgb3BlbiBkaXJlZCBpbiByb290IGFuZCBleGVjdXRlIOKAnHBy b2plY3QtZmluZC1maWxlc+KAnSBhbGwgdGhlIHN0dWZmIEkgd2FudCBpZ25vcmVkIGlzIG5vdC4g SSBnZXQgdGhlIGZhc3QgYmFja2VuZCwgYnV0IG1heSBzZWFyY2ggYSBtaWxsaW9uIG9iZnVzY2F0 ZWQgbWluaWZpZWQgZmlsZXMuJm5ic3A7PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5JIHRoaW5r IHdoYXQgSSB3YW50IGlzIHRvIGJlIGFibGUgdG8gc2F5OjwvZGl2PjxkaXY+MS4gVXNlIHRoZSB2 YyBiYWNrZWQg4oCcbWFqb3ItbW9kZeKAnSZuYnNwO3Byb2plY3Q8L2Rpdj48ZGl2PjIuIFVzZSB0 aGUgdmMgYmFja2VkIOKAnG1ham9yLW1vZGVz4oCdIHByb2plY3Q8L2Rpdj48ZGl2Pjxicj48L2Rp dj48ZGl2Pk5vdCBzdXJlIGhvdyB0aGlzIHdvdWxkIGJlIGltcGxlbWVudGVkIG1vc3QgY2xlYXJs eSwgYnV0IG1heWJlIHRoZSDigJxwcm9qZWN0LXZjLWlnbm9yZXPigJ0gZGVmY3VzdG9tIGluIGlu aXQuZWwgaXMgdGhlIG1hZ2ljIHdhbmQgaGVyZT88L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pklm IHNvIC0gdGhpcyBidWcgcmVwb3J0IGNvdWxkIGJlIHJlZHVjZWQgdG8g4oCcYWRkIGRvY3VtZW50 YXRpb24gdG8gY2xhcmlmeSB0aGlz4oCdIDopPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5UaGVv PGNhcmV0PjwvY2FyZXQ+PGJyPjxkaXY+PGJyPjwvZGl2PjwvZGl2Pg== --b1_f296055e6276fbb2813f4c2345a3ae2a-- From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 06 07:08:52 2020 Received: (at 41736) by debbugs.gnu.org; 6 Jun 2020 11:08:52 +0000 Received: from localhost ([127.0.0.1]:50886 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jhWh2-0006hX-Fd for submit@debbugs.gnu.org; Sat, 06 Jun 2020 07:08:52 -0400 Received: from mail-wr1-f41.google.com ([209.85.221.41]:36242) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jhWh0-0006hI-7x for 41736@debbugs.gnu.org; Sat, 06 Jun 2020 07:08:50 -0400 Received: by mail-wr1-f41.google.com with SMTP id q11so12286951wrp.3 for <41736@debbugs.gnu.org>; Sat, 06 Jun 2020 04:08:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=xtsWBf6ZksvotJOdPWDPw22ixCJvsyPh2Yuyt2dmszQ=; b=oyVmbfJKC0ewryOgxdVatVjEQdT4gCXLIwHY/mcNLe943Q58Onwa5aNsbvAOEEMnsk nvISTkGsy26ZqXi4AZYcOUACsKlpO/AZLQA4gIW3hWz9x/zbdSzWRafrWWQhPXbhave9 OyoBWRbHpWX2YTTs0hK6Cn+qGs6TClLz1Yjduj05cPEWkvyMeazTkquzJY3jzBl6ZVFz +nwKRfISd7bPWzx/k1cyVswHI6sk4XyX+VAVWjqUbfVdIbDPl72c+G0YZ7VHKD9EpJic Xj3uFVvAHogLt7q+tUhotZvyQNeSKvG9lT9FJpej9q2I0VEJWEd95QEe2ZfdtBnh6Vlh HgtA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=xtsWBf6ZksvotJOdPWDPw22ixCJvsyPh2Yuyt2dmszQ=; b=SZaVlSsNNXsPIr2Wqf1Xe9FroUPdzxbGToeQZv4OOS5BhjhU+4Cq/SO3tQcV+lArDc 9FUdv6ShGcrxgnB5H9PMCG1XedhyySNu6fo61dlCpL+6jU1vrYi4WVIiLJl6you9Iksw jsWNUPQi/QN7oHeLgEouXP7/3OMqWO1rCMFar9Oo9VftuyjD5p+gG63VMMmKlWLdZdrJ mDLIKCE0Y8/jjGo5e4Whn42QOhbqjkeBEJxGggoMNYaShF5ATec/MiA2Ke98++X0sEvP SEiKnCMHZsVzCTcrWwJXGNLYb5BOmaY4JGFJYrW5FG31nzWZjBPcx73th2+ztCKMMMmY WM8w== X-Gm-Message-State: AOAM533cT9RiNLtuGr0wqqWIquTPYn6m/VSrzkyoix0/QDbSC8sSoWeO 5bwzkTMxCbyR11KmnRJTeUrLVgri X-Google-Smtp-Source: ABdhPJwJxQeq4gBp7cmpar4TEvlciCYoA6HXnayVW4JI7lbp/MncFrTP9w1NX/g8qE2EfmmWLFwc2g== X-Received: by 2002:a5d:4f09:: with SMTP id c9mr13644558wru.3.1591441724081; Sat, 06 Jun 2020 04:08:44 -0700 (PDT) Received: from [192.168.0.3] ([66.205.73.129]) by smtp.googlemail.com with ESMTPSA id 88sm17345082wre.45.2020.06.06.04.08.42 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 06 Jun 2020 04:08:43 -0700 (PDT) Subject: Re: bug#41736: 28.0.50; project.el - support global patterns for project-ignores To: Theodor Thornhill , 41736@debbugs.gnu.org References: <87mu5g34u6.fsf@thornhill.no> From: Dmitry Gutov Message-ID: Date: Sat, 6 Jun 2020 14:08:41 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 MIME-Version: 1.0 In-Reply-To: <87mu5g34u6.fsf@thornhill.no> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 41736 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.5 (/) On 06.06.2020 12:45, Theodor Thornhill wrote: > Hello, > > In https://debbugs.gnu.org/cgi/bugreport.cgi?bug=41572 there is talk about supporting a "plain project", and when joining that chat I realised that the "best" current implementation is the VC backend. However, this backend does not easily include other patterns to ignore. > > For example we might want to ignore "node_modules", "elm-stuff" etc. > These can be added pretty easily to 'project-vc-ignores' via: > > 1. Major mode support: "(setq-local project-vc-ignores '("foo" "bar"))" I'm not sure major modes are the place to do this: after all, the user can call project-find-files while visiting a file in some other mode (say, README.md). The view of the list of project files should remain consistent. > 2. User init.el "(add-to-list project-vc-ignores "foo")" > > However, there are some drawbacks. > Method 1: > - We rely on major mode to implement this > - When using "project-switch-project", then press "f - find-file" the ignore is not recognized yet since it relies on the major mode. Indeed. > - It does not work when a project uses several modes And I think it's the common case. > Method 2: > - Needs user to add this to own init file. > - Pollutes the defcustom globally > > Is there a way to set these patters such that we still can use the fast VC backend, but not have these drawbacks? How about .dir-locals.el? project--value-in-dir takes particular care to read these files. > It seems like an easy solution could be to add a "defcustom project-ignore-patterns" that the project-vc backend picks up. This could be set by both future major modes and as user customization. This also either pollutes user's init.el or remains major mode specific, right?