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

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

[elpa] externals/yasnippet 5cbdbf0 8/8: Handle errors during evaluation


From: Stefan Monnier
Subject: [elpa] externals/yasnippet 5cbdbf0 8/8: Handle errors during evaluation properly
Date: Mon, 15 Mar 2021 22:25:53 -0400 (EDT)

branch: externals/yasnippet
commit 5cbdbf0d2015540c59ed8ee0fcf4788effdf75b6
Author: Noam Postavsky <npostavs@users.sourceforge.net>
Commit: Noam Postavsky <npostavs@users.sourceforge.net>

    Handle errors during evaluation properly
    
    * yasnippet.el (yas--eval-for-string): Convert error to a string,
    rather than returning the error data (which can only lead to confusing
    type errors later when code expecting a string gets a list).
    * yasnippet-tests.el (yas-no-memory-of-bad-snippet): Adjust test, now
    that snippet expansion swallows errors properly.
---
 yasnippet-tests.el | 2 +-
 yasnippet.el       | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/yasnippet-tests.el b/yasnippet-tests.el
index e009a72..b8a7980 100644
--- a/yasnippet-tests.el
+++ b/yasnippet-tests.el
@@ -847,7 +847,7 @@ mapconcat #'(lambda (arg)
   ;; See https://github.com/joaotavora/yasnippet/issues/800.
   (with-temp-buffer
     (yas-minor-mode 1)
-    (should-error (yas-expand-snippet "```foo\n\n```"))
+    (yas-expand-snippet "```foo\n\n```")
     (erase-buffer) ; Bad snippet may leave wrong text.
     ;; But expanding the corrected snippet should work fine.
     (yas-expand-snippet "\\`\\`\\`foo\n\n\\`\\`\\`")
diff --git a/yasnippet.el b/yasnippet.el
index fe29fc9..78ef38a 100644
--- a/yasnippet.el
+++ b/yasnippet.el
@@ -1505,7 +1505,7 @@ Also tries to work around Emacs Bug#30931."
               (let ((result (eval form)))
                 (when result
                   (format "%s" result))))))
-      ((debug error) (cdr oops)))))
+      ((debug error) (error-message-string oops)))))
 
 (defun yas--eval-for-effect (form)
   (yas--safely-call-fun (apply-partially #'eval form)))



reply via email to

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