Fix bug in set difference.

svn: r2170
This commit is contained in:
Scott Owens 2006-02-08 16:39:29 +00:00
parent 4884ac0cab
commit 5fe7041f17
2 changed files with 3 additions and 4 deletions

View File

@ -285,10 +285,9 @@ operators:
> (: re ...) concatenation > (: re ...) concatenation
> (seq re ...) concatenation > (seq re ...) concatenation
> (& re ...) intersection > (& re ...) intersection
> (- re re ...) set difference
> (~ re ...) character set complement, each given regexp must match > (~ re ...) character set complement, each given regexp must match
exactly one character exactly one character
> (- re re ...) character set difference, each given regexp must match
exactly one character
> (/ char-or-string ...) > (/ char-or-string ...)
character ranges, matches characters between successive character ranges, matches characters between successive
pairs of chars. pairs of chars.

View File

@ -73,7 +73,7 @@
((_ re ...) ((_ re ...)
(char-complement (union re ...))))) (char-complement (union re ...)))))
;; char-set difference ;; set difference
(define-lex-trans (sre-- stx) (define-lex-trans (sre-- stx)
(syntax-case stx () (syntax-case stx ()
((_) ((_)
@ -81,7 +81,7 @@
"must have at least one argument" "must have at least one argument"
stx)) stx))
((_ big-re re ...) ((_ big-re re ...)
(syntax (intersect big-re (~ (union re) ...)))))) (syntax (& big-re (complement (union re ...)))))))
(define-lex-trans (sre-/ stx) (define-lex-trans (sre-/ stx)
(syntax-case stx () (syntax-case stx ()