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
(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))
;; 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.