r11199: 20 Sep 2006 Kevin Rosenberg <kevin@rosenberg.net>
authorKevin M. Rosenberg <kevin@rosenberg.net>
Thu, 21 Sep 2006 03:26:39 +0000 (03:26 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Thu, 21 Sep 2006 03:26:39 +0000 (03:26 +0000)
        * sql/syntax.lisp: Apply patch from Marcus Pearce to correctly
        display sql reader syntax.

ChangeLog
debian/changelog
sql/syntax.lisp

index 60394c6fec2bd62788cab8dc25adc2cdb8b26e0a..3e0228030acff7e1b69eb262d8db217d16e4d886 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+20 Sep 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/syntax.lisp: Apply patch from Marcus Pearce to correctly
+       display sql reader syntax.
+
 06 Sep 2006  Kevin Rosenberg <kevin@rosenberg.net>
        * uffi/clsql-uffi-loader.lisp, db-mysql/mysql-loader.lisp: Change from using *features*
        to decide on 64-bit platform and check size of most-positive-fixnum instead.
index c27ec2fa825703642b2f75a349dc33aa88c4aae6..f5ce9941a41b9870088c2a360c3bb7d9dd0f8e17 100644 (file)
@@ -1,3 +1,9 @@
+cl-sql (3.7.2-1) unstable; urgency=low
+
+  * New ustream
+
+ -- Kevin M. Rosenberg <kmr@debian.org>  Wed, 20 Sep 2006 21:24:22 -0600
+
 cl-sql (3.7.1-1) unstable; urgency=low
 
   * New upstream
index 5ad83d8ca2c27f6ed6859cf7845abf823191e389..be92ab507be713519597a9ffd9a93562ae7c6fca 100644 (file)
@@ -45,9 +45,8 @@ 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*))
-  (setf *original-reader-enter* nil)
+  (set-macro-character *sql-macro-open-char* *original-reader-enter*)
+  (set-macro-character *sql-macro-close-char* *original-reader-exit*)
   (values))
 
 
@@ -69,10 +68,13 @@ the current syntax state."
     (%enable-sql-reader-syntax)))
 
 (defun %enable-sql-reader-syntax ()
-  (unless *original-reader-enter*
-    (setf *original-reader-enter* (get-macro-character *sql-macro-open-char*)))
-  (set-macro-character *sql-macro-open-char* #'sql-reader-open)
-  (enable-sql-close-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*))
+    (set-macro-character *sql-macro-close-char* (get-macro-character #\))))
   (values))
 
 (defmacro restore-sql-reader-syntax-state ()
@@ -102,18 +104,6 @@ reader syntax is disabled."
                 :message (format nil "Error ~A occured while attempting to parse '~A' at file position ~A"
                                  (sql-user-error-message c) sqllist (file-position stream))))))))
 
-(defun disable-sql-close-syntax ()
-  "Internal function that disables the close syntax when leaving
-  sql context."
-  (set-macro-character *sql-macro-close-char* *original-reader-exit*)
-  (setf *original-reader-exit* nil))
-
-(defun enable-sql-close-syntax ()
-  "Internal function that enables close syntax when entering SQL
-  context."
-  (setf *original-reader-exit* (get-macro-character *sql-macro-close-char*))
-  (set-macro-character *sql-macro-close-char* (get-macro-character #\))))
-
 (defun generate-sql-reference (&rest arglist)
   (cond ((= (length arglist) 1)        ; string, table or attribute
         (if (stringp (car arglist))