Changeset 7609


Ignore:
Timestamp:
Nov 8, 2007, 3:44:05 AM (12 years ago)
Author:
gb
Message:

Add a new reader macro (#>). #>foo -> :FOO, and #>Foo -> :<F>OO.
(e.g, reduce the need to type as many angle brackets in foreign type/
accessors names.)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/lib/db-io.lisp

    r7470 r7609  
    10531053              sym
    10541054              (load-external-function sym nil))))))))
     1055
     1056(set-dispatch-macro-character
     1057 #\# #\>
     1058 (qlfun |#>-reader| (stream char arg)
     1059    (declare (ignore char arg))
     1060    (if *read-suppress*
     1061      (progn
     1062        (%read-list-expression stream nil)
     1063        nil)
     1064      (let* ((readtable *readtable*)
     1065             (case (readtable-case readtable))
     1066             (string nil)
     1067             (error nil))
     1068        (unwind-protect
     1069             (progn
     1070               (setf (readtable-case readtable) :preserve)
     1071               (multiple-value-setq (string error)
     1072                 (handler-case (read-symbol-token stream)
     1073                   (error (condition) (values nil condition)))))
     1074          (setf (readtable-case *readtable*) case))
     1075        (when error
     1076          (error error))
     1077        (escape-foreign-name string)))))
     1078             
    10551079
    10561080
Note: See TracChangeset for help on using the changeset viewer.