X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/6e2d4b5250ecf9cf82fcb7c5c76bdebca230150b..6e21a5d25bca57a78f052d6a24b97b88e83cc6fb:/src/class-output.lisp diff --git a/src/class-output.lisp b/src/class-output.lisp index 31f3214..f47bc7e 100644 --- a/src/class-output.lisp +++ b/src/class-output.lisp @@ -7,7 +7,7 @@ ;;;----- Licensing notice --------------------------------------------------- ;;; -;;; This file is part of the Sensble Object Design, an object system for C. +;;; This file is part of the Sensible Object Design, an object system for C. ;;; ;;; SOD is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by @@ -168,7 +168,7 @@ raw-name))) (cond ((and (cdr args) (eq (cadr args) :ellipsis)) (setf varargsp t) - (unless in-names (setf me "SOD_CAR(__VA_ARGS__)")) + (unless in-names (setf me "SOD__CAR(__VA_ARGS__)")) (push (format nil "/*~A*/ ..." name) in-names) (push "__VA_ARGS__" out-names) (return)) @@ -392,7 +392,15 @@ ;;; Implementation output. (export '*instance-class*) -(defvar *instance-class*) +(defvar *instance-class* nil + "The class currently being output. + + This is bound during the `hook-output' traversal of a class layout for + `:c' output, since some of the objects traversed actually `belong' to + superclasses and there's no other way to find out what the reference class + actually is. + + It may be bound at other times.") (defmethod hook-output progn ((class sod-class) (reason (eql :c)) sequencer) (sequence-output (stream sequencer)