#define RETURN_CODE_P(object) ((OBJECT_TYPE (object)) == TC_RETURN_CODE)
#define EPHEMERON_P(object) ((OBJECT_TYPE (object)) == TC_EPHEMERON)
-#define STRING_P(object) \
- ((BYTEVECTOR_P (object)) || (LEGACY_STRING_P (object)))
+#define STRING_P string_p
+extern bool string_p (SCHEME_OBJECT);
#define NON_MARKED_VECTOR_P(object) \
((OBJECT_TYPE (object)) == TC_NON_MARKED_VECTOR)
#include "scheme.h"
#include "prims.h"
\f
+// TODO(cph): remove when LEGACY_STRING_P is removed.
+bool
+string_p (SCHEME_OBJECT object)
+{
+ return ((LEGACY_STRING_P (object)) || (BYTEVECTOR_P (object)));
+}
+
SCHEME_OBJECT
allocate_string (unsigned long nbytes)
{