unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
* problem becouse scm_tc7_contin is not defined
@ 2002-09-09  9:18 P Pareit
  2002-09-09 18:08 ` Marius Vollmer
  2002-09-09 18:43 ` Marius Vollmer
  0 siblings, 2 replies; 11+ messages in thread
From: P Pareit @ 2002-09-09  9:18 UTC (permalink / raw)


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;


_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-user


^ permalink raw reply	[flat|nested] 11+ messages in thread
[parent not found: <20020910103210.30704.32477.Mailman@monty-python.gnu.org>]

end of thread, other threads:[~2002-09-16 19:57 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-09-09  9:18 problem becouse scm_tc7_contin is not defined P Pareit
2002-09-09 18:08 ` Marius Vollmer
2002-09-09 18:10   ` Marius Vollmer
2002-09-09 18:43 ` Marius Vollmer
     [not found] <20020910103210.30704.32477.Mailman@monty-python.gnu.org>
2002-09-10 11:57 ` P Pareit
2002-09-10 19:04   ` Marius Vollmer
2002-09-11 10:01     ` P Pareit
2002-09-11 18:16       ` Marius Vollmer
2002-09-16  0:04     ` Steve Tell
2002-09-16  5:00       ` Rob Browning
2002-09-16 19:57       ` Marius Vollmer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).