core: Remove append.
authorJan Nieuwenhuizen <janneke@gnu.org>
Sun, 2 Apr 2017 06:05:55 +0000 (08:05 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Sun, 2 Apr 2017 06:05:55 +0000 (08:05 +0200)
* lib.c (append): Remove.
* scaffold/mini-mes.c (append): Remove.
* module/mes/base-0.mes (append): New function.
* module/mes/read-0.mo: Regenerate.
* module/mes/read-0-32.mo: Regenerate.

lib.c
module/mes/base-0.mes
scaffold/mini-mes.c

diff --git a/lib.c b/lib.c
index 5d33bb87f14245b6dcad746ecb7ea8f5ed5962bd..b7a636c93786f9953760efdd28a31845ef164ab7 100644 (file)
--- a/lib.c
+++ b/lib.c
@@ -170,14 +170,6 @@ exit_ (SCM x) ///((name . "exit"))
   exit (VALUE (x));
 }
 
-SCM
-append (SCM x) ///((arity . n))
-{
-  if (x == cell_nil) return cell_nil;
-  if (cdr (x) == cell_nil) return car (x);
-  return append2 (car (x), append (cdr (x)));
-}
-
 //MINI_MES
 // char const*
 // string_to_cstring (SCM s)
index 11359fc2dab1255441748bea863df76f5f286329..eab39910ae0ec965f7e68c54dccc4aa80507158d 100644 (file)
 (define-macro (include-from-path file)
   (list 'load (list string-append "module/" file)))
 
+(define (append . rest)
+  (if (null? rest) '()
+      (if (null? (cdr rest)) (car rest)
+          (append2 (car rest) (apply append (cdr rest))))))
+
 (include "module/mes/type-0.mes")
 
 (define (memq x lst)
 (define (mes-load-module-env module a)
   (push! *input-ports* (current-input-port))
   (set-current-input-port (open-input-file (string-append *mes-prefix* (module->file module))))
-  (let ((x (core:eval (append (cons 'begin (read-input-file-env a))
-                              '((current-module)))
+  (let ((x (core:eval (append2 (cons 'begin (read-input-file-env a))
+                               '((current-module)))
                       a)))
     (set-current-input-port (pop! *input-ports*))
     x))
index 5d500975b56da2f5d134011f5de78ce71d08f25e..a67277a53747e34fa600559f4389a49cbe0c74f0 100644 (file)
@@ -1441,14 +1441,6 @@ exit_ (SCM x) ///((name . "exit"))
   exit (VALUE (x));
 }
 
-SCM
-append (SCM x) ///((arity . n))
-{
-  if (x == cell_nil) return cell_nil;
-  if (cdr (x) == cell_nil) return car (x);
-  return append2 (car (x), append (cdr (x)));
-}
-
 SCM
 xassq (SCM x, SCM a) ///for speed in core only
 {