1) An unquoted space is always a separator, even when not "in_arg". 2) When a new destination buffer must be allocated during variable substitution, only copy data from the active buffer to the new one when we *are* "in_arg". 3) Fix minor memory leak when expanding ${variable}s Approved by: re(kensmith)