Mercurial > emacs
comparison lisp/emacs-lisp/elint.el @ 104989:bbe883d49650
(elint-init-env): Skip non-list forms.
(elint-log): Handle unknown file positions.
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Sat, 12 Sep 2009 22:32:52 +0000 |
parents | 25639b195258 |
children | b9b9c3b2718d |
comparison
equal
deleted
inserted
replaced
104988:3edc5799260a | 104989:bbe883d49650 |
---|---|
296 form) | 296 form) |
297 (while forms | 297 (while forms |
298 (setq form (elint-top-form-form (car forms)) | 298 (setq form (elint-top-form-form (car forms)) |
299 forms (cdr forms)) | 299 forms (cdr forms)) |
300 (cond | 300 (cond |
301 ;; Eg nnmaildir seems to use [] as a form of comment syntax. | |
302 ((not (listp form)) | |
303 (elint-error "Skipping non-list form `%s'" form)) | |
301 ;; Add defined variable | 304 ;; Add defined variable |
302 ((memq (car form) '(defvar defconst defcustom)) | 305 ((memq (car form) '(defvar defconst defcustom)) |
303 (setq env (elint-env-add-var env (cadr form)))) | 306 (setq env (elint-env-add-var env (cadr form)))) |
304 ;; Add function | 307 ;; Add function |
305 ((memq (car form) '(defun defsubst)) | 308 ((memq (car form) '(defun defsubst)) |
684 (elint-log-message (format "%s:%d:%s: %s" | 687 (elint-log-message (format "%s:%d:%s: %s" |
685 (let ((f (buffer-file-name))) | 688 (let ((f (buffer-file-name))) |
686 (if f | 689 (if f |
687 (file-name-nondirectory f) | 690 (file-name-nondirectory f) |
688 (buffer-name))) | 691 (buffer-name))) |
689 (save-excursion | 692 (if (boundp 'elint-current-pos) |
690 (goto-char elint-current-pos) | 693 (save-excursion |
691 (1+ (count-lines (point-min) | 694 (goto-char elint-current-pos) |
692 (line-beginning-position)))) | 695 (1+ (count-lines (point-min) |
696 (line-beginning-position)))) | |
697 0) ; unknown position | |
693 type | 698 type |
694 (apply 'format string args)))) | 699 (apply 'format string args)))) |
695 | 700 |
696 (defun elint-error (string &rest args) | 701 (defun elint-error (string &rest args) |
697 "Report a linting error. | 702 "Report a linting error. |