diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2010-12-27 12:55:38 -0500 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2010-12-27 12:55:38 -0500 |
commit | 590130fb19e1f433965c421d98fedeb2d7c33310 (patch) | |
tree | ed68c41e9255c9b6bda9e4a9f777e6af759d736c /lisp/emacs-lisp | |
parent | a0ee6f2751acba71df443d4d795bb350eb6421dd (diff) | |
download | emacs-590130fb19e1f433965c421d98fedeb2d7c33310.tar.gz emacs-590130fb19e1f433965c421d98fedeb2d7c33310.tar.bz2 emacs-590130fb19e1f433965c421d98fedeb2d7c33310.zip |
* src/eval.c (Fdefvar): Record specialness before computing initial value.
* lisp/emacs-lisp/bytecomp.el (byte-compile-track-mouse): Don't use #'.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/bytecomp.el | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index 0f7018b9b64..82b5ed3367d 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el @@ -441,6 +441,7 @@ specify different fields to sort on." ;(defvar byte-compile-debug nil) (defvar byte-compile-debug t) +(setq debug-on-error t) ;; (defvar byte-compile-overwrite-file t ;; "If nil, old .elc files are deleted before the new is saved, and .elc @@ -4084,8 +4085,21 @@ if LFORMINFO is nil (meaning all bindings are dynamic)." (defun byte-compile-track-mouse (form) (byte-compile-form - `(funcall #'(lambda nil - (track-mouse ,@(byte-compile-top-level-body (cdr form))))))) + ;; Use quote rather that #' here, because we don't want to go + ;; through the body again, which would lead to an infinite recursion: + ;; "byte-compile-track-mouse" (0xbffc98e4) + ;; "byte-compile-form" (0xbffc9c54) + ;; "byte-compile-top-level" (0xbffc9fd4) + ;; "byte-compile-lambda" (0xbffca364) + ;; "byte-compile-closure" (0xbffca6d4) + ;; "byte-compile-function-form" (0xbffcaa44) + ;; "byte-compile-form" (0xbffcadc0) + ;; "mapc" (0xbffcaf74) + ;; "byte-compile-funcall" (0xbffcb2e4) + ;; "byte-compile-form" (0xbffcb654) + ;; "byte-compile-track-mouse" (0xbffcb9d4) + `(funcall '(lambda nil + (track-mouse ,@(byte-compile-top-level-body (cdr form))))))) (defun byte-compile-condition-case (form) (let* ((var (nth 1 form)) |