Commit cc0f95a4 authored by Gerd Moellmann's avatar Gerd Moellmann

(byte-compile-defvar): Only cons onto

current-load-list in top-level forms.  Else this leaks a cons cell
every time a defun is called.
parent e7997ff4
2000-09-11 Gerd Moellmann <gerd@gnu.org>
* bytecomp.el (byte-compile-defvar): Only cons onto
current-load-list in top-level forms. Else this leaks a cons cell
every time a defun is called.
2000-09-11 Miles Bader <miles@lsi.nec.co.jp>
* diff-mode.el (diff-apply-hunk): Function basically rewritten.
......
......@@ -10,7 +10,7 @@
;;; This version incorporates changes up to version 2.10 of the
;;; Zawinski-Furuseth compiler.
(defconst byte-compile-version "$Revision: 2.73 $")
(defconst byte-compile-version "$Revision: 1.1 $")
;; This file is part of GNU Emacs.
......@@ -3220,19 +3220,16 @@ If FORM is a lambda or a macro, byte-compile it as a function."
(setq byte-compile-bound-variables
(cons var byte-compile-bound-variables)))
(byte-compile-body-do-effect
(list (if (cdr (cdr form))
(if (eq (car form) 'defconst)
(list 'setq var value)
(list 'or (list 'boundp (list 'quote var))
(list 'setq var value))))
;; Put the defined variable in this library's load-history entry
;; just as a real defvar would.
(list 'setq 'current-load-list
(list 'cons (list 'quote var)
'current-load-list))
(if string
(list 'put (list 'quote var) ''variable-documentation string))
(list 'quote var)))))
(list
;; Just as a real defvar would, but only in top-level forms.
(when (null byte-compile-current-form)
`(push ',var current-load-list))
(when (and string (null byte-compile-current-form))
`(put ',var 'variable-documentation ,string))
(if (cdr (cdr form))
(if (eq (car form) 'defconst)
`(setq ,var ,value)
`(if (boundp ',var) ',var (setq ,var ,value))))))))
(defun byte-compile-autoload (form)
(and (byte-compile-constp (nth 1 form))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment