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

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

[elpa] 212/352: Käytetään signal-funktiota myös funktiossa wcheck-send-


From: Stefan Monnier
Subject: [elpa] 212/352: Käytetään signal-funktiota myös funktiossa wcheck-send-strings
Date: Mon, 07 Jul 2014 14:04:12 +0000

monnier pushed a commit to branch master
in repository elpa.

commit c851d98cb895859016eebfdedb45025db64080ef
Author: Teemu Likonen <address@hidden>
Date:   Sun Jan 2 10:46:33 2011 +0000

    Käytetään signal-funktiota myös funktiossa wcheck-send-strings
---
 wcheck-mode.el |   37 +++++++++++++++++++++----------------
 1 files changed, 21 insertions(+), 16 deletions(-)

diff --git a/wcheck-mode.el b/wcheck-mode.el
index 3bd51a0..a2205f9 100644
--- a/wcheck-mode.el
+++ b/wcheck-mode.el
@@ -851,22 +851,27 @@ separate line."
    (language (wcheck-buffer-data-get :buffer buffer :language))
    (program)
 
-   (cond ((or (wcheck-buffer-data-get :buffer buffer :process)
-              (stringp program))
-          (process-send-string
-           (wcheck-start-get-process buffer)
-           (concat (mapconcat #'identity strings "\n") "\n")))
-         ((functionp program)
-          (when (buffer-live-p buffer)
-            (with-current-buffer buffer
-              (let ((received (save-match-data (funcall program strings))))
-                (when (and received (wcheck-list-of-strings-p received))
-                  (wcheck-buffer-data-set buffer :strings received)
-                  (wcheck-buffer-data-set buffer :paint-req t))))))
-         (t
-          (when (buffer-live-p buffer)
-            (with-current-buffer buffer
-              (wcheck-mode -1)))))))
+   (condition-case nil
+       (cond ((or (wcheck-buffer-data-get :buffer buffer :process)
+                  (stringp program))
+              (process-send-string
+               (wcheck-start-get-process buffer)
+               (concat (mapconcat #'identity strings "\n") "\n")))
+             ((functionp program)
+              (when (buffer-live-p buffer)
+                (with-current-buffer buffer
+                  (let ((received (save-match-data (funcall program strings))))
+                    (if (wcheck-list-of-strings-p received)
+                        (when received
+                          (wcheck-buffer-data-set buffer :strings received)
+                          (wcheck-buffer-data-set buffer :paint-req t))
+                      (signal 'wcheck-not-a-list-of-strings-error nil)))))))
+
+     (wcheck-not-a-list-of-strings-error
+      (with-current-buffer buffer
+        (wcheck-mode -1)
+        (message (concat "Checker function did not return a list of "
+                         "strings (or nil)")))))))
 
 
 (defun wcheck-receive-strings (process string)



reply via email to

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