From: Noam Postavsky Date: Sat, 10 May 2014 19:56:36 +0000 (-0400) Subject: Refactor yas-good-grace error handling X-Git-Url: https://code.delx.au/gnu-emacs-elpa/commitdiff_plain/a80033d1426aee501d5b704318180cf96fbc115f Refactor yas-good-grace error handling * yasnippet.el (yas--handle-error): New function. (yas--eval-lisp-no-saves, yas--eval-lisp): Use it. --- diff --git a/yasnippet.el b/yasnippet.el index e2dbca0a6..c1527ddbf 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.