From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Alan Mackenzie Newsgroups: gmane.emacs.devel Subject: Re: Attaching context info to an error Date: Fri, 29 Dec 2023 17:43:05 +0000 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="37632"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Stefan Monnier , emacs-devel@gnu.org To: =?iso-8859-1?Q?Jo=E3o_T=E1vora?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Dec 29 18:43:48 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 1rJGtg-0009XV-Dg for ged-emacs-devel@m.gmane-mx.org; Fri, 29 Dec 2023 18:43:48 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rJGtA-0004CV-EP; Fri, 29 Dec 2023 12:43:16 -0500 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 1rJGt6-0004CF-FP for emacs-devel@gnu.org; Fri, 29 Dec 2023 12:43:12 -0500 Original-Received: from mail.muc.de ([193.149.48.3]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rJGt3-00055m-0v for emacs-devel@gnu.org; Fri, 29 Dec 2023 12:43:11 -0500 Original-Received: (qmail 98779 invoked by uid 3782); 29 Dec 2023 18:43:06 +0100 Original-Received: from acm.muc.de (pd953a7e3.dip0.t-ipconnect.de [217.83.167.227]) (using STARTTLS) by colin.muc.de (tmda-ofmipd) with ESMTP; Fri, 29 Dec 2023 18:43:05 +0100 Original-Received: (qmail 30011 invoked by uid 1000); 29 Dec 2023 17:43:05 -0000 Content-Disposition: inline In-Reply-To: X-Submission-Agent: TMDA/1.3.x (Ph3nix) X-Primary-Address: acm@muc.de Received-SPF: pass client-ip=193.149.48.3; envelope-from=acm@muc.de; helo=mail.muc.de X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action 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:314335 Archived-At: Hello, João. On Fri, Dec 29, 2023 at 17:24:29 +0000, João Távora wrote: > On Fri, Dec 29, 2023 at 5:19 PM Alan Mackenzie wrote: > > Talk about "generic functions" and "proper objects" makes me worried > > indeed. The Emacs error handling must work fully right from early > > bootstrap, i.e. when no Lisp has yet been loaded. The "proper object" > > for this is a list, of defined structure. > It's indistinguishable from a cons, which is bad for many reasons > explained at length. But it's a good choice for early bootstrap. How about dealing with those reasons in other ways rather than using not-yet-existent data structures. > Weren't you involved in "symbol-with-pos"? I developped them, yes. > It's a similar object with a unique type. Similar to what? > So it's going to need more arguments than just being scared of generic > functions. There's no fear involved at all. cl-lib is an exceptionally controversial part of Emacs, as we established two or three weeks ago. It's poorly documented, and likely buggy. It's not something to be moved to the centre of the Emacs Lisp machine. > Noone is advocating for calling generic functions from C or preloading > them, etc, so don't worry about it. That's got no connection with what I wrote. What I'm asking you to confirm is that you're not contemplating introducing error handling machinery which, during bootstrap, will only work after Lisp code has been loaded. -- Alan Mackenzie (Nuremberg, Germany).