Commit d6de49a1 authored by Eli Zaretskii's avatar Eli Zaretskii
Browse files

Fix bug #7840 with default terminal and keyboard encodings.

 terminal.c (create_terminal): Use default-keyboard-coding-system
 and default-terminal-coding-system to initialize coding systems of
 the new terminal.
parent 135dee55
2011-02-18 Eli Zaretskii <eliz@gnu.org>
* terminal.c (create_terminal): Use default-keyboard-coding-system
and default-terminal-coding-system to initialize coding systems of
the new terminal. (Bug#7840)
2011-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
 
* lisp.h (BYTE_MARK_STACK): New macro.
......@@ -223,6 +223,7 @@ struct terminal *
create_terminal (void)
{
struct terminal *terminal = allocate_terminal ();
Lisp_Object terminal_coding, keyboard_coding;
terminal->name = NULL;
terminal->next_terminal = terminal_list;
......@@ -235,8 +236,24 @@ create_terminal (void)
terminal->terminal_coding =
(struct coding_system *) xmalloc (sizeof (struct coding_system));
setup_coding_system (Qno_conversion, terminal->keyboard_coding);
setup_coding_system (Qundecided, terminal->terminal_coding);
/* If default coding systems for the terminal and the keyboard are
already defined, use them in preference to the defaults. This is
needed when Emacs runs in daemon mode. */
keyboard_coding =
find_symbol_value (intern ("default-keyboard-coding-system"));
if (NILP (keyboard_coding)
|| EQ (keyboard_coding, Qunbound)
|| NILP (Fcoding_system_p (keyboard_coding)))
keyboard_coding = Qno_conversion;
terminal_coding =
find_symbol_value (intern ("default-terminal-coding-system"));
if (NILP (terminal_coding)
|| EQ (terminal_coding, Qunbound)
|| NILP (Fcoding_system_p (terminal_coding)))
terminal_coding = Qundecided;
setup_coding_system (keyboard_coding, terminal->keyboard_coding);
setup_coding_system (terminal_coding, terminal->terminal_coding);
terminal->param_alist = Qnil;
return terminal;
......
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