all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Drew Adams <drew.adams@oracle.com>
To: Tom Willemse <tom@ryuslash.org>
Cc: 15108@debbugs.gnu.org
Subject: bug#15108: 24.3.50; Package dependency documentation
Date: Fri, 16 Aug 2013 00:46:42 -0700 (PDT)	[thread overview]
Message-ID: <fc8e0cd5-d429-40aa-9e74-5ed282f065df@default> (raw)
In-Reply-To: <m3fvua1411.fsf@ryuslash.org>

> > 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.

Are you asking to be able to use (foo (baz "1.1.0") bar) as an
alternative to ((foo) (baz "1.1.0") (bar))?

IOW, `foo' instead of `(foo)' or (foo "0")?  Sounds OK to me.  Maybe
someone else knows a reason why that would not work or be a good idea.

> > 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.

Dunno.  I ended up adding `Package-Requires' everywhere, because
it wasn't clear to me that its absence means `Package-Requires ()', in
practice.

That said, an explicit `Package-Requires ()' makes it clear that there
is no dependency, whereas if it is absent that could just mean that
no one looked at the question.

Nevertheless, optional is better, IMO.  Leave it up to the programmer
to decide whether to be crystal clear by adding an explicit empty spec.





  reply	other threads:[~2013-08-16  7:46 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-16  0:23 bug#15108: 24.3.50; Package dependency documentation Tom Willemse
2013-08-16  3:46 ` Stefan Monnier
2013-08-16  6:57   ` Drew Adams
2013-08-16  7:35     ` Tom Willemse
2013-08-16  7:46       ` Drew Adams [this message]
2013-08-16  8:06         ` Tom Willemse
2013-08-16 20:58 ` bug#15108: More flexible package dependency specification Tom Willemse
2013-12-11 20:29 ` bug#15108: [Patch] Updated package dependencies Tom Willemse
2013-12-11 20:52   ` Drew Adams
2013-12-11 21:24     ` bug#15108: " Tom Willemse
2013-12-11 21:57       ` Drew Adams
2013-12-11 22:52         ` bug#15108: [Patch] Updated package dependencies, again Tom Willemse
2013-12-12 18:30   ` bug#15108: [Patch] Updated package dependencies Stefan Monnier
2013-12-12 19:23     ` Tom Willemse
2013-12-15  1:08       ` Stefan Monnier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=fc8e0cd5-d429-40aa-9e74-5ed282f065df@default \
    --to=drew.adams@oracle.com \
    --cc=15108@debbugs.gnu.org \
    --cc=tom@ryuslash.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.