diff options
author | Matthias Benkard <code@mail.matthias.benkard.de> | 2008-12-04 21:17:37 +0100 |
---|---|---|
committer | Matthias Benkard <code@mail.matthias.benkard.de> | 2008-12-04 21:17:37 +0100 |
commit | 31ad74e07ca4b77ffbfdc104b403efda61487e40 (patch) | |
tree | c00e222aff97b4b4936247af0fbe3280dd6f72f3 /Lisp/reader-syntax.lisp | |
parent | 03fd82e89b41bbeafa900be8581a3eb8d78c2758 (diff) |
Add function IN-METHOD-SYNTAX.
darcs-hash:d988f9cdc21410c6910aa52e0f396a2ebc7216fb
Diffstat (limited to 'Lisp/reader-syntax.lisp')
-rw-r--r-- | Lisp/reader-syntax.lisp | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/Lisp/reader-syntax.lisp b/Lisp/reader-syntax.lisp index 18174d2..905807d 100644 --- a/Lisp/reader-syntax.lisp +++ b/Lisp/reader-syntax.lisp @@ -22,6 +22,16 @@ (defvar *bracket-syntax-macro-chars* (list)) +(defun in-method-syntax () + ;; FIXME: Document. + (setq *readtable* (copy-readtable *readtable*)) + (push (get-dispatch-macro-character #\# #\/) *method-syntax-macro-chars*) + (set-dispatch-macro-character #\# #\/ #'(lambda (stream char arg) + (declare (ignore char arg)) + (read-objective-c-method stream))) + (values)) + + (defun enable-method-syntax () "Install a **reader macro** that makes method calls look nicer. @@ -76,10 +86,7 @@ __selector__s registered by way of __collect-methods__. __enable-objective-c-syntax__" (save-readtable) - (push (get-dispatch-macro-character #\# #\/) *method-syntax-macro-chars*) - (set-dispatch-macro-character #\# #\/ #'(lambda (stream char arg) - (declare (ignore char arg)) - (read-objective-c-method stream))) + (in-method-syntax) (values)) |