[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: `make' written in elisp

From: Eric M. Ludlam
Subject: Re: `make' written in elisp
Date: Tue, 4 Jan 2005 11:10:07 -0500

  [ ... ]
>>     Besides writing values to init files the configuration process is used
>>     to check if external tools required for building or running the
>>     package are present and provide necessary features.  A special case
>>     might be preview-latex which has a TeX part besides the Elisp part.
>> Why is it necessary to do this?
>> It seems to me that it would be just fine
>> to look for these things when the user tries to use them.
>> to try to use the command when the user asks to do
>I don't think it is feasible to check for program versions every time
>a program is called.  And instead of letting the user alone with error
>messages which don't give him a hint that the program is too old, I
>consider it better practice to tell him when he tries to install the
>software which relies on the external program.


  On the topic of checking version numbers at runtime, I wrote a tool
to do this for me which is in the CEDET stuff I maintain.  Many tools
have a variable, for example, foo.el, might have foo-version be a
string that is the version number.

  This tool can scan for that, and make sure the version you want is
compatible via various settings.  I also use it to manager save file
version numbers so that upgrades can occur among various tools that
are not a part of Emacs.

  The one dilemma is that a package author has to explicitly specify
when a version is no longer compatible with older versions.  ie,
current version is 2.4, but tools depending on 1.5 won't work with
2.4, this needs to be specified for inversion to handle all cases.

  Here is a CVS link:



          Eric Ludlam:                 address@hidden, address@hidden
   Home: http://www.ludlam.net            Siege: www.siege-engine.com
Emacs: http://cedet.sourceforge.net               GNU: www.gnu.org

reply via email to

[Prev in Thread] Current Thread [Next in Thread]