changeset 13340:53bbedbefdb2

(disassemble-internal): Handle lazy-loaded doc strings. (disassemble-1): Handle lazy-loaded bytecode objects.
author Richard M. Stallman <rms@gnu.org>
date Mon, 30 Oct 1995 19:22:23 +0000
parents 13b7b667b18f
children c26492df6218
files lisp/emacs-lisp/disass.el
diffstat 1 files changed, 4 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/emacs-lisp/disass.el	Mon Oct 30 19:18:52 1995 +0000
+++ b/lisp/emacs-lisp/disass.el	Mon Oct 30 19:22:23 1995 +0000
@@ -114,7 +114,8 @@
 			  (if name (format " %s" name) "")))))
     (let ((doc (if (consp obj)
 		   (and (stringp (car obj)) (car obj))
-		 (and (> (length obj) 4) (aref obj 4)))))
+		 ;; Use documentation to get lazy-loaded doc string
+		 (documentation obj t))))
       (if (and doc (stringp doc))
 	  (progn (and (consp obj) (setq obj (cdr obj)))
 		 (indent-to indent)
@@ -166,6 +167,8 @@
     (if (consp obj)
 	(setq bytes (car (cdr obj))		;the byte code
 	      constvec (car (cdr (cdr obj))))	;constant vector
+      ;; If it is lazy-loaded, load it now
+      (fetch-bytecode obj)
       (setq bytes (aref obj 1)
 	    constvec (aref obj 2)))
     (let ((lap (byte-decompile-bytecode bytes constvec))