guicho271828 / trivia

Pattern Matcher Compatible with Optima
Other
335 stars 22 forks source link

Omit ignorable declarations for symbol-macrolet. #83

Closed ruricolist closed 7 years ago

ruricolist commented 7 years ago

The ignorable declaration in the macroexpansion of match2*+ causes both SBCL and Clozure to print compile-time warnings about an ignorable declaration for an unknown variable.

E.g., compiling

(defun foo (x)
  (match x
    ((and x) x)))

causes both SBCL and Clozure to complain:

Clozure: In FOO: IGNORABLE declaration for unknown variable #:ARG213002 SBCL: IGNORABLE declaration for an unknown variable: ARG0

This pull request just removes the ignorable declaration, which is needless anyway, since, as far as I can tell, no Lisp cares if you ignore a symbol macro.

guicho271828 commented 7 years ago

Thank you, somehow I never saw the warning (possibly due to my environment setup). The problem and the fix look legitimate, so I am merging the commit.