emacs-devel
[Top][All Lists]
Advanced

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

Re: Strange requirement...


From: David Kastrup
Subject: Re: Strange requirement...
Date: Tue, 25 Jul 2006 09:29:19 +0200
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

Richard Stallman <address@hidden> writes:

>     This gives, however, no clue about how to deal with declaring versions
>     of an external package that is _not_ distributed as part of Emacs
>     (notably AUCTeX).
>
> You just follow the instructions for :package-version.
> They seem clear to me.  If you don't find them clear,
> could you explain why?

The last sentence of the :package-version description states:

   Packages that use the `:package-version' keyword must also update
the `customize-package-emacs-version-alist' variable.

And the immediately following description states:

 -- Variable: customize-package-emacs-version-alist
     This alist provides a mapping for the versions of Emacs that are
     associated with versions of a package listed in the
     `:package-version' keyword.  Its elements look like this:

          (PACKAGE (PVERSION . EVERSION)...)

     For each PACKAGE, which is a symbol, there are one or more
     elements that contain a package version PVERSION with an
     associated Emacs version EVERSION.

But for an external package, there is no associated Emacs version, so
there is no point or sense in updating
`customize-package-emacs-version-alist'.

So I think that the last sentence in the :package-version description
should be something like:

   Packages that use the `:package-version' keyword with versions that
   have been distributed as part of Emacs must also update the
   `customize-package-emacs-version-alist' variable.

     For example, the MH-E package updates this alist with the
     following:

          (add-to-list 'customize-package-emacs-version-alist
                       '(MH-E ("6.0" . "22.1") ("6.1" . "22.1") ("7.0" . "22.1")
                              ("7.1" . "22.1") ("7.2" . "22.1") ("7.3" . "22.1")
                              ("7.4" . "22.1") ("8.0" . "22.1")))


And the passage before should probably be something like:

`:package-version '(PACKAGE . VERSION)'
     This option specifies that the item was first introduced in
     PACKAGE version VERSION, or that its default value was changed in
     that version.  This keyword takes priority over :version.  The
     value of PACKAGE is a symbol and VERSION is a string.  If any
     VERSION of PACKAGE has been distributed as part of Emacs, the
     combination of PACKAGE and VERSION must appear in the alist
     `customize-package-emacs-version-alist'.  Since PACKAGE must be
     unique and the user might see it in an error message, a good choice
     is the official name of the package, such as MH-E or Gnus.

Note that this is just my _guess_ as how to treat this sensibly.  I
don't know whether the actual code will complain if it can't find a
given package and version in `customize-package-emacs-version-alist'.

If it does, I think it should likely be changed to match the behavior
I described.  But as it stands, the instructions for :package-version
can't be heeded for packages not distributed as part of Emacs.

-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum




reply via email to

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