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. */
return scm_is_true (scm_symbol_interned_p (sym));
}
+extern Lisp_Object Ffboundp (Lisp_Object);
+extern Lisp_Object Fmakunbound (Lisp_Object);
+extern Lisp_Object Ffmakunbound (Lisp_Object);
+extern Lisp_Object Ffset (Lisp_Object, Lisp_Object);
+extern Lisp_Object Fsymbol_function (Lisp_Object);
+
INLINE Lisp_Object
SYMBOL_FUNCTION (Lisp_Object sym)
{
- return scm_call_1 (scm_c_public_ref ("elisp-functions", "symbol-function"), sym);
+ return Fsymbol_function (sym);
}
/* Value is non-zero if symbol is considered a constant, i.e. its
Lisp_Object car = XCAR (object);
return EQ (car, Qlambda) || EQ (car, Qclosure);
}
+ else
+ return false;
}
+extern Lisp_Object xsymbol_fn;
+
INLINE sym_t
XSYMBOL (Lisp_Object a)
{
- return scm_call_1 (scm_c_public_ref ("language elisp runtime", "symbol-desc"),
- a);
+ return scm_call_1 (xsymbol_fn, a);
}
INLINE_HEADER_END