[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: RFD: drop the GH interface.
From: |
Bruce Korb |
Subject: |
Re: RFD: drop the GH interface. |
Date: |
Sun, 21 Sep 2008 11:02:24 -0700 |
Hi Neil,
On Sun, Sep 21, 2008 at 2:40 AM, Neil Jerram <address@hidden> wrote:
> Hi Bruce, and thanks for your input on this...
>
> 2008/9/18 Bruce Korb <address@hidden>:
>> 1. the most retrograde platform must have all the GH capabilities in
>> the SCM interfaces for their releases. It seems to take quite a few
>> years for BSD to get around to building newer versions.
>
> Greg has countered this, I believe. Do you still think there's any
> real concern here?
To be honest, I don't know. Some years back I started using some newfangled
Guile interfaces that were, at the time, a couple years old. I think
it was a 1.6-ism.
However, some variation of BSD (I'd guess not "Net") was still on 1.4.x.
So, I became responsible for having some if-def code decide which way to do
something based on the Guile version. Not a particularly difficult problem, but
nevertheless a bug report + new release cycle problem.
>> 3. I finally get around to removing GH stuff from my code
>
> Just to be clear: are you saying that you still need to do this?
Once bitten, twice shy. I want to be as sure as I can that my "clients" are all
up to 1.6 before dumping the last of 1.4 support. I am as retrograde as I
can get away with. :)
>> 4. a couple more years pass
>
> Why is this interval needed?
We have two parallel development processes: Guile and AutoGen.
They get picked up by clients at semi-random, un-coordinated points in time.
My switch from GH must be after potential clients have pretty much all
gotten recent
enough Guile versions. Similarly, releasing a Guile without GH must happen
long enough after your clients have switched that few such clients would get
whacked.
> I will make an announcement to the guile-users list; that should be
> enough. (Anyone who is going to use or package a new Guile version
> needs to be (at least vaguely) following guile-devel or guile-users.)
That's probably my level of "following": vaguely. :)
On a slightly unrelated question, are there any pending changes that would make
the following code obsolete? I've hated using it ever since I wrote
it, but I still
do not know of any reasonable alternative.
Thank you. Regards, Bruce
SCM
ag_scm_c_eval_string_from_file_line( char const * pzExpr, char const *
pzFile, int line )
{
SCM port;
if (OPT_VALUE_TRACE >= TRACE_EVERYTHING) {
fprintf( pfTrace, "eval from file %s line %d:\n%s\n", pzFile, line,
pzExpr );
}
#if GUILE_VERSION < 106000
{
static char const zEx[] = "eval-string-from-file-line";
SCM expr = scm_makfrom0str( pzExpr );
port = scm_mkstrport( SCM_INUM0, expr, SCM_OPN | SCM_RDNG, zEx );
}
#else
port = scm_open_input_string( AG_SCM_STR02SCM( pzExpr ));
#endif
#if GUILE_VERSION < 107000
{
static SCM file = SCM_UNDEFINED;
static char* pzFl = NULL;
scm_t_port* pt;
if ( (pzFl == NULL)
|| (strcmp( AG_SCM_CHARS( file ), pzFile ) != 0) ) {
if (pzFl != NULL)
AGFREE(pzFl);
AGDUPSTR(pzFl, pzFile, "eval file name");
file = AG_SCM_STR02SCM( pzFile );
}
pt = SCM_PTAB_ENTRY(port);
pt->line_number = line - 1;
pt->file_name = file;
}
#else
{
static SCM file = SCM_UNDEFINED;
static char* pzOldFile = NULL;
if ((pzOldFile == NULL) || (strcmp( pzOldFile, pzFile ) != 0)) {
if (pzOldFile != NULL)
AGFREE( pzOldFile );
AGDUPSTR( pzOldFile, pzFile, "scheme file source" );
file = scm_from_locale_string( pzFile );
}
scm_set_port_filename_x( port, file );
}
{
SCM ln = scm_from_int( line );
scm_set_port_line_x( port, ln );
}
#endif
{
SCM ans = SCM_UNSPECIFIED;
/* Read expressions from that port; ignore the values. */
for (;;) {
SCM form = scm_read( port );
if (SCM_EOF_OBJECT_P( form ))
break;
ans = scm_primitive_eval_x( form );
}
return ans;
}
}
- Re: RFD: drop the GH interface., (continued)
- Re: RFD: drop the GH interface., Han-Wen Nienhuys, 2008/09/18
- Re: RFD: drop the GH interface., Ludovic Courtès, 2008/09/18
- Re: RFD: drop the GH interface., Neil Jerram, 2008/09/18
- Re: RFD: drop the GH interface., Ludovic Courtès, 2008/09/18
- Re: RFD: drop the GH interface., Han-Wen Nienhuys, 2008/09/20
- Re: RFD: drop the GH interface., Han-Wen Nienhuys, 2008/09/28
- Re: RFD: drop the GH interface., Ludovic Courtès, 2008/09/28
- Re: RFD: drop the GH interface., Bruce Korb, 2008/09/18
- Re: RFD: drop the GH interface., Greg Troxel, 2008/09/19
- Re: RFD: drop the GH interface., Neil Jerram, 2008/09/21
- Re: RFD: drop the GH interface.,
Bruce Korb <=
- Re: RFD: drop the GH interface., Ludovic Courtès, 2008/09/22
- Re: RFD: drop the GH interface., Neil Jerram, 2008/09/22