summaryrefslogtreecommitdiff
path: root/libguile/__scm.h
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/__scm.h')
-rw-r--r--libguile/__scm.h59
1 files changed, 34 insertions, 25 deletions
diff --git a/libguile/__scm.h b/libguile/__scm.h
index 2d11ff59d..4af8303ef 100644
--- a/libguile/__scm.h
+++ b/libguile/__scm.h
@@ -316,35 +316,44 @@ extern unsigned int scm_async_clock;
scm_error (_key, _subr, _message, _args, _rest)
#define SCM_SYSERROR(_subr) \
- lgh_error (system_error_sym, \
- _subr, \
- "%S", \
- scm_listify (scm_makfrom0str (strerror (errno)), \
- SCM_UNDEFINED), \
- scm_listify (SCM_MAKINUM (errno), SCM_UNDEFINED));
-
-/*
- old version:
- #define SCM_SYSERROR(_subr) \
- scm_everr (SCM_UNDEFINED, SCM_EOL, SCM_UNDEFINED, \
- strerror (errno), _subr)
- */
-
- /* equivalent to:
- scm_throw (system_error_sym, \
- scm_listify (scm_makfrom0str (strerror (errno)), \
- scm_makfrom0str (_subr), \
- SCM_UNDEFINED));
- */
+ lgh_error (scm_system_error, \
+ _subr, \
+ "%S", \
+ scm_listify (scm_makfrom0str (strerror (errno)), \
+ SCM_UNDEFINED), \
+ scm_listify (SCM_MAKINUM (errno), SCM_UNDEFINED));
+
+#define SCM_SYSERROR_M(_subr, _message, _args) \
+ lgh_error (scm_system_error, \
+ _subr, \
+ _message, \
+ _args, \
+ scm_listify (SCM_MAKINUM (errno), SCM_UNDEFINED));
+
#ifdef ENOSYS
# define SCM_SYSMISSING(_subr) \
- scm_everr (SCM_UNDEFINED, SCM_EOL, SCM_UNDEFINED, \
- strerror (ENOSYS), _subr)
+ lgh_error (scm_system_error, \
+ _subr, \
+ "%S", \
+ scm_listify (scm_makfrom0str (strerror (ENOSYS)), \
+ SCM_UNDEFINED), \
+ scm_listify (SCM_MAKINUM (ENOSYS), SCM_UNDEFINED));
#else
# define SCM_SYSMISSING(_subr) \
- scm_everr (SCM_UNDEFINED, SCM_EOL, SCM_UNDEFINED, \
- "missing function", _subr)
+ lgh_error (scm_system_error, \
+ _subr, \
+ "missing function", \
+ scm_listify (SCM_UNDEFINED), \
+ scm_listify (SCM_MAKINUM (0), SCM_UNDEFINED));
#endif
+
+#define SCM_NUM_OVERFLOW(_subr) \
+ lgh_error (scm_num_overflow, \
+ _subr, \
+ "numerical overflow", \
+ scm_listify (SCM_UNDEFINED), \
+ scm_listify (SCM_UNDEFINED));
+
#define SCM_ARGn 0
#define SCM_ARG1 1
#define SCM_ARG2 2
@@ -361,7 +370,7 @@ extern unsigned int scm_async_clock;
* Also, SCM_WNA must follow the last SCM_ARGn in sequence.
*/
#define SCM_WNA 8
-#define SCM_OVFLOW 9
+ /* #define SCM_OVSCM_FLOW 9 */
#define SCM_OUTOFRANGE 10
#define SCM_NALLOC 11
#define SCM_STACK_OVFLOW 12