summaryrefslogtreecommitdiff
path: root/llama.el
diff options
context:
space:
mode:
authorJonas Bernoulli <jonas@bernoul.li>2024-10-03 21:06:07 +0200
committerJonas Bernoulli <jonas@bernoul.li>2024-10-03 21:06:07 +0200
commit61ac5906dfa5d98c5cec5b71ea7a7adea2f89f29 (patch)
tree895d89f9d4be9a3e202b9dd9a498e06e3aa90458 /llama.el
parent5db4ead41eee5d44616553ff66c7f9d92604540a (diff)
llama--collect: Support splice
Diffstat (limited to 'llama.el')
-rw-r--r--llama.el18
1 files changed, 13 insertions, 5 deletions
diff --git a/llama.el b/llama.el
index e8af17e..dfd75de 100644
--- a/llama.el
+++ b/llama.el
@@ -187,11 +187,16 @@ to view this docstring.)"
(cond
((memq (car-safe expr) (list (intern "") 'llama 'quote)) expr)
((and backquoted (symbolp expr)) expr)
- ((and backquoted (eq (car-safe expr) backquote-unquote-symbol))
- (list backquote-unquote-symbol
+ ((and backquoted
+ (memq (car-safe expr)
+ (list backquote-unquote-symbol
+ backquote-splice-symbol)))
+ (list (car expr)
(llama--collect (cadr expr) args)))
- ((eq (car-safe expr) backquote-backquote-symbol)
- (list backquote-backquote-symbol
+ ((memq (car-safe expr)
+ (list backquote-backquote-symbol
+ backquote-splice-symbol))
+ (list (car expr)
(llama--collect (cadr expr) args nil t)))
((symbolp expr)
(let ((name (symbol-name expr)))
@@ -398,7 +403,10 @@ expansion, and the looks of this face should hint at that.")
((eq (ignore-errors (bare-symbol (car-safe expr))) 'quote))
((and (memq (car-safe expr) (list (intern "") 'llama)) (not top)))
((and backquoted (symbol-with-pos-p expr)))
- ((and backquoted (eq (car-safe expr) backquote-unquote-symbol))
+ ((and backquoted
+ (memq (car-safe expr)
+ (list backquote-unquote-symbol
+ backquote-splice-symbol)))
(llama--fontify expr))
((symbol-with-pos-p expr)
(save-match-data