From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.devel Subject: Re: New(?) idea for making backtraces usable: condition-case* Date: Tue, 18 Jul 2023 22:19:17 -0400 Message-ID: References: <83ttu27c0w.fsf@gnu.org> Reply-To: rms@gnu.org Content-Type: text/plain; charset=Utf-8 Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="26500"; mail-complaints-to="usenet@ciao.gmane.io" Cc: acm@muc.de, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Jul 19 04:20:17 2023 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 1qLwnW-0006f6-7r for ged-emacs-devel@m.gmane-mx.org; Wed, 19 Jul 2023 04:20:14 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qLwme-0000E6-3K; Tue, 18 Jul 2023 22:19:20 -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 1qLwmc-0000Dw-TT for emacs-devel@gnu.org; Tue, 18 Jul 2023 22:19:18 -0400 Original-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 1qLwmb-0001u9-WA; Tue, 18 Jul 2023 22:19:18 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=Date:References:Subject:In-Reply-To:To:From: mime-version; bh=w1a0t3XWQBllxZNOhPrIUPQNRhVPa//nsJkSsquy/do=; b=QUGK18GwXRXa K5wRFJWrqCJCAL/Q/BK664ZfrevkBU9YcMXmIbmGv0s+An2zNGnpLySuRUbEZUrAZ5DNzwUo0adHV KX4nYEUye1juntlJaReFqG6y81pFBwYTR2pkL5/7s/8spNUJXaiqxABrGSu38ZnbOzMCVdi3Yddq5 ZS74vRd47dlDfylBeI95edJ6vQS65zIFzojSwqkc1w/wuL7FtXG9xBEVswUfQSSnRIKCKf/wJeI/e hF5lpsQCvEeqA7YZhm7XZsD8FrVUCy+4GvK7pldtGK1N6odB5xcYztl2eXBW/jlfJCo+5/FqelO3A p5r1bRKVnYc+qKMLubDkBQ==; Original-Received: from rms by fencepost.gnu.org with local (Exim 4.90_1) (envelope-from ) id 1qLwmb-0003dH-NH; Tue, 18 Jul 2023 22:19:17 -0400 In-Reply-To: <83ttu27c0w.fsf@gnu.org> (message from Eli Zaretskii on Mon, 17 Jul 2023 19:12:15 +0300) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 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-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:307960 Archived-At: [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > My idea here is to write a new special form, condition-case*. This would > > behave the same as condition-case unless a signal is signalled. In that > > case the error handler forms would evaluate _before_ the specpdl gets > > unwound. This unwinding would take place on exiting an error handler in > > the form. The unwinding would NOT happen if the error handler is exited > > with, say, signal. This would give nested condition-case*'s the chance > > to output a full backtrace. I thinmk it is unclean for `condition-case' (or a variant of it) to run its cleanups in a context other than its own. We have ways to get backtraces from where the error was signaled, and if other ways to do that would be useful we can add them, but I think they should not resemble `condition-case'. -- Dr Richard Stallman (https://stallman.org) Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org)