bug-dico
Re: Dico 2.0 fails to build with Guile 1.9
Hi Ludo,
> Currently Dico 2.0 fails to build with Guile 1.9 [0] because it uses
> features that were specific to the evaluator as found in 1.8 and earlier
> versions:
Thanks for reporting. I have not tried 1.9 yet, but plan to do it ASAP.
> guile.c:322: error: 'SCM_IM_QUOTE' undeclared (first use in this function)
>
> Instead, you can either use scm_primitive_eval()
I should try to find a backward-compatible way of doing that, to avoid
disturbing compilation with Guile 1.8, which (as I suppose) will still
be around for quite some time. Any hints?
> or compile the Scheme code to bytecode and then run it
> (though there's not any C API to compile code currently.)
Pity, but I hope it is planned, isn't it?
> guile.c:417: warning: 'scm_add_to_port_table' is deprecated (declared at /nix/store/1r9xmm1fa8h3h7zbfkpmm93ln1iqg5rd-guile-1.9.6/include/libguile/ports.h:312)
>
> Use scm_new_port_table_entry()
Thanks, I will.
> guile.c:724: error: 'SCM_DEVAL_P' undeclared (first use in this function)
> guile.c:725: error: 'SCM_BACKTRACE_P' undeclared (first use in this function)
> guile.c:726: error: 'SCM_RECORD_POSITIONS_P' undeclared (first use in this function)
> guile.c:727: error: 'SCM_RESET_DEBUG_MODE' undeclared (first use in this function)
>
> In 1.9 none of these macros make sense (but we should probably add them
> for backward compatibility and deprecate them.) The VM will always
> produce a backtrace with appropriate source location information when an
> error occurs. (I remember seeing the same thing in Mailutils, while
> you're at it. ;-))
The same thing is present also in Radius, and in Anubis, and perhaps in other
projects I maintain... Looks like I've got quite some work to do :^)
Unfortunately, Guile's API changes dramatically almost with each new version,
which makes it quite hard to write portable interfaces with it. Are
there any chances for a more-or-less stable API?
Regards,
Sergey