[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs/lisp/emacs-lisp elint.el
From: |
Glenn Morris |
Subject: |
[Emacs-diffs] emacs/lisp/emacs-lisp elint.el |
Date: |
Tue, 24 Feb 2009 03:32:03 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Glenn Morris <gm> 09/02/24 03:32:03
Modified files:
lisp/emacs-lisp: elint.el
Log message:
(elint-unknown-builtin-args): Fix encode-time spec. (Bug#2453)
(elint-find-builtin-args): Make the match more restrictive.
Handle errors. Return a result actually containing the function name.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/emacs-lisp/elint.el?cvsroot=emacs&r1=1.23&r2=1.24
Patches:
Index: elint.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/emacs-lisp/elint.el,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -b -r1.23 -r1.24
--- elint.el 5 Jan 2009 03:20:59 -0000 1.23
+++ elint.el 24 Feb 2009 03:32:02 -0000 1.24
@@ -1,7 +1,7 @@
;;; elint.el --- Lint Emacs Lisp
-;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005,
-;; 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
+;; 2009 Free Software Foundation, Inc.
;; Author: Peter Liljenberg <address@hidden>
;; Created: May 1997
@@ -107,7 +107,7 @@
(if cond then &rest else)
(apply function &rest args)
(format string &rest args)
- (encode-time second minute hour day month year zone &rest args)
+ (encode-time second minute hour day month year &optional zone)
(min &rest args)
(logand &rest args)
(logxor &rest args)
@@ -506,6 +506,7 @@
(let ((fcode (indirect-function func)))
(if (subrp fcode)
(let ((args (get func 'elint-args)))
+ ;; FIXME builtins with no args have args = nil.
(if args args 'unknown))
(elint-find-args-in-code fcode)))
'undefined)
@@ -792,15 +793,14 @@
Each functions is represented by a cons cell:
\(function-symbol . args)
If no documentation could be found args will be `unknown'."
-
- (mapcar (function (lambda (f)
+ (mapcar (lambda (f)
(let ((doc (documentation f t)))
- (if (and doc (string-match "\n\n\\((.*)\\)" doc))
- (read (match-string 1 doc))
- (cons f 'unknown))
- )))
- (if list list
- (elint-find-builtins))))
+ (or (and doc
+ (string-match "\n\n(fn\\(.*)\\)\\'" doc)
+ (ignore-errors
+ (read (format "(%s %s" f (match-string 1 doc)))))
+ (cons f 'unknown))))
+ (or list (elint-find-builtins))))
(provide 'elint)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] emacs/lisp/emacs-lisp elint.el,
Glenn Morris <=