From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: "Basil L. Contovounesios" Newsgroups: gmane.emacs.devel Subject: Re: Byte-compilation of custom themes Date: Sun, 03 Jun 2018 17:08:22 +0100 Message-ID: <87y3fvua2x.fsf@tcd.ie> References: <87efmk2qk0.fsf@tcd.ie> <87vafjhu04.fsf@tcd.ie> <87po5po7ul.fsf@tcd.ie> <87o9hoxm0w.fsf@tcd.ie> <83fu2ynvda.fsf@gnu.org> <87zi169q9y.fsf@tcd.ie> <83a7t6nlmf.fsf@gnu.org> <877eo9kjnl.fsf@tcd.ie> <831sehnymt.fsf@gnu.org> <874lim2pyi.fsf@tcd.ie> <83d0x9e8iu.fsf@gnu.org> <87vab110mi.fsf@tcd.ie> <83y3fxc7c4.fsf@gnu.org> <87muwc9kv0.fsf@tcd.ie> <83po17dhwe.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1528041992 19521 195.159.176.226 (3 Jun 2018 16:06:32 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 3 Jun 2018 16:06:32 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Jun 03 18:06:28 2018 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fPVWV-0004wc-Pi for ged-emacs-devel@m.gmane.org; Sun, 03 Jun 2018 18:06:28 +0200 Original-Received: from localhost ([::1]:35829 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fPVYa-0008PF-TX for ged-emacs-devel@m.gmane.org; Sun, 03 Jun 2018 12:08:36 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:38138) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fPVYU-0008P7-Kx for emacs-devel@gnu.org; Sun, 03 Jun 2018 12:08:31 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fPVYP-0005c0-Pd for emacs-devel@gnu.org; Sun, 03 Jun 2018 12:08:30 -0400 Original-Received: from mail-wm0-x229.google.com ([2a00:1450:400c:c09::229]:35046) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fPVYP-0005ak-I7 for emacs-devel@gnu.org; Sun, 03 Jun 2018 12:08:25 -0400 Original-Received: by mail-wm0-x229.google.com with SMTP id j15-v6so10300218wme.0 for ; Sun, 03 Jun 2018 09:08:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tcd-ie.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=nzDxV0QbJTZqD/wXp5sn3gZE9o8cnRF6JpzvSieKqpI=; b=xrnBvh/20JPVrdQO1ZBeZ9vYiFW+KadLxz3TZR8mfPeJTCWCrOd9MJa0LDaTclOEvk B1d3+FBzJmyBOYGl8T6mbcPzfBfqADiFdxB8e0CmkGSfr9Wx9JbeDWmqncQXiNjlnq/S iIlPZp5BBhotv+Xiqeeq7PTTDz3im4Pw19wA9QlsvNoKgR0BysC3o17SaclfarFNwY8K 01G8u9s9hTqxxUfg07hR/ze+H5wgh5+MpSoRDm7bixQpLmMAdba9Ii7alAEkX9bFnwRy yGJJF1chSodGca44PVrV+jzK+SXfU+Wtorc/Wxdmq2l5mgg9YUuV0Z8Pvi+G0xEoRHPq /+Wg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-transfer-encoding; bh=nzDxV0QbJTZqD/wXp5sn3gZE9o8cnRF6JpzvSieKqpI=; b=nSp47lJVr95DiaBbhlnXbZ08VmhvgrbDhMDQjg+yXXIsdJmEwUIFd7RD453p6aCozH QrNXRx2F6MsvqXDpS3mzNO/t0ZWAZ69mRCnTSa1dJEPJNvealcLGAUiAaL64rxaMzNcW ewemScgXcXlljr4VCz6qivmPhj/m+rBUNDcfN1sc9ZsOWwd63lpEMe3r0Pk8bJo5HboN TLGvjsC8agvSkCRN1b2031sLVZ8wO7c/spOpZ7OVq1I7X8TB8gcckgGeOzlhXE92CiQ5 bCCwT46EKpNUXEEPuvGUznb5iTzMk8MlqspFeJ0X8e4AMa7lDEYucBXVUlC3MW/TKj4g 2b0g== X-Gm-Message-State: APt69E1pN6NI46+dYGStM97SuuGOmN+zswYZHbuMo9Fse5p1HCuJ37c8 jEtW+0BNSQ+IcKtlJD3KalWO0w== X-Google-Smtp-Source: ADUXVKLAm3RNmneCZ/iB9Rgfs7OOkJm9cH1DVg8GzYBcuijiVjHhcHmiGH38m/iHyEYJKBv7T+uLLg== X-Received: by 2002:a50:a366:: with SMTP id 93-v6mr2090602edn.57.1528042104311; Sun, 03 Jun 2018 09:08:24 -0700 (PDT) Original-Received: from localhost ([213.233.149.5]) by smtp.gmail.com with ESMTPSA id f13-v6sm1322019eds.15.2018.06.03.09.08.23 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 03 Jun 2018 09:08:23 -0700 (PDT) In-Reply-To: <83po17dhwe.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 3 Jun 2018 18:11:29 +0300") X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:400c:c09::229 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:225962 Archived-At: Eli Zaretskii writes: >> From: "Basil L. Contovounesios" >> Cc: , Eli Zaretskii >> Date: Sun, 03 Jun 2018 12:21:07 +0100 >>=20 >> You're right, emacs -Q followed by (fboundp 'cl-assert) returns nil. >>=20 >> > I think the confusing comes from help-fns.el which does (require >> > 'cl-lib), so if you do `C-h f cl-assert RET` it will indeed tell you >> > it's autoloaded, but it's just because `C-h f` ended up requiring >> > cl-lib. >>=20 >> No, the confusion comes from looking at the source of cl-macs.el, in >> which cl-assert is given an ;;;###autoload cookie. I see now that there >> are some comments in cl-lib.el that suggest loading cl-loaddefs.el >> involves some trickery, so I guess I don't get to eat the cake here. >>=20 >> In that case, I don't see how Eli's suggestion to predicate the >> cl-assert call on (featurep 'cl-lib) will help, as feauturep is not >> going to load the library for us. > > ??? I meant the following obvious trick: > > (if (featurep 'cl-lib) > (cl-assert ....)) > > Am I missing something? I understood what you meant, but not what this is supposed to do or protect against. You see, 'make bootstrap' fails not when there is an ungaurded call to cl-assert in custom-available-themes, but when there is a top-level (require 'cl-lib) in custom.el. So, if we can't load cl-lib at the top-level of custom.el, and we don't load cl-lib in custom-available-themes, then the featurep check says "only call cl-assert if some other library has already loaded cl-lib for us", which doesn't make sense to me. What is the benefit of conditionally calling an assertion at runtime? Why wouldn't we want the assertion to be exercised every time custom-available-themes is called? Just to be clear, including any one of the following three top-level forms in custom.el breaks 'make bootstrap', irrespective of the NOERROR argument passed to require, and even when there is no subsequent mention of cl-assert or any other cl-lib feature in custom.el: (require 'cl-lib) (eval-when-compile (require 'cl-lib)) (when t (require 'cl-lib)) In all three cases, 'make bootstrap' reports the following: Loading custom (source)... Warning: Unknown defun property =E2=80=98gv-setter=E2=80=99 in cl-fifth Warning: Unknown defun property =E2=80=98gv-setter=E2=80=99 in cl-sixth Warning: Unknown defun property =E2=80=98gv-setter=E2=80=99 in cl-seventh Warning: Unknown defun property =E2=80=98gv-setter=E2=80=99 in cl-eighth Warning: Unknown defun property =E2=80=98gv-setter=E2=80=99 in cl-ninth Warning: Unknown defun property =E2=80=98gv-setter=E2=80=99 in cl-tenth Symbol=E2=80=99s function definition is void: gv-define-simple-setter Makefile:745: recipe for target 'bootstrap-emacs' failed I hope I've clarified the source of my confusion and apologise if I'm missing something obvious. Thanks, --=20 Basil