summaryrefslogtreecommitdiff
path: root/module/language
diff options
context:
space:
mode:
authorBT Templeton <bpt@hcoop.net>2011-08-16 23:16:46 -0400
committerBT Templeton <bpt@hcoop.net>2012-02-03 18:53:51 -0500
commit5199c059e83c0622cd0667a6bde8d1cca5cba0fd (patch)
tree3ede325bdc1e8dbdfa029b6add1667a127ed4e8d /module/language
parent39864d20149e29e23555ffcfd13478663d6dfb32 (diff)
downloadguile-5199c059e83c0622cd0667a6bde8d1cca5cba0fd.tar.gz
sharpsign-colon for uninterned symbols
* module/language/elisp/lexer.sm (lex): Add support for `#:' syntax for uninterned symbols.
Diffstat (limited to 'module/language')
-rw-r--r--module/language/elisp/lexer.scm7
1 files changed, 6 insertions, 1 deletions
diff --git a/module/language/elisp/lexer.scm b/module/language/elisp/lexer.scm
index 2e52cc780..1933ff34d 100644
--- a/module/language/elisp/lexer.scm
+++ b/module/language/elisp/lexer.scm
@@ -337,7 +337,12 @@
(let ((mark (get-circular-marker port)))
(return (car mark) (cdr mark))))
((#\')
- (return 'function #f)))))
+ (return 'function #f))
+ ((#\:)
+ (call-with-values
+ (lambda () (get-symbol-or-number port))
+ (lambda (type str)
+ (return 'symbol (make-symbol str))))))))
;; Parentheses and other special-meaning single characters.
((#\() (return 'paren-open #f))
((#\)) (return 'paren-close #f))