chiark / gitweb /
src/class-output.lisp: Fix missing parentheses around `me' in message macros.
[sod] / src / class-output.lisp
index abe5132a16b3f7e14c60053975f028a41fc02632..ee77a2c843a1ab7f75329b753fe796675db88443 100644 (file)
@@ -185,7 +185,7 @@ (defmethod hook-output progn ((class sod-class) (reason (eql :h)) sequencer)
             (when varargsp
               (format stream "#ifdef SOD__HAVE_VARARGS_MACROS~%"))
             (format stream "#define ~A(~{~A~^, ~}) ~
             (when varargsp
               (format stream "#ifdef SOD__HAVE_VARARGS_MACROS~%"))
             (format stream "#define ~A(~{~A~^, ~}) ~
-                                  ~A->_vt->~A.~A(~{~A~^, ~})~%"
+                                  (~A)->_vt->~A.~A(~{~A~^, ~})~%"
                     (message-macro-name class entry)
                     (nreverse in-names)
                     me
                     (message-macro-name class entry)
                     (nreverse in-names)
                     me
@@ -299,7 +299,7 @@ (defmethod hook-output progn
                         (c-function-keywords type))))
         (when keys
           (format stream "struct ~A {~%~
                         (c-function-keywords type))))
         (when keys
           (format stream "struct ~A {~%~
-                          ~{  unsigned ~A : 1;~%~}~
+                          ~{  unsigned ~A: 1;~%~}~
                           };~2%"
                   (direct-method-suppliedp-struct-tag method)
                   (mapcar #'argument-name keys))))))))
                           };~2%"
                   (direct-method-suppliedp-struct-tag method)
                   (mapcar #'argument-name keys))))))))
@@ -511,7 +511,7 @@ (defmethod hook-output progn
                                  class)
           (format stream "~&struct ~A {~%"
                   (effective-method-keyword-struct-tag method))
                                  class)
           (format stream "~&struct ~A {~%"
                   (effective-method-keyword-struct-tag method))
-          (format stream "~{  unsigned ~A__suppliedp : 1;~%~}"
+          (format stream "~{  unsigned ~A__suppliedp: 1;~%~}"
                   (mapcar #'argument-name keys))
           (dolist (key keys)
             (write-string "  " stream)
                   (mapcar #'argument-name keys))
           (dolist (key keys)
             (write-string "  " stream)
@@ -659,7 +659,7 @@ (defgeneric find-class-initializer (slot class)
     (let ((dslot (effective-slot-direct-slot slot)))
       (or (some (lambda (super)
                  (find dslot (sod-class-class-initializers super)
     (let ((dslot (effective-slot-direct-slot slot)))
       (or (some (lambda (super)
                  (find dslot (sod-class-class-initializers super)
-                       :test #'sod-initializer-slot))
+                       :key #'sod-initializer-slot))
                (sod-class-precedence-list class))
          (effective-slot-initializer slot)))))
 
                (sod-class-precedence-list class))
          (effective-slot-initializer slot)))))
 
@@ -675,13 +675,9 @@ (defgeneric output-class-initializer (slot instance stream)
   (:method ((slot effective-slot) (instance sod-class) stream)
     (let ((init (find-class-initializer slot instance))
          (direct-slot (effective-slot-direct-slot slot)))
   (:method ((slot effective-slot) (instance sod-class) stream)
     (let ((init (find-class-initializer slot instance))
          (direct-slot (effective-slot-direct-slot slot)))
-      (ecase (sod-initializer-value-kind init)
-       (:simple (format stream "        /* ~15@A = */ ~A,~%"
-                        (sod-slot-name direct-slot)
-                        (sod-initializer-value-form init)))
-       (:compound (format stream "        /* ~15@A = */ ~@<{ ~;~A~; },~:>~%"
-                          (sod-slot-name direct-slot)
-                          (sod-initializer-value-form init)))))))
+      (format stream "        /* ~15@A = */ ~A,~%"
+             (sod-slot-name direct-slot)
+             (sod-initializer-value init)))))
 
 (defmethod hook-output progn
     ((slot sod-class-effective-slot) (reason (eql 'class)) sequencer)
 
 (defmethod hook-output progn
     ((slot sod-class-effective-slot) (reason (eql 'class)) sequencer)