You're missing a space here when you build the string. I'd use instead `(format "%s is not a valid semantic version number" s)`