monnier pushed a commit to branch master
in repository elpa.
commit 4385e542be01e3907285210b3ef33aca517c50d3
Author: Teemu Likonen <[email protected]>
Date: Sun Jan 2 10:46:13 2011 +0000
Hiotaan vielä oikolukuehdotusten ohjelmavirheenkäsittelyä
---
wcheck-mode.el | 41 +++++++++++++++++++++++------------------
1 files changed, 23 insertions(+), 18 deletions(-)
diff --git a/wcheck-mode.el b/wcheck-mode.el
index 2c9ab16..3bd51a0 100644
--- a/wcheck-mode.el
+++ b/wcheck-mode.el
@@ -612,9 +612,12 @@ This is used when language does not define a face."
(wcheck-define-condition wcheck-error error)
(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-suggestion-error wcheck-error)
(wcheck-define-condition wcheck-suggestion-program-error
wcheck-suggestion-error)
+(wcheck-define-condition wcheck-parser-function-not-configured-error
+ wcheck-suggestion-error)
;;; Interactive commands
@@ -1283,9 +1286,22 @@ was replaced."
(if (markerp start) (set-marker start nil))
(if (markerp end) (set-marker end nil))))
return-value)
+
+ (wcheck-suggestion-program-error
+ (message (concat "Language \"%s\": suggestion program or "
+ "function not configured")
+ (cdr error-data)))
+
+ (wcheck-parser-function-not-configured-error
+ (message "Language \"%s\": parser function is not configured"
+ (cdr error-data)))
+
+ (wcheck-not-a-list-of-strings-error
+ (message (concat "Suggestion program or parser function did not return "
+ "a list of strings (or nil)")))
+
(wcheck-suggestion-error
- (message "%s" (cdr error-data))
- nil)))
+ (message "%s" (cdr error-data)))))
(defun wcheck-get-suggestions (language text)
@@ -1310,17 +1326,12 @@ there aren't any)."
(parser suggestion-parser))
(cond ((not (wcheck-suggestion-program-configured-p language))
- (signal 'wcheck-suggestion-program-error
- (format (concat "Language \"%s\": suggestion program or "
- "function not configured")
- language)))
+ (signal 'wcheck-suggestion-program-error language))
((and (stringp program)
(not parser))
- (signal 'wcheck-suggestion-program-error
- (format (concat "Language \"%s\": parser function is not "
- "configured")
- language)))
+ (signal 'wcheck-parser-function-not-configured-error language
+ language))
((stringp program)
(with-temp-buffer
@@ -1331,19 +1342,13 @@ there aren't any)."
(let ((suggestions (save-match-data (funcall parser))))
(if (wcheck-list-of-strings-p suggestions)
suggestions
- (progn
- (message
- "Parser function must return a list of strings or nil")
- 'error)))))
+ (signal 'wcheck-not-a-list-of-strings-error nil)))))
((functionp program)
(let ((suggestions (save-match-data (funcall program text))))
(if (wcheck-list-of-strings-p suggestions)
suggestions
- (progn
- (message
- "Suggestion function must return a list of strings or nil")
- 'error)))))))
+ (signal 'wcheck-not-a-list-of-strings-error nil)))))))
(defun wcheck-choose-suggestion-popup (suggestions event)