emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] master a80033d 115/177: Refactor yas-good-grace error handling


From: João Távora
Subject: [elpa] master a80033d 115/177: Refactor yas-good-grace error handling
Date: Sat, 28 Mar 2015 15:41:19 +0000

branch: master
commit a80033d1426aee501d5b704318180cf96fbc115f
Author: Noam Postavsky <address@hidden>
Commit: Noam Postavsky <address@hidden>

    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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]