X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/7be1c708c5abc7dea388d45454bd19bff07b7943..cf5fc6dbeac10220394ab201ba3f4402e1e91faf:/src/terminal.c
diff --git a/src/terminal.c b/src/terminal.c
index 67577adf3b..2c0c60e734 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -1,5 +1,5 @@
/* Functions related to terminal devices.
- Copyright (C) 2005-2011 Free Software Foundation, Inc.
+ Copyright (C) 2005-2012 Free Software Foundation, Inc.
This file is part of GNU Emacs.
@@ -17,8 +17,10 @@ You should have received a copy of the GNU General Public License
along with GNU Emacs. If not, see . */
#include
+
+#define TERMHOOKS_INLINE EXTERN_INLINE
+
#include
-#include
#include "lisp.h"
#include "frame.h"
@@ -39,6 +41,13 @@ struct terminal *initial_terminal;
static void delete_initial_terminal (struct terminal *);
+/* This setter is used only in this file, so it can be private. */
+static void
+tset_param_alist (struct terminal *t, Lisp_Object val)
+{
+ t->param_alist = val;
+}
+
void
@@ -225,16 +234,13 @@ create_terminal (void)
struct terminal *terminal = allocate_terminal ();
Lisp_Object terminal_coding, keyboard_coding;
- terminal->name = NULL;
terminal->next_terminal = terminal_list;
terminal_list = terminal;
terminal->id = next_terminal_id++;
- terminal->keyboard_coding =
- (struct coding_system *) xmalloc (sizeof (struct coding_system));
- terminal->terminal_coding =
- (struct coding_system *) xmalloc (sizeof (struct coding_system));
+ terminal->keyboard_coding = xmalloc (sizeof (struct coding_system));
+ terminal->terminal_coding = xmalloc (sizeof (struct coding_system));
/* If default coding systems for the terminal and the keyboard are
already defined, use them in preference to the defaults. This is
@@ -255,9 +261,6 @@ create_terminal (void)
setup_coding_system (keyboard_coding, terminal->keyboard_coding);
setup_coding_system (terminal_coding, terminal->terminal_coding);
- terminal->param_alist = Qnil;
- terminal->charset_list = Qnil;
- terminal->Vselection_alist = Qnil;
return terminal;
}
@@ -290,7 +293,7 @@ delete_terminal (struct terminal *terminal)
for (tp = &terminal_list; *tp != terminal; tp = &(*tp)->next_terminal)
if (! *tp)
- abort ();
+ emacs_abort ();
*tp = terminal->next_terminal;
xfree (terminal->keyboard_coding);
@@ -407,7 +410,7 @@ possible return values. */)
case output_ns:
return Qns;
default:
- abort ();
+ emacs_abort ();
}
}
@@ -452,7 +455,7 @@ store_terminal_param (struct terminal *t, Lisp_Object parameter, Lisp_Object val
Lisp_Object old_alist_elt = Fassq (parameter, t->param_alist);
if (EQ (old_alist_elt, Qnil))
{
- t->param_alist = Fcons (Fcons (parameter, value), t->param_alist);
+ tset_param_alist (t, Fcons (Fcons (parameter, value), t->param_alist));
return Qnil;
}
else
@@ -515,7 +518,7 @@ struct terminal *
init_initial_terminal (void)
{
if (initialized || terminal_list || tty_list)
- abort ();
+ emacs_abort ();
initial_terminal = create_terminal ();
initial_terminal->type = output_initial;
@@ -534,7 +537,7 @@ static void
delete_initial_terminal (struct terminal *terminal)
{
if (terminal != initial_terminal)
- abort ();
+ emacs_abort ();
delete_terminal (terminal);
initial_terminal = NULL;