fix define set! bug