X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;ds=sidebyside;f=strings.lisp;h=e12d9d9aeee29c2db549e0bad4410ae9ac67ff44;hb=2359ec8676836fb4a99ea8c9450fadd35a3d248f;hp=2537616e10107d9f6274843a22199da30a1c0d11;hpb=0e37bb279e050a6a5afe049dff75cd46d3016290;p=kmrcl.git diff --git a/strings.lisp b/strings.lisp index 2537616..e12d9d9 100644 --- a/strings.lisp +++ b/strings.lisp @@ -7,7 +7,7 @@ ;;;; Programmer: Kevin M. Rosenberg ;;;; Date Started: Apr 2000 ;;;; -;;;; $Id: strings.lisp,v 1.22 2003/05/06 08:15:15 kevin Exp $ +;;;; $Id: strings.lisp,v 1.23 2003/05/08 19:19:08 kevin Exp $ ;;;; ;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg ;;;; @@ -236,12 +236,16 @@ list of characters and replacement strings." (defun concat-separated-strings (separator &rest lists) (format nil (format nil "~~{~~A~~^~A~~}" separator) (append-sublists lists))) +(defun only-null-list-elements-p (lst) + (or (null lst) (every #'null lst))) + (defun print-separated-strings (strm separator &rest lists) (declare (optimize (speed 3) (safety 0) (space 0) (debug 0) (compilation-speed 0))) (do* ((rest-lists lists (cdr rest-lists)) (list (car rest-lists) (car rest-lists)) - (last-list (null (cdr rest-lists)) (null (cdr rest-lists)))) + (last-list (only-null-list-elements-p (cdr rest-lists)) + (only-null-list-elements-p (cdr rest-lists)))) ((null rest-lists) strm) (do* ((lst list (cdr lst)) (elem (car lst) (car lst))