changeset 85415:b1e285a2d293

(tty-create-frame-with-faces): Make sure not only tty-run-terminal-initialization but also set-locale-environment are run only once per terminal. (tty-run-terminal-initialization): Don't check if the terminal was already initted.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Thu, 18 Oct 2007 19:02:23 +0000
parents f79d3fec6de7
children 58c70d072b21
files lisp/ChangeLog lisp/faces.el
diffstat 2 files changed, 11 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Thu Oct 18 18:53:28 2007 +0000
+++ b/lisp/ChangeLog	Thu Oct 18 19:02:23 2007 +0000
@@ -1,5 +1,11 @@
 2007-10-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 
+	* faces.el (tty-create-frame-with-faces): Make sure not only
+	tty-run-terminal-initialization but also set-locale-environment
+	are run only once per terminal.
+	(tty-run-terminal-initialization): Don't check if the terminal was
+	already initted.
+
 	* international/encoded-kb.el (encoded-kbd-setup-display): Be careful
 	not to remove keymaps that just happen to inherit from one of ours.
 	When setting up our keymap, make sure it won't be accidentally
--- a/lisp/faces.el	Thu Oct 18 18:53:28 2007 +0000
+++ b/lisp/faces.el	Thu Oct 18 19:02:23 2007 +0000
@@ -1876,8 +1876,10 @@
 	  (modify-frame-parameters frame '((interprogram-cut-function . nil)))
 	  (modify-frame-parameters frame '((interprogram-paste-function . nil)))
 
-	  (set-locale-environment nil frame)
-	  (tty-run-terminal-initialization frame)
+          (unless (terminal-parameter frame 'terminal-initted)
+            (set-terminal-parameter frame 'terminal-initted t)
+            (set-locale-environment nil frame)
+            (tty-run-terminal-initialization frame))
 	  (frame-set-background-mode frame)
 	  (face-set-after-frame-default frame)
 	  (setq success t))
@@ -1910,10 +1912,7 @@
   ;; Load library for our terminal type.
   ;; User init file can set term-file-prefix to nil to prevent this.
   (with-selected-frame frame
-    (unless (or (null term-file-prefix)
-		;; Don't reinitialize the terminal each time a new
-		;; frame is opened on it.
-		(terminal-parameter frame 'terminal-initted))
+    (unless (null term-file-prefix)
       (let* (term-init-func)
 	;; First, load the terminal initialization file, if it is
 	;; available and it hasn't been loaded already.