aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/loadup.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/loadup.el')
-rw-r--r--lisp/loadup.el11
1 files changed, 8 insertions, 3 deletions
diff --git a/lisp/loadup.el b/lisp/loadup.el
index 85222ce7d9e..95af8cdb47e 100644
--- a/lisp/loadup.el
+++ b/lisp/loadup.el
@@ -64,6 +64,10 @@
64 (expand-file-name "international" dir) 64 (expand-file-name "international" dir)
65 (expand-file-name "textmodes" dir))))) 65 (expand-file-name "textmodes" dir)))))
66 66
67(if (eq t purify-flag)
68 ;; Hash consing saved around 11% of pure space in my tests.
69 (setq purify-flag (make-hash-table :test 'equal)))
70
67(message "Using load-path %s" load-path) 71(message "Using load-path %s" load-path)
68 72
69(if (or (member (nth 3 command-line-args) '("dump" "bootstrap")) 73(if (or (member (nth 3 command-line-args) '("dump" "bootstrap"))
@@ -345,6 +349,10 @@
345;; At this point, we're ready to resume undo recording for scratch. 349;; At this point, we're ready to resume undo recording for scratch.
346(buffer-enable-undo "*scratch*") 350(buffer-enable-undo "*scratch*")
347 351
352;; Avoid error if user loads some more libraries now and make sure the
353;; hash-consing hash table is GC'd.
354(setq purify-flag nil)
355
348(if (null (garbage-collect)) 356(if (null (garbage-collect))
349 (setq pure-space-overflow t)) 357 (setq pure-space-overflow t))
350 358
@@ -378,9 +386,6 @@
378 (add-name-to-file "emacs" name t))) 386 (add-name-to-file "emacs" name t)))
379 (kill-emacs))) 387 (kill-emacs)))
380 388
381;; Avoid error if user loads some more libraries now.
382(setq purify-flag nil)
383
384;; For machines with CANNOT_DUMP defined in config.h, 389;; For machines with CANNOT_DUMP defined in config.h,
385;; this file must be loaded each time Emacs is run. 390;; this file must be loaded each time Emacs is run.
386;; So run the startup code now. First, remove `-l loadup' from args. 391;; So run the startup code now. First, remove `-l loadup' from args.