From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#42386: Acknowledgement ([PATCH] Handle symbols in project-kill-buffers-ignores) Date: Thu, 16 Jul 2020 18:14:17 +0300 Message-ID: <83imenlcfq.fsf@gnu.org> References: <878sfjkh8o.fsf@warpmail.net> <875zankfrk.fsf@warpmail.net> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="7533"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 42386@debbugs.gnu.org To: "Philip K." Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Jul 16 17:15:58 2020 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 1jw5c5-0001rl-WB for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 16 Jul 2020 17:15:58 +0200 Original-Received: from localhost ([::1]:54658 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jw5c4-00075H-W4 for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 16 Jul 2020 11:15:57 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:59024) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jw5bD-0006Dk-4o for bug-gnu-emacs@gnu.org; Thu, 16 Jul 2020 11:15:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:44204) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jw5bC-0000V8-Rj for bug-gnu-emacs@gnu.org; Thu, 16 Jul 2020 11:15:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jw5bC-00088w-Ni for bug-gnu-emacs@gnu.org; Thu, 16 Jul 2020 11:15:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 16 Jul 2020 15:15:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 42386 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 42386-submit@debbugs.gnu.org id=B42386.159491248131253 (code B ref 42386); Thu, 16 Jul 2020 15:15:02 +0000 Original-Received: (at 42386) by debbugs.gnu.org; 16 Jul 2020 15:14:41 +0000 Original-Received: from localhost ([127.0.0.1]:55750 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jw5aq-000880-Jg for submit@debbugs.gnu.org; Thu, 16 Jul 2020 11:14:40 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:45092) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jw5ao-00087n-IZ for 42386@debbugs.gnu.org; Thu, 16 Jul 2020 11:14:39 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:49751) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jw5aj-0000Q7-9w; Thu, 16 Jul 2020 11:14:33 -0400 Original-Received: from [176.228.60.248] (port=1928 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jw5ai-0001oD-F3; Thu, 16 Jul 2020 11:14:33 -0400 In-Reply-To: <875zankfrk.fsf@warpmail.net> (philip@warpmail.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: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:183069 Archived-At: > From: "Philip K." > Date: Thu, 16 Jul 2020 10:47:43 +0200 > > Each condition is either a regular expression matching a buffer > -name, or a predicate function that takes a buffer object as > -argument and returns non-nil if it matches. Buffers that match > -any of the conditions will not be killed." > - :type '(repeat (choice regexp function)) > +name, a predicate function that takes a buffer object as argument > +and returns non-nil if it matches, or a symbol protecting buffers > +of certain major modes. The part you added to the doc string is unclear: how can a symbol "protect buffers of certain major modes"? (I think I can guess what you mean, but readers of doc strings should be guessing.) > - ((functionp c) > + ((and (symbolp c) > + (provided-mode-derived-p > + (buffer-local-value 'major-mode buf) > + c))) > + ((and (not (symbolp c)) > + (functionp c)) > (funcall c buf)))) Is this logic correct and reliable? A function is a symbol, and there could be symbols that have both a function cell and a variable cell -- how does this cope with that? And why do you require a function not to be a symbol? I'm probably missing something. Thanks.