(elint-init-env): Skip non-list forms.
authorGlenn Morris <rgm@gnu.org>
Sat, 12 Sep 2009 22:32:52 +0000 (22:32 +0000)
committerGlenn Morris <rgm@gnu.org>
Sat, 12 Sep 2009 22:32:52 +0000 (22:32 +0000)
(elint-log): Handle unknown file positions.

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

index 11787f8..22207ee 100644 (file)
@@ -18,6 +18,8 @@
        1000.
        (elint-add-required-env): Don't beep on error.
        (elint-forms): In case of error, return ENV unchanged.
+       (elint-init-env): Skip non-list forms.
+       (elint-log): Handle unknown file positions.
 
 2009-09-12  Daiki Ueno  <ueno@unixuser.org>
 
index dcfc05d..d2e950a 100644 (file)
@@ -298,6 +298,9 @@ Return nil if there are no more forms, t otherwise."
       (setq form (elint-top-form-form (car forms))
            forms (cdr forms))
       (cond
+       ;; Eg nnmaildir seems to use [] as a form of comment syntax.
+       ((not (listp form))
+       (elint-error "Skipping non-list form `%s'" form))
        ;; Add defined variable
        ((memq (car form) '(defvar defconst defcustom))
        (setq env (elint-env-add-var env (cadr form))))
@@ -686,10 +689,12 @@ CODE can be a lambda expression, a macro, or byte-compiled code."
                               (if f
                                   (file-name-nondirectory f)
                                 (buffer-name)))
-                            (save-excursion
-                              (goto-char elint-current-pos)
-                              (1+ (count-lines (point-min)
-                                               (line-beginning-position))))
+                            (if (boundp 'elint-current-pos)
+                                (save-excursion
+                                  (goto-char elint-current-pos)
+                                  (1+ (count-lines (point-min)
+                                                   (line-beginning-position))))
+                              0)       ; unknown position
                             type
                             (apply 'format string args))))