]> code.delx.au - gnu-emacs/blobdiff - lisp/startup.el
Fix race conditions with MS-Windows lock files by using _sopen.
[gnu-emacs] / lisp / startup.el
index 6a207bab0bf60e7e6f55b5ab3643b0b938e15a43..ad31a7a2a45c6ecb5ff7a0c69560584128740987 100644 (file)
@@ -1,6 +1,7 @@
 ;;; startup.el --- process Emacs shell arguments  -*- lexical-binding: t -*-
 
-;; Copyright (C) 1985-1986, 1992, 1994-2012  Free Software Foundation, Inc.
+;; Copyright (C) 1985-1986, 1992, 1994-2013 Free Software Foundation,
+;; Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: internal
@@ -769,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)
@@ -1456,6 +1466,7 @@ Each element in the list should be a list of strings or pairs
     (suppress-keymap map)
     (set-keymap-parent map button-buffer-map)
     (define-key map "\C-?" 'scroll-down-command)
+    (define-key map [?\S-\ ] 'scroll-down-command)
     (define-key map " " 'scroll-up-command)
     (define-key map "q" 'exit-splash-screen)
     map)