Changeset 8992


Ignore:
Timestamp:
Apr 2, 2008, 8:28:44 PM (11 years ago)
Author:
gz
Message:

Propagate r8985 from working-0711 to trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/compiler/nx0.lisp

    r8910 r8992  
    12631263  (if q
    12641264     (setf (afunc-parent p) q))
    1265   (setf (afunc-name p) name)
     1265
     1266  ;; In the case of a method function, the name will get reset at load time to the
     1267  ;; method object.  However, during compilation, we want any inner functions to use
     1268  ;; the fully qualified method name, so store that.
     1269  (when (method-lambda-p lambda-form)
     1270    (setq name (or *nx-method-warning-name* name)))
     1271
     1272  (setf (afunc-name p)
     1273        (let ((parent-name (and (afunc-parent p) (afunc-name (afunc-parent p)))))
     1274          (if parent-name
     1275            (if (and (consp parent-name) (eq (%car parent-name) :internal))
     1276              (if name
     1277                `(:internal ,name ,@(cdr parent-name))
     1278                parent-name)
     1279              (if name
     1280                `(:internal ,name ,parent-name)
     1281                `(:internal ,parent-name)))
     1282            name)))
     1283
    12661284  (unless (lambda-expression-p lambda-form)
    12671285    (nx-error "~S is not a valid lambda expression." lambda-form))
     
    12861304         (*nx-next-method-var* (if q *nx-next-method-var*))
    12871305         (*nx-call-next-method-function* (if q *nx-call-next-method-function*))
    1288          (*nx-cur-func-name* (or (and (method-lambda-p lambda-form) *nx-method-warning-name*)
    1289                                 name)))
     1306         (*nx-cur-func-name* name))
    12901307    (if (%non-empty-environment-p *nx-lexical-environment*)
    12911308      (setf (afunc-bits p) (logior (ash 1 $fbitnonnullenv) (the fixnum (afunc-bits p)))))
Note: See TracChangeset for help on using the changeset viewer.