diff options
Diffstat (limited to 'lisp')
| -rw-r--r-- | lisp/ChangeLog | 2 | ||||
| -rw-r--r-- | lisp/loadup.el | 11 |
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 @@ | |||
| 1 | 2010-04-18 Stefan Monnier <monnier@iro.umontreal.ca> | 1 | 2010-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. |