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: Lisp files that load cl-lib in problematical ways Date: Fri, 27 Oct 2023 09:19:05 +0300 Message-ID: <834jicfuzq.fsf@gnu.org> References: <835y38qvlg.fsf@gnu.org> <87bkcx6eci.fsf@dataswamp.org> <83ttqnm4ti.fsf@gnu.org> <83lebyu5yx.fsf@gnu.org> <4684f43123d7dee59461@heytings.org> <835y2xo1a5.fsf@gnu.org> <4684f4312391906f6101@heytings.org> <831qdlo084.fsf@gnu.org> <83edhkmfax.fsf@gnu.org> <87ttqghwcs.fsf@> <83a5s8kocd.fsf@gnu.org> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="40573"; mail-complaints-to="usenet@ciao.gmane.io" Cc: bjorn.bidar@thaodan.de, stefankangas@gmail.com, gregory@heytings.org, emacs-devel@gnu.org To: rms@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Oct 27 08:19:53 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 1qwGCG-000AOO-U9 for ged-emacs-devel@m.gmane-mx.org; Fri, 27 Oct 2023 08:19:53 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qwGBS-0003XP-Sl; Fri, 27 Oct 2023 02:19:02 -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 1qwGBR-0003Ww-UW for emacs-devel@gnu.org; Fri, 27 Oct 2023 02:19:02 -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 1qwGBQ-0003Vb-Tr; Fri, 27 Oct 2023 02:19:00 -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=fSJZdqK/d71eKFZEBfH/bfYJez36rJdINReVx+6sFtM=; b=kvRTNePmhILe aT2AKxkZxHjjJtlhG41DiZrr+kKqV/LPsTcoFiNXk0CU03C+UAT20k9obh9z/CzwQ5rtTankF+0t0 uCEiqOauJkUv+WEw1iWHY9Nui5yQBk/9vzUP9iDbMmgkc7I0g1iZypNfagALEhP1f9nnriEsqjsEP I41qHn9JLZEaOYR9Mh1Jwm66TpDrc/SnVAgrTQ98dcrFIzLJUlZdhOKlzAoRzBY8CkKm6tzKNYZ4V H5ulsAqF/hMfZFCRMfA+qJCd0hVQ9AynXkDDXBzXrV7WBPNCMUh5F3fYlNtkWCHvVzxJUFwYapaKv kTsB1gQSB9DxnaJRZpYDww==; In-Reply-To: (message from Richard Stallman on Thu, 26 Oct 2023 22:12:18 -0400) 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:311925 Archived-At: > From: Richard Stallman > Cc: bjorn.bidar@thaodan.de, stefankangas@gmail.com, > gregory@heytings.org, emacs-devel@gnu.org > Date: Thu, 26 Oct 2023 22:12:18 -0400 > > > How is cl-lib different from any other package that is extremely > > likely to be loaded close to a beginning of a production session? > > I think that is the crucial question -- it shows the deep difference. > > Most packages do a specific kind of job and have just a few entry > points that relate to that job. Consider sendmail.el, for instance. > It Has commands to initialize a message and to send it, and some > relating to editing one. Most of the package is internals > that you wouldn't need to know about in order to _use_ sendmail. > > CL makes a big contrast with that. It is mainly entry points. And > many of these entry points try to be as multi-purpose as possible. We have a lot of the CL variety as well. Look at lisp/emacs-lisp/ directory: it is full of such "entry-point-only" packages, and most of them aren't preloaded, they load on demand. That's typical of any Lisp package that provides infrastructure rather than applications, like sendmail.el does. cl-lib is one of those infrastructure packages, but it isn't the only one, far from that. We take care not to preload such infrastructure packages unless they are needed by the code which runs at build time, or are needed at startup. So I again say: cl-lib is not different from any other infrastructure package that is likely to be loaded because some Lisp program needs to use it. > This is why I'm concered with how many packages use CL, but not > concerned with how many use sendmail.el. Are you concerned with any of the following? easy-mmode.el eieio.el generic.el icons.el let-alist.el map.el rx.el subr-x.el unsafep.el warnings.el They are all of the same nature: they provide utility functions to be used by Lisp programs.