Commit d2fd733e authored by Stefan Monnier's avatar Stefan Monnier
Browse files

(command-line): Initialize the window-system after

processing the command-line.
parent 8f38189e
2009-09-16 Stefan Monnier <monnier@iro.umontreal.ca>
* startup.el (command-line): Initialize the window-system after
processing the command-line.
* textmodes/page.el (what-page): Make sure we don't inf-loop if
page-delimiter matches the empty string.
......
......@@ -727,44 +727,6 @@ opening the first frame (e.g. open a connection to an X server).")
(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,46 @@ opening the first frame (e.g. open a connection to an X server).")
(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.
;; Initialize the window-system only after processing the command-line
;; args so that -Q can influence this initialization.
(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)
;; Under X Window, this creates the X frame and deletes the terminal frame.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment