]> git.eshelyaron.com Git - emacs.git/commitdiff
(struct terminal): Move all Lisp_Object fields traced by
authorStefan Monnier <monnier@iro.umontreal.ca>
Thu, 27 Sep 2007 19:50:02 +0000 (19:50 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Thu, 27 Sep 2007 19:50:02 +0000 (19:50 +0000)
the GC to the beginning.

src/ChangeLog
src/termhooks.h

index 20bc0a38762558b721268de5e85a0e6a3f5c6f4f..f6e21a6f4b145fe922e1ea1d6b14b06992170840 100644 (file)
@@ -1,5 +1,8 @@
 2007-09-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 
+       * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
+       the GC to the beginning.
+
        * indent.h:
        * indent.c: Use EMACS_INT for ints coming from Elisp data.
 
index 8cb1194dc0701ec7dd0cdd45a8940974a8869814..3368c906a2d9c50f1bee6688e2cc3d72d40043fd 100644 (file)
@@ -320,6 +320,12 @@ struct terminal
   EMACS_INT size;
   struct Lisp_Vector *vec_next;
 
+  /* Parameter alist of this terminal.  */
+  Lisp_Object param_alist;
+
+  /* All fields before `next_terminal' should be Lisp_Object and are traced
+     by the GC.  All fields afterwards are ignored by the GC.  */
+  
   /* Chain of all terminal devices. */
   struct terminal *next_terminal;
 
@@ -363,9 +369,6 @@ struct terminal
      the function `set-keyboard-coding-system'.  */
   struct coding_system *keyboard_coding;
 
-  /* Parameter alist of this terminal.  */
-  Lisp_Object param_alist;
-  
   /* Terminal characteristics. */
   /* XXX Are these really used on non-termcap displays? */