From 08caf8374051b4ffc254969af072df1809caed4e Mon Sep 17 00:00:00 2001 From: Juan Jose Garcia Ripoll Date: Sat, 3 Dec 2011 23:38:26 +0100 Subject: [PATCH] Compiler macro for REST, removing C-inline forms. --- src/cmp/cmpopt-cons.lsp | 2 ++ src/cmp/sysfun.lsp | 4 ---- 2 files changed, 2 insertions(+), 4 deletions(-) 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)")