]> git.eshelyaron.com Git - emacs.git/commitdiff
(disassemble-internal): Handle lazy-loaded doc strings.
authorRichard M. Stallman <rms@gnu.org>
Mon, 30 Oct 1995 19:22:23 +0000 (19:22 +0000)
committerRichard M. Stallman <rms@gnu.org>
Mon, 30 Oct 1995 19:22:23 +0000 (19:22 +0000)
(disassemble-1): Handle lazy-loaded bytecode objects.

lisp/emacs-lisp/disass.el

index 8a980db06ac9e61adefde7bf1e3f7a7b413002f5..c541c89d29497443035c6d18da7937ec58f06816 100644 (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))