diff options
author | Robin Templeton <[email protected]> | 2014-12-07 17:59:28 -0500 |
---|---|---|
committer | Robin Templeton <[email protected]> | 2015-04-20 00:29:04 -0400 |
commit | ba7762b393919972d877b252fe3e1f660a506f6b (patch) | |
tree | 3437ca1c1ff613455a256de5ffcf5f01d96486c5 /src | |
parent | bc203f9e4311ddb2c6ea12c14ae2dc2f463591c1 (diff) |
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
<[email protected]> for the report.
Diffstat (limited to 'src')
-rw-r--r-- | src/lisp.h | 7 |
1 files changed, 1 insertions, 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. */ |