Sat Apr 3 14:03:07 CEST 2010 Tobias Rautenkranz * Fix attribute vs method map to same Lisp name clash. e.g.: setWidget() and set_widget are in Lisp both #'set-widget. Prefer the method over the attribute; the attribute will be accessible with SLOT-VALUE. diff -rN -u old-smoke/src/smoke-to-clos.lisp new-smoke/src/smoke-to-clos.lisp --- old-smoke/src/smoke-to-clos.lisp 2014-10-30 08:05:46.000000000 +0100 +++ new-smoke/src/smoke-to-clos.lisp 2014-10-30 08:05:46.000000000 +0100 @@ -138,8 +138,9 @@ (unless (nth-value 1 (gethash (lispify name :cxx) setf-function-symbols)) (setf (gethash (lispify name :cxx) setf-function-symbols) t) (push (setf-method-definition method) functions))) - (setf (gethash (lispify name "CXX") generics) - name)) + (let ((lisp-name (lispify name "CXX"))) + (unless (and (gethash lisp-name generics) (attribute-p method)) + (setf (gethash lisp-name generics) name)))) (when (static-p method) (let* ((function-symbol (static-method-symbol package method)) (methods (gethash function-symbol function-symbols)))