fixed problem on macro pattern matching for empty list