emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Not loading the Registry settings


From: Stefan Monnier
Subject: Re: Not loading the Registry settings
Date: Mon, 14 Sep 2009 21:31:24 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (gnu/linux)

>> but I'd first like to understand which initializations take place too
>> early to be affected by Lisp code.

> Attached is a backtrace of the first call to
> w32reg.c:x_get_string_resource on an emacs -Q run.

Thanks.  The patch below should address this issue (it just moves code
around).

> As for the Lisp variable, `inhibit-x-resources' suggests that it can
> be toggled by the user or lisp code.  Is that the intended effect?

Well, I'm not sure if it would be useful, but the name seems to reflect
more precisely the effect of the variable, and indeed it can later on
be changed from Lisp, tho it's not clear whether that would be useful.


        Stefan


=== modified file 'lisp/startup.el'
--- lisp/startup.el     2009-09-13 04:07:30 +0000
+++ lisp/startup.el     2009-09-15 01:28:52 +0000
@@ -727,44 +727,6 @@
     (setq eol-mnemonic-dos  "(DOS)"
           eol-mnemonic-mac  "(Mac)")))
 
-  ;; Make sure window system's init file was loaded in loadup.el if
-  ;; using a window system.
-  (condition-case error
-    (unless noninteractive
-      (if (and initial-window-system
-              (not (featurep
-                    (intern
-                     (concat (symbol-name initial-window-system) "-win")))))
-         (error "Unsupported window system `%s'" initial-window-system))
-      ;; Process window-system specific command line parameters.
-      (setq command-line-args
-           (funcall
-            (or (cdr (assq initial-window-system handle-args-function-alist))
-                (error "Unsupported window system `%s'" initial-window-system))
-            command-line-args))
-      ;; Initialize the window system. (Open connection, etc.)
-      (funcall
-       (or (cdr (assq initial-window-system 
window-system-initialization-alist))
-          (error "Unsupported window system `%s'" initial-window-system))))
-    ;; If there was an error, print the error message and exit.
-    (error
-     (princ
-      (if (eq (car error) 'error)
-         (apply 'concat (cdr error))
-       (if (memq 'file-error (get (car error) 'error-conditions))
-           (format "%s: %s"
-                    (nth 1 error)
-                    (mapconcat (lambda (obj) (prin1-to-string obj t))
-                               (cdr (cdr error)) ", "))
-         (format "%s: %s"
-                  (get (car error) 'error-message)
-                  (mapconcat (lambda (obj) (prin1-to-string obj t))
-                             (cdr error) ", "))))
-      'external-debugging-output)
-     (terpri 'external-debugging-output)
-     (setq initial-window-system nil)
-     (kill-emacs)))
-
   (set-locale-environment nil)
 
   ;; Convert preloaded file names in load-history to absolute.
@@ -869,6 +831,44 @@
     (and command-line-args
          (setcdr command-line-args args)))
 
+  ;; Make sure window system's init file was loaded in loadup.el if
+  ;; using a window system.
+  (condition-case error
+    (unless noninteractive
+      (if (and initial-window-system
+              (not (featurep
+                    (intern
+                     (concat (symbol-name initial-window-system) "-win")))))
+         (error "Unsupported window system `%s'" initial-window-system))
+      ;; Process window-system specific command line parameters.
+      (setq command-line-args
+           (funcall
+            (or (cdr (assq initial-window-system handle-args-function-alist))
+                (error "Unsupported window system `%s'" initial-window-system))
+            command-line-args))
+      ;; Initialize the window system. (Open connection, etc.)
+      (funcall
+       (or (cdr (assq initial-window-system 
window-system-initialization-alist))
+          (error "Unsupported window system `%s'" initial-window-system))))
+    ;; If there was an error, print the error message and exit.
+    (error
+     (princ
+      (if (eq (car error) 'error)
+         (apply 'concat (cdr error))
+       (if (memq 'file-error (get (car error) 'error-conditions))
+           (format "%s: %s"
+                    (nth 1 error)
+                    (mapconcat (lambda (obj) (prin1-to-string obj t))
+                               (cdr (cdr error)) ", "))
+         (format "%s: %s"
+                  (get (car error) 'error-message)
+                  (mapconcat (lambda (obj) (prin1-to-string obj t))
+                             (cdr error) ", "))))
+      'external-debugging-output)
+     (terpri 'external-debugging-output)
+     (setq initial-window-system nil)
+     (kill-emacs)))
+
   (run-hooks 'before-init-hook)
 
   (if (daemonp)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]