#632 NO-APPLICABLE-METHOD when an applicable method exists

closed-invalid
Bruno Haible
clisp (525)
5
2012-03-19
2012-03-18
Greg Pfeil
No

(ql:quickload "closer-mop")
(closer-mop:make-method-lambda #'make-instance
(class-prototype (find-class 'standard-method))
'(lambda (class &rest initargs) t)
nil)
=>
NO-APPLICABLE-METHOD: When calling #<STANDARD-GENERIC-FUNCTION
CLOSER-MOP:MAKE-METHOD-LAMBDA> with arguments (#<STANDARD-GENERIC-FUNCTION
MAKE-INSTANCE>
#<STANDARD-METHOD :UNINITIALIZED>
(LAMBDA (CLASS &REST INITARGS) T) NIL), no method is applicable.
[Condition of type METHOD-CALL-ERROR]

Yet, when I inspect the function (in SLIME) I see:

#<STANDARD-GENERIC-FUNCTION #x000000020043F601>
--------------------
Name: CLOSER-MOP:MAKE-METHOD-LAMBDA
Arguments: (GENERIC-FUNCTION METHOD CLOSER-MOP::LAMBDA-EXPRESSION CLOSER-MOP::ENVIRONMENT)
Method class: #<STANDARD-CLASS STANDARD-METHOD>
Method combination: #<METHOD-COMBINATION STANDARD #x0000000200124B31>
Methods:
(STANDARD-GENERIC-FUNCTION STANDARD-METHOD T T) [remove method]

showing that the specializers on the one method defined on the function match the call that failed with NO-APPLICABLE-METHOD.

my system: Darwin Tiamat.local 11.3.0 Darwin Kernel Version 11.3.0: Thu Jan 12 18:47:41 PST 2012; root:xnu-1699.24.23~1/RELEASE_X86_64 x86_64
my clisp: GNU CLISP 2.49+ (2010-07-17) (built 3538508120) (memory 3538508385)
Software: GNU C 4.2.1 (Apple Inc. build 5666) (dot 3)
gcc-4.2 -std=c99 -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit -Wreturn-type -Wmissing-declarations -Wno-sign-compare -Wno-format-nonliteral -O -falign-functions=4 -pthread -DUNIX_BINARY_DISTRIB -DENABLE_UNICODE -DMULTITHREAD -DPOSIX_THREADS -DDYNAMIC_MODULES -DNO_GETTEXT libgnu.a -lncurses -liconv -L/usr/local/lib -lsigsegv -lc -R/usr/local/lib -L/usr/X11/lib -R/usr/X11/lib
SAFETY=0 HEAPCODES STANDARD_HEAPCODES WIDE_HARD GENERATIONAL_GC SPVW_BLOCKS SPVW_MIXED TRIVIALMAP_MEMORY
libsigsegv 2.10
libiconv 1.11
Features:
(REGEXP WILDCARD SYSCALLS I18N LOOP COMPILER CLOS MOP CLISP ANSI-CL COMMON-LISP
LISP=CL INTERPRETER LOGICAL-PATHNAMES MT SOCKETS GENERIC-STREAMS SCREEN
UNICODE BASE-CHAR=CHARACTER WORD-SIZE=64 UNIX MACOS)
C Modules: (clisp i18n syscalls regexp)
Installation directory: /Users/greg/Documents/sources/clisp/src/
User language: ENGLISH
Machine: X86_64 (X86_64) tiamat.local [10.0.1.103]

Discussion

  • Greg Pfeil
    Greg Pfeil
    2012-03-19

    Sorry, this was my mistake. Pascal Costanza pointed out that one of those was CLOSER-MOP:STANDARD-GENERIC-FUNCTION, and that's why they didn't match up.

    Sorry for the noise.

     
  • Greg Pfeil
    Greg Pfeil
    2012-03-19

    This bug report is now marked as "pending"/"invalid".
    This means that we think that the problem you report is not a problem with CLISP.
    Unless you - the reporter - act within 2 weeks, the bug will be permanently closed.
    Sorry about the inconvenience - we hope your silence means that you agree that this is not a bug in CLISP.

     
  • Sam Steingold
    Sam Steingold
    2012-03-19

    • status: open --> closed-invalid