From b93f931e9e96e3f8be004e2631e4aa4db447a642 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Tue, 31 Oct 2023 19:20:58 -0400 Subject: [PATCH] lisp/emacs-lisp/comp-cstr.el: Fix bootstrap * lisp/emacs-lisp/comp-cstr.el: Remove redundant require of `cl-macs` and add missing require of `cl-extra`. * lisp/emacs-lisp/cl-generic.el: Improve warning message. * lisp/emacs-lisp/cl-extra.el (cl--print-table): Remove redundant arg. --- lisp/emacs-lisp/cl-extra.el | 2 +- lisp/emacs-lisp/cl-generic.el | 2 +- lisp/emacs-lisp/cl-lib.el | 7 ++++++- lisp/emacs-lisp/comp-cstr.el | 2 +- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/lisp/emacs-lisp/cl-extra.el b/lisp/emacs-lisp/cl-extra.el index a89bbc3a748..15be51bd651 100644 --- a/lisp/emacs-lisp/cl-extra.el +++ b/lisp/emacs-lisp/cl-extra.el @@ -872,7 +872,7 @@ PROPLIST is a list of the sort returned by `symbol-plist'. "%s") formats) (cl-incf col (+ col-space (aref cols i)))) - (let ((format (mapconcat #'identity (nreverse formats) ""))) + (let ((format (mapconcat #'identity (nreverse formats)))) (insert (apply #'format format (mapcar (lambda (str) (propertize str 'face 'italic)) header)) diff --git a/lisp/emacs-lisp/cl-generic.el b/lisp/emacs-lisp/cl-generic.el index dec14bd5df6..5346678dab0 100644 --- a/lisp/emacs-lisp/cl-generic.el +++ b/lisp/emacs-lisp/cl-generic.el @@ -272,7 +272,7 @@ DEFAULT-BODY, if present, is used as the body of a default method. (list (macroexp-warn-and-return (format "Non-symbol arguments to cl-defgeneric: %s" - (mapconcat #'prin1-to-string nonsymargs "")) + (mapconcat #'prin1-to-string nonsymargs " ")) nil nil nil nonsymargs))))) next-head) (while (progn (setq next-head (car-safe (car options-and-methods))) diff --git a/lisp/emacs-lisp/cl-lib.el b/lisp/emacs-lisp/cl-lib.el index f4c1ac85b13..42ff3e105c0 100644 --- a/lisp/emacs-lisp/cl-lib.el +++ b/lisp/emacs-lisp/cl-lib.el @@ -533,7 +533,12 @@ If ALIST is non-nil, the new pairs are prepended to it." (unless (load "cl-loaddefs" 'noerror 'quiet) ;; When bootstrapping, cl-loaddefs hasn't been built yet! (require 'cl-macs) - (require 'cl-seq)) + (require 'cl-seq) + ;; FIXME: Arguably we should also load `cl-extra', except that this + ;; currently causes more bootstrap troubles, and `cl-extra' is + ;; rarely used, so instead we explicitly (require 'cl-extra) at + ;; those rare places where we do need it. + ) (defun cl--old-struct-type-of (orig-fun object) (or (and (vectorp object) (> (length object) 0) diff --git a/lisp/emacs-lisp/comp-cstr.el b/lisp/emacs-lisp/comp-cstr.el index 82d48e59a23..70213c9b13c 100644 --- a/lisp/emacs-lisp/comp-cstr.el +++ b/lisp/emacs-lisp/comp-cstr.el @@ -36,7 +36,7 @@ ;;; Code: (require 'cl-lib) -(require 'cl-macs) +(require 'cl-extra) ;HACK: For `cl-find-class' when `cl-loaddefs' is missing. (defconst comp--typeof-builtin-types (mapcar (lambda (x) (append x '(t))) -- 2.39.2