(defun join-string2 (string-list &key (join-by " ") (convert-to-string nil)) (declare (ignorable convert-to-string)) (let ((length-1 (1- (length string-list)))) (with-output-to-string (s) (dolist (word (subseq string-list 0 length-1)) (princ word s) (princ join-by s)) (princ (nth length-1 string-list) s) s)))