(elint-unknown-builtin-args): Fix encode-time spec. (Bug#2453)
authorGlenn Morris <rgm@gnu.org>
Tue, 24 Feb 2009 03:32:19 +0000 (03:32 +0000)
committerGlenn Morris <rgm@gnu.org>
Tue, 24 Feb 2009 03:32:19 +0000 (03:32 +0000)
(elint-find-builtin-args): Make the match more restrictive.
Handle errors.  Return a result actually containing the function name.

lisp/ChangeLog
lisp/emacs-lisp/elint.el

index 51cdc49..99b3bd7 100644 (file)
@@ -1,3 +1,21 @@
+2009-02-24  Glenn Morris  <rgm@gnu.org>
+
+       * eshell/esh-util.el (eshell-parse-ange-ls): Define `name' before
+       potential use.
+
+       * progmodes/cperl-mode.el (cperl-find-pods-heres):
+       Don't globally bind `name'.
+
+       * emacs-lisp/elint.el (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.
+
+       * mail/rmail.el (rmail): Don't show a message if rmail-get-new-mail
+       already did.  (Bug#2440)
+       (rmail-quit): Don't swap buffers.  (Bug#2441)
+       (rmail-list-to-menu): Don't globally bind `name'.
+
 2009-02-23  Chong Yidong  <cyd@stupidchicken.com>
 
        * net/ange-ftp.el (ange-ftp-insert-directory): Adapt switch
@@ -11,8 +29,7 @@
 2009-02-23  Geoff Gole  <geoffgole@gmail.com>  (tiny change)
 
        * ibuffer.el (ibuffer-redisplay-engine): Avoid "Mark set" message
-       clobbering the useful message from `ibuffer-toggle-sorting-mode'.
-       (Bug#2439)
+       clobbering useful message from `ibuffer-toggle-sorting-mode'. (Bug#2439)
 
 2009-02-23  Miles Bader  <miles@gnu.org>
 
index a58cd3e..bc38abc 100644 (file)
@@ -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,
+;;   200 Free Software Foundation, Inc.
 
 ;; Author: Peter Liljenberg <petli@lysator.liu.se>
 ;; Created: May 1997
     (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 @@ Returns `unknown' if we couldn't find arguments."
              (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 @@ functions, otherwise use LIST.
 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)
-                       (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))))
+  (mapcar (lambda (f)
+           (let ((doc (documentation f t)))
+             (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)