Commit 1d491ef2 authored by Glenn Morris's avatar Glenn Morris
Browse files

Avoid calling tty-setup-hook twice

eg if a term file explicitly calls tty-run-terminal-initialization

* lisp/faces.el (tty-run-terminal-initialization): Add run-hook argument.
(tty-create-frame-with-faces): Use it.

* lisp/startup.el (command-line): Pass run-hook argument
to tty-run-terminal-initialization.

Fixes: debbugs:16859
parent 9577b569
2014-02-26 Glenn Morris <rgm@gnu.org>
Avoid calling tty-setup-hook twice, eg if a term file
explicitly calls tty-run-terminal-initialization. (Bug#16859)
* faces.el (tty-run-terminal-initialization): Add run-hook argument.
(tty-create-frame-with-faces): Use it.
* startup.el (command-line): Pass run-hook argument
to tty-run-terminal-initialization.
* dired.el (dired-restore-desktop-buffer): Demote errors;
eg in case a glob match fails. (Bug#16884)
......
......@@ -2080,7 +2080,7 @@ If PARAMETERS contains a `reverse' parameter, handle that."
(unless (terminal-parameter frame 'terminal-initted)
(set-terminal-parameter frame 'terminal-initted t)
(set-locale-environment nil frame)
(tty-run-terminal-initialization frame))
(tty-run-terminal-initialization frame nil t))
(frame-set-background-mode frame t)
(face-set-after-frame-default frame parameters)
(setq success t))
......@@ -2110,11 +2110,13 @@ the above example."
Specifically, `tty-run-terminal-initialization' runs this.
This can be used to fine tune the `input-decode-map', for example.")
(defun tty-run-terminal-initialization (frame &optional type)
(defun tty-run-terminal-initialization (frame &optional type run-hook)
"Run the special initialization code for the terminal type of FRAME.
The optional TYPE parameter may be used to override the autodetected
terminal type to a different value. As a final step, this runs the
hook `tty-setup-hook'.
terminal type to a different value.
If optional argument RUN-HOOK is non-nil, then as a final step,
this runs the hook `tty-setup-hook'.
If you set `term-file-prefix' to nil, this function does nothing."
(setq type (or type (tty-type frame)))
......@@ -2139,7 +2141,7 @@ If you set `term-file-prefix' to nil, this function does nothing."
(when (fboundp term-init-func)
(funcall term-init-func))
(set-terminal-parameter frame 'terminal-initted term-init-func)
(run-hooks 'tty-setup-hook)))))
(if run-hook (run-hooks 'tty-setup-hook))))))
;; Called from C function init_display to initialize faces of the
;; dumped terminal frame on startup.
......
......@@ -1286,7 +1286,7 @@ the `--debug-init' option to view a complete error backtrace."
;; User init file can set term-file-prefix to nil to prevent this.
(unless (or noninteractive
initial-window-system)
(tty-run-terminal-initialization (selected-frame)))
(tty-run-terminal-initialization (selected-frame) nil t))
;; Update the out-of-memory error message based on user's key bindings
;; for save-some-buffers.
......
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