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.devel Subject: Re: Shrinking the C core Date: Fri, 11 Aug 2023 08:46:31 +0300 Message-ID: <83y1iigmh4.fsf@gnu.org> References: <20230809094655.793FC18A4654@snark.thyrsus.com> <87il9owg0f.fsf@yahoo.com> <87ttt7odzh.fsf@arch.mail-host-address-is-not-set> <87leej7ima.fsf@gentoo.org> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="34304"; mail-complaints-to="usenet@ciao.gmane.io" Cc: sam@gentoo.org, ericfrederickson68@gmail.com, emacs-devel@gnu.org To: esr@thyrsus.com Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Aug 11 07:47:01 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 1qUKzD-0008f3-Jt for ged-emacs-devel@m.gmane-mx.org; Fri, 11 Aug 2023 07:46:59 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qUKyb-0006lo-VG; Fri, 11 Aug 2023 01:46:22 -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 1qUKyM-0006jb-MP for emacs-devel@gnu.org; Fri, 11 Aug 2023 01:46:09 -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 1qUKyM-0001Q8-7i; Fri, 11 Aug 2023 01:46:06 -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=jsXQzQrzWSXDDWTaAQUz+LbZ9Cai9paKY1fVoaOixFc=; b=FcmJfpwqJTD9 nultGumdRHjORvs1k6ds/72wYfuiBW9jTFnaXdjOuRndCvUYHx7X0jtdtzKRf1vfDi5Yvn7qskeSz 1saALqUqyeYTHtXkH9vGSOgODJzIXLWe+JjBpyRnl4KxvG9JnZC+Eyue3akbkcwNHeEeogoi+Sh6u f58/bUgWi0twTUOf8c/+S2EPxbgAY4VueKRWrJTf86hUR7V1KdXdbzcXIt+LRS8aRcah2l4CULDcX 0gvAxI6DtEE9HA+dxN3j3wry5TZQsTHPd8FRraslGi8Ei/zWFG5mYmbjlK2vLqXAy9sHvHJmfJwEb Pj26WkvOxFILR4KZHOxbqA==; In-Reply-To: (esr@thyrsus.com) 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:308555 Archived-At: > Date: Thu, 10 Aug 2023 17:19:22 -0400 > From: "Eric S. Raymond" > Cc: Eric Frederickson , emacs-devel@gnu.org > > Sam James : > > I presume esr was under the same impression and hence even if he never > > went through with his big plan, it'd be some easy wins from his perspective. > > > > Laying the groundwork for something that may or may not come off with > > independent changes one believes are worthwhile isn't underhanded if > > it's just a pipedream in the back of your head but you think the changes > > are good in isolation. > > Exactly so. Experience has taught me the value of sneaking up on big > changes in such a way that if you have to bail out midway through the > grand plan you have still added value. If each individual change has clear added value, yes. The problem is, usually they don't, not IME with this project. I have too many gray hair with this false assumption. > And reducing the maintainence complexity of the core is a good thing > in itself. There's no such thing as a separate "maintainence complexity of the core" in Emacs (assuming by "core" you allude to the C code). The routine maintenance in Emacs includes both the C code and the Lisp code that is part of the low-level infrastructure. files.el, simple.el, subr.el, and many other *.el files (basically, everything that's loaded in loadup.el, and then some, like dired.el) -- all those constitute the core of Emacs, and are under constant supervision and attention of the maintainers and core developers. Moving old and well-tested C code out to Lisp usually _increases_ maintenance burden, because the old code in most cases needs _zero_ maintenance nowadays. Thus, the condition of the changes to have added value is not usually fulfilled, and we need "other considerations" to justify the costs.