Re: master: Better ftype for compiler-macro-function
Stas Boukarev <[email protected]> Fri, 10 Apr 2026 21:20:20 +0300
| Newsgroups | gmane.lisp.steel-bank.cvs,gmane.lisp.steel-bank.devel |
|---|---|
| Message-ID | <CAF63=1373r4YVkTPWLO89zxc-1izS81SZXQYoC-b8AdhVJ=sNQ@mail.gmail.com> |
(compiler-macro-function '(n n)) Invalid function name: (N N) [Condition of type SIMPLE-TYPE-ERROR] On Fri, Apr 10, 2026 at 9:19 PM Charles Zhang via Sbcl-commits <[email protected]> wrote: > > Why is it not flushable? > > > On Friday, April 10, 2026, 7:13 PM, stassats via Sbcl-commits <[email protected]> wrote: > > The branch "master" has been updated in SBCL: > via 57c047b5d5e3f8a0543b6cd30cb80bd56c495618 (commit) > from 84d567275cae72917dba852b9a68e9a606290cf2 (commit) > > - Log ----------------------------------------------------------------- > commit 57c047b5d5e3f8a0543b6cd30cb80bd56c495618 > Author: Stas Boukarev <[email protected]> > Date: Fri Apr 10 19:56:10 2026 +0300 > > Better ftype for compiler-macro-function > --- > src/code/macroexpand.lisp | 1 + > src/compiler/fndb.lisp | 4 ++-- > 2 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/src/code/macroexpand.lisp b/src/code/macroexpand.lisp > index 06afb7519..2a358f468 100644 > --- a/src/code/macroexpand.lisp > +++ b/src/code/macroexpand.lisp > @@ -158,6 +158,7 @@ > (defun compiler-macro-function (name &optional env) > "If NAME names a compiler-macro in ENV, return the expansion function, else > return NIL. Can be set with SETF when ENV is NIL." > + (declare (explicit-check name)) > (legal-fun-name-or-type-error name) > ;; CLHS 3.2.2.1: Creating a lexical binding for the function name > ;; not only creates a new local function or macro definition, but > diff --git a/src/compiler/fndb.lisp b/src/compiler/fndb.lisp > index 031f225ca..25e01ad51 100644 > --- a/src/compiler/fndb.lisp > +++ b/src/compiler/fndb.lisp > @@ -142,9 +142,9 @@ > (t &optional lexenv-designator) > (values form &optional boolean)) > > -(defknown compiler-macro-function (t &optional lexenv-designator) > +(defknown compiler-macro-function ((or symbol cons) &optional lexenv-designator) > (or function null) > - (flushable)) > + ()) > > ;;;; from the "Declarations" chapter: > > > ----------------------------------------------------------------------- > > > hooks/post-receive > -- > SBCL > > > _______________________________________________ > Sbcl-commits mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/sbcl-commits > > _______________________________________________ > Sbcl-commits mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/sbcl-commits _______________________________________________ Sbcl-commits mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/sbcl-commits