Common Lisp: "no non-white-space characters in string"
===

For Project Euler Problem 9, I am told to parse through a 1000 digit number. 
This is a brute-force Lisp solution, which basically goes through every 5 consecutive digits and multiplies them from start to finish, and returns the largest one at the end of the loop. 

The code:

    (defun pep9 ()
      (labels ((product-of-5n (n)
    	     (eval (append '(*)
    			   (loop for x from n to (+ n 5)
    				collect (parse-integer
    				1000digits-str :start x :end (+ x 1)))))))
        (let ((largestproduct 0))
          (do ((currentdigit 0 (1+ currentdigit)))
    	      ((> currentdigit (- (length 1000digits-str) 6)) (return largestproduct))
    	    (when (> (product-of-5n currentdigit) largestproduct)
    	      (setf largestproduct (product-of-5n currentdigit)))))))


It compiles without any warnings, but upon running it I get:

    no non-whitespace characters in string "73167176531330624919225119674426574742355349194934...".
       [Condition of type SB-INT:SIMPLE-PARSE-ERROR]

I checked to see if the local function `product-of-5n` was working by writing it again as a global function:

    (defun product-of-5n (n)
      (eval (append '(*)
    		(loop for x from n to (+ n 5)
    		   collect (parse-integer
    			    1000digits-str :start x :end (+ x 1))))))

This compiled without warnings and upon running it, appears to operate perfectly. For example,

> CL_USER> (product-of-5n 1) => 882

Which appears to be correct since the first five digits are 7, 3, 1, 6 and 7. 

As for `1000digits-str`, it was simply compiled with `defvar`, and with Emacs' `longlines-show-hard-newlines`, I don't *think* there are any white-space characters in the string, because that's what SBCL is complaining about, right?