changeset 44444:377def17ab0f

Call ucs-unify-8859 directly rather than unify-8859-on-encoding-mode. (fns-*.el): Don't use it anymore. Keep the load-history in purespace.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Mon, 08 Apr 2002 22:22:01 +0000
parents 9e6f2afa9f19
children ade11855536e
files lisp/loadup.el
diffstat 1 files changed, 34 insertions(+), 28 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/loadup.el	Mon Apr 08 21:32:05 2002 +0000
+++ b/lisp/loadup.el	Mon Apr 08 22:22:01 2002 +0000
@@ -114,7 +114,7 @@
 (load "language/georgian")
 
 (load "international/ucs-tables")
-(unify-8859-on-encoding-mode 1)
+(ucs-unify-8859 'encode-only)
 
 (update-coding-systems-internal)
 
@@ -248,33 +248,39 @@
 
 ;; Write the value of load-history into fns-VERSION.el,
 ;; then clear out load-history.
-(if (or (equal (nth 3 command-line-args) "dump")
-	(equal (nth 4 command-line-args) "dump"))
-    (let ((buffer-undo-list t))
-      (princ "(setq load-history\n" (current-buffer))
-      (princ "      (nconc load-history\n" (current-buffer))
-      (princ "             '(" (current-buffer))
-      (let ((tem load-history))
-	(while tem
-	  (prin1 (car tem) (current-buffer))
-	  (terpri (current-buffer))
-	  (if (cdr tem)
-	      (princ "               " (current-buffer)))
-	  (setq tem (cdr tem))))
-      (princ ")))\n" (current-buffer))
-      (write-region (point-min) (point-max)
-		    (expand-file-name
-		     (cond
-		      ((eq system-type 'ms-dos)
-		       "../lib-src/fns.el")
-		      ((eq system-type 'windows-nt)
-		       (format "../../../lib-src/fns-%s.el" emacs-version))
-		      (t
-		       (format "../lib-src/fns-%s.el" emacs-version)))
-		     invocation-directory))
-      (erase-buffer)
-      (setq load-history nil))
-  (setq symbol-file-load-history-loaded t))
+;; (if (or (equal (nth 3 command-line-args) "dump")
+;; 	(equal (nth 4 command-line-args) "dump"))
+;;     (let ((buffer-undo-list t))
+;;       (princ "(setq load-history\n" (current-buffer))
+;;       (princ "      (nconc load-history\n" (current-buffer))
+;;       (princ "             '(" (current-buffer))
+;;       (let ((tem load-history))
+;; 	(while tem
+;; 	  (prin1 (car tem) (current-buffer))
+;; 	  (terpri (current-buffer))
+;; 	  (if (cdr tem)
+;; 	      (princ "               " (current-buffer)))
+;; 	  (setq tem (cdr tem))))
+;;       (princ ")))\n" (current-buffer))
+;;       (write-region (point-min) (point-max)
+;; 		    (expand-file-name
+;; 		     (cond
+;; 		      ((eq system-type 'ms-dos)
+;; 		       "../lib-src/fns.el")
+;; 		      ((eq system-type 'windows-nt)
+;; 		       (format "../../../lib-src/fns-%s.el" emacs-version))
+;; 		      (t
+;; 		       (format "../lib-src/fns-%s.el" emacs-version)))
+;; 		     invocation-directory))
+;;       (erase-buffer)
+;;       (setq load-history nil))
+;;   (setq symbol-file-load-history-loaded t))
+;; We don't use this fns-*.el file.  Instead we keep the data in PURE space.
+;; Make sure that the spine of the list is not in pure space because it can
+;; be destructively mutated in lread.c:build_load_history.
+(setq load-history (mapcar 'purecopy load-history))
+(setq symbol-file-load-history-loaded t)
+
 (set-buffer-modified-p nil)
 
 ;; reset the load-path.  See lread.c:init_lread why.