>From 42e46df892adc90b8b33f3ff134818c665f9b0c0 Mon Sep 17 00:00:00 2001 From: Evan Hanson Date: Tue, 19 Dec 2017 19:17:21 +1300 Subject: [PATCH] Move `system' into (chicken base) --- chicken.base.import.scm | 1 + chicken.import.scm | 2 +- library.scm | 18 ++++++++++-------- types.db | 3 ++- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/chicken.base.import.scm b/chicken.base.import.scm index 5bf90d2e..eb338735 100644 --- a/chicken.base.import.scm +++ b/chicken.base.import.scm @@ -70,6 +70,7 @@ (sub1 . chicken.base#sub1) (subvector . chicken.base#subvector) (symbol-append . chicken.base#symbol-append) + (system . chicken.base#system) (vector-copy! . chicken.base#vector-copy!) (vector-resize . chicken.base#vector-resize) (void . chicken.base#void) diff --git a/chicken.import.scm b/chicken.import.scm index 41b5ace6..8363ec9d 100644 --- a/chicken.import.scm +++ b/chicken.import.scm @@ -169,7 +169,7 @@ (symbol-append . chicken.base#symbol-append) symbol-escape (syntax-error . chicken.syntax#syntax-error) - system + (system . chicken.base#system) (unregister-feature! . chicken.platform#unregister-feature!) (vector-copy! . chicken.base#vector-copy!) (vector-resize . chicken.base#vector-resize) diff --git a/library.scm b/library.scm index bb0bce73..3d2f8683 100644 --- a/library.scm +++ b/library.scm @@ -594,7 +594,7 @@ EOF make-promise promise? char-name enable-warnings equal=? finite? foldl foldr getter-with-setter make-parameter notice procedure-information setter signum string->uninterned-symbol - subvector symbol-append vector-copy! vector-resize + subvector symbol-append system vector-copy! vector-resize warning quotient&remainder quotient&modulo ;; TODO: Move from data-structures.scm: ;; alist-ref alist-update alist-update! rassoc atom? butlast chop @@ -661,6 +661,7 @@ EOF (define procedure-information) (define setter) (define string->uninterned-symbol) +(define system) (define gensym) @@ -1007,13 +1008,14 @@ EOF (lp val forward))))) obj))) -(define (system cmd) - (##sys#check-string cmd 'system) - (let ((r (##core#inline "C_execute_shell_command" cmd))) - (cond ((fx< r 0) - (##sys#update-errno) - (##sys#signal-hook #:process-error 'system "`system' invocation failed" cmd) ) - (else r) ) ) ) +(set! chicken.base#system + (lambda (cmd) + (##sys#check-string cmd 'system) + (let ((r (##core#inline "C_execute_shell_command" cmd))) + (cond ((fx< r 0) + (##sys#update-errno) + (##sys#signal-hook #:process-error 'system "`system' invocation failed" cmd)) + (else r))))) ;;; Dynamic Load diff --git a/types.db b/types.db index 4064f8fd..1e67171a 100644 --- a/types.db +++ b/types.db @@ -980,6 +980,8 @@ (chicken.base#string->uninterned-symbol (#(procedure #:clean #:enforce) chicken.base#string->uninterned-symbol (string) symbol)) (chicken.base#symbol-append (#(procedure #:clean #:enforce #:foldable) chicken.base#symbol-append (#!rest symbol) symbol)) +(chicken.base#system (#(procedure #:clean #:enforce) chicken.base#system (string) fixnum)) + (chicken.base#quotient&remainder (#(procedure #:clean #:enforce #:foldable) chicken.base#quotient&remainder ((or integer float) (or integer float)) (or integer float) (or integer float)) ((float float) (float float) (let ((#(tmp1) #(1))) @@ -1367,7 +1369,6 @@ (symbol-escape (#(procedure #:clean) symbol-escape (#!optional *) *)) -(system (#(procedure #:clean #:enforce) system (string) fixnum)) (##sys#void (#(procedure #:pure) void (#!rest) undefined)) ;; chicken (internal) -- 2.11.0