m2ym/optima — pull request #97 by scymtym (2014-08-11 14:33:09+00:00)
Title: Fix LIST* pattern when used with one subpattern

Previously, the `list*` pattern when used with one subpattern did not match lists.

The patch changes that behavior such that
```cl
(ematch 5 ((list* l) l)) |- ERROR

(ematch '()) ((list* l) l)) => ()
(ematch '(1) ((list* l) l)) => (1)
(ematch '(1 2) ((list* l) l)) => (1 2)
(ematch '(1 2 3) ((list* l) l)) => (1 2 3)

(ematch (list* '(1 2 3)) ((list* l) l)) => (1 2 3)
;; (list* LIST) == LIST but this illustrates the relation between the function and the pattern constructor
```