From: Richard M. Stallman Date: Wed, 18 Sep 2002 16:02:49 +0000 (+0000) Subject: (byte-compile-output-docform): Don't make the definition dynamic if it X-Git-Tag: ttn-vms-21-2-B4~13127 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=2b25de040f7df72224b0261119ac2790233562f9;p=emacs.git (byte-compile-output-docform): Don't make the definition dynamic if it shares structure with the arg list. --- diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index a96b1b64c28..fd69d1bd154 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el @@ -10,7 +10,7 @@ ;;; This version incorporates changes up to version 2.10 of the ;;; Zawinski-Furuseth compiler. -(defconst byte-compile-version "$Revision: 2.113 $") +(defconst byte-compile-version "$Revision: 2.114 $") ;; This file is part of GNU Emacs. @@ -1924,7 +1924,18 @@ list that represents a doc string reference. (while (setq form (cdr form)) (setq index (1+ index)) (insert " ") - (cond ((and (numberp specindex) (= index specindex)) + (cond ((and (numberp specindex) (= index specindex) + ;; Don't handle the definition dynamically + ;; if it refers (or might refer) + ;; to objects already output + ;; (for instance, gensyms in the arg list). + (let (non-nil) + (dotimes (i (length print-number-table)) + (if (aref print-number-table i) + (setq non-nil t))) + (not non-nil))) + ;; Output the byte code and constants specially + ;; for lazy dynamic loading. (let ((position (byte-compile-output-as-comment (cons (car form) (nth 1 form))