- (list (list g!string g!index)
- (list string index)
- (list g!value)
- `(aset ,g!string ,g!index ,g!value)
- `(char ,g!string ,g!index))))
+ (values (list g!string g!index)
+ (list string index)
+ (list g!value)
+ `(aset ,g!string ,g!index ,g!value)
+ `(char ,g!string ,g!index))))
+
+(defun concatenate-two (string1 string2)
+ (let* ((len1 (length string1))
+ (len2 (length string2))
+ (string (make-array (+ len1 len2) :element-type 'character))
+ (i 0))
+ (dotimes (j len1)
+ (aset string i (char string1 j))
+ (incf i))
+ (dotimes (j len2)
+ (aset string i (char string2 j))
+ (incf i))
+ string))