monnier pushed a commit to branch master in repository elpa. commit 60233ece2e433f888028e8f432730f2f5f3fa1db Author: Teemu Likonen <tliko...@iki.fi> Date: Sun Jan 2 10:43:39 2011 +0000
Siirretään makrojen määritykset samaan paikkaan --- wcheck-mode.el | 69 +++++++++++++++++++++++++++++-------------------------- 1 files changed, 36 insertions(+), 33 deletions(-) diff --git a/wcheck-mode.el b/wcheck-mode.el index eb4e1a8..df9fe82 100644 --- a/wcheck-mode.el +++ b/wcheck-mode.el @@ -562,6 +562,42 @@ This is used when language does not define a face." "Process name for `wcheck-mode'.") +;;; Macros + + +(defmacro wcheck-loop-over-reqs-engine (key var &rest body) + `(dolist (,var (delq nil (mapcar (lambda (buffer) + (when (wcheck-buffer-data-get + :buffer buffer ,key) + buffer)) + (wcheck-buffer-data-get-all :buffer)))) + (when (buffer-live-p ,var) + (with-current-buffer ,var + ,@body)))) + +(defmacro wcheck-loop-over-read-reqs (var &rest body) + `(wcheck-loop-over-reqs-engine :read-req ,var ,@body)) +(defmacro wcheck-loop-over-paint-reqs (var &rest body) + `(wcheck-loop-over-reqs-engine :paint-req ,var ,@body)) + + +(defmacro wcheck-with-language-data (language bindings &rest body) + (let ((lang-var (make-symbol "--wck-language--"))) + `(let* ((,lang-var ,(cadr language)) + ,@(when (car language) + `((,(car language) ,lang-var))) + ,@(mapcar + (lambda (var) + (cond ((symbolp var) + (list var `(wcheck-query-language-data + ,lang-var ',var))) + ((and var (listp var)) + (list (car var) `(wcheck-query-language-data + ,lang-var ',(cadr var)))))) + bindings)) + ,@body))) + + ;;; Interactive commands @@ -729,22 +765,6 @@ right-click mouse menu)." (setq wcheck-timer nil))) -(defmacro wcheck-loop-over-reqs-engine (key var &rest body) - `(dolist (,var (delq nil (mapcar (lambda (buffer) - (when (wcheck-buffer-data-get - :buffer buffer ,key) - buffer)) - (wcheck-buffer-data-get-all :buffer)))) - (when (buffer-live-p ,var) - (with-current-buffer ,var - ,@body)))) - -(defmacro wcheck-loop-over-read-reqs (var &rest body) - `(wcheck-loop-over-reqs-engine :read-req ,var ,@body)) -(defmacro wcheck-loop-over-paint-reqs (var &rest body) - `(wcheck-loop-over-reqs-engine :paint-req ,var ,@body)) - - (defun wcheck-timer-read-event () "Send windows' content to checker program or function. @@ -795,23 +815,6 @@ marking strings in buffers." 3)) -(defmacro wcheck-with-language-data (language bindings &rest body) - (let ((lang-var (make-symbol "--wck-language--"))) - `(let* ((,lang-var ,(cadr language)) - ,@(when (car language) - `((,(car language) ,lang-var))) - ,@(mapcar - (lambda (var) - (cond ((symbolp var) - (list var `(wcheck-query-language-data - ,lang-var ',var))) - ((and var (listp var)) - (list (car var) `(wcheck-query-language-data - ,lang-var ',(cadr var)))))) - bindings)) - ,@body))) - - (defun wcheck-send-strings (buffer strings) "Send STRINGS for the process that handles BUFFER. STRINGS is a list of strings to be sent as input for the external