summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/bytecomp.el
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>2002-09-18 16:02:49 +0000
committerRichard M. Stallman <rms@gnu.org>2002-09-18 16:02:49 +0000
commit2b25de040f7df72224b0261119ac2790233562f9 (patch)
treebd4a052b05e40e5e02b009ceae5b12d1caf8296c /lisp/emacs-lisp/bytecomp.el
parenta385f6bfe3d6d5727473fb0c891c4671956d3553 (diff)
downloademacs-2b25de040f7df72224b0261119ac2790233562f9.tar.gz
emacs-2b25de040f7df72224b0261119ac2790233562f9.tar.bz2
emacs-2b25de040f7df72224b0261119ac2790233562f9.zip
(byte-compile-output-docform): Don't make the definition dynamic if it
shares structure with the arg list.
Diffstat (limited to 'lisp/emacs-lisp/bytecomp.el')
-rw-r--r--lisp/emacs-lisp/bytecomp.el15
1 files changed, 13 insertions, 2 deletions
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))