summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog10
-rw-r--r--src/alloc.c1
-rw-r--r--src/lisp.h1
-rw-r--r--src/term.c17
4 files changed, 11 insertions, 18 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 00ce2e46f04..4db48bbb969 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,15 @@
2012-08-31 Dmitry Antipov <dmantipov@yandex.ru>
+ Remove mark_ttys function and fix tty_display_info initialization.
+ * lisp.h (mark_ttys): Remove prototype.
+ * alloc.c (Fgarbage_collect): Remove redundant (and the only) call
+ to mark_ttys because all possible values of 'top_frame' slot are
+ the frames which are reachable from Vframe_list.
+ * term.c (mark_ttys): Remove.
+ (init_tty): Safely initialize 'top_frame' slot with Qnil.
+
+2012-08-31 Dmitry Antipov <dmantipov@yandex.ru>
+
Change struct frame bitfields from unsigned char to unsigned.
* frame.h (struct frame): Change type of 'display_preempted',
'visible', 'iconified', 'has_minibuffer', 'wants_modeline',
diff --git a/src/alloc.c b/src/alloc.c
index 36ba22cc535..e8637471bc7 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -5476,7 +5476,6 @@ See Info node `(elisp)Garbage Collection'. */)
}
mark_terminals ();
mark_kboards ();
- mark_ttys ();
#ifdef USE_GTK
{
diff --git a/src/lisp.h b/src/lisp.h
index 49a2832d686..80c49703f52 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -3438,7 +3438,6 @@ extern Lisp_Object directory_files_internal (Lisp_Object, Lisp_Object,
/* Defined in term.c */
extern int *char_ins_del_vector;
-extern void mark_ttys (void);
extern void syms_of_term (void);
extern _Noreturn void fatal (const char *msgid, ...)
ATTRIBUTE_FORMAT_PRINTF (1, 2);
diff --git a/src/term.c b/src/term.c
index 23e074287c1..f1a09b39cf9 100644
--- a/src/term.c
+++ b/src/term.c
@@ -3001,6 +3001,7 @@ init_tty (const char *name, const char *terminal_type, int must_succeed)
#else
tty = xzalloc (sizeof *tty);
#endif
+ tty->top_frame = Qnil;
tty->next = tty_list;
tty_list = tty;
@@ -3541,22 +3542,6 @@ delete_tty (struct terminal *terminal)
xfree (tty);
}
-
-
-/* Mark the pointers in the tty_display_info objects.
- Called by Fgarbage_collect. */
-
-void
-mark_ttys (void)
-{
- struct tty_display_info *tty;
-
- for (tty = tty_list; tty; tty = tty->next)
- mark_object (tty->top_frame);
-}
-
-
-
void
syms_of_term (void)
{