Mercurial > hg > xemacs-beta
comparison lisp/cl-macs.el @ 5554:a42e686a01bf
Automated merge with file:///Sources/xemacs-21.5-checked-out
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Wed, 24 Aug 2011 11:07:26 +0100 |
parents | 62edcc6a11ec |
children | 9a93bc90b3bd |
comparison
equal
deleted
inserted
replaced
5552:85210c453a97 | 5554:a42e686a01bf |
---|---|
3517 (if (cl-const-exprs-p args) | 3517 (if (cl-const-exprs-p args) |
3518 `#'(lambda (&rest args) (apply ,@args args)) | 3518 `#'(lambda (&rest args) (apply ,@args args)) |
3519 (let* ((placeholders (mapcar 'quote-maybe (mapcar 'gensym args))) | 3519 (let* ((placeholders (mapcar 'quote-maybe (mapcar 'gensym args))) |
3520 (compiled (byte-compile-sexp | 3520 (compiled (byte-compile-sexp |
3521 `#'(lambda (&rest args) (apply ,@placeholders args))))) | 3521 `#'(lambda (&rest args) (apply ,@placeholders args))))) |
3522 (assert (equal (intersection | |
3523 (mapcar 'quote-maybe (compiled-function-constants | |
3524 compiled)) | |
3525 placeholders :test 'equal :stable t) | |
3526 placeholders) | |
3527 t "This macro requires that the relative order is the same\ | |
3528 in the constants vector and in the arguments") | |
3522 `(make-byte-code | 3529 `(make-byte-code |
3523 ',(compiled-function-arglist compiled) | 3530 ',(compiled-function-arglist compiled) |
3524 ,(compiled-function-instructions compiled) | 3531 ,(compiled-function-instructions compiled) |
3525 (vector ,@(sublis (pairlis placeholders args) | 3532 (vector ,@(sublis (pairlis placeholders args) |
3526 (mapcar 'quote-maybe | 3533 (mapcar 'quote-maybe |