# HG changeset patch # User Richard M. Stallman # Date 1032364969 0 # Node ID e7f753af9cebe99fff7cf3baa7173e2b77ed5013 # Parent cfea5643ff62e1991291f5c9c92ddc7c4c5e1afb (byte-compile-output-docform): Don't make the definition dynamic if it shares structure with the arg list. diff -r cfea5643ff62 -r e7f753af9ceb lisp/emacs-lisp/bytecomp.el --- a/lisp/emacs-lisp/bytecomp.el Wed Sep 18 16:02:14 2002 +0000 +++ b/lisp/emacs-lisp/bytecomp.el Wed Sep 18 16:02:49 2002 +0000 @@ -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 @@ (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))