aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Morris2009-09-29 04:12:46 +0000
committerGlenn Morris2009-09-29 04:12:46 +0000
commitae7155155be576e156e9c6655c823d95ce50ec67 (patch)
tree15fc93dd517d860fd932d76326582be16106a87a
parent84c23041ea3b1cd714a716011781658f368fb61f (diff)
downloademacs-ae7155155be576e156e9c6655c823d95ce50ec67.tar.gz
emacs-ae7155155be576e156e9c6655c823d95ce50ec67.zip
(check-declare-verify): Add basic defmethod and defclass, and
define-overloadable-function.
-rw-r--r--lisp/ChangeLog8
-rw-r--r--lisp/emacs-lisp/check-declare.el12
2 files changed, 16 insertions, 4 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index b486ab5f6ae..c5cd49d5801 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -12,9 +12,17 @@
12 12
132009-09-29 Glenn Morris <rgm@gnu.org> 132009-09-29 Glenn Morris <rgm@gnu.org>
14 14
15 * cedet/ede/srecode.el (srecode-resolve-arguments): Fix declaration.
16
17 * cedet/semantic/complete.el (semantic-displayor-focus-abstract-child-p):
18 * cedet/semantic/tag-file.el (semanticdb-table-child-p):
19 * cedet/srecode/compile.el (srecode-template-inserter-newline-child-p):
20 Mark declarations not understood by check-declare.
21
15 * emacs-lisp/check-declare.el (check-declare-locate): Remove pointless 22 * emacs-lisp/check-declare.el (check-declare-locate): Remove pointless
16 file-name-nondirectory call preventing location of cedet files. 23 file-name-nondirectory call preventing location of cedet files.
17 (check-declare-verify): Use literal search rather than re-search. 24 (check-declare-verify): Use literal search rather than re-search.
25 Add basic defmethod and defclass, and define-overloadable-function.
18 26
19 * net/tramp-smb.el (tramp-smb-handle-directory-files-and-attributes): 27 * net/tramp-smb.el (tramp-smb-handle-directory-files-and-attributes):
20 Use tramp-compat-file-attributes rather than nonexistent 28 Use tramp-compat-file-attributes rather than nonexistent
diff --git a/lisp/emacs-lisp/check-declare.el b/lisp/emacs-lisp/check-declare.el
index 1251699f8f1..9e1f8b4f089 100644
--- a/lisp/emacs-lisp/check-declare.el
+++ b/lisp/emacs-lisp/check-declare.el
@@ -34,6 +34,8 @@
34 34
35;; 1. Warn about functions marked as obsolete, eg 35;; 1. Warn about functions marked as obsolete, eg
36;; password-read-and-add in smime.el. 36;; password-read-and-add in smime.el.
37;; 2. defmethod, defclass argument checking.
38;; 3. defclass also defines -p and -child-p.
37 39
38;;; Code: 40;;; Code:
39 41
@@ -143,9 +145,10 @@ is a string giving details of the error."
143 (setq re (format (if cflag 145 (setq re (format (if cflag
144 "^[ \t]*\\(DEFUN\\)[ \t]*([ \t]*\"%s\"" 146 "^[ \t]*\\(DEFUN\\)[ \t]*([ \t]*\"%s\""
145 "^[ \t]*(\\(fset[ \t]+'\\|\ 147 "^[ \t]*(\\(fset[ \t]+'\\|\
146def\\(?:un\\|subst\\|foo\\|\ 148def\\(?:un\\|subst\\|foo\\|method\\|class\\|\
147ine-\\(?:derived\\|generic\\|\\(?:global\\(?:ized\\)?-\\)?minor\\)-mode\ 149ine-\\(?:derived\\|generic\\|\\(?:global\\(?:ized\\)?-\\)?minor\\)-mode\\|\
148\\|\\(?:ine-obsolete-function-\\)?alias[ \t]+'\\)\\)\ 150\\(?:ine-obsolete-function-\\)?alias[ \t]+'\\|\
151ine-overloadable-function\\)\\)\
149\[ \t]*%s\\([ \t;]+\\|$\\)") 152\[ \t]*%s\\([ \t;]+\\|$\\)")
150 (regexp-opt (mapcar 'cadr fnlist) t))) 153 (regexp-opt (mapcar 'cadr fnlist) t)))
151 (while (re-search-forward re nil t) 154 (while (re-search-forward re nil t)
@@ -185,7 +188,8 @@ ine-\\(?:derived\\|generic\\|\\(?:global\\(?:ized\\)?-\\)?minor\\)-mode\
185 type) 188 type)
186 'obsolete) 189 'obsolete)
187 ;; Can't easily check arguments in these cases. 190 ;; Can't easily check arguments in these cases.
188 ((string-match "\\`\\(defalias\\|fset\\)\\>" type) 191 ((string-match "\\`\\(def\\(alias\\|\
192method\\|class\\)\\|fset\\)\\>" type)
189 t) 193 t)
190 ((looking-at "\\((\\|nil\\)") 194 ((looking-at "\\((\\|nil\\)")
191 (byte-compile-arglist-signature 195 (byte-compile-arglist-signature