diff options
author | Glenn Morris <rgm@gnu.org> | 2009-09-12 18:48:22 +0000 |
---|---|---|
committer | Glenn Morris <rgm@gnu.org> | 2009-09-12 18:48:22 +0000 |
commit | bf01513fff1644d22b7db6864de1539db7438c5a (patch) | |
tree | 65fed17513b4a5a36af2f258f9e8f5c19a1934ac /lisp | |
parent | d85889e4c0472cc465ffec8dfe9854d206f5f6a1 (diff) | |
download | emacs-bf01513fff1644d22b7db6864de1539db7438c5a.tar.gz |
(elint-file): Make max-lisp-eval-depth at least 1000.
(elint-add-required-env): Don't beep on error.
(elint-forms): In case of error, return ENV unchanged.
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/ChangeLog | 7 | ||||
-rw-r--r-- | lisp/emacs-lisp/elint.el | 7 |
2 files changed, 11 insertions, 3 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 9a0cc52e5ac..aac2899a0ef 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,10 @@ +2009-09-12 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/elint.el (elint-file): Make max-lisp-eval-depth at least + 1000. + (elint-add-required-env): Don't beep on error. + (elint-forms): In case of error, return ENV unchanged. + 2009-09-12 Daiki Ueno <ueno@unixuser.org> * epg.el (epg-make-context): Add autoload cookie. diff --git a/lisp/emacs-lisp/elint.el b/lisp/emacs-lisp/elint.el index 32011f143f3..dcfc05ddd94 100644 --- a/lisp/emacs-lisp/elint.el +++ b/lisp/emacs-lisp/elint.el @@ -178,7 +178,8 @@ This environment can be passed to `macroexpand'." ;; elint-current-buffer clears log. (with-temp-buffer (insert-file-contents file) - (let ((buffer-file-name file)) + (let ((buffer-file-name file) + (max-lisp-eval-depth (max 1000 max-lisp-eval-depth))) (with-syntax-table emacs-lisp-mode-syntax-table (mapc 'elint-top-form (elint-update-env))))) (elint-set-mode-line) @@ -359,7 +360,6 @@ Return nil if there are no more forms, t otherwise." ;;(message "Elint processed (require '%s)" name)) (error "Unable to find require'd library %s" name))) (error - (ding) (message "Can't get variables from require'd library %s" name))) env) @@ -461,7 +461,8 @@ The environment created by the form is returned." (dolist (f forms env) (setq env (elint-form f env))) ;; Loop macro? - (elint-error "Elint failed to parse form: %s" forms))) + (elint-error "Elint failed to parse form: %s" forms) + env)) (defun elint-unbound-variable (var env) "T if VAR is unbound in ENV." |