Support modular smoke & cleanup.
src/smoke.lisp
Sun Jan 10 09:49:36 CET 2010 Tobias Rautenkranz <tobias@rautenkranz.ch>
* Support modular smoke & cleanup.
--- old-smoke/src/smoke.lisp 2014-10-30 08:09:33.000000000 +0100
+++ new-smoke/src/smoke.lisp 2014-10-30 08:09:33.000000000 +0100
@@ -1,4 +1,4 @@
-;;; Copyright (C) 2009 Tobias Rautenkranz <tobias@rautenkranz.ch>
+;;; Copyright (C) 2009, 2010 Tobias Rautenkranz <tobias@rautenkranz.ch>
;;;
;;; This program is free software: you can redistribute it and/or modify
;;; it under the terms of the GNU General Public License as published by
@@ -102,17 +102,17 @@
(defun init (smoke module)
"Returns the a new Smoke binding for the Smoke module SMOKE."
- (use-foreign-library libsmoke-c)
+ (use-foreign-library libclsmoke)
(let* ((binding (smoke-init smoke (callback destructed)
(callback dispatch-method))))
- (setf (binding smoke) binding
- (smoke-module-pointer module) smoke
+ (setf (smoke-module-pointer module) smoke
(smoke-module-binding module) binding)
(init-smoke-module module)
(setf (gethash (pointer-address smoke) *smoke-modules*) module)
module))
(let ((pointer-symbol-map (make-hash-table)))
+ ;; Used by make-load-form for enums to reference the smoke module.
(defun register-smoke-module-var (symbol)
"Registers SYMBOL of a variable containing a pointer to a Smoke module."
(setf (gethash (pointer-address (smoke-module-pointer (eval symbol)))
@@ -145,7 +145,6 @@
(defun all-methods (name)
"Returns a list of all methods named NAME."
- ;;FIXME speed this up, needed by (mb:document :smoke).
(declare (optimize (speed 3)))
(with-foreign-string (name name)
(let ((methods))