better scm_subr_p deprecation
authorAndy Wingo <wingo@pobox.com>
Wed, 6 Jan 2010 10:09:56 +0000 (11:09 +0100)
committerAndy Wingo <wingo@pobox.com>
Thu, 7 Jan 2010 22:49:22 +0000 (23:49 +0100)
* libguile/deprecated.h (scm_subr_p): Dispatch instead to scm_i_subr_p so we get
  link-time and run-time warnings.
* libguile/deprecated.c (scm_i_subr_p): Here we call SCM_PRIMITIVE_P.

libguile/deprecated.c
libguile/deprecated.h

index f428bd4bf2411269c1d9c3f49f650ff25a405bc1..e8cec8ad4822824c1e194791635cf86bd32d6fd6 100644 (file)
@@ -1785,6 +1785,13 @@ scm_trampoline_2 (SCM proc)
   return scm_call_2;
 }
 
+int
+scm_i_subr_p (SCM x)
+{
+  scm_c_issue_deprecation_warning ("`scm_subr_p' is deprecated. Use SCM_PRIMITIVE_P instead.");
+  return SCM_PRIMITIVE_P (x);
+}
+
 \f
 void
 scm_i_init_deprecated ()
index f7b053c55936eec6fc0d3f58387c68f2a907fa34..8ecd8b24197dd1290badd1bb9e1a2d997feb00d7 100644 (file)
@@ -606,7 +606,8 @@ SCM_DEPRECATED scm_t_trampoline_2 scm_trampoline_2 (SCM proc);
 \f
 
 /* Deprecated 2010-01-05, use SCM_PRIMITIVE_P instead */
-#define scm_subr_p(x) (SCM_PRIMITIVE_P (x))
+SCM_DEPRECATED int scm_i_subr_p (SCM x);
+#define scm_subr_p(x) (scm_i_subr_p (x))
 
 \f