Tue Apr 7 11:49:04 CEST 2009 Tobias Rautenkranz * cmucl support diff -rN -u old-smoke/src/clos.lisp new-smoke/src/clos.lisp --- old-smoke/src/clos.lisp 2014-10-04 08:11:27.000000000 +0200 +++ new-smoke/src/clos.lisp 2014-10-04 08:11:27.000000000 +0200 @@ -232,8 +232,8 @@ '(class &rest args) '(object &rest args))) -(defclass smoke-gf (standard-generic-function smoke-method) - () +(defclass smoke-gf (standard-generic-function) + ((cxx-name :reader name :initarg :cxx-name)) (:metaclass closer-mop:funcallable-standard-class) (:documentation "Smoke generic function")) diff -rN -u old-smoke/src/method.lisp new-smoke/src/method.lisp --- old-smoke/src/method.lisp 2014-10-04 08:11:27.000000000 +0200 +++ new-smoke/src/method.lisp 2014-10-04 08:11:27.000000000 +0200 @@ -74,16 +74,15 @@ hash-table) list)) -(defun ensure-generic-methods (names-and-ids smoke) - "Ensures the generic functions in NAMES-AND-IDS for the Smoke module SMOKE." - (dolist (name-id names-and-ids) - (ensure-generic-function (first name-id) - :id (rest name-id) - :smoke smoke +(defun ensure-generic-methods (symbols-names) + "Ensures the generic functions for SYMBOLS-NAMES." + (dolist (symbol-name symbols-names) + (ensure-generic-function (first symbol-name) + :cxx-name (rest symbol-name) :generic-function-class 'smoke-gf :lambda-list '(object &rest args)) - (export (first name-id) :CXX))) + (export (first symbol-name) :CXX))) (defmacro check-recompile (smoke) "Raises an error when the fasl of the DEFINE-METHOS was not compiled against @@ -123,7 +122,7 @@ (not (eql nil (name method))) (string/= (name method) "tr")) ;; we have a custom qt:tr funciton (setf (gethash (lispify (name method) "CXX") generics) - (id method)) + (name method)) (when (static-p method) (let ((function-symbol (static-method-symbol method))) (unless (nth-value 1 (gethash function-symbol function-symbols)) @@ -135,7 +134,7 @@ `(progn (check-recompile ,smoke) ,@functions (eval-when (:load-toplevel) - (ensure-generic-methods ',(hash-table-key-values generics) ,smoke) + (ensure-generic-methods ',(hash-table-key-values generics)) (make-smoke-classes ,smoke) ) ,@constants