Changeset 731


Ignore:
Timestamp:
Mar 27, 2004, 2:47:12 AM (21 years ago)
Author:
Gary Byers
Message:

Don't set &allow-other-keys in GF lambda lists if method only says &key.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/level-1/l1-dcode.lisp

    r331 r731  
    7373      (and method
    7474           (let* ((method-lambda-list (%method-lambda-list method))
    75                   (method-has-&key (member '&key method-lambda-list)))
     75                  (method-has-&key (member '&key method-lambda-list))
     76                  (method-has-&allow-other-keys
     77                   (member '&allow-other-keys method-lambda-list)))
    7678             (if method-has-&key
    77                ;; Treat gf lambda-list as (... &key &allow-other-keys)
    7879               (nconc (ldiff method-lambda-list (cdr method-has-&key))
    79                       '(&allow-other-keys))
     80                      (if method-has-&allow-other-keys
     81                        '(&allow-other-keys)))
    8082               method-lambda-list)))
    8183      gf-ll)))
     
    125127                              (logand $lfbits-args-mask newbits)))))
    126128    (when new-method
    127           (check-defmethod-congruency gf new-method))))
     129      (check-defmethod-congruency gf new-method))))
    128130       
    129131(defun %gf-name (gf &optional (new-name nil new-name-p))
Note: See TracChangeset for help on using the changeset viewer.