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: Lisp files that load cl-lib in problematical ways Date: Thu, 26 Oct 2023 22:12:18 -0400 Message-ID: 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> 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="38712"; mail-complaints-to="usenet@ciao.gmane.io" Cc: bjorn.bidar@thaodan.de, stefankangas@gmail.com, gregory@heytings.org, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Oct 27 04:13:24 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 1qwCLj-0009w3-Fr for ged-emacs-devel@m.gmane-mx.org; Fri, 27 Oct 2023 04:13:23 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qwCKl-0005Xp-71; Thu, 26 Oct 2023 22:12:23 -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 1qwCKj-0005XO-2p for emacs-devel@gnu.org; Thu, 26 Oct 2023 22:12:21 -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 1qwCKh-0004sD-Ee; Thu, 26 Oct 2023 22:12:19 -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=kouJ0UwJ0EUUFTf26eYXBKg62ruhzp6OPvxcEWOVm2c=; b=XopgyfnQD1LH g12Jcv3kwrt3andD0DnzIoR5ercup0fwGHuXzkb+SPtIYGQwoETb3GQpIwCqUczHXbPHgJlJ6EvUv Iy80/BFaJq6WOb+lAcOY+gmKo6FMP/t4P2z8WYnorwA2v5X+GQ/6/yvY85zmWeNtUHGXbS+F9UQyM Czt8b/FXAc3DCoxSzAYFFHAkh5C9r7Sh4+0vyo2RRhHnaiB6x4SteZ1NyuLmds9N2ZW2u07WQ3ZoY sGSFJABg6DDIa7uAfiW6aZmLXPAGIqE0YpN2PQCCNgXvDyJ+yZl+Q31bHsLIxcWfa4Y0j3CivdleR y6lpCf2TEe3IDBCMOm3hEg==; Original-Received: from rms by fencepost.gnu.org with local (Exim 4.90_1) (envelope-from ) id 1qwCKg-0003vl-7h; Thu, 26 Oct 2023 22:12:18 -0400 In-Reply-To: <83a5s8kocd.fsf@gnu.org> (message from Eli Zaretskii on Tue, 24 Oct 2023 18:54:42 +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:311919 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. ]]] > 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. What are the implications of this? If your package FROB wants to send an email, and it uses sendmail.el to do that, that won't add much complexity to Emacs or FROB. Using sendmail.tl won't make FROB harder to maintain, because as a maintainer of FROB there is only a little you need to know as a consequnce of its use of sendmail. Use of sendmail.el from the few places that want to send an email just is not a problem. This is why I'm concered with how many packages use CL, but not concerned with how many use sendmail.el. -- 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)