From ace0f0f5b9311e10f4638a206e60f601554ee102 Mon Sep 17 00:00:00 2001 From: "Kevin M. Rosenberg" Date: Tue, 3 Oct 2006 11:03:20 +0000 Subject: [PATCH] r11207: 03 Oct 2006 Kevin Rosenberg * sql/syntax.lisp: Commit patch from Marcus Pearce to improve readtable modifications --- ChangeLog | 4 ++++ debian/changelog | 6 ++++++ sql/syntax.lisp | 21 ++++++++------------- 3 files changed, 18 insertions(+), 13 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4fdb45f..dbb0d60 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +03 Oct 2006 Kevin Rosenberg + * sql/syntax.lisp: Commit patch from Marcus Pearce to improve + readtable modifications + 02 Oct 2006 Kevin Rosenberg * sql/syntax.lisp: Check that original reader syntax functions stored before trying to restore them. diff --git a/debian/changelog b/debian/changelog index 5790452..6b59a0a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +cl-sql (3.7.4-1) unstable; urgency=low + + * New upstream + + -- Kevin M. Rosenberg Tue, 3 Oct 2006 05:01:09 -0600 + cl-sql (3.7.3-1) unstable; urgency=low * New upstream diff --git a/sql/syntax.lisp b/sql/syntax.lisp index c0e8487..f00545e 100644 --- a/sql/syntax.lisp +++ b/sql/syntax.lisp @@ -16,9 +16,7 @@ (in-package #:clsql-sys) -(defvar *original-reader-enter* nil) - -(defvar *original-reader-exit* nil) +(defvar *original-readtable* nil) (defvar *sql-macro-open-char* #\[) @@ -45,10 +43,9 @@ the current syntax state." (%disable-sql-reader-syntax))) (defun %disable-sql-reader-syntax () - (when *original-reader-enter* - (set-macro-character *sql-macro-open-char* *original-reader-enter*)) - (when *original-reader-exit* - (set-macro-character *sql-macro-close-char* *original-reader-exit*)) + (when *original-readtable* + (setf *readtable* *original-readtable* + *original-readtable* nil)) (values)) @@ -70,12 +67,10 @@ the current syntax state." (%enable-sql-reader-syntax))) (defun %enable-sql-reader-syntax () - (unless (eq (get-macro-character *sql-macro-open-char*) #'sql-reader-open) - (setf *original-reader-enter* (get-macro-character *sql-macro-open-char*)) - (set-macro-character *sql-macro-open-char* #'sql-reader-open)) - (unless (eq (get-macro-character *sql-macro-close-char*) - (get-macro-character #\))) - (setf *original-reader-exit* (get-macro-character *sql-macro-close-char*)) + (unless *original-readtable* + (setf *original-readtable* *readtable* + *readtable* (copy-readtable)) + (set-macro-character *sql-macro-open-char* #'sql-reader-open) (set-macro-character *sql-macro-close-char* (get-macro-character #\)))) (values)) -- 2.34.1