mirror of
https://github.com/joaotavora/yasnippet.git
synced 2025-10-14 05:23:04 +00:00
fix: better input validation
This commit is contained in:
parent
db38009ee8
commit
f32e4fe2ea
@ -218,7 +218,7 @@
|
||||
;; mirrors
|
||||
;;
|
||||
(should (equal (snippet--canonicalize-form '(&mirror 1))
|
||||
'(&mirror 1 (&transform field-text))))
|
||||
'(&mirror 1 (&transform field-string))))
|
||||
(should (equal (snippet--canonicalize-form '(&mirror 1 (foo)))
|
||||
'(&mirror 1 (&transform (foo)))))
|
||||
(should (equal (snippet--canonicalize-form '(&mirror 1 (&transform (foo))))
|
||||
@ -238,4 +238,6 @@
|
||||
;; fields
|
||||
(should-error (snippet--canonicalize-form '(&field 1 (&transform (foo) (bar)))))
|
||||
(should-error (snippet--canonicalize-form '(&field 1 (&eval (foo) (bar)))))
|
||||
(should-error (snippet--canonicalize-form '(&mirror 1 (foo) (bar))))
|
||||
(should-error (snippet--canonicalize-form '(&field 1 (foo) (bar))))
|
||||
(should-error (snippet--canonicalize-form '(&eval (foo) (bar)))))
|
||||
|
13
snippet.el
13
snippet.el
@ -68,15 +68,20 @@
|
||||
(`(&eval ,_)
|
||||
form)
|
||||
(`(&eval . ,_)
|
||||
(error "provide only one form after &eval or &transform"))
|
||||
(error "provide only one form after &eval in %S" form))
|
||||
(`(&mirror ,name)
|
||||
`(&mirror ,name (&transform field-text)))
|
||||
`(&mirror ,name (&transform field-string)))
|
||||
(`(&mirror ,_ (&transform ,_))
|
||||
form)
|
||||
(`(&field ,_ (,(or `&transform `&eval) ,_))
|
||||
form)
|
||||
(`(,(or `&mirror `&field) ,_ (,(or `&transform `&eval) . ,_))
|
||||
(error "provide only one form after &eval or &transform"))
|
||||
(`(,(or `&mirror `&field) ,_ (,(or `&transform `&eval) ,_ . (,extra)))
|
||||
(error "expected one form after &eval or &transform in %S, you have %d"
|
||||
form (1+ (length extra))))
|
||||
(`(,(or `&mirror `&field) ,name ,_ . (,extra))
|
||||
(error "expected one form after '%S' in %S, you have %d"
|
||||
name
|
||||
form (1+ (length extra))))
|
||||
(`(&field ,name (&nested . ,more-forms))
|
||||
`(&field ,name (&nested . (mapcar #'snippet--canonicalize-form
|
||||
,more-forms)))
|
||||
|
Loading…
x
Reference in New Issue
Block a user