* lisp/subr.el (internal--called-interactively-p--get-frame): Avoid filling
authorStefan Monnier <monnier@iro.umontreal.ca>
Sun, 3 Feb 2013 15:28:47 +0000 (10:28 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Sun, 3 Feb 2013 15:28:47 +0000 (10:28 -0500)
current-load-list.

Fixes: debbugs:13366
lisp/ChangeLog
lisp/subr.el

index fdf12be0a1c6753f3132790e5ae18bad60a3ffb1..693d2d769ce7e46a1e7c6ef2d197a15fe1983aa5 100644 (file)
@@ -1,3 +1,8 @@
+2013-02-03  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * subr.el (internal--called-interactively-p--get-frame): Avoid filling
+       current-load-list (bug#13366).
+
 2013-02-02  Christopher Schmidt  <christopher@ch.ristopher.com>
 
        * progmodes/compile.el (compilation-error-regexp-alist-alist):
index e1ab5298409a733509df05ea150428e42495b35a..82bbc022646b9ca5011c4608d0bd6a8f7f630811 100644 (file)
@@ -3976,12 +3976,14 @@ the number of frames to skip (minus 1).")
   ;; "static" variables.
   (let ((sym (make-symbol "base-index")))
     `(progn
-       (defvar ,sym
+       (defvar ,sym)
+       (unless (boundp ',sym)
          (let ((i 1))
+           (message "Computing base-index")
            (while (not (eq (indirect-function (nth 1 (backtrace-frame i)) t)
                            (indirect-function 'called-interactively-p)))
              (setq i (1+ i)))
-           i))
+           (setq ,sym i)))
        ;; (unless (eq (nth 1 (backtrace-frame ,sym)) 'called-interactively-p)
        ;;   (error "called-interactively-p: %s is out-of-sync!" ,sym))
        (backtrace-frame (+ ,sym ,n)))))