() Matthieu Moy <[EMAIL PROTECTED]>
() Sat, 09 Aug 2008 01:48:14 +0200

   The guy installing DVC should have a way to have an
   installation that _works_.

Sure.  Do "make all install", frob ~/.emacs as directed in the README
(and docs, and "make install" blurb, ideally), enjoy.  Actually...

   I didn't test, but I suspect the FreeBSD patched because we
   require GNU diff and GNU path, so the installer _must_ have a way to
   say "hey, I need to use GNU patch, not plain patch".

...since there is no "make check" support, there is really no need
for these programs for either "make" or "make install", anyway.

   Then, the user can override it in his .emacs, and if it does
   so, the default provided by the installer is ignored.

If that has to happen anyway, i don't see why it's necesarry to
burden the config/install process w/ checks for those programs.

   > - change from: (defvar dvc-site-diff-executable "@DIFF@")
   >            to: (defvar dvc-site-diff-executable "diff")

   Your default value assumes that "diff" will work.

You could equally say that the default value doesn't assume
anything, because DVC never uses those values for "make" or "make
install".

   Giving the user a default which doesn't work is bad.

But giving the guy who does the installation the responsibility
(by proxy via the configure script) of guessing (perhaps wrongly
for any particular user) a default is not only bad, it's pointless;
the user will have to override it anyway.

   If there's no value OK for everybody, I don't see how you can
   do without asking the installer to provide it (ideally, the
   configure script should check that diff will work and fall back
   to gdiff otherwise).

I agree that customizability is desirable, but disagree that such
concerns are for the guy doing the installation to worry about.
The more you can move that out of configure-time and into runtime,
under user (who might not be the guy doing the installation, keep
in mind) control, the better.

Now, in the case of diff(1), see how Emacs itself handles the
situation:

| (defcustom diff-command "diff"
|   "*The command to use to run diff."
|   :type 'string
|   :group 'diff)

Straightforward, simple, easy to understand for the user, and
slackful for the guy installing Emacs.  Unless DVC has some
extremely specific requirements of its diff, perhaps even better
than what i proposed earlier (which just strips one layer of
indirection), would be to remove all these layers of indirection
and use `diff-command' directly.

thi

_______________________________________________
Dvc-dev mailing list
[email protected]
https://mail.gna.org/listinfo/dvc-dev

Reply via email to