[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
problem becouse scm_tc7_contin is not defined
From: |
P Pareit |
Subject: |
problem becouse scm_tc7_contin is not defined |
Date: |
Mon, 9 Sep 2002 11:18:56 +0200 |
User-agent: |
KMail/1.4.2 |
Hey,
I have downloaded and installed guile-1.6.0. I try to compile scwm using the
new guile and I'm stuck with the following error:
make[1]: Entering directory `/usr/src/scwm/src'
gcc -DHAVE_CONFIG_H -I. -I. -I../include -I../include -I/usr/X11R6/include
-I/usr/include -g -O2 -c guile-compat.c
cc1: warning: changing search order for system directory "/usr/include"
cc1: warning: as it has already been specified as a non-system directory
guile-compat.c: In function `scm_internal_cwdr_no_unwind':
guile-compat.c:92: `scm_tc7_contin' undeclared (first use in this function)
guile-compat.c:92: (Each undeclared identifier is reported only once
guile-compat.c:92: for each function it appears in.)
make[1]: *** [guile-compat.o] Error 1
By doing a grep on scm_tc7_contin in the source tree of guile I found out that
scm_tc7_contin is no longer supported and I have to use SMOB continuation for
rootcont instead. Is there a place I can find more information on SMOB
continuations in guile (I checked the info files for guile already, but I
could have misted).
Or is there a simple way to replace scm_tc7_contin with some other function?
I also paste the function in which I have this problems:
SCM
scm_internal_cwdr_no_unwind (scm_catch_body_t body, void *body_data,
scm_catch_handler_t handler, void *handler_data,
SCM_STACKITEM *stack_start)
{
#ifdef USE_STACKJMPBUF
scm_contregs static_jmpbuf;
#endif
int old_ints_disabled = scm_ints_disabled;
SCM old_rootcont;
struct cwdr_no_unwind_handler_data my_handler_data;
SCM answer;
void *pRootContinuation = NULL;
/* Create a fresh root continuation. */
{ /* scope */
SCM new_rootcont;
SCM_NEWCELL (new_rootcont);
scwm_defer_ints();
#ifdef USE_STACKJMPBUF
SCM_SETJMPBUF (new_rootcont, &static_jmpbuf);
#else
/* GJB:FIXME:MS:: this was leaking, but now I explicitly
deallocate it, below. Not sure what fix you were looking
for so it should probably still be revisited. */
pRootContinuation =
scm_must_malloc ((long) sizeof (scm_contregs),
"inferior root continuation");
#ifdef SCWM_DEBUG_SCM_INTERNAL_CWDR_NO_UNWIND
scwm_msg(DBG,"scm_internal_cwdr_no_unwind","+");
#endif
SCM_SETJMPBUF (new_rootcont,pRootContinuation);
#endif
SCM_SETCAR (new_rootcont, scm_tc7_contin);
**************************************^^^^^^^^^^^^^^^ problem here
SCM_DYNENV (new_rootcont) = SCM_EOL;
SCM_BASE (new_rootcont) = stack_start;
SCM_SEQ (new_rootcont) = -1;
#ifdef DEBUG_EXTENSIONS
SCM_DFRAME (new_rootcont) = 0;
#endif
old_rootcont = scm_rootcont;
scm_rootcont = new_rootcont;
scwm_allow_ints();
}
#ifdef DEBUG_EXTENSIONS
SCM_DFRAME (old_rootcont) = scm_last_debug_frame;
scm_last_debug_frame = 0;
#endif
/* now invoke the function */
my_handler_data.run_handler = 0;
answer = scm_internal_catch (SCM_BOOL_T,
body, body_data,
cwdr_no_unwind_handler, &my_handler_data);
scwm_defer_ints();
#ifdef SCWM_DEBUG_SCM_INTERNAL_CWDR_NO_UNWIND
scwm_msg(DBG,"scm_internal_cwdr_no_unwind","-");
#endif
scm_must_free(pRootContinuation);
SCM_SETJMPBUF (scm_rootcont, NULL);
#ifdef DEBUG_EXTENSIONS
scm_last_debug_frame = SCM_DFRAME (old_rootcont);
#endif
scm_rootcont = old_rootcont;
scwm_allow_ints();
scm_ints_disabled = old_ints_disabled;
/* Now run the real handler iff the body did a throw. */
if (my_handler_data.run_handler)
return handler (handler_data, my_handler_data.tag, my_handler_data.args);
else
return answer;
}
Any comments or help?
pieter;
- problem becouse scm_tc7_contin is not defined,
P Pareit <=