fixed ::define macro expand