;; License along with this library; if not, write to the Free Software
;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-;; $Id: genums.lisp,v 1.10 2005-02-14 00:43:43 espen Exp $
+;; $Id: genums.lisp,v 1.12 2005-03-06 17:26:23 espen Exp $
(in-package "GLIB")
(defun %map-enum (mappings op)
(loop
- as value = 1 then (1+ value)
+ as value = 0 then (1+ value)
for mapping in mappings
collect (let ((symbol (if (atom mapping) mapping (first mapping))))
(unless (atom mapping)
(remove-if
#'(lambda (mapping) (eq (second mapping) nil)) mappings))))
`(progn
- (register-type ',type ,(find-type-name type-number))
+ (register-type ',type ',(find-type-init-function type-number))
,(ecase super
(enum `(define-enum-type ,type ,@expanded-mappings))
(flags `(define-flags-type ,type ,@expanded-mappings))))))