all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Richard Stallman <rms@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: Strange requirement...
Date: Tue, 25 Jul 2006 18:15:38 -0400	[thread overview]
Message-ID: <E1G5VBi-0001uW-8l@fencepost.gnu.org> (raw)
In-Reply-To: <85psfujg6o.fsf@lola.goethe.zz> (message from David Kastrup on Tue, 25 Jul 2006 09:29:19 +0200)

    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.

Ok, now I see the issue.  It looks like the code was designed to assume
that :package-version will only be used for packages released in Emacs.
But clearly we should generalize it, so I wrote this patch for the code.
I will update the manual too.


*** cus-edit.el	17 Jul 2006 18:04:31 -0400	1.297
--- cus-edit.el	25 Jul 2006 15:35:01 -0400	
***************
*** 1087,1104 ****
  ;; Packages will update this variable, so make it available.
  ;;;###autoload
  (defvar customize-package-emacs-version-alist nil
!   "Alist mapping versions of Emacs to versions of a package.
! These package versions are listed in the :package-version
! keyword used in `defcustom', `defgroup', and `defface'. 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.  These versions are strings.
! 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\")
--- 1087,1110 ----
  ;; Packages will update this variable, so make it available.
  ;;;###autoload
  (defvar customize-package-emacs-version-alist nil
!   "Alist mapping versions of a package to Emacs versions.
! We use this for packages that have their own names, but are released
! as part of Emacs itself.
! 
! Each elements looks like this:
  
       (PACKAGE (PVERSION . EVERSION)...)
  
! Here PACKAGE is the name of a package, as a symbol.  After
! PACKAGE come one or more elements, each associating a
! package version PVERSION with the first Emacs version
! EVERSION in which it (or a subsequent version of PACKAGE)
! was first released.  Both PVERSION and EVERSION are strings.
! PVERSION should be a string that this package used in
! the :package-version keyword for `defcustom', `defgroup',
! and `defface'.
! 
! For example, the MH-E package updates this alist as follows:
  
       (add-to-list 'customize-package-emacs-version-alist
                    '(MH-E (\"6.0\" . \"22.1\") (\"6.1\" . \"22.1\")
***************
*** 1173,1183 ****
  	     since-version))))
  
  (defun customize-package-emacs-version (symbol package-version)
!   "Return Emacs version of SYMBOL.
! PACKAGE-VERSION has the form (PACKAGE . VERSION).  The VERSION of
! PACKAGE is looked up in the associated list
  `customize-package-emacs-version-alist' to find the version of
! Emacs that is associated with it."
    (let (package-versions emacs-version)
      ;; Use message instead of error since we want user to be able to
      ;; see the rest of the symbols even if a package author has
--- 1179,1188 ----
  	     since-version))))
  
  (defun customize-package-emacs-version (symbol package-version)
!   "Return the Emacs version in which SYMBOL's meaning last changed.
! PACKAGE-VERSION has the form (PACKAGE . VERSION).  We use
  `customize-package-emacs-version-alist' to find the version of
! Emacs that is associated with version VERSION of PACKAGE."
    (let (package-versions emacs-version)
      ;; Use message instead of error since we want user to be able to
      ;; see the rest of the symbols even if a package author has
***************
*** 1193,1201 ****
                        (cdr package-version)
                        "customize-package-emacs-version-alist")))
            (t
!            (message "Package %s neglected to update %s"
                      (car package-version)
!                     "customize-package-emacs-version-alist")))
      emacs-version))
  
  (defun customize-version-lessp (version1 version2)
--- 1198,1206 ----
                        (cdr package-version)
                        "customize-package-emacs-version-alist")))
            (t
!            (message "Package %s version %s lists no corresponding Emacs version"
                      (car package-version)
!                     (cdr package-version))))
      emacs-version))
  
  (defun customize-version-lessp (version1 version2)

      reply	other threads:[~2006-07-25 22:15 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-07-24  6:54 Strange requirement David Kastrup
2006-07-24 21:50 ` Richard Stallman
2006-07-25  7:29   ` David Kastrup
2006-07-25 22:15     ` Richard Stallman [this message]

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=E1G5VBi-0001uW-8l@fencepost.gnu.org \
    --to=rms@gnu.org \
    --cc=emacs-devel@gnu.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.