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
|
;; mirrors
|
||||||
;;
|
;;
|
||||||
(should (equal (snippet--canonicalize-form '(&mirror 1))
|
(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)))
|
(should (equal (snippet--canonicalize-form '(&mirror 1 (foo)))
|
||||||
'(&mirror 1 (&transform (foo)))))
|
'(&mirror 1 (&transform (foo)))))
|
||||||
(should (equal (snippet--canonicalize-form '(&mirror 1 (&transform (foo))))
|
(should (equal (snippet--canonicalize-form '(&mirror 1 (&transform (foo))))
|
||||||
@ -238,4 +238,6 @@
|
|||||||
;; fields
|
;; fields
|
||||||
(should-error (snippet--canonicalize-form '(&field 1 (&transform (foo) (bar)))))
|
(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 '(&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)))))
|
(should-error (snippet--canonicalize-form '(&eval (foo) (bar)))))
|
||||||
|
13
snippet.el
13
snippet.el
@ -68,15 +68,20 @@
|
|||||||
(`(&eval ,_)
|
(`(&eval ,_)
|
||||||
form)
|
form)
|
||||||
(`(&eval . ,_)
|
(`(&eval . ,_)
|
||||||
(error "provide only one form after &eval or &transform"))
|
(error "provide only one form after &eval in %S" form))
|
||||||
(`(&mirror ,name)
|
(`(&mirror ,name)
|
||||||
`(&mirror ,name (&transform field-text)))
|
`(&mirror ,name (&transform field-string)))
|
||||||
(`(&mirror ,_ (&transform ,_))
|
(`(&mirror ,_ (&transform ,_))
|
||||||
form)
|
form)
|
||||||
(`(&field ,_ (,(or `&transform `&eval) ,_))
|
(`(&field ,_ (,(or `&transform `&eval) ,_))
|
||||||
form)
|
form)
|
||||||
(`(,(or `&mirror `&field) ,_ (,(or `&transform `&eval) . ,_))
|
(`(,(or `&mirror `&field) ,_ (,(or `&transform `&eval) ,_ . (,extra)))
|
||||||
(error "provide only one form after &eval or &transform"))
|
(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 . ,more-forms))
|
||||||
`(&field ,name (&nested . (mapcar #'snippet--canonicalize-form
|
`(&field ,name (&nested . (mapcar #'snippet--canonicalize-form
|
||||||
,more-forms)))
|
,more-forms)))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user