From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Bootstrap/autoload policy (was Re: regular expressions that match nothing) Date: Wed, 22 May 2019 11:53:10 -0400 Message-ID: References: <7a6b23f52418b093a4cf7a6db4306cf425533249.camel@acm.org> <87a7fnzd3u.fsf@web.de> <128EBFB8-78FF-47C3-8F28-C1EF91BFC4BB@acm.org> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="140944"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed May 22 17:57:06 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hTTc1-000aUk-Ak for ged-emacs-devel@m.gmane.org; Wed, 22 May 2019 17:57:05 +0200 Original-Received: from localhost ([127.0.0.1]:46690 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hTTc0-0003Yn-AY for ged-emacs-devel@m.gmane.org; Wed, 22 May 2019 11:57:04 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:53184) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hTTYa-00017W-9t for emacs-devel@gnu.org; Wed, 22 May 2019 11:53:33 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hTTYW-0001lk-Ii for emacs-devel@gnu.org; Wed, 22 May 2019 11:53:30 -0400 Original-Received: from [195.159.176.226] (port=45134 helo=blaine.gmane.org) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hTTYU-0001JD-ED for emacs-devel@gnu.org; Wed, 22 May 2019 11:53:28 -0400 Original-Received: from list by blaine.gmane.org with local (Exim 4.89) (envelope-from ) id 1hTTYJ-000Ver-7c for emacs-devel@gnu.org; Wed, 22 May 2019 17:53:15 +0200 X-Injected-Via-Gmane: http://gmane.org/ Cancel-Lock: sha1:cVti4S7HT9c8An3BHAIyyduyN58= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 195.159.176.226 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:236899 Archived-At: Mattias Engdegård writes: > 22 maj 2019 kl. 16.24 skrev Stefan Monnier : >> >> Hmm... the bootstrap is a funny beast and we additionally impose extra >> constraints to try and catch some bugs so... without seeing the error's >> backtrace I don't think I can say much more at this point. > > There was no backtrace, but you should be able to reproduce by removing the > (require 'cl-extra) from rx.el and bootstrap. > I traced it manually thus (in call order): > > loadup.el: (load "emacs-lisp/cl-generic") > cl-generic.el: toplevel: (cl--generic-prefill-dispatchers 0 (head eql)) > cl-generic.el: cl--generic-prefill-dispatchers: call cl--generic-get-dispatcher > cl-generic.el: cl--generic-get-dispatcher: call byte-compile > bytecomp.el: (require 'compile) > compile.el: (defvar compilation-error-regexp-alist-alist ... (rx...)) > rx.el: call cl-every from call to rx-to-string > Eager macro-expansion failure: (void-function cl-every) Ah, I think I know what's going on. See this part of cl-lib.el: (unless (load "cl-loaddefs" 'noerror 'quiet) ;; When bootstrapping, cl-loaddefs hasn't been built yet! (require 'cl-macs) (require 'cl-seq)) Adding `cl-extra` here would likely fix your problem (of course, using (memq nil (mapcar ...)) is a perfectly fine alternative as well). Stefan