;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Apr 2000
;;;;
-;;;; $Id: strings.lisp,v 1.18 2003/05/05 19:54:14 kevin Exp $
+;;;; $Id: strings.lisp,v 1.19 2003/05/05 20:08:17 kevin Exp $
;;;;
;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg
;;;;
(output '())
(pos 0)
(end (position separator string :start pos :end len)
- (position separator string :start pos :end len))
- (previous nil))
+ (position separator string :start pos :end len)))
((null end)
- (cond
- ((null previous)
- (list string))
- (t
- (incf previous)
- (if (< previous len)
- (push (subseq string previous) output)
- (unless skip-terminal
- (push "" output)))
- (nreverse output))))
+ (if (< pos len)
+ (push (subseq string pos) output)
+ (unless (or skip-terminal (null output))
+ (push "" output)))
+ (nreverse output))
(declare (type fixnum pos len)
- (type (or null fixnum) end previous))
+ (type (or null fixnum) end))
(push (subseq string pos end) output)
- (setq previous end)
(setq pos (1+ end))))