From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Andrea Corallo Newsgroups: gmane.emacs.devel Subject: Re: Lisp files that load cl-lib in problematical ways Date: Thu, 09 Nov 2023 06:41:03 -0500 Message-ID: References: <87il8betof.fsf@dataswamp.org> <83fs3dgxv8.fsf@gnu.org> <835y38qvlg.fsf@gnu.org> <87bkcx6eci.fsf@dataswamp.org> <8734y7p7sz.fsf@dataswamp.org> <83v8b3mcuj.fsf@gnu.org> <87jzrjvze8.fsf@gmx.net> <83r0lrm4gj.fsf@gnu.org> <83edhqu2bj.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="40644"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: stephen.berman@gmx.net, incal@dataswamp.org, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Nov 09 12:41:38 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 1r13Pl-000AO0-Pp for ged-emacs-devel@m.gmane-mx.org; Thu, 09 Nov 2023 12:41:37 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1r13PH-00063T-Jv; Thu, 09 Nov 2023 06:41:07 -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 1r13PF-00063B-UN for emacs-devel@gnu.org; Thu, 09 Nov 2023 06:41:05 -0500 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 1r13PD-0005mE-Rg; Thu, 09 Nov 2023 06:41:03 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=daHKOJ75853x6zrJGnDeFTQ69XtY2Ttt2woGxb1Nyqo=; b=BOFZDyLiejrNT82to52b yxczQzqzTYy/Rd//nrc3V7CPpcBSkAcCCkYK9Uxv0tl91zJ823n2+QBOK+cTbKAzpFidKmf0pW/Ow wBYt5nM1bOgC3LyHZcROdMvc+fy+GlrHPbQKbUUULTPENWhcIEXBMz/OBYAaBHCDOgmdrCJ+u+jcm dtTvgnPxtdH92q3UmkcuIgE5lBlCEp3cSEHqPZWbBklNjuROc0iXhQDoOsxGmHa/dR5xWXpsZ7HIC nCZzkf8MRihpfN0dPgoSJtIAhHS+koenln6znSAJsDVOpoSiHYo5/HPI9QCvXixE20YnPFI4VqE2V cn0UMtFJBI1eZQ==; Original-Received: from acorallo by fencepost.gnu.org with local (Exim 4.90_1) (envelope-from ) id 1r13PD-0003RE-KB; Thu, 09 Nov 2023 06:41:03 -0500 In-Reply-To: (Andrea Corallo's message of "Wed, 08 Nov 2023 13:01:36 -0500") 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:312398 Archived-At: Andrea Corallo writes: > Andrea Corallo writes: > >> Andrea Corallo writes: >> >>> Eli Zaretskii writes: >>> >>>>> From: Andrea Corallo >>>>> Cc: Stephen Berman , incal@dataswamp.org, >>>>> emacs-devel@gnu.org >>>>> Date: Thu, 19 Oct 2023 09:44:51 -0400 >>>>> >>>>> Okay, I confirm that comp.el loads cl-lib, so any jit compilation >>>>> triggered loads that. >>>> >>>> This is OK, not a problem. >>>> >>>>> OTOH one thing we could do, if that's important, is to split the code >>>>> that only drives the async compilation (that actually happens in a >>>>> subprocess) so we don't load cl-lib in the Emacs the user is actually >>>>> using. This should not be that hard (optimism mode on). >>>> >>>> I don't see the need, but I will not object if you want to make such >>>> changes. >>> >>> Okay I'll think about it, might be a positive change even leaving aside >>> the cl-lib discussion. >> >> Okay in scratch/comp-run we have a branch that does not require to load >> comp.el for jit compilations and for installing already existing >> trampolines (compiling a new trampolines indeed require to load the >> compiler). >> >> It achieves that adding comp-run.el for runtime dependencies. >> >> Still the compiler is loaded for C-h f, to solve that I think we'd need >> to add a third file (ex comp-common.el), not sure it's worth ATM. > > I think what is now in scratch/comp-run does what we want. If there are > no objections I'll push it to master after some polishing in the > following days. Okay I've installed the changes. To summarize now comp.el is loaded only when a trampoline need to be compiled (there's no other way around for sync compilation to happen indeed). In all other cases (jit compilation, installation of exinting trampoline, C-h f) comp.el is *not* loaded in the main Emacs process. As a consequence of this cl-lib will not be loaded as well, the only caveat is when a warning has to be reported (form the jit compilation for instance) cl-lib will be loaded as it's an indirect dependecy of warnings.el. Best Regards Andrea