[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] 286/352: Make "syntax" and "case-fold" effective with "parser" fu
From: |
Stefan Monnier |
Subject: |
[elpa] 286/352: Make "syntax" and "case-fold" effective with "parser" function |
Date: |
Mon, 07 Jul 2014 14:05:01 +0000 |
monnier pushed a commit to branch master
in repository elpa.
commit fab9d99d9d3ea4169e3905e12a2f72c09f127101
Author: Teemu Likonen <address@hidden>
Date: Sun Jul 3 17:26:13 2011 +0300
Make "syntax" and "case-fold" effective with "parser" function
---
wcheck-mode.el | 78 +++++++++++++++++++++++++++++--------------------------
1 files changed, 41 insertions(+), 37 deletions(-)
diff --git a/wcheck-mode.el b/wcheck-mode.el
index 7f8d65d..56cf63f 100644
--- a/wcheck-mode.el
+++ b/wcheck-mode.el
@@ -1053,43 +1053,47 @@ separate line."
(defun wcheck-receive-strings (process string)
"`wcheck-mode' process output handler function."
- (let ((buffer (wcheck-buffer-data-get :process process :buffer))
- (parser (wcheck-query-language-data
- (wcheck-buffer-data-get :process process :language)
- 'parser)))
- (when (buffer-live-p buffer)
- (with-current-buffer buffer
-
- ;; If process is running proceed to collect and paint the
- ;; strings.
- (condition-case error-data
- (if (wcheck-process-running-p process)
- (with-current-buffer (process-buffer process)
- (save-excursion
- (goto-char (point-max))
- (insert string)
- (let ((parsed-strings
- (save-match-data
- (save-excursion
- (goto-char (point-min))
- (condition-case nil (funcall parser)
- (error (signal 'wcheck-funcall-error
- nil)))))))
- (when (and parsed-strings
- (wcheck-list-of-strings-p parsed-strings))
- (wcheck-buffer-data-set buffer :strings parsed-strings)
- (wcheck-buffer-data-set buffer :paint-req t)))))
-
- ;; It's not running. Turn off the mode.
- (wcheck-mode -1)
- (signal 'wcheck-error "Process is not running for buffer \"%s\""
- (buffer-name buffer)))
-
- (wcheck-funcall-error
- (message "Checker output parser function signaled an error"))
-
- (wcheck-error
- (message "%s" (cdr error-data))))))))
+ (let ((buffer (wcheck-buffer-data-get :process process :buffer)))
+ (wcheck-with-language-data
+ (nil (wcheck-buffer-data-get :process process :language))
+ (parser syntax (case-fold-search case-fold))
+ (when (buffer-live-p buffer)
+ (with-current-buffer buffer
+
+ ;; If process is running proceed to collect and paint the
+ ;; strings.
+ (condition-case error-data
+ (if (wcheck-process-running-p process)
+ (with-current-buffer (process-buffer process)
+ (save-excursion
+ (goto-char (point-max))
+ (insert string)
+ (let ((parsed-strings
+ (save-match-data
+ (save-excursion
+ (goto-char (point-min))
+ (condition-case nil
+ (with-syntax-table (eval syntax)
+ (funcall parser))
+ (error (signal 'wcheck-funcall-error
+ nil)))))))
+ (when (and parsed-strings
+ (wcheck-list-of-strings-p parsed-strings))
+ (wcheck-buffer-data-set
+ buffer :strings parsed-strings)
+ (wcheck-buffer-data-set buffer :paint-req t)))))
+
+ ;; It's not running. Turn off the mode.
+ (wcheck-mode -1)
+ (signal 'wcheck-error
+ "Process is not running for buffer \"%s\""
+ (buffer-name buffer)))
+
+ (wcheck-funcall-error
+ (message "Checker output parser function signaled an error"))
+
+ (wcheck-error
+ (message "%s" (cdr error-data)))))))))
(defun wcheck-timer-paint-event ()
- [elpa] 279/352: Remove examples from wcheck-language-data doc and replace it with URL, (continued)
- [elpa] 279/352: Remove examples from wcheck-language-data doc and replace it with URL, Stefan Monnier, 2014/07/07
- [elpa] 272/352: Revert "Emphasize wcheck-language-data-defaults in read-or-skip-faces doc", Stefan Monnier, 2014/07/07
- [elpa] 280/352: Add a table of contents to README file, Stefan Monnier, 2014/07/07
- [elpa] 276/352: Put quotes `...' around the example function add-word-to-dictionary, Stefan Monnier, 2014/07/07
- [elpa] 278/352: New feature: the only action menu item can be chosen automatically, Stefan Monnier, 2014/07/07
- [elpa] 269/352: Clarify that OPERATION-MODE can be also be nil, Stefan Monnier, 2014/07/07
- [elpa] 281/352: State that action-autoselect=nil is the default, Stefan Monnier, 2014/07/07
- [elpa] 282/352: Replace nested IF structure with COND in wcheck-actions, Stefan Monnier, 2014/07/07
- [elpa] 284/352: Don't bind variable "language" unnecessarily, Stefan Monnier, 2014/07/07
- [elpa] 288/352: Document where "syntax" and "case-fold" are used, Stefan Monnier, 2014/07/07
- [elpa] 286/352: Make "syntax" and "case-fold" effective with "parser" function,
Stefan Monnier <=
- [elpa] 283/352: Use org-mode markup in README and rename it to README.org, Stefan Monnier, 2014/07/07
- [elpa] 164/352: Järjestellään uudelleen funktiota wcheck-choose-suggestion-minibuffer, Stefan Monnier, 2014/07/07
- [elpa] 323/352: Fix bug in SIGNAL call: add FORMAT, Stefan Monnier, 2014/07/07
- [elpa] 329/352: Add another empty lines before headings, Stefan Monnier, 2014/07/07
- [elpa] 331/352: Remove "mode" from "Speck mode" link text, Stefan Monnier, 2014/07/07
- [elpa] 335/352: Fix typo in the doc string of wcheck-language-date, Stefan Monnier, 2014/07/07
- [elpa] 332/352: Add link to Marmalade package archive, Stefan Monnier, 2014/07/07
- [elpa] 352/352: * wcheck-mode: New package., Stefan Monnier, 2014/07/07
- [elpa] 299/352: Version 2011.07.27, Stefan Monnier, 2014/07/07
- [elpa] 290/352: Change README link to point to a newer commit, Stefan Monnier, 2014/07/07