Mercurial > hg > xemacs-beta
diff src/process.c @ 5133:444a448b2f53
Merge branch ben-lisp-object into default branch
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Sun, 07 Mar 2010 06:47:37 -0600 |
parents | a9c41067dd88 |
children | f965e31a35f0 |
line wrap: on
line diff
--- a/src/process.c Sun Mar 07 06:43:19 2010 -0600 +++ b/src/process.c Sun Mar 07 06:47:37 2010 -0600 @@ -2,7 +2,7 @@ Copyright (C) 1985, 1986, 1987, 1988, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. Copyright (C) 1995 Sun Microsystems, Inc. - Copyright (C) 1995, 1996, 2001, 2002, 2004, 2005 Ben Wing. + Copyright (C) 1995, 1996, 2001, 2002, 2004, 2005, 2010 Ben Wing. This file is part of XEmacs. @@ -176,30 +176,25 @@ #endif /* HAVE_WINDOW_SYSTEM */ static void -finalize_process (void *header, int for_disksave) +finalize_process (Lisp_Object obj) { /* #### this probably needs to be tied into the tty event loop */ /* #### when there is one */ - Lisp_Process *p = (Lisp_Process *) header; + Lisp_Process *p = XPROCESS (obj); #ifdef HAVE_WINDOW_SYSTEM - if (!for_disksave) - { - debug_process_finalization (p); - } + debug_process_finalization (p); #endif /* HAVE_WINDOW_SYSTEM */ if (p->process_data) { - MAYBE_PROCMETH (finalize_process_data, (p, for_disksave)); - if (!for_disksave) - xfree (p->process_data); + MAYBE_PROCMETH (finalize_process_data, (p)); + xfree (p->process_data); } } -DEFINE_LRECORD_IMPLEMENTATION ("process", process, - 0, /*dumpable-flag*/ - mark_process, print_process, finalize_process, - 0, 0, process_description, Lisp_Process); +DEFINE_NODUMP_LISP_OBJECT ("process", process, + mark_process, print_process, finalize_process, + 0, 0, process_description, Lisp_Process); /************************************************************************/ /* basic process accessors */ @@ -468,9 +463,10 @@ Lisp_Object make_process_internal (Lisp_Object name) { - Lisp_Object val, name1; + Lisp_Object name1; int i; - Lisp_Process *p = ALLOC_LCRECORD_TYPE (Lisp_Process, &lrecord_process); + Lisp_Object obj = ALLOC_NORMAL_LISP_OBJECT (process); + Lisp_Process *p = XPROCESS (obj); #define MARKED_SLOT(x) p->x = Qnil; #include "process-slots.h" @@ -495,10 +491,8 @@ MAYBE_PROCMETH (alloc_process_data, (p)); - val = wrap_process (p); - - Vprocess_list = Fcons (val, Vprocess_list); - return val; + Vprocess_list = Fcons (obj, Vprocess_list); + return obj; } void @@ -2491,7 +2485,7 @@ void syms_of_process (void) { - INIT_LRECORD_IMPLEMENTATION (process); + INIT_LISP_OBJECT (process); DEFSYMBOL (Qprocessp); DEFSYMBOL (Qprocess_live_p);