[Top][All Lists]

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

Re: Obsoleted Guile interfaces

From: Bruce Korb
Subject: Re: Obsoleted Guile interfaces
Date: Thu, 20 Jan 2011 08:19:40 -0800
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv: Gecko/20101125 SUSE/3.0.11 Thunderbird/3.0.11

On 01/20/11 02:14, Harlan Stenn wrote:
> Hi Bruce,
> In psp-deb1:stenn/src/gnu/autogen/autogen-5.11.6pre14/A.psp-deb1/ I'm
> seeing a build problem because libguile does not contain
> scm_c_make_string .  psp-deb is running guile 1.6.8.

By the way, that failure is only in the config stuff.
I didn't carefully scrutinize that part of the patch
the Ubuntu folks gave me.  Looks like guile 1.6 doesn't
support scm_c_make_string and 1.9 has no alternative.
Thus, the config test code needs some if-def-ing.
Perhaps the Guile folks can point me to some config
test code that will identify a working Guile of the
1.4.x through 1.9.x persuasion.  It is getting very

>       #include <libguile.h>
>       #if ((SCM_MAJOR_VERSION * 100) + SCM_MINOR_VERSION) > 109
>       This has not been tested with Guile 1.10.  Remove this line to proceed.
>       #endif
>       int main () {
>         SCM fumble = SCM_UNDEFINED;
>         SCM bumble = SCM_UNDEFINED;
>         SCM stumble= SCM_UNDEFINED;
>         long lstumble;
>         stumble = scm_cons( fumble, bumble );
>         stumble = scm_display( fumble, bumble );
>         lstumble = scm_ilength( fumble );
>         stumble = scm_c_make_string( 1, SCM_UNDEFINED);
>         stumble = scm_c_eval_string( "stumble" );
>         scm_misc_error( "oops", "bad", bumble );
>         stumble = scm_num_eq_p( fumble, bumble );
>         scm_wrong_type_arg( "oops", 1, bumble );
>         return 0; }

P.S. note to Guile folks:  I set this in my testing environment:
>    export GUILE_WARN_DEPRECATED=detailed
and had never been whacked with any deprecated messages
until Ubuntu could not build because deprecated interfaces
were dropped.  I think this was because the deprecated
interfaces were #define-d to non-deprecated interfaces and
the libguile couldn't tell that I was using old stuff.
May I suggest *NOT* eliminating such interfaces until
they've been #define-d to something that *DOES* warn?

  #define SCM_NFALSEP(_a) scm_is_true_deprecated(_a)

reply via email to

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