aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog2
-rw-r--r--lisp/loadup.el11
2 files changed, 10 insertions, 3 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 56127c0f504..d6de8167231 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,7 @@
12010-04-18 Stefan Monnier <monnier@iro.umontreal.ca> 12010-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
2 2
3 * loadup.el: Setup hash-cons for pure data.
4
3 Fix duplicate entries in cedet's loaddefs.el files. 5 Fix duplicate entries in cedet's loaddefs.el files.
4 * emacs-lisp/autoload.el (autoload-file-load-name): Be more clever. 6 * emacs-lisp/autoload.el (autoload-file-load-name): Be more clever.
5 Should make most file-local generated-autoload-file unnecessary. 7 Should make most file-local generated-autoload-file unnecessary.
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.