Subject: Re: bug#19346: 25.0.50; url-http-parse-headers: Symbol's function definition is void: gnutls-available-p

From: Stefan Monnier <[email-masked]>
Date: Fri, 12 Dec 2014 11:39:29 -0500

> ELisp modules are much simpler than dynamic modules written in some
> compiled language.  Look at GnuTLS: it can be compiled with umpteen
> different optional features.  If we now force each module to provide
> just one feature, you'd need lots of different 'gnutls-FOO' symbols,
> for all the combinations of the options.  That doesn't sound very
> elegant to me, especially since the savings are just one API which
> could have solved the same problem more cleanly.

I have no idea what you're talking about, really.  And I suspect you're
misunderstanding what I said.  I have not proposed any changes, I'm just
describing how the dynamic-module branch handles this
particular problem.
And no, you won't have "lots of different <modulename>-FOO symbols",
since `require' only works when you pass it <modulename>, not
<modulename>-FOO.  If the library needs to advertise more precisely the
exact set of features it happens to provide, then this will probably
have to be done in an ad-hoc manner (tho maybe the `subfeature' arg of
`featurep' could be used for this: it's the kind of thing it was meant
for, although in practice it seems it's never used).

        Stefan