From afdceaec7decebe70be60baf5c6515ec3e7d6b1a Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Sat, 12 Sep 2009 22:32:52 +0000 Subject: [PATCH] (elint-init-env): Skip non-list forms. (elint-log): Handle unknown file positions. --- lisp/ChangeLog | 2 ++ lisp/emacs-lisp/elint.el | 13 +++++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 11787f8a7d3..22207eec8f9 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -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 diff --git a/lisp/emacs-lisp/elint.el b/lisp/emacs-lisp/elint.el index dcfc05ddd94..d2e950ae908 100644 --- a/lisp/emacs-lisp/elint.el +++ b/lisp/emacs-lisp/elint.el @@ -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)))) -- 2.39.2