[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [dev-serveez] current status

From: Raimund 'Raimi' Jacob
Subject: Re: [dev-serveez] current status
Date: Thu, 7 Jun 2001 22:50:03 +0200 (CEST)

On Thu, 7 Jun 2001, Martin Grabmueller wrote:

> >  * Why is the (current-load-port) undefined in exception and how can 
> >    this be fixed ? Since it does not work you will not have any chance
> >    finding the source of the exception in the file.
> Well, this won't be ``fixed'', because its broken by
> design. (current-load-port) returns the current load port while a file
> is loaded.  When an error occurs and the corresponding handler is
> invoked, the file loading has been aborted and there is no `current
>   guile --debug -s some-buggy-scheme-file.scm
> and you will see a backtrace.  Internally, enough information is
> available to get at file name and line number information for the
> failing expression.  This is already done in CVS Guile, where this
> information is printed in backtraces.

mmmhh... can we traverse internal data structures to extract this
information ? perhaps it would be nice to provide this information in some
nice way ?

> >  * Figure out the meaning of the 3 last arguments to gh_new_procedure()
> >    and use them as needed. Now they seem to be in arbitrary use.
> No, no! They are important!

ela's comment was misleading. not the 3 last arguments are the problem but
only the very last (the 3rd int argument).

>   SCM gh_new_procedure(const char *proc_name, SCM (*fn)(),
>                      int n_required_args, int n_optional_args, int varp);

> varp is 1 if the procedure accepts an
> arbitrary number of arguments, it is 0 if no additional arguments
> (besides n_required_args+n_optional_args) are allowed.

now, you confuse me... we use
  gh_new_procedure ("define-server!", guile_define_server, 1, 0, 2);
  gh_new_procedure ("bind-server!", guile_bind_server, 2, 0, 3);
... obviously for no sane reason... i always read 'varp' as 'var-pointer'
or something which could mean something like "index of the first argument
of the variable argument list"... rethinking that with your comment it
obviously means "variable argument list predicate"

Seems some lines need to be changed... gonna do that...


      __/\     _/\    _____/\.___/\
     /   /    /  /___/   ____/  __/\     Name    : Raimi
    /   /  __/    __/   / __/  / _\/     Contact : address@hidden
   /   /__/ /     \/   /_/_/  /_/        Visit   :
  /________/___/\._\._____/_____/\       3.141592653589793238462643383
  \._______\.__\/__/\.____\.____\/       27950288419716939937510582097

reply via email to

[Prev in Thread] Current Thread [Next in Thread]