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#54802: OClosure: Make `interactive-form` a generic function Date: Tue, 19 Apr 2022 16:53:37 +0300 Message-ID: <83czhduqla.fsf@gnu.org> References: <87r161to4p.fsf@yahoo.com> <87v8vbrx4w.fsf@yahoo.com> <878rs7rus8.fsf@yahoo.com> <87fsmfq8dl.fsf@yahoo.com> <83wnfq1fzg.fsf@gnu.org> <83v8v5vdey.fsf@gnu.org> <83fsm9ut11.fsf@gnu.org> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="12215"; mail-complaints-to="usenet@ciao.gmane.io" Cc: luangruo@yahoo.com, 54802@debbugs.gnu.org To: Stefan Monnier Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Apr 19 15:54:16 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 1ngoJ5-0002zq-7Q for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 19 Apr 2022 15:54:15 +0200 Original-Received: from localhost ([::1]:52156 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngoJ4-0000LP-1Y for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 19 Apr 2022 09:54:14 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:47210) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ngoIt-0000KJ-CP for bug-gnu-emacs@gnu.org; Tue, 19 Apr 2022 09:54:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:48129) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ngoIs-0006Ga-JF for bug-gnu-emacs@gnu.org; Tue, 19 Apr 2022 09:54:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1ngoIs-0005ek-HQ for bug-gnu-emacs@gnu.org; Tue, 19 Apr 2022 09:54: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: Tue, 19 Apr 2022 13:54:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 54802 X-GNU-PR-Package: emacs Original-Received: via spool by 54802-submit@debbugs.gnu.org id=B54802.165037643721729 (code B ref 54802); Tue, 19 Apr 2022 13:54:02 +0000 Original-Received: (at 54802) by debbugs.gnu.org; 19 Apr 2022 13:53:57 +0000 Original-Received: from localhost ([127.0.0.1]:42026 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ngoIm-0005eO-UK for submit@debbugs.gnu.org; Tue, 19 Apr 2022 09:53:57 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:53882) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ngoIk-0005eC-O8 for 54802@debbugs.gnu.org; Tue, 19 Apr 2022 09:53:55 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:38626) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ngoIe-0006FS-JY; Tue, 19 Apr 2022 09:53:48 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=m2AnpRqNgMXN4fA05tSFe5gbB3+Ak72KMJQTwtJe5S0=; b=aJthPF444o9l ChiZ6zKvwoP7x7HgfkizpvGYonwuzxCg5HDUn5jlaXYwnF/YhjCduoB6iObYUyQ5Dt6bSxuxhPkaH SN4I3T1euCG+0Peo+qeUbkn5r7ZIjOmUYb9rznV0E8fxa3zdSn4ACpf8HXHaTpvTjUme955V5dmYn RoQTQkGGpDp5APxKQIFoqMlsbisL25QbvOIv4VRuW+B3x6UoUzk1bC9KghyCNtejeGga5l/j0ozO3 ehmvn6GvTdcp/SHwXJAptmY4sqX2lc3cWXIpBwOfDoK3NaDNpmEtRS45XzAdVyyRlOt7qUnx5UuYP qZ96eH12YS+18YGgjZWPjw==; Original-Received: from [87.69.77.57] (port=2975 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ngoIe-0006Ij-1v; Tue, 19 Apr 2022 09:53:48 -0400 In-Reply-To: (message from Stefan Monnier on Tue, 19 Apr 2022 09:34:47 -0400) 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:230243 Archived-At: > From: Stefan Monnier > Cc: luangruo@yahoo.com, 54802@debbugs.gnu.org > Date: Tue, 19 Apr 2022 09:34:47 -0400 > > >> Not sure what you mean by "affect all of Emacs". It affects > >> a well-delimited (and small) part of the code. > > It is called outside of the advice functions. > > The patch under discussion moves a well-understood and simple piece of > code from C to ELisp, and while doing so marks the resulting function as > generic so that it can be overridden on a case-by-case basis > by packages. > > The move from C to ELisp should make no difference other than > performance. We've seen this proven wrong quite a few times already. This isn't the first time we move some "well-understood and simple" code from C to Lisp. And every time we did that it had unintended consequences: subtle bugs, features that were lost, subtly changed behavior, etc. How many times we need to experience this before we all understand that there are no "well-understood and simple" enough code in Emacs internals that can be reimplemented without consequences? I could understand an argument about advantages that outweigh these costs, but denying these costs exist? that I cannot understand, given our common experience. > The fact of marking it as generic does not directly have any impact at > all (literally: it just adds a `cl--generic` property to the > `interactive-form` symbol but the content of the `symbol-function` is > the same as it would be for a normal function :-). And makes debugging harder while at that. Right? > >> Are you worried about introducing bugs, about the performance impact, > >> or something else? > > All of them. > > What makes you think this can introduce bugs? Bitter experience. You were there, so I'm surprised you don't have the same experience. > What kinds of bugs? How should I know? We will know when we discover them, months or maybe years from now. But discover them we will, of that I'm certain. > Care to be a bit more specific about the "something else"? See above.