Fixed decoding.
[riece] / lisp / riece-develop.el
index 6bc766c..3bcd3f7 100644 (file)
@@ -8,6 +8,9 @@ sStruct: ")
        arglist
        strings
        (index 0))
+    (if (and prefix
+            (not (string-match "-\\'" prefix)))
+       (setq prefix (concat prefix "-")))
     (catch 'finish
       (while t
        (setq name (read-from-minibuffer "Attribute: "))
@@ -22,11 +25,12 @@ sStruct: ")
     (setq attributes (nreverse attributes)
          pointer (cons (vector "" nil nil nil)  attributes))
     (while (cdr pointer)
-      (when (aref (car (cdr pointer)) 1)
-       (setq optional-attributes (cons (car (cdr pointer))
-                                       optional-attributes))
-       (setcdr pointer (nthcdr 2 pointer)))
-      (setq pointer (cdr pointer)))
+      (if (aref (car (cdr pointer)) 1)
+         (progn
+           (setq optional-attributes (cons (car (cdr pointer))
+                                           optional-attributes))
+           (setcdr pointer (nthcdr 2 pointer)))
+       (setq pointer (cdr pointer))))
     (setq optional-attributes (nreverse optional-attributes)
          arglist (mapconcat (lambda (attribute)
                               (aref attribute 0))
@@ -38,7 +42,7 @@ sStruct: ")
                                         optional-attributes " "))))
     (setq strings (list (format "\
 \(defun %smake-%s (%s)
-  \"Make %s%s object.\"
+  \"Make %s%s object.\"
   (vector %s))"
                                prefix struct arglist
                                prefix struct