branch: master
commit a80033d1426aee501d5b704318180cf96fbc115f
Author: Noam Postavsky <[email protected]>
Commit: Noam Postavsky <[email protected]>
Refactor yas-good-grace error handling
* yasnippet.el
(yas--handle-error): New function.
(yas--eval-lisp-no-saves, yas--eval-lisp): Use it.
---
yasnippet.el | 16 ++++++++--------
1 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/yasnippet.el b/yasnippet.el
index e2dbca0..c1527dd 100644
--- a/yasnippet.el
+++ b/yasnippet.el
@@ -1246,6 +1246,12 @@ yasnippet keeps a list of modes like this to help the
judgment."
(or (fboundp mode)
(find mode yas--known-modes)))
+(defun yas--handle-error (err)
+ "Handle error depending on value of `yas-good-grace'."
+ (let ((msg (yas--format "elisp error: %s" (error-message-string err))))
+ (if yas-good-grace msg
+ (error msg))))
+
(defun yas--eval-lisp (form)
"Evaluate FORM and convert the result to string."
(let ((retval (catch 'yas--exception
@@ -1257,10 +1263,7 @@ yasnippet keeps a list of modes like this to help the
judgment."
(let ((result (eval form)))
(when result
(format "%s" result))))))
- (error (if yas-good-grace
- (yas--format "elisp error! %s"
(error-message-string err))
- (error (yas--format "elisp error: %s"
- (error-message-string err)))))))))
+ (error (yas--handle-error err))))))
(when (and (consp retval)
(eq 'yas--exception (car retval)))
(error (cdr retval)))
@@ -1269,10 +1272,7 @@ yasnippet keeps a list of modes like this to help the
judgment."
(defun yas--eval-lisp-no-saves (form)
(condition-case err
(eval form)
- (error (if yas-good-grace
- (yas--format "elisp error! %s" (error-message-string err))
- (error (yas--format "elisp error: %s"
- (error-message-string err)))))))
+ (error (yas--handle-error err))))
(defun yas--read-lisp (string &optional nil-on-error)
"Read STRING as a elisp expression and return it.