Hello, With GCL checked out today (2.7.0 CLtL1 build) the following code never returns "string processed" when it is compiled :
(defun test (str i) (prog (|maxIndex| k) (setq |maxIndex| (- (length str) 1)) (return (progn (setq k (or (prog (#1=#:G550524) (setq #1# nil) (return (do ((#2=#:G550531 nil #1#) (j i (+ j 1))) ((or #2# (> j |maxIndex|)) #1#) (if (cond ((equal (elt str j) #\Space) (setq #1# (or #1# j)))) (return #1#))))) (return "string processed"))) (print "work with k") k)))) The code (automatically generated), basically, finds the index (greater than i) of a \#Space in a string. Test it with : [99]> (test "hello and bye" 10) "string processed" [100]> (test "hello and bye" 6) "work with k" 9 Greg _______________________________________________ Gcl-devel mailing list Gcl-devel@gnu.org http://lists.gnu.org/mailman/listinfo/gcl-devel