emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/geiser cbfab92584: Support for #{...}# extended symbol syn


From: ELPA Syncer
Subject: [nongnu] elpa/geiser cbfab92584: Support for #{...}# extended symbol syntax
Date: Wed, 23 Mar 2022 20:58:08 -0400 (EDT)

branch: elpa/geiser
commit cbfab92584072ba0e1c4119612a8438db61ecbf6
Author: jao <jao@gnu.org>
Commit: jao <jao@gnu.org>

    Support for #{...}# extended symbol syntax
    
    Should fix issue #41, possibly the oldest still standing!  My thanks
    and apologies to @ghost, wherever you are!
---
 elisp/geiser-syntax.el | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/elisp/geiser-syntax.el b/elisp/geiser-syntax.el
index a5fc54ffa6..d4ea75e1c4 100644
--- a/elisp/geiser-syntax.el
+++ b/elisp/geiser-syntax.el
@@ -190,6 +190,13 @@ implementation-specific entries for font-lock-keywords.")
   (geiser-syntax--read/token
    (cons 'unprintable (geiser-syntax--read/matching "<" ">"))))
 
+(defun geiser-syntax--read/ex-symbol ()  ;; #{foo bar}# style symbols
+  (let ((tk (geiser-syntax--read/matching "{" "}")))
+    (when-let (c (geiser-syntax--read/next-char))
+      (when (char-equal ?\# c)
+        (geiser-syntax--read/next-char)
+        (cons 'atom (make-symbol (format "#{%s}#" tk)))))))
+
 (defun geiser-syntax--read/skip-comment ()
   (while (and (geiser-syntax--read/next-char)
               (nth 8 (syntax-ppss))))
@@ -215,6 +222,7 @@ implementation-specific entries for font-lock-keywords.")
              (?\( (geiser-syntax--read/token 'vectorb))
              (?\< (geiser-syntax--read/unprintable))
              ((?' ?` ?,) (geiser-syntax--read/next-token))
+             (?\{ (geiser-syntax--read/ex-symbol))
              (t (let ((tok (geiser-syntax--read/symbol)))
                   (cond ((equal (symbol-name tok) "t") '(boolean . :t))
                         ((equal (symbol-name tok) "f") '(boolean . :f))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]