r4665: *** empty log message ***
[kmrcl.git] / strings.lisp
index 9c6d4d1ebd61746262f6b7421feff40e58ef69f3..d8c0e439a1383bf383ea96c20c44374608a81c75 100644 (file)
@@ -7,7 +7,7 @@
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Apr 2000
 ;;;;
-;;;; $Id: strings.lisp,v 1.8 2003/04/28 16:07:43 kevin Exp $
+;;;; $Id: strings.lisp,v 1.9 2003/04/28 21:12:27 kevin Exp $
 ;;;;
 ;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;;
@@ -168,10 +168,12 @@ list of characters and replacement strings."
               (match (assoc c repl-alist :test #'char=)))
          (declare (character c))
          (if match
-             (let ((subst (cdr match)))
-               (dotimes (j (length subst))
+             (let* ((subst (cdr match))
+                    (len (length match)))
+               (dotimes (j len)
                  (setf (char new-string i) (char subst j))
-                 (incf i)))
+                 (incf i))
+               (decf i))
            (progn
              (setf (char new-string i) c)))))
       new-string)))