From: Kevin M. Rosenberg Date: Thu, 8 May 2003 19:19:08 +0000 (+0000) Subject: r4878: Auto commit for Debian build X-Git-Tag: v1.96~218 X-Git-Url: http://git.kpe.io/?p=kmrcl.git;a=commitdiff_plain;h=2359ec8676836fb4a99ea8c9450fadd35a3d248f r4878: Auto commit for Debian build --- diff --git a/kmrcl-tests.asd b/kmrcl-tests.asd index 8f5a446..0f486ba 100644 --- a/kmrcl-tests.asd +++ b/kmrcl-tests.asd @@ -7,7 +7,7 @@ ;;;; Author: Kevin M. Rosenberg ;;;; Date Started: Apr 2003 ;;;; -;;;; $Id: kmrcl-tests.asd,v 1.1 2003/04/28 21:12:27 kevin Exp $ +;;;; $Id: kmrcl-tests.asd,v 1.2 2003/05/08 19:19:08 kevin Exp $ ;;;; ************************************************************************* (defpackage #:kmrcl-tests-system @@ -16,7 +16,8 @@ (defsystem kmrcl-tests :depends-on (:rt :kmrcl) - :components ((:file "tests"))) + :components + ((:file "tests"))) (defmethod perform ((o test-op) (c (eql (find-system :kmrcl-tests)))) (or (funcall (intern (symbol-name '#:do-tests) 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)) diff --git a/tests.lisp b/tests.lisp index 5b7c7be..b68cecf 100644 --- a/tests.lisp +++ b/tests.lisp @@ -7,7 +7,7 @@ ;;;; Author: Kevin M. Rosenberg ;;;; Date Started: Apr 2003 ;;;; -;;;; $Id: tests.lisp,v 1.12 2003/05/07 16:07:13 kevin Exp $ +;;;; $Id: tests.lisp,v 1.13 2003/05/08 19:19:08 kevin Exp $ ;;;; ;;;; This file is Copyright (c) 2000-2002 by Kevin M. Rosenberg ;;;; @@ -62,6 +62,38 @@ (deftest apsl.4 (append-sublists '((a))) (a)) (deftest apsl.5 (append-sublists '((a) (b) (c d (e f g)))) (a b c d (e f g))) +(deftest pss.0 (with-output-to-string (s) (print-separated-strings s "|" nil)) + "") + +(deftest pss.1 + (with-output-to-string (s) (print-separated-strings s "|" '("ab")) ) + "ab") + +(deftest pss.2 + (with-output-to-string (s) (print-separated-strings s "|" '("ab" "cd"))) + "ab|cd") + +(deftest pss.3 + (with-output-to-string (s) (print-separated-strings s "|" '("ab" "cd") nil)) + "ab|cd") + +(deftest pss.4 + (with-output-to-string (s) + (print-separated-strings s "|" '("ab" "cd") nil nil)) + "ab|cd") + +(deftest pss.5 + (with-output-to-string (s) + (print-separated-strings s "|" '("ab" "cd") nil '("ef") nil)) + "ab|cd|ef") + +(deftest css.0 (concat-separated-strings "|" nil) "") +(deftest css.1 (concat-separated-strings "|" nil nil) "") +(deftest css.2 (concat-separated-strings "|" '("ab")) "ab") +(deftest css.3 (concat-separated-strings "|" '("ab" "cd")) "ab|cd") +(deftest css.4 (concat-separated-strings "|" '("ab" "cd") nil) "ab|cd") +(deftest css.5 (concat-separated-strings "|" '("ab" "cd") nil '("ef")) "ab|cd|ef") + (eval-when (:compile-toplevel :load-toplevel :execute) (when (find-package '#:kmr-mop) (pushnew :kmrtest-mop cl:*features*)))