* lisp/startup.el (command-line): If simple.el is missing,
authorGlenn Morris <rgm@gnu.org>
Wed, 6 Feb 2013 02:03:35 +0000 (21:03 -0500)
committerGlenn Morris <rgm@gnu.org>
Wed, 6 Feb 2013 02:03:35 +0000 (21:03 -0500)
test and warn about for some possible causes.

lisp/ChangeLog
lisp/startup.el

index 538206a..0be77ed 100644 (file)
@@ -1,3 +1,8 @@
+2013-02-06  Glenn Morris  <rgm@gnu.org>
+
+       * startup.el (command-line): If simple.el is missing,
+       test and warn about for some possible causes.
+
 2013-02-05  Jan Djärv  <jan.h.d@swipnet.se>
 
        * cus-start.el (all): Add ns-use-native-fullscreen.
index 5406c0f..741c5aa 100644 (file)
@@ -770,11 +770,20 @@ Amongst another things, it parses the command-line arguments."
         (locate-file "simple" load-path (get-load-suffixes)))
        lisp-dir)
     ;; Don't abort if simple.el cannot be found, but print a warning.
+    ;; Although in most usage we are going to cryptically abort a moment
+    ;; later anyway, due to missing required bidi data files (eg bug#13430).
     (if (null simple-file-name)
-       (progn
-         (princ "Warning: Could not find simple.el nor simple.elc"
-                'external-debugging-output)
-         (terpri 'external-debugging-output))
+       (let ((standard-output 'external-debugging-output)
+             (lispdir (expand-file-name "../lisp" data-directory)))
+         (princ "Warning: Could not find simple.el or simple.elc")
+         (terpri)
+         (when (getenv "EMACSLOADPATH")
+           (princ "The EMACSLOADPATH environment variable is set, \
+please check its value")
+           (terpri))
+         (unless (file-readable-p lispdir)
+           (princ (format "Lisp directory %s not readable?" lispdir))
+           (terpri)))
       (setq lisp-dir (file-truename (file-name-directory simple-file-name)))
       (setq load-history
            (mapcar (lambda (elt)