From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.bugs Subject: bug#58839: [Patch] Re: bug#58839: 29.0.50; project-kill-buffer fails when Eglot is running Date: Tue, 1 Nov 2022 17:26:26 +0200 Message-ID: References: <87sfj8umwb.fsf@posteo.net> <87a65f3j40.fsf@posteo.net> <213f3549-de4e-25a7-5e27-d13893e557bc@yandex.ru> <87zgdfwkle.fsf@gmail.com> <8e31a89d-e35e-6dd0-a8e3-f0b9684c8bfa@yandex.ru> <87v8o3wgq1.fsf@gmail.com> <87ilk2x1si.fsf@gmail.com> <871qqq7l9p.fsf@posteo.net> <87eduqwekz.fsf@gmail.com> <87wn8invbx.fsf@posteo.net> <877d0iw8iq.fsf@gmail.com> <837d0hhlke.fsf@gnu.org> <46ff0065-5645-ef1e-2621-242fb6a73f98@yandex.ru> <87v8o0uxn5.fsf@gmail.com> <787a4362-7ff5-7dbb-9118-16e4bee5f328@yandex.ru> <87edunvhf2.fsf@gmail.com> <6d4d9e72-1bae-4d64-b7c1-c2b9c11e396f@yandex.ru> <87tu3jgdbv.fsf@posteo.net> <87h6zihq3q.fsf@posteo.net> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="22719"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.2.2 Cc: Eli Zaretskii , 58839@debbugs.gnu.org, manuel.uberti@inventati.org To: Philip Kaludercic , =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Nov 01 18:07:55 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1opujy-0005hR-7G for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 01 Nov 2022 18:07:54 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1optAP-0003U7-M7; Tue, 01 Nov 2022 11:27:05 -0400 Original-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 1optAM-0003Rb-Ud for bug-gnu-emacs@gnu.org; Tue, 01 Nov 2022 11:27:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1optAM-0007Y2-NN for bug-gnu-emacs@gnu.org; Tue, 01 Nov 2022 11:27:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1optAM-0005N5-Ht for bug-gnu-emacs@gnu.org; Tue, 01 Nov 2022 11:27:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 01 Nov 2022 15:27:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 58839 X-GNU-PR-Package: emacs Original-Received: via spool by 58839-submit@debbugs.gnu.org id=B58839.166731639820598 (code B ref 58839); Tue, 01 Nov 2022 15:27:02 +0000 Original-Received: (at 58839) by debbugs.gnu.org; 1 Nov 2022 15:26:38 +0000 Original-Received: from localhost ([127.0.0.1]:43997 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1opt9x-0005M9-92 for submit@debbugs.gnu.org; Tue, 01 Nov 2022 11:26:37 -0400 Original-Received: from mail-wr1-f49.google.com ([209.85.221.49]:37864) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1opt9v-0005Lw-1O for 58839@debbugs.gnu.org; Tue, 01 Nov 2022 11:26:35 -0400 Original-Received: by mail-wr1-f49.google.com with SMTP id bs21so20653890wrb.4 for <58839@debbugs.gnu.org>; Tue, 01 Nov 2022 08:26:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=L/ItkN1ALilt2KUAqidRz7Je6n38FFFwzvwNFLVHv1I=; b=HSAwaRfPaVf/FnJl9UIj5D4hg+j0Af502pyY9XnLzQxfpgarWNSXxCLboMmrE/u26F ckP4J63IgSiFRpZsNF1vkwE6ZmAgmus9xxXaYFOsObqPjgAu+//72EJ7YdopBNjDtJaM v8Na1uobYmaTJ99zOPBTMqeyN0jtBbQf50329lYyTDqtX9b88uvdYt7DGc88YSPx2fyC sDGPxwjFmY7xN4KUIw7bA9/X5KrVR+7YbEdXVPPCybo1CKtp/UoNf3Tg/jPkPhBgN5KP rAOIqJ44QYqGC7gltyZAdrGV4tJGf8l/1/Y8yEMyWEvdC3XydcPUlXJnLYxNAQ9B3QNc ffGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :sender:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=L/ItkN1ALilt2KUAqidRz7Je6n38FFFwzvwNFLVHv1I=; b=xUaqAiuhto6e/18Bpo7lVYH28gJLaGymPWrQOdbGHmJtriHhXWxr+SPSc6P+UTlQ7R lwF3MZt2qiXQslz5ZxjIJXTuVJvXkDBfdw7b0F1MNiyhcsXqHJ27ciRNyue56EaPYL61 i34SM58yoHDbe9mtI+bM0sEq8AJZsTfu04VC7dAdvstAwZ8MUglIvTskBXNUxLTStk1l DnFaBGXSAgz/4OAoXZkyUUK6UUUn44cDriLiZr+60B3ZEdmDZDRcwFsvYV7D32vKa9nR obuJAq/kLdnyfF7VhdSA2vQBaSgeXPKBY8KMt1/QEW7rHRtm2/TGxSg1xfawG7odXqLE 9VFg== X-Gm-Message-State: ACrzQf3ZKOZ5pj+FtpORblKx/vmBSz0gHttdwu7ehFRUP4w4vb1ISyVD 1wHz4+fOKvBcUAzq+DvMiCE= X-Google-Smtp-Source: AMsMyM5BUFqzcKKLKKtobcNx7EDxI2u0qxc5SNOfdKsQxQ/kx6UkbfB8BrynlN7vCiB2YuTKtsOkJg== X-Received: by 2002:a5d:650b:0:b0:236:8ead:3ec2 with SMTP id x11-20020a5d650b000000b002368ead3ec2mr12176403wru.434.1667316388870; Tue, 01 Nov 2022 08:26:28 -0700 (PDT) Original-Received: from [192.168.0.6] ([46.251.119.176]) by smtp.googlemail.com with ESMTPSA id l13-20020a05600c2ccd00b003a2f2bb72d5sm11942410wmc.45.2022.11.01.08.26.27 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 01 Nov 2022 08:26:28 -0700 (PDT) Content-Language: en-US In-Reply-To: <87h6zihq3q.fsf@posteo.net> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: "bug-gnu-emacs" Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:246778 Archived-At: On 01.11.2022 13:27, Philip Kaludercic wrote: > I am biased, but I believe that the language could even find more use in > project.el, by having `project-buffers' just call `match-buffers' with a > special `buffer-match-p' predicate. Here is a sketch of how that could > look like (I haven't tested it yet): Sure, but only after we're ready to drop project.el support for Emacs older than 29. > > diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el > index ac278edd40..b55c245368 100644 > --- a/lisp/progmodes/project.el > +++ b/lisp/progmodes/project.el > @@ -352,15 +352,28 @@ project--remote-file-names > (concat remote-id file)) > local-files)))) > > +(defun project-includes-buffer-p (buffer dir) > + "Return non-nil if the `default-directory' of BUFFER is below DIR." > + (file-in-directory-p > + (buffer-local-value 'default-directory buffer) > + dir)) Not an optimal name, given that we have made project-buffers a generic function, so that a custom project backend can define their own buffer-listing strategy. And this one implies that matching by default-directory is universal. > +(defcustom project-buffer-conditions Why not keep considering unknown buffers as part of project by default? We'll just stop killing them on cleanup. Otherwise, we'll really need an extensible mechanism for major modes all around the ecosystem to tag themselves as project-visible. > + '(and (or buffer-file-name > + (derived-mode . compilation-mode) > + (derived-mode . dired-mode) > + (derived-mode . diff-mode) > + (derived-mode . comint-mode) > + (derived-mode . eshell-mode) > + (derived-mode . change-log-mode)) > + project-includes-buffer-p) > + "A buffer predicate for matching what buffers belong to a project." > + :type 'buffer-predicate) Let's not forget Xref, Occur, VC-Dir, Log-View. Maybe some others.