/* sweep_buffer should already have unchained this from its buffer. */
eassert (! PSEUDOVEC_STRUCT (vector, Lisp_Marker)->buffer);
}
-#ifdef HAVE_MODULES
else if (PSEUDOVECTOR_TYPEP (&vector->header, PVEC_USER_PTR))
{
struct Lisp_User_Ptr *uptr = PSEUDOVEC_STRUCT (vector, Lisp_User_Ptr);
if (uptr->finalizer)
uptr->finalizer (uptr->p);
}
-#endif
}
/* Reclaim space used by unmarked vectors. */
case PVEC_MARKER: return Qmarker;
case PVEC_OVERLAY: return Qoverlay;
case PVEC_FINALIZER: return Qfinalizer;
-#ifdef HAVE_MODULES
case PVEC_USER_PTR: return Quser_ptr;
-#endif
case PVEC_WINDOW_CONFIGURATION: return Qwindow_configuration;
case PVEC_PROCESS: return Qprocess;
case PVEC_WINDOW: return Qwindow;
PVEC_OVERLAY,
PVEC_FINALIZER,
PVEC_MISC_PTR,
-#ifdef HAVE_MODULES
PVEC_USER_PTR,
-#endif
PVEC_PROCESS,
PVEC_FRAME,
PVEC_WINDOW,
return XUNTAG (a, Lisp_Vectorlike, struct Lisp_Misc_Ptr)->pointer;
}
-#ifdef HAVE_MODULES
struct Lisp_User_Ptr
{
union vectorlike_header header;
void (*finalizer) (void *);
void *p;
} GCALIGNED_STRUCT;
-#endif
/* A finalizer sentinel. */
struct Lisp_Finalizer
return XUNTAG (a, Lisp_Vectorlike, struct Lisp_Overlay);
}
-#ifdef HAVE_MODULES
INLINE bool
USER_PTRP (Lisp_Object x)
{
eassert (USER_PTRP (a));
return XUNTAG (a, Lisp_Vectorlike, struct Lisp_User_Ptr);
}
-#endif
INLINE bool
BIGNUMP (Lisp_Object x)
case PVEC_XWIDGET_VIEW:
error_unsupported_dump_object (ctx, lv, "xwidget view");
case PVEC_MISC_PTR:
-#ifdef HAVE_MODULES
case PVEC_USER_PTR:
-#endif
error_unsupported_dump_object (ctx, lv, "smuggled pointers");
case PVEC_THREAD:
if (main_thread_p (v))
printchar ('>', printcharfun);
break;
-#ifdef HAVE_MODULES
case PVEC_USER_PTR:
{
print_c_string ("#<user-ptr ", printcharfun);
printchar ('>', printcharfun);
}
break;
-#endif
case PVEC_FINALIZER:
print_c_string ("#<finalizer", printcharfun);