HCoop
/
bpt
/
guile.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
* Makefile.am (EXTRA_libguile_la_SOURCES): New variable to hold
[bpt/guile.git]
/
libguile
/
__scm.h
diff --git
a/libguile/__scm.h
b/libguile/__scm.h
index
7fea1c8
..
52d175e
100644
(file)
--- a/
libguile/__scm.h
+++ b/
libguile/__scm.h
@@
-95,12
+95,15
@@
\f
/* {Unsupported Options}
*
\f
/* {Unsupported Options}
*
- * These must be defined.
+ * These must be defined
as given here
.
*/
#define CCLO
*/
#define CCLO
-#define SICP
+
+/* Guile Scheme supports the #f/() distinction; Guile Lisp won't. We
+ have horrible plans for their unification. */
+#undef SICP
\f
\f
@@
-240,17
+243,31
@@
typedef long SCM_STACKITEM;
\f
#ifndef USE_THREADS
\f
#ifndef USE_THREADS
-#define SCM_THREADS_SWITCHING_CODE
+#define SCM_THREAD_DEFER
+#define SCM_THREAD_ALLOW
+#define SCM_THREAD_REDEFER
+#define SCM_THREAD_REALLOW_1
+#define SCM_THREAD_REALLOW_2
+#define SCM_THREAD_SWITCHING_CODE
#endif
extern unsigned int scm_async_clock;
#endif
extern unsigned int scm_async_clock;
+#if 0
#define SCM_ASYNC_TICK \
{ \
if (0 == --scm_async_clock) \
scm_async_click (); \
#define SCM_ASYNC_TICK \
{ \
if (0 == --scm_async_clock) \
scm_async_click (); \
- SCM_THREADS_SWITCHING_CODE; \
} \
} \
+#else
+#define SCM_ASYNC_TICK \
+{ \
+ if (0 == --scm_async_clock) \
+ scm_async_click (); \
+ SCM_THREAD_SWITCHING_CODE; \
+} \
+
+#endif
#ifdef SCM_CAREFUL_INTS
#define SCM_CHECK_NOT_DISABLED \
#ifdef SCM_CAREFUL_INTS
#define SCM_CHECK_NOT_DISABLED \
@@
-270,12
+287,14
@@
extern unsigned int scm_async_clock;
#define SCM_DEFER_INTS \
{ \
SCM_CHECK_NOT_DISABLED; \
#define SCM_DEFER_INTS \
{ \
SCM_CHECK_NOT_DISABLED; \
+ SCM_THREAD_DEFER; \
scm_ints_disabled = 1; \
} \
#define SCM_ALLOW_INTS_ONLY \
{ \
scm_ints_disabled = 1; \
} \
#define SCM_ALLOW_INTS_ONLY \
{ \
+ SCM_THREAD_ALLOW; \
scm_ints_disabled = 0; \
} \
scm_ints_disabled = 0; \
} \
@@
-283,6
+302,7
@@
extern unsigned int scm_async_clock;
#define SCM_ALLOW_INTS \
{ \
SCM_CHECK_NOT_ENABLED; \
#define SCM_ALLOW_INTS \
{ \
SCM_CHECK_NOT_ENABLED; \
+ SCM_THREAD_ALLOW; \
scm_ints_disabled = 0; \
SCM_ASYNC_TICK; \
} \
scm_ints_disabled = 0; \
SCM_ASYNC_TICK; \
} \
@@
-290,15
+310,20
@@
extern unsigned int scm_async_clock;
#define SCM_REDEFER_INTS \
{ \
#define SCM_REDEFER_INTS \
{ \
+ SCM_THREAD_REDEFER; \
++scm_ints_disabled; \
} \
#define SCM_REALLOW_INTS \
{ \
++scm_ints_disabled; \
} \
#define SCM_REALLOW_INTS \
{ \
+ SCM_THREAD_REALLOW_1; \
--scm_ints_disabled; \
if (!scm_ints_disabled) \
--scm_ints_disabled; \
if (!scm_ints_disabled) \
- SCM_ASYNC_TICK; \
+ { \
+ SCM_THREAD_REALLOW_2; \
+ SCM_ASYNC_TICK; \
+ } \
} \
} \
@@
-322,17
+347,14
@@
extern unsigned int scm_async_clock;
goto _label
#endif
goto _label
#endif
-#define lgh_error(_key, _subr, _message, _args, _rest) \
- scm_error (_key, _subr, _message, _args, _rest)
-
#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_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 */
+#define SCM_ARG6 6
+#define SCM_ARG7 7
/* #define SCM_ARGERR(X) ((X) < SCM_WNA \
? (char *)(X) \
: "wrong type argument")
/* #define SCM_ARGERR(X) ((X) < SCM_WNA \
? (char *)(X) \
: "wrong type argument")
@@
-406,11
+428,5
@@
extern struct errdesc scm_errmsgs[];
\f
\f
-#ifdef __STDC__
-
-#else /* STDC */
-
-#endif /* STDC */
-
#endif /* __SCMH */
#endif /* __SCMH */