[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r103335: Fix bug #7840 with default t
From: |
Eli Zaretskii |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r103335: Fix bug #7840 with default terminal and keyboard encodings. |
Date: |
Fri, 18 Feb 2011 16:48:28 +0200 |
User-agent: |
Bazaar (2.0.3) |
------------------------------------------------------------
revno: 103335
committer: Eli Zaretskii <address@hidden>
branch nick: trunk
timestamp: Fri 2011-02-18 16:48:28 +0200
message:
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.
modified:
src/ChangeLog
src/terminal.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2011-02-18 02:07:36 +0000
+++ b/src/ChangeLog 2011-02-18 14:48:28 +0000
@@ -1,3 +1,9 @@
+2011-02-18 Eli Zaretskii <address@hidden>
+
+ * 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 <address@hidden>
* lisp.h (BYTE_MARK_STACK): New macro.
=== modified file 'src/terminal.c'
--- a/src/terminal.c 2011-02-13 00:16:28 +0000
+++ b/src/terminal.c 2011-02-18 14:48:28 +0000
@@ -223,6 +223,7 @@
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 @@
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;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r103335: Fix bug #7840 with default terminal and keyboard encodings.,
Eli Zaretskii <=