summaryrefslogtreecommitdiff
path: root/libguile/error.h
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2018-06-20 15:14:05 +0200
committerAndy Wingo <wingo@pobox.com>2018-06-20 15:14:05 +0200
commit6e51f89d0127d81be4911790ac77772e78a9a493 (patch)
tree8ccebd9827a996effef2cc437f24f6d9c961dae9 /libguile/error.h
parent716d9aaf32cb4d4e5cfefb8f1560395ecccdd2f8 (diff)
downloadguile-6e51f89d0127d81be4911790ac77772e78a9a493.tar.gz
Move SCM_ARG1, etc definitions to error.h
* libguile/__scm.h: * libguile/error.h (SCM_ARGn, SCM_ARG1, SCM_ARG2, SCM_ARG3, SCM_ARG4) (SCM_ARG5 SCM_ARG6 SCM_ARG7): Move here.
Diffstat (limited to 'libguile/error.h')
-rw-r--r--libguile/error.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/libguile/error.h b/libguile/error.h
index 8a78e8cba..30e906669 100644
--- a/libguile/error.h
+++ b/libguile/error.h
@@ -74,6 +74,28 @@ SCM_INTERNAL void scm_init_error (void);
+#ifndef SCM_MAGIC_SNARFER
+/* Let these macros pass through if
+ we are snarfing; thus we can tell the
+ difference between the use of an actual
+ number vs. the use of one of these macros --
+ actual numbers in SCM_VALIDATE_* and SCM_ASSERT
+ constructs must match the formal argument name,
+ but using SCM_ARG* avoids the test */
+
+#define SCM_ARGn 0
+#define SCM_ARG1 1
+#define SCM_ARG2 2
+#define SCM_ARG3 3
+#define SCM_ARG4 4
+#define SCM_ARG5 5
+#define SCM_ARG6 6
+#define SCM_ARG7 7
+
+#endif /* SCM_MAGIC_SNARFER */
+
+
+
#define SCM_MAKE_VALIDATE(pos, var, pred) \
do { \
SCM_ASSERT_TYPE (SCM_ ## pred (var), var, pos, FUNC_NAME, #pred); \