diff lisp/loadup.el @ 1261:465bd3c7d932

[xemacs-hg @ 2003-02-06 06:35:47 by ben] various bug fixes mule/cyril-util.el: Fix compile warning. loadup.el, make-docfile.el, update-elc-2.el, update-elc.el: Set stack-trace-on-error, load-always-display-messages so we get better debug results. update-elc-2.el: Fix typo in name of lisp/mule, leading to compile failure. simple.el: Omit M-S-home/end from motion keys. update-elc.el: Overhaul: -- allow list of "early-compile" files to be specified, not hardcoded -- fix autoload checking to include all .el files, not just dumped ones -- be smarter about regenerating autoloads, so we don't need to use loadup-el if not necessary -- use standard methods for loading/not loading auto-autoloads.el (maybe fixes "Already loaded" error?) -- rename misleading NOBYTECOMPILE flag file. window-xemacs.el: Fix bug in default param. window-xemacs.el: Fix compile warnings. lwlib-Xm.c: Fix compile warning. lispref/mule.texi: Lots of Mule rewriting. internals/internals.texi: Major fixup. Correct for new names of Bytebpos, Ichar, etc. and lots of Mule rewriting. config.inc.samp: Various fixups. Makefile.in.in: NOBYTECOMPILE -> BYTECOMPILE_CHANGE. esd.c: Warning fixes. fns.c: Eliminate bogus require-prints-loading-message; use already existent load-always-display-messages instead. Make sure `load' knows we are coming from `require'. lread.c: Turn on `load-warn-when-source-newer' by default. Change loading message to indicate when we are `require'ing. Eliminate purify_flag hacks to display more messages; instead, loadup and friends specify this explicitly with `load-always-display-messages'. Add spaces when batch to clearly indicate recursive loading. Fassoc() does not GC so no need to gcpro. gui-x.c, gui-x.h, menubar-x.c: Fix up crashes when selecting menubar items due to lack of GCPROing of callbacks in lwlib structures. eval.c, lisp.h, print.c: Don't canonicalize to selected-frame when noninteractive, or backtraces get all screwed up as some values are printed through the stream console and some aren't. Export canonicalize_printcharfun() and use in Fbacktrace().
author ben
date Thu, 06 Feb 2003 06:36:17 +0000
parents 5636ae1c0234
children 70921960b980
line wrap: on
line diff
--- a/lisp/loadup.el	Wed Feb 05 22:53:04 2003 +0000
+++ b/lisp/loadup.el	Thu Feb 06 06:36:17 2003 +0000
@@ -2,7 +2,7 @@
 
 ;; Copyright (C) 1985, 1986, 1992, 1994, 1997 Free Software Foundation, Inc.
 ;; Copyright (C) 1996 Richard Mlynarik.
-;; Copyright (C) 1995, 1996 Ben Wing.
+;; Copyright (C) 1995, 1996, 2003 Ben Wing.
 
 ;; Maintainer: XEmacs Development Team
 ;; Keywords: internal, dumped
@@ -28,12 +28,17 @@
 
 ;;; Commentary:
 
-;; Please do not edit this file.  Use site-init.el or site-load.el instead.
+;; If you are wanting to add files to be dumped into your local version of
+;; XEmacs, DO NOT add them here.  Use site-init.el or site-load.el instead.
 
 ;; This is loaded into a bare XEmacs to make a dumpable one.
 
 ;;; Code:
 
+;; Help debug problems.
+(setq stack-trace-on-error t
+      load-always-display-messages t)
+
 (when (fboundp 'error)
   (error "loadup.el already loaded!"))
 
@@ -53,6 +58,10 @@
        (if (and purify-flag
 		(not (memq 'quick-build internal-error-checking)))
 	   30000 3000000)))
+
+;; really-early-error-handler outputs a stack trace so let's not do it
+;; twice.
+(let ((stack-trace-on-error nil))
   
 ;; This is awfully damn early to be getting an error, right?
 (call-with-condition-handler 'really-early-error-handler
@@ -85,7 +94,7 @@
 	(buffer-disable-undo (get-buffer "*scratch*"))
 
 	;; Load our first bootstrap support
-	(load "very-early-lisp" nil t)
+	(load "very-early-lisp.el")
 
 	;; lread.c (or src/Makefile.in.in) has prepended
 	;; "${srcdir}/../lisp/" to load-path, which is how this file
@@ -102,8 +111,7 @@
 				 (cons (file-name-as-directory temp-path)
 				       load-path))))
 
-	(setq load-warn-when-source-newer t ; Used to be set to nil at the end
-	      load-warn-when-source-only  t) ; Set to nil at the end
+	(setq load-warn-when-source-only  t) ; Set to nil at the end
 
 	;; garbage collect after loading every file in an attempt to
 	;; minimize the size of the dumped image (if we don't do this,
@@ -146,13 +154,14 @@
 	(packages-load-package-dumped-lisps late-package-load-path)
 
 	)) ;; end of call-with-condition-handler
+
+) ; (let ((stack-trace-on-error nil)))
 
 ;; Fix up the preloaded file list
 (setq preloaded-file-list (mapcar #'file-name-sans-extension
 				  preloaded-file-list))
 
-(setq load-warn-when-source-newer t ; set to t at top of file
-      load-warn-when-source-only nil)
+(setq load-warn-when-source-only nil)
 
 (setq debugger 'debug)
 
@@ -163,8 +172,8 @@
 ;; doc strings kept in the DOC file rather than in core,
 ;; you may load them with a "site-load.el" file.
 ;; But you must also cause them to be scanned when the DOC file
-;; is generated.  For VMS, you must edit ../../vms/makedoc.com.
-;; For other systems, you must edit ../../src/Makefile.in.in.
+;; is generated.  For MS Windows, you must edit ../nt/xemacs.mak.
+;; For other systems, you must edit ../src/Makefile.in.in.
 (when (load "site-load" t)
   (garbage-collect)
 )
@@ -202,7 +211,7 @@
 ;;; At this point, we're ready to resume undo recording for scratch.
 (buffer-enable-undo "*scratch*")
 
-) ;; frequent garbage collection
+) ;; (let ((gc-cons-threshold [frequent garbage collection when dumping])))
 
 ;(stop-profiling)
 
@@ -276,6 +285,9 @@
   ;; (condition-case () (delete-file "xemacs") (file-error nil))
   (when (fboundp 'really-free)
     (really-free))
+  ;; Make sure we don't dump with debugging messages turned on.
+  (setq stack-trace-on-error nil
+	load-always-display-messages nil)
   (dump-emacs
    (cond
     ((featurep 'infodock) "infodock")