annotate lisp/progmodes/compilation-weblint.el @ 86181:57a7d8798643

(gud-find-c-expr): Declare as a function.
author Glenn Morris <rgm@gnu.org>
date Sat, 17 Nov 2007 03:49:50 +0000
parents 8563eda1e7db
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
86039
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
1 ;;; compilation-weblint.el --- error regexps for weblint
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
2
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
3 ;; Copyright (C) 2007 Free Software Foundation, Inc.
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
4
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
5 ;; Author: Kevin Ryde <user42@zip.com.au>
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
6 ;; Version: 1
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
7 ;; Keywords: processes
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
8 ;; URL: http://www.geocities.com/user42_kevin/compilation/index.html
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
9 ;; EmacsWiki: CompilationMode
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
10
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
11 ;; This file is part of GNU Emacs.
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
12
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
13 ;; GNU Emacs is free software; you can redistribute it and/or modify
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
14 ;; it under the terms of the GNU General Public License as published by
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
15 ;; the Free Software Foundation; either version 3, or (at your option)
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
16 ;; any later version.
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
17
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
18 ;; GNU Emacs is distributed in the hope that it will be useful,
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
19 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
20 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
21 ;; GNU General Public License for more details.
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
22
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
23 ;; You should have received a copy of the GNU General Public License
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
24 ;; along with GNU Emacs; see the file COPYING. If not, write to the
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
25 ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
26 ;; Boston, MA 02110-1301, USA.
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
27
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
28 ;;; Commentary:
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
29
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
30 ;; This is a spot of code adding a `compilation-error-regexp-alist'
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
31 ;; pattern for messages from the weblint program (the one based on the
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
32 ;; perl HTML::Lint modules).
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
33
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
34 ;;; Install:
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
35
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
36 ;; Put compilation-weblint.el somewhere in your `load-path', and in
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
37 ;; .emacs put
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
38 ;;
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
39 ;; (eval-after-load "compile" '(require 'compilation-weblint))
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
40 ;;
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
41 ;; There's an autoload cookie below for this, if you use
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
42 ;; `update-file-autoloads' and friends.
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
43
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
44 ;;; Emacsen:
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
45
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
46 ;; Works in Emacs 22, Emacs 21, and XEmacs 21.
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
47
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
48 ;;; History:
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
49
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
50 ;; Version 1 - the first version.
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
51
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
52
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
53 ;;; Code:
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
54
86042
d706a3a419e6 * progmodes/compilation-perl.el:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 86039
diff changeset
55 ;;;DISABLE ###autoload (eval-after-load "compile" '(require 'compilation-weblint))
86039
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
56
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
57 (eval-after-load "compile"
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
58 '(progn
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
59 ;; The style comes from HTML::Lint::Error::as_string(), eg.
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
60 ;; index.html (13:1) Unknown element <fdjsk>
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
61 ;;
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
62 ;; The pattern only matches filenames without spaces, since that
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
63 ;; should be usual and should help reduce the chance of a false
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
64 ;; match of a message from some unrelated program.
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
65 ;;
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
66 ;; This message style is quite close to the "ibm" entry of
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
67 ;; emacs22 `compilation-error-regexp-alist-alist' which is for
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
68 ;; IBM C, though that ibm bit doesn't put a space after the
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
69 ;; filename.
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
70 ;;
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
71 (let ((elem '(compilation-weblint
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
72 "^\\([^ \t\r\n(]+\\) (\\([0-9]+\\):\\([0-9]+\\)) "
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
73 1 2 3)))
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
74
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
75 (cond
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
76 ((boundp 'compilation-error-regexp-systems-list)
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
77 ;; xemacs21
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
78 (add-to-list 'compilation-error-regexp-alist-alist
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
79 (list (car elem) (cdr elem)))
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
80 (compilation-build-compilation-error-regexp-alist))
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
81
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
82 ((boundp 'compilation-error-regexp-alist-alist)
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
83 ;; emacs22
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
84 (add-to-list 'compilation-error-regexp-alist-alist elem)
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
85 (add-to-list 'compilation-error-regexp-alist (car elem)))
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
86
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
87 (t
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
88 ;; emacs21
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
89 (add-to-list 'compilation-error-regexp-alist (cdr elem))
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
90
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
91 ;; Remove the "4.3BSD lint pass 3" element because it wrongly
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
92 ;; matches weblint messages. It's apparently supposed to
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
93 ;; match something like
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
94 ;;
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
95 ;; bloofle defined( /users/wolfgang/foo.c(4) ) ...
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
96 ;;
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
97 ;; but it's rather loose and ends up matching the "(13:1)"
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
98 ;; part from weblint as if "13" is the filename and "1" is
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
99 ;; the line number. Forcibly removing this is a bit nasty,
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
100 ;; but emacs22 has dropped it, so consider it an upgrade!
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
101 ;;
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
102 ;; xemacs21 has the same pattern, but somehow the problem
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
103 ;; doesn't arise, so leave it alone there, for now.
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
104 ;;
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
105 (setq compilation-error-regexp-alist
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
106 (remove '(".*([ \t]*\\([a-zA-Z]?:?[^:( \t\n]+\\)[:(][ \t]*\\([0-9]+\\))" 1 2)
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
107 compilation-error-regexp-alist)))))))
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
108
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
109 (provide 'compilation-weblint)
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
110
86044
8563eda1e7db Add arch tagline
Miles Bader <miles@gnu.org>
parents: 86042
diff changeset
111 ;; arch-tag: c7e7f18f-71bd-4c43-b3d3-1d669036ef5d
86039
9e4fbb0dbd2d New files.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
diff changeset
112 ;;; compilation-weblint.el ends here