Re: [Chicken-hackers] [PATCH] Move current-read-table to chicken.read-syntax

2017-08-19 Thread Kooda
Pushed! :)

___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-hackers


[Chicken-hackers] [PATCH] Move current-read-table to chicken.read-syntax

2017-08-13 Thread Peter Bex
Hi all,

The attached patch is very straightforward (I think), and implements
another part of the proposal Felix and I sent to this list.  It completes
the (chicken read-syntax) module in its current state.

Cheers,
Peter
From 0bc789364558b67aa8bc00206cd4e9c89bdf6345 Mon Sep 17 00:00:00 2001
From: Peter Bex 
Date: Sun, 13 Aug 2017 13:38:32 +0200
Subject: [PATCH] Move current-read-table to chicken.read-syntax module

---
 chicken.import.scm | 1 -
 library.scm| 4 ++--
 read-syntax.scm| 4 +++-
 types.db   | 5 ++---
 4 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/chicken.import.scm b/chicken.import.scm
index a812d0d9..a3a7753d 100644
--- a/chicken.import.scm
+++ b/chicken.import.scm
@@ -54,7 +54,6 @@
cplxnum?
current-error-port
(current-exception-handler . chicken.condition#current-exception-handler)
-   current-read-table
delete-file
directory-exists?
(dynamic-load-libraries . chicken.load#dynamic-load-libraries)
diff --git a/library.scm b/library.scm
index 07bebe1f..ae158fb5 100644
--- a/library.scm
+++ b/library.scm
@@ -3170,7 +3170,7 @@ EOF
 (define keyword-style (make-parameter #:suffix))
 (define parentheses-synonyms (make-parameter #t))
 (define symbol-escape (make-parameter #t))
-(define current-read-table (make-parameter (##sys#make-structure 'read-table #f #f #f)))
+(define ##sys#current-read-table (make-parameter (##sys#make-structure 'read-table #f #f #f)))
 
 (define ##sys#read-warning
   (let ([string-append string-append])
@@ -3201,7 +3201,7 @@ EOF
 	(case-sensitive case-sensitive)
 	(parentheses-synonyms parentheses-synonyms)
 	(symbol-escape symbol-escape)
-	(current-read-table current-read-table)
+	(current-read-table ##sys#current-read-table)
 	(kwprefix (string (integer->char 0
 (lambda (port infohandler)
   (let ((csp (case-sensitive))
diff --git a/read-syntax.scm b/read-syntax.scm
index 087c9f3d..506ebd48 100644
--- a/read-syntax.scm
+++ b/read-syntax.scm
@@ -30,7 +30,7 @@
   (disable-interrupts))
 
 (module chicken.read-syntax
-  (copy-read-table define-reader-ctor set-read-syntax!
+  (copy-read-table current-read-table define-reader-ctor set-read-syntax!
set-sharp-read-syntax! set-parameterized-read-syntax!)
 
 (import scheme chicken chicken.internal chicken.platform)
@@ -43,6 +43,8 @@
 	(##sys#setslot a 1 proc)
 	(set! ##sys#read-marks (cons (cons sym proc) ##sys#read-marks)
 
+(define current-read-table ##sys#current-read-table)
+
 (define ((syntax-setter loc slot wrap) chr proc)
   (if (symbol? chr)
   (set-read-mark! chr proc)
diff --git a/types.db b/types.db
index e62c82db..35f48583 100644
--- a/types.db
+++ b/types.db
@@ -982,6 +982,8 @@
 ;; read-syntax
 
 (chicken.read-syntax#copy-read-table (#(procedure #:clean #:enforce) chicken.read-syntax#copy-read-table ((struct read-table)) (struct read-table)))
+(chicken.read-syntax#current-read-table
+ (#(procedure #:clean) chicken.read-syntax#current-read-table (#!optional (struct read-table)) (struct read-table)))
 (chicken.read-syntax#define-reader-ctor (#(procedure #:clean #:enforce) chicken.read-syntax#define-reader-ctor (symbol procedure) undefined))
 
 (chicken.read-syntax#set-parameterized-read-syntax!
@@ -1011,9 +1013,6 @@
 (chicken.time#current-seconds (#(procedure #:clean) chicken.time#current-seconds () integer))
 (chicken.time#current-milliseconds (#(procedure #:clean) chicken.time#current-milliseconds () integer))
 
-(current-read-table
- (#(procedure #:clean) current-read-table (#!optional (struct read-table)) (struct read-table)))
-
 (delete-file (#(procedure #:clean #:enforce) delete-file (string) string))
 (enable-warnings (#(procedure #:clean) enable-warnings (#!optional *) *))
 
-- 
2.11.0



signature.asc
Description: PGP signature
___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-hackers