Subject: Re: bug#15108: 24.3.50; Package dependency documentation

From: Tom Willemse <[email-masked]>
Date: Fri, 16 Aug 2013 09:35:54 +0200

Drew Adams <[email-masked]> writes:

>> > The values `foo', `(foo)' and `((foo))' all cause an error to be
>> > signaled by `package-buffer-info'. This seems to me that there is no
>> > "possibly" about it.
>> 
>> Indeed a lot of the code assumes that there's a version number in there,
>> but some of the code does try to handle a nil value as well.
>> I think it would be desirable to make it possible to leave the version
>> number unspecified.
>
> +1; a BIG +1.

I could look into that if you guys like. Any pointers on where to look
apart from `package-buffer-info'?

> You can use `Package Requires ((foo "0"))' as a workaround, but it's
> silly that you have to do that.  If a library is not versioned, or if
> for some reason any version of it will do for the package that requires
> it, it should be possible to use just `Package Requires ((foo))'.

Would values of either `foo' for just a single package dependency, `(foo
bar)' for packages without version dependencies and `(foo (baz "1.1.0")
bar)' for mixed values be OK? That would be my preference, but perhaps
this is to complex.

> Furthermore, if no library is required, it should be possible to omit
> a `Package-Requires' altogether - that should be equivalent to
> `Package-Requires ()'.

This is already possible isn't it? Most of my packages don't require
anything and as such don't have a `Package-Requires' header.