]> git.eshelyaron.com Git - emacs.git/commitdiff
Use after-load-functions to GC after loading each file.
authorStefan Monnier <monnier@iro.umontreal.ca>
Tue, 15 Sep 2009 03:46:05 +0000 (03:46 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Tue, 15 Sep 2009 03:46:05 +0000 (03:46 +0000)
Remove the explicit GC calls that used to be sprinkled around.

lisp/ChangeLog
lisp/loadup.el

index 5b52b49ef7869ae3f3a54e6b0696778f21fb47a0..df7f76399fd8a9eaaaf21ec71da9189b113cac94 100644 (file)
@@ -1,5 +1,8 @@
 2009-09-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 
+       * loadup.el: Use after-load-functions to GC after loading each file.
+       Remove the explicit GC calls that used to be sprinkled around.
+
        * subr.el (after-load-functions): New hook.
        (do-after-load-evaluation): Run it.  Use string-match-p to detect
        `obsolete' packages, rather than painfully extracting the relevant
index da7613bee251a0e73d4106b0ecfcec1ff3e788f6..63f7972b700ac8f211f46a01b3e5962ace35585f 100644 (file)
 (load "emacs-lisp/backquote")
 (load "subr")
 
+;; Do it after subr, since both after-load-functions and add-hook are
+;; implemented in subr.el.
+(add-hook 'after-load-functions '(lambda (f) (garbage-collect)))
+
 ;; We specify .el in case someone compiled version.el by mistake.
 (load "version.el")
 
 (load "button")
 (load "startup")
 
-(message "Lists of integers (garbage collection statistics) are normal output")
-(message "while building Emacs; they do not indicate a problem.")
-(message "%s" (garbage-collect))
-
 (condition-case nil
     ;; Don't get confused if someone compiled this by mistake.
     (load "loaddefs.el")
   ;; In case loaddefs hasn't been generated yet.
   (file-error (load "ldefs-boot.el")))
 
-(message "%s" (garbage-collect))
 (load "abbrev")         ;lisp-mode.el and simple.el use define-abbrev-table.
 (load "simple")
 
 (load "isearch")
 (load "rfn-eshadow")
 
-(message "%s" (garbage-collect))
 (load "menu-bar")
 (load "paths.el")  ;Don't get confused if someone compiled paths by mistake.
 (load "emacs-lisp/lisp")
 (load "emacs-lisp/lisp-mode")
 (load "textmodes/text-mode")
 (load "textmodes/fill")
-(message "%s" (garbage-collect))
 
 (load "replace")
 (load "buff-menu")
       (load "term/common-win")
       (load "term/x-win")))
 
-(message "%s" (garbage-collect))
-
 (if (eq system-type 'windows-nt)
     (progn
       (load "w32-vars")
 (if (fboundp 'atan)    ; preload some constants and
     (progn             ; floating pt. functions if we have float support.
       (load "emacs-lisp/float-sup")))
-(message "%s" (garbage-collect))
 
 (load "vc-hooks")
 (load "ediff-hook")
 (if (fboundp 'x-show-tip) (load "tooltip"))
 
-(message "%s" (garbage-collect))
-
 ;If you want additional libraries to be preloaded and their
 ;doc strings kept in the DOC file rather than in core,
 ;you may load them with a "site-load.el" file.
 ;But you must also cause them to be scanned when the DOC file
 ;is generated.
 ;For other systems, you must edit ../src/Makefile.in.
-(if (load "site-load" t)
-    (garbage-collect))
+(load "site-load" t)
 
 ;; Determine which last version number to use
 ;; based on the executables that now exist.
        (equal (nth 4 command-line-args) "bootstrap"))
     (setcdr load-path nil))
 
+(remove-hook 'after-load-functions '(lambda (f) (garbage-collect)))
+
 (setq inhibit-load-charset-map nil)
 (clear-charset-maps)
 (garbage-collect)
 
-;;; At this point, we're ready to resume undo recording for scratch.
+;; At this point, we're ready to resume undo recording for scratch.
 (buffer-enable-undo "*scratch*")
 
 (if (null (garbage-collect))