diff --git a/src/cmp/cmpopt-cons.lsp b/src/cmp/cmpopt-cons.lsp index 3105c2d04..b5fbcdfe6 100644 --- a/src/cmp/cmpopt-cons.lsp +++ b/src/cmp/cmpopt-cons.lsp @@ -129,6 +129,8 @@ for i from 0 collect `(define-compiler-macro ,n (x) (list 'nth ,i x)))) +(define-compiler-macro rest (x) `(cdr ,x)) + ;;; ;;; POP ;;; diff --git a/src/cmp/sysfun.lsp b/src/cmp/sysfun.lsp index 0a0e51428..004e0bf8e 100644 --- a/src/cmp/sysfun.lsp +++ b/src/cmp/sysfun.lsp @@ -360,10 +360,6 @@ (def-inline nth :unsafe (t t) t "ecl_nth(fix(#0),#1)") (def-inline nth :unsafe (fixnum t) t "ecl_nth(#0,#1)") -(def-inline rest :always (t) t "ecl_cdr(#0)") -(def-inline rest :unsafe (cons) t "ECL_CONS_CDR(#0)") -(def-inline rest :unsafe (t) t "_ecl_cdr(#0)") - (def-inline nthcdr :always (t t) t "ecl_nthcdr(fixint(#0),#1)") (def-inline nthcdr :always (fixnum t) t "ecl_nthcdr(#0,#1)") (def-inline nthcdr :unsafe (t t) t "ecl_nthcdr(fix(#0),#1)")