(disassemble-internal): Handle lazy-loaded doc strings.

(disassemble-1): Handle lazy-loaded bytecode objects.
This commit is contained in:
Richard M. Stallman 1995-10-30 19:22:23 +00:00
parent 83c4abcb48
commit 3fd4909e45

View file

@ -114,7 +114,8 @@ redefine OBJECT if it is a symbol."
(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 @@ OBJ should be a call to BYTE-CODE generated by the byte compiler."
(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))