Comment 1 for bug 503081

Revision history for this message
Nikodemus Siivola (nikodemus) wrote :

Fixing after freeze:

diff --git a/src/pcl/methods.lisp b/src/pcl/methods.lisp
index c1e5fc4..efbd482 100644
--- a/src/pcl/methods.lisp
+++ b/src/pcl/methods.lisp
@@ -1414,7 +1414,7 @@
                         (make-dfun-lambda-list nargs applyp)
                         (make-fast-method-call-lambda-list nargs applyp))))
       (multiple-value-bind (cfunction constants)
- (get-fun1 `(lambda
+ (get-fun1 `(named-lambda (gf-dispatch ,name)
                       ,arglist
                       ,@(unless function-p
                           `((declare (ignore .pv. .next-method-call.))))

gets us:

0: ((SB-PCL::GF-DISPATCH GF2) 1) [external]
1: (SB-INT:SIMPLE-EVAL-IN-LEXENV (BAR2 1) #<NULL-LEXENV>)
2: (EVAL (BAR2 1))

In the first case GF2 isn't missing because