(command-line): If simple.el cannot be found, proceed with a warning message.
authorEli Zaretskii <eliz@gnu.org>
Sat, 24 Feb 2007 13:58:35 +0000 (13:58 +0000)
committerEli Zaretskii <eliz@gnu.org>
Sat, 24 Feb 2007 13:58:35 +0000 (13:58 +0000)
lisp/ChangeLog
lisp/startup.el

index 164dc07..008979f 100644 (file)
@@ -1,3 +1,8 @@
+2007-02-24  Eli Zaretskii  <eliz@gnu.org>
+
+       * startup.el (command-line): If simple.el cannot be found, proceed
+       with a warning message.
+
 2007-02-24  Kenichi Handa  <handa@m17n.org>
 
        * international/utf-8.el (utf-8-pre-write-conversion): Handle the
index 5be0e98..76bec87 100644 (file)
@@ -645,22 +645,26 @@ or `CVS', and any subdirectory that contains a file named `.nosearch'."
 
   (set-locale-environment nil)
 
-  ;; Convert preloaded file names to absolute.
-  (let ((lisp-dir
-        (file-truename
-         (file-name-directory
-          (locate-file "simple" load-path
-                       (get-load-suffixes))))))
-
-    (setq load-history
-         (mapcar (lambda (elt)
-                   (if (and (stringp (car elt))
-                            (not (file-name-absolute-p (car elt))))
-                       (cons (concat lisp-dir
-                                     (car elt))
-                             (cdr elt))
-                     elt))
-                 load-history)))
+  ;; Convert preloaded file names in load-history to absolute.
+  (let ((simple-file-name
+        (locate-file "simple" load-path (get-load-suffixes)))
+       lisp-dir)
+    ;; Don't abort if simple.el cannot be found, but print a warning.
+    (if (null simple-file-name)
+       (progn
+         (princ "Warning: Could not find simple.el nor simple.elc"
+                'external-debugging-output)
+         (terpri 'external-debugging-output))
+      (setq lisp-dir (file-truename (file-name-directory simple-file-name)))
+      (setq load-history
+           (mapcar (lambda (elt)
+                     (if (and (stringp (car elt))
+                              (not (file-name-absolute-p (car elt))))
+                         (cons (concat lisp-dir
+                                       (car elt))
+                               (cdr elt))
+                       elt))
+                   load-history))))
 
   ;; Convert the arguments to Emacs internal representation.
   (let ((args (cdr command-line-args)))