Determine indentation of a line of code
I guess roundup is something like
(defun roundup (x y) (* (ceiling x y) y))?

For the reason you stated I'd probably go with loop (or alternatives,
iterate comes to mind) instead of the do... family of macros, e.g.:

(defun indentation (line)
  (loop
    with spaces = 0
    for index below (length line)
    do (case (char line index)
         (#\Space (incf spaces))
         (#\Tab (setf spaces (roundup (1+ spaces) 4)))
         (T (loop-finish)))
    finally (return (values spaces index))))



Depending on the choice of input you might want to use char for
strings instead of aref.
otherwise is pretty long, but of course it's somewhat of a personal
choice - t is a bit shorter.