[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] 227/352: Käsitellään käyttäjän funktioissa tapahtuvat virheilmoi
From: |
Stefan Monnier |
Subject: |
[elpa] 227/352: Käsitellään käyttäjän funktioissa tapahtuvat virheilmoitukset |
Date: |
Mon, 07 Jul 2014 14:04:25 +0000 |
monnier pushed a commit to branch master
in repository elpa.
commit e758aab403dd05e51f3086cd62fa31985b4eb616
Author: Teemu Likonen <address@hidden>
Date: Sun Jan 9 12:29:52 2011 +0000
Käsitellään käyttäjän funktioissa tapahtuvat virheilmoitukset
Käyttäjän määrittämät oikoluku- ja oikolukuehdotusfunktiot saattavat
kaatua virheeseen. Nyt mahdolliset virhetilanteet käsitellään ja
annetaan siitä käyttäjälle ilmoitus.
---
wcheck-mode.el | 27 ++++++++++++++++++++++-----
1 files changed, 22 insertions(+), 5 deletions(-)
diff --git a/wcheck-mode.el b/wcheck-mode.el
index e32f3b5..2bea955 100644
--- a/wcheck-mode.el
+++ b/wcheck-mode.el
@@ -631,6 +631,7 @@ slower. A suitable compromise may be 3 or 4.")
(wcheck-define-condition wcheck-language-does-not-exist-error wcheck-error)
(wcheck-define-condition wcheck-program-not-configured-error wcheck-error)
(wcheck-define-condition wcheck-not-a-list-of-strings-error wcheck-error)
+(wcheck-define-condition wcheck-funcall-error wcheck-error)
(wcheck-define-condition wcheck-suggestion-error wcheck-error)
(wcheck-define-condition wcheck-suggestion-program-error
wcheck-suggestion-error)
@@ -914,7 +915,10 @@ separate line."
((functionp program)
(when (buffer-live-p buffer)
(with-current-buffer buffer
- (let ((received (save-match-data (funcall program strings))))
+ (let ((received
+ (save-match-data
+ (condition-case nil (funcall program strings)
+ (error (signal 'wcheck-funcall-error nil))))))
(if (wcheck-list-of-strings-p received)
(when received
(wcheck-buffer-data-set buffer :strings received)
@@ -925,7 +929,10 @@ separate line."
(with-current-buffer buffer
(wcheck-mode -1)
(message (concat "Checker function did not return a list of "
- "strings (or nil)")))))))
+ "strings (or nil)"))))
+
+ (wcheck-funcall-error
+ (message "Checker function signaled an error")))))
(defun wcheck-receive-strings (process string)
@@ -1530,7 +1537,7 @@ was replaced."
(message (concat "Suggestion program or parser function did not return "
"a list of strings (or nil)")))
- (wcheck-suggestion-error
+ (wcheck-error
(message "%s" (cdr error-data)))))
@@ -1568,13 +1575,23 @@ there aren't any)."
(apply #'call-process-region (point-min) (point-max)
program t t nil args)
(goto-char (point-min))
- (let ((suggestions (save-match-data (funcall parser))))
+ (let ((suggestions
+ (save-match-data
+ (condition-case nil (funcall parser)
+ (error (signal 'wcheck-funcall-error
+ (concat "Suggestion parser function "
+ "signaled an error")))))))
(if (wcheck-list-of-strings-p suggestions)
suggestions
(signal 'wcheck-not-a-list-of-strings-error nil)))))
((functionp program)
- (let ((suggestions (save-match-data (funcall program text))))
+ (let ((suggestions
+ (save-match-data
+ (condition-case nil (funcall program text)
+ (error (signal 'wcheck-funcall-error
+ (concat "Suggestion function signaled "
+ "an error")))))))
(if (wcheck-list-of-strings-p suggestions)
suggestions
(signal 'wcheck-not-a-list-of-strings-error nil)))))))
- [elpa] 200/352: Lähetetään merkkijonot tarkistinfunktiolle vain, jos niitä ylipäätään on, (continued)
- [elpa] 200/352: Lähetetään merkkijonot tarkistinfunktiolle vain, jos niitä ylipäätään on, Stefan Monnier, 2014/07/07
- [elpa] 199/352: Abstrahoidaan ja järjestellään koodia uudelleen, Stefan Monnier, 2014/07/07
- [elpa] 207/352: Käsitellään wcheck-moden käynnistysvirheet uudella tavalla, Stefan Monnier, 2014/07/07
- [elpa] 205/352: Lisätään makro wcheck-define-condition, Stefan Monnier, 2014/07/07
- [elpa] 208/352: Siirretään signaalien määrittelyt samaan paikkaan, Stefan Monnier, 2014/07/07
- [elpa] 218/352: Tallennetaan jump-reqiin myös nykyinen ikkuna, Stefan Monnier, 2014/07/07
- [elpa] 215/352: Ajetaan paint-event-sarja vain kerran, Stefan Monnier, 2014/07/07
- [elpa] 220/352: Lisätään kuvaus muuttujaan wcheck-timer-paint-event-count-std, Stefan Monnier, 2014/07/07
- [elpa] 219/352: Muutetaan wcheck-timer-idlen määrittelytyyppi: defconst -> defvar, Stefan Monnier, 2014/07/07
- [elpa] 221/352: Muutetaan mode-line-tieto: "W:" ja kielen kaksi ensimmäistä merkkiä, Stefan Monnier, 2014/07/07
- [elpa] 227/352: Käsitellään käyttäjän funktioissa tapahtuvat virheilmoitukset,
Stefan Monnier <=
- [elpa] 222/352: Hiotaan virheilmoituksia, Stefan Monnier, 2014/07/07
- [elpa] 229/352: Muutetaan wcheck-mode-komennon kuvausta, Stefan Monnier, 2014/07/07
- [elpa] 216/352: Uusi ominaisuus: etsi seuraava/edellinen merkitty kohta, Stefan Monnier, 2014/07/07
- [elpa] 230/352: Muutetaan alun kommentissa olevaa kuvausta, Stefan Monnier, 2014/07/07
- [elpa] 224/352: Poistetaan jump-reqistä turha hyppysuuntatieto, Stefan Monnier, 2014/07/07
- [elpa] 223/352: Hiotaan oikolukuehdotusten valikkoa, Stefan Monnier, 2014/07/07
- [elpa] 232/352: Yksinkertaisempi silmukka: -read-strings ja -paint-strings, Stefan Monnier, 2014/07/07
- [elpa] 234/352: Uusi funktio: wcheck-process-running-p, Stefan Monnier, 2014/07/07
- [elpa] 228/352: Monipuolisempi read-or-skip-faces, Stefan Monnier, 2014/07/07
- [elpa] 226/352: Poistetaan maininta vanhasta muuttujasta wcheck-read-or-skip-faces, Stefan Monnier, 2014/07/07