summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/disass.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/emacs-lisp/disass.el')
-rw-r--r--lisp/emacs-lisp/disass.el23
1 files changed, 13 insertions, 10 deletions
diff --git a/lisp/emacs-lisp/disass.el b/lisp/emacs-lisp/disass.el
index 9dd08d00920..dd59a2e02e1 100644
--- a/lisp/emacs-lisp/disass.el
+++ b/lisp/emacs-lisp/disass.el
@@ -63,16 +63,19 @@ redefine OBJECT if it is a symbol."
(list (intern (completing-read (format-prompt "Disassemble function" fn)
obarray 'fboundp t nil nil def))
nil 0 t)))
- (if (and (consp object) (not (functionp object)))
- (setq object `(lambda () ,object)))
- (or indent (setq indent 0)) ;Default indent to zero
- (save-excursion
- (if (or interactive-p (null buffer))
- (with-output-to-temp-buffer "*Disassemble*"
- (set-buffer "*Disassemble*")
- (disassemble-internal object indent (not interactive-p)))
- (set-buffer buffer)
- (disassemble-internal object indent nil)))
+ (let ((lb lexical-binding))
+ (if (and (consp object) (not (functionp object)))
+ (setq object `(lambda () ,object)))
+ (or indent (setq indent 0)) ;Default indent to zero
+ (save-excursion
+ (if (or interactive-p (null buffer))
+ (with-output-to-temp-buffer "*Disassemble*"
+ (set-buffer "*Disassemble*")
+ (let ((lexical-binding lb))
+ (disassemble-internal object indent (not interactive-p))))
+ (set-buffer buffer)
+ (let ((lexical-binding lb))
+ (disassemble-internal object indent nil)))))
nil)
(declare-function native-comp-unit-file "data.c")