X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/2db38a6f98c2abb42b746064ce97417cccc27e68..0fb1193d6c3923cb3b2033e75f81a769ff2860f2:/lisp/loadup.el diff --git a/lisp/loadup.el b/lisp/loadup.el index 7622e11593..b087aa7904 100644 --- a/lisp/loadup.el +++ b/lisp/loadup.el @@ -54,7 +54,7 @@ (equal (nth 3 command-line-args) "unidata-gen.el") (equal (nth 4 command-line-args) "unidata-gen-files") ;; In case CANNOT_DUMP. - (equal (nth 0 command-line-args) "../src/bootstrap-emacs")) + (string-match "src/bootstrap-emacs" (nth 0 command-line-args))) (let ((dir (car load-path))) ;; We'll probably overflow the pure space. (setq purify-flag nil) @@ -64,6 +64,10 @@ (expand-file-name "international" dir) (expand-file-name "textmodes" dir))))) +(if (eq t purify-flag) + ;; Hash consing saved around 11% of pure space in my tests. + (setq purify-flag (make-hash-table :test 'equal))) + (message "Using load-path %s" load-path) (if (or (member (nth 3 command-line-args) '("dump" "bootstrap")) @@ -125,8 +129,8 @@ (load "case-table") (load "international/characters") (load "composite") -;; This file doesn't exist when building Emacs from CVS. It is -;; generated just after temacs is build. +;; This file doesn't exist when building a development version of Emacs +;; from the repository. It is generated just after temacs is built. (load "international/charprop.el" t) ;; Load language-specific files. @@ -199,8 +203,8 @@ (load "dnd") (load "tool-bar"))) -(if (or (featurep 'system-font-setting) (featurep 'font-render-setting)) - (load "font-setting")) +(if (featurep 'dynamic-setting) + (load "dynamic-setting")) (if (featurep 'x) (progn @@ -345,6 +349,10 @@ ;; At this point, we're ready to resume undo recording for scratch. (buffer-enable-undo "*scratch*") +;; Avoid error if user loads some more libraries now and make sure the +;; hash-consing hash table is GC'd. +(setq purify-flag nil) + (if (null (garbage-collect)) (setq pure-space-overflow t)) @@ -378,9 +386,6 @@ (add-name-to-file "emacs" name t))) (kill-emacs))) -;; Avoid error if user loads some more libraries now. -(setq purify-flag nil) - ;; For machines with CANNOT_DUMP defined in config.h, ;; this file must be loaded each time Emacs is run. ;; So run the startup code now. First, remove `-l loadup' from args.