From ba7762b393919972d877b252fe3e1f660a506f6b Mon Sep 17 00:00:00 2001 From: Robin Templeton Date: Sun, 7 Dec 2014 17:59:28 -0500 Subject: [PATCH] make_lisp_proc bug * src/lisp.h (make_lisp_proc): Return the `self' object from the structure header. This prevents the allocation of distinct objects representing the same process. Thanks to Matt Kramer for the report. --- src/lisp.h | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/lisp.h b/src/lisp.h index 5d8956e3f3..7d9951b8b7 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -706,18 +706,13 @@ XBOOL_VECTOR (Lisp_Object a) return SMOB_PTR (a); } -INLINE Lisp_Object -make_lisp_proc (struct Lisp_Process *p) -{ - return scm_new_smob (lisp_vectorlike_tag, (scm_t_bits) p); -} - #define XSETINT(a, b) ((a) = make_number (b)) #define XSETFASTINT(a, b) ((a) = make_natnum (b)) #define XSETVECTOR(a, b) ((a) = (b)->header.self) #define XSETSTRING(a, b) ((a) = (b)->self) #define XSETSYMBOL(a, b) ((a) = scm_c_vector_ref (b, 0)) #define XSETMISC(a, b) (a) = ((union Lisp_Misc *) (b))->u_any.self +#define make_lisp_proc(p) ((p)->header.self) /* Pseudovector types. */ -- 2.20.1