From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Should (buffer-list) ever return killed buffers? Date: Mon, 24 May 2021 12:31:23 -0400 Message-ID: References: <87wnrpujo0.fsf@osv.gnss.ru> <87bl91uhn0.fsf@osv.gnss.ru> <9b005615-9b52-cc9c-e620-bc87334f08e0@gmx.at> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="37521"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: Sergey Organov , emacs-devel@gnu.org To: martin rudalics Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon May 24 18:40:10 2021 Return-path: Envelope-to: ged-emacs-devel@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 1llDcf-0009dw-RN for ged-emacs-devel@m.gmane-mx.org; Mon, 24 May 2021 18:40:09 +0200 Original-Received: from localhost ([::1]:53010 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1llDce-0002L5-RL for ged-emacs-devel@m.gmane-mx.org; Mon, 24 May 2021 12:40:08 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:42898) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1llDUU-0001cv-Kj for emacs-devel@gnu.org; Mon, 24 May 2021 12:31:44 -0400 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:32753) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1llDUO-00017I-UT for emacs-devel@gnu.org; Mon, 24 May 2021 12:31:42 -0400 Original-Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 6ED4410028B; Mon, 24 May 2021 12:31:26 -0400 (EDT) Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 1C53F1000C9; Mon, 24 May 2021 12:31:24 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1621873884; bh=rndy6+6FZ13aglzwbKwKJq5IxCBXykrTJWLxgJmQPDk=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=TFMOpXRM3WSb5dGHmXZuEScHOpdeo+m92AaYwmUr1/Uz9icGuhISPQVqEpC/k9Dc2 bwj7C6eejYEl5+sXH0N/yYFP21Y6gYVnZ6p+pRONieiaa+gU4geojdeao55onLfY3h qyOAEqLdFlfRV6KnViPqb79PBv6aMv2cvm6YeBhiiEJY2eQOG55YhBm5wCLb7esc/I sgt30RX0DeXLmVJvv8zdKugKPlMXdnf49LjIZDek4NJznud/4EDZppDY58OpvzKoS9 +P/4wPPFRGnVGekThyTaFMt/2v54VQDrBubH3DfBBAE16Em3W5bi5QVTMzZ5k27qU7 Y3dIIm6XHN0TQ== Original-Received: from alfajor (69-196-163-239.dsl.teksavvy.com [69.196.163.239]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id B716C120B29; Mon, 24 May 2021 12:31:23 -0400 (EDT) In-Reply-To: <9b005615-9b52-cc9c-e620-bc87334f08e0@gmx.at> (martin rudalics's message of "Mon, 24 May 2021 16:15:29 +0200") Received-SPF: pass client-ip=132.204.25.50; envelope-from=monnier@iro.umontreal.ca; helo=mailscanner.iro.umontreal.ca X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:269778 Archived-At: >>> I strongly suspect that the problem goes as follows: >>> - buffer-list returns a list of buffers that are all live (i.e. no bug >>> there). > I strongly doubt that. For me the reason is that `buffer-list' runs > FOR_EACH_TAIL_INTERNAL with third argument true which may quit. The > earlier mentioned "And how running from a timer could be involved?" > should explain what happens then. I don't see how it explain anything. The fact that it may quit doesn't imply it can run timers or run arbitrary code which could lead to the return value containing dead buffers. > We should fix `buffer-list' appropriately. IIUC it's broken anyway with > a non-nil FRAME argument - it nowhere checks whether the buffers on > FRAME's buffer list and buried buffer list are live. I never use the FRAME arg to it, so I can't speak for the behavior of that use-case. If it currently returns dead buffers, we should fix that. Stefan