aboutsummaryrefslogtreecommitdiff
path: root/src/interp/metalex.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp/metalex.lisp')
-rw-r--r--src/interp/metalex.lisp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/interp/metalex.lisp b/src/interp/metalex.lisp
index 18183d0d..a98d681f 100644
--- a/src/interp/metalex.lisp
+++ b/src/interp/metalex.lisp
@@ -637,11 +637,11 @@ as keywords.")
(defun-parse-token ARGUMENT-DESIGNATOR)
(defun |PARSE-OperatorFunctionName| ()
- (let ((tok (or (match-current-token 'keyword)
- (match-current-token 'gliph))))
- (when (and tok (member (token-symbol tok) |$OperatorFunctionNames|))
- (Push-Reduction '|PARSE-OperatorFunctionName|
- (copy-tree (token-symbol tok)))
+ (let ((id (make-symbol-of (or (match-current-token 'keyword)
+ (match-current-token 'gliph)
+ (match-current-token 'special-char)))))
+ (when (and id (member id |$OperatorFunctionNames|))
+ (Push-Reduction '|PARSE-OperatorFunctionName| id)
(action (advance-token)))))
; Meta tokens fall into the following categories: