summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Benkard <code@mail.matthias.benkard.de>2008-03-13 19:16:30 +0100
committerMatthias Benkard <code@mail.matthias.benkard.de>2008-03-13 19:16:30 +0100
commitbdc0a27be6ce7636addcf7b0054de244859af74e (patch)
tree8ca95dbd95cf983613b3dbdf8209e5d9d1b46868
parenta7a08e54c0d31f91fc5058c12c72125dcde82c24 (diff)
Make use of the fact that readtables are file-local.
darcs-hash:d07bd4cb573f8d4fa226cca8a1da1e39837b5757
-rw-r--r--Lisp/constant-data.lisp5
-rw-r--r--Lisp/internal-reader-syntax.lisp6
-rw-r--r--Lisp/libobjcl.lisp5
3 files changed, 8 insertions, 8 deletions
diff --git a/Lisp/constant-data.lisp b/Lisp/constant-data.lisp
index ab1e6f0..c6cffaf 100644
--- a/Lisp/constant-data.lisp
+++ b/Lisp/constant-data.lisp
@@ -16,7 +16,7 @@
;;;; <http://www.gnu.org/licenses/>.
(in-package #:mulk.objective-cl)
-#.(enable-type-declaration-syntax)
+#.(in-type-declaration-syntax)
;;;; (@* "Allocation Parameters")
@@ -173,6 +173,3 @@
#? symbol -> string
(defun typespec-name->type-id (typespec-name)
(type-name->type-id (typespec-name->type-name typespec-name)))
-
-
-#.(disable-type-declaration-syntax)
diff --git a/Lisp/internal-reader-syntax.lisp b/Lisp/internal-reader-syntax.lisp
index 2c38534..2586b10 100644
--- a/Lisp/internal-reader-syntax.lisp
+++ b/Lisp/internal-reader-syntax.lisp
@@ -33,6 +33,12 @@
(values))
+(defun in-type-declaration-syntax ()
+ (setq *readtable* (copy-readtable *readtable*))
+ (set-dispatch-macro-character #\# #\? #'read-type-declaration)
+ (values))
+
+
(defun enable-type-declaration-syntax ()
(save-readtable)
(set-dispatch-macro-character #\# #\? #'read-type-declaration)
diff --git a/Lisp/libobjcl.lisp b/Lisp/libobjcl.lisp
index bcdcd27..e8b66f4 100644
--- a/Lisp/libobjcl.lisp
+++ b/Lisp/libobjcl.lisp
@@ -16,7 +16,7 @@
;;;; <http://www.gnu.org/licenses/>.
(in-package #:mulk.objective-cl)
-#.(enable-type-declaration-syntax)
+#.(in-type-declaration-syntax)
(eval-when (:compile-toplevel :load-toplevel :execute)
@@ -1016,6 +1016,3 @@ __enable-method-syntax__.
#? (or id objective-c-class exception) -> t
(defun objcl-object-backed-by-lisp-class-p (instance)
(objcl-object-backed-by-lisp-class-p/pointer (pointer-to instance)))
-
-
-#.(disable-type-declaration-syntax)