]> code.delx.au - gnu-emacs/blobdiff - lisp/startup.el
(custom-face-attributes): Handle mapping `nil' and `unspecified' to
[gnu-emacs] / lisp / startup.el
index 1c0f9814cf17933fee93f9c4508e6aa7236befd5..f4550310a871cef0c7a3b41a1c7b3cd3cb194963 100644 (file)
@@ -621,8 +621,6 @@ or `CVS', and any subdirectory that contains a file named `.nosearch'."
               (string= vc "simple"))
           (setq version-control 'never))))
 
-  (set-locale-environment nil)
-
   ;;! This has been commented out; I currently find the behavior when
   ;;! split-window-keep-point is nil disturbing, but if I can get used
   ;;! to it, then it would be better to eliminate the option.
@@ -673,6 +671,8 @@ or `CVS', and any subdirectory that contains a file named `.nosearch'."
             (not noninteractive))
     (setq command-line-args (tty-handle-args command-line-args)))
 
+  (set-locale-environment nil)
+
   (let ((done nil)
        (args (cdr command-line-args)))
 
@@ -765,6 +765,12 @@ or `CVS', and any subdirectory that contains a file named `.nosearch'."
     (setq-default blink-cursor t)
     (blink-cursor-mode 1))
 
+  (when (and (not noninteractive)
+            (display-graphic-p)
+            (fboundp 'x-show-tip))
+    (setq-default tooltip-mode t)
+    (tooltip-mode 1))
+
   ;; Register default TTY colors for the case the terminal hasn't a
   ;; terminal init file.
   (or (memq window-system '(x w32))
@@ -822,24 +828,31 @@ or `CVS', and any subdirectory that contains a file named `.nosearch'."
                    ;; into user-init-file.
                    (setq user-init-file t)
                    (load user-init-file-1 t t)
+
                    ;; If we did not find the user's init file,
                    ;; set user-init-file conclusively to nil;
                    ;; don't let it be set from default.el.
                    (if (eq user-init-file t)
                        (setq user-init-file nil))
+
                    ;; If we loaded a compiled file, set
                    ;; `user-init-file' to the source version if that
                    ;; exists.
                    (when (and user-init-file
                               (equal (file-name-extension user-init-file)
-                                     "elc")
-                              (file-exists-p user-init-file-1))
-                     (when (file-newer-than-file-p
-                            user-init-file-1 user-init-file)
-                       (message "Warning: %s is newer than %s"
-                                user-init-file-1 user-init-file)
-                       (sit-for 1))
-                     (setq user-init-file user-init-file-1))
+                                     "elc"))
+                     (let* ((source (file-name-sans-extension user-init-file))
+                            (alt (concat source ".el")))
+                       (setq source (cond ((file-exists-p alt) alt)
+                                          ((file-exists-p source) source)
+                                          (t nil)))
+                       (when source
+                         (when (file-newer-than-file-p source user-init-file)
+                           (message "Warning: %s is newer than %s"
+                                    source user-init-file)
+                           (sit-for 1))
+                         (setq user-init-file source))))
+
                    (or inhibit-default-init
                        (let ((inhibit-startup-message nil))
                          ;; Users are supposed to be told their rights.