diff options
| author | Kim F. Storm | 2006-09-20 23:12:25 +0000 |
|---|---|---|
| committer | Kim F. Storm | 2006-09-20 23:12:25 +0000 |
| commit | eae510750d41e542edc35b5c74e9093f8afb2e01 (patch) | |
| tree | b24c3687157baced7a67fa866528034223b1b6f9 | |
| parent | 5bde639f478b246e33bfb74f03e8f8ccfa7542f9 (diff) | |
| download | emacs-eae510750d41e542edc35b5c74e9093f8afb2e01.tar.gz emacs-eae510750d41e542edc35b5c74e9093f8afb2e01.zip | |
(member*): Use memql instead of complex code.
Suggested by Miles Bader.
| -rw-r--r-- | lisp/emacs-lisp/cl-macs.el | 16 |
1 files changed, 1 insertions, 15 deletions
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el index e8590933863..b7d63acc861 100644 --- a/lisp/emacs-lisp/cl-macs.el +++ b/lisp/emacs-lisp/cl-macs.el | |||
| @@ -2578,21 +2578,7 @@ surrounded by (block NAME ...). | |||
| 2578 | (cl-const-expr-val (nth 1 keys))))) | 2578 | (cl-const-expr-val (nth 1 keys))))) |
| 2579 | (cond ((eq test 'eq) (list 'memq a list)) | 2579 | (cond ((eq test 'eq) (list 'memq a list)) |
| 2580 | ((eq test 'equal) (list 'member a list)) | 2580 | ((eq test 'equal) (list 'member a list)) |
| 2581 | ((or (null keys) (eq test 'eql)) | 2581 | ((or (null keys) (eq test 'eql)) (list 'memql a list)) |
| 2582 | (if (eq (cl-const-expr-p a) t) | ||
| 2583 | (list (if (floatp-safe (cl-const-expr-val a)) 'member 'memq) | ||
| 2584 | a list) | ||
| 2585 | (if (eq (cl-const-expr-p list) t) | ||
| 2586 | (let ((p (cl-const-expr-val list)) (mb nil) (mq nil)) | ||
| 2587 | (if (not (cdr p)) | ||
| 2588 | (and p (list 'eql a (list 'quote (car p)))) | ||
| 2589 | (while p | ||
| 2590 | (if (floatp-safe (car p)) (setq mb t) | ||
| 2591 | (or (integerp (car p)) (symbolp (car p)) (setq mq t))) | ||
| 2592 | (setq p (cdr p))) | ||
| 2593 | (if (not mb) (list 'memq a list) | ||
| 2594 | (if (not mq) (list 'member a list) form)))) | ||
| 2595 | form))) | ||
| 2596 | (t form)))) | 2582 | (t form)))) |
| 2597 | 2583 | ||
| 2598 | (define-compiler-macro assoc* (&whole form a list &rest keys) | 2584 | (define-compiler-macro assoc* (&whole form a list &rest keys) |