[Top][All Lists]

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

Re: address@hidden: Re: Possible help with stable Emacs releases.]

From: Kim F. Storm
Subject: Re: address@hidden: Re: Possible help with stable Emacs releases.]
Date: Thu, 30 Sep 2004 11:36:33 +0200
User-agent: Gnus/5.1006 (Gnus v5.10.6) Emacs/21.3.50 (gnu/linux)

Luc Teirlinck <address@hidden> writes:

> Jerome Marant wrote:
>    Selon Rob Browning <address@hidden>:
>    > So while I don't have any special attachment to the X.Y.Z numbering
>    > scheme, it's at least one way to fix both those problems.
>    It brings some consistency to version numbering at least. If noone
>    objects (Stefan won't :-), we'll adopt this scheme.
> After grepping for `emacs-version', it appears that changing the
> current convention would require checking a surprisingly *huge* amount
> of code.  A non-trivial amount of code will probably have to be
> rewritten.  version.el definitely would have to be rewritten.  

I don't see why.

CVS emacs currently has emacs-version or similar, so
what need changing?

>                                                                This is
> a small file.  But it would then in turn force rewriting all kind of
> other stuff, spread all over the place.  Many third party packages may
> get broken, as they tend to check for emacs-version a lot and rely on
> the current conventions.

If code usese emacs-version to check for what features are available then

a) that code is broken in the first place if it cannot handle the
   CVS emacs version string format, and

b) such code should only look at the X and Y components of the
   version number.

The rationale for b) is that the Z component differentiates BUG FIX
releases, so from 3rd party packages point of view, X.Y, X.Y.0 and
X.Y.7 are to be considered equivalent functionality-wise.

So I think X.Y.Z would work fine.

BTW, what is currently really broken in CVS emacs is that
emacs-minor-version is 3 -- it should be 4.

Since we use X.Y.50 and X.Y.90 for cvs and pretest versions
for X.(Y+1), a better approach would be:

(defconst emacs-minor-version
  (if (and (string-match "^[0-9]+\\.\\([0-9]+\\)\\.\\([0-9]+\\)" emacs-version)
           (>= (string-to-int (match-string 2 emacs-version)) 50))
      (1+ (string-to-int (match-string 1 emacs-version)))
    (string-to-int (match-string 1 emacs-version)))
  "Minor version number of this version of Emacs.
This variable first existed in version 19.23.")

Kim F. Storm <address@hidden> http://www.cua.dk

reply via email to

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