all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: Chris Feng <chris.w.feng@gmail.com>
Cc: 22817@debbugs.gnu.org
Subject: bug#22817: 25.0.91; [PATCH] Include versioned preloaded libraries in `package--builtin-versions'
Date: Tue, 12 Jul 2016 09:19:50 -0400	[thread overview]
Message-ID: <jwvvb0b6lxn.fsf-monnier+bug#22817@gnu.org> (raw)
In-Reply-To: <CAP4=87G8XbomFdxsOqqxf-sdn_93bbgkggezP3_w=zn2x6DYew@mail.gmail.com> (Chris Feng's message of "Sat, 27 Feb 2016 09:24:32 +0800")

> Also, since `package--builtin-versions' is now complete, should we remove the
> version info in `package--builtins'?

Not sure what you mean nor what would be the benefit.

> I forgot to mention that the bug can be reproduced by installing a
> package having a preloaded lib as a dependency, e.g.:
>
>   M-x package-install RET xelb RET
>
> Then cl-generic 0.2 will get installed.

A more direct way is to check (assq 'cl-generic package--builtin-versions)
which should not return nil (but does :-( ).

I haven't looked in detail at your patch, but it'd be good to do
something along these lines.

It's probably too late to use your approach for emacs-25, but I think we
need to install some fix for this problem in emacs-25, since otherwise
Emacs-25.1 will end up insisting on installing cl-generic from GNU ELPA
every occasion it gets.

How 'bout you install your patch into master and we install the patch
below into emacs-25?


        Stefan


diff --git a/lisp/emacs-lisp/cl-generic.el b/lisp/emacs-lisp/cl-generic.el
index 37edf45..e5bab8d 100644
--- a/lisp/emacs-lisp/cl-generic.el
+++ b/lisp/emacs-lisp/cl-generic.el
@@ -86,6 +86,11 @@
 
 ;;; Code:
 
+;; The autoloads.el mechanism which adds package--builtin-versions
+;; maintenance to loaddefs.el doesn't work for preloaded packages (such
+;; as this one), so we have to do it by hand!
+(push (purecopy '(cl-generic 1 0)) package--builtin-versions)
+
 ;; Note: For generic functions that dispatch on several arguments (i.e. those
 ;; which use the multiple-dispatch feature), we always use the same "tagcodes"
 ;; and the same set of arguments on which to dispatch.  This works, but is






  reply	other threads:[~2016-07-12 13:19 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-26 12:37 bug#22817: 25.0.91; [PATCH] Include versioned preloaded libraries in `package--builtin-versions' Chris Feng
2016-02-27  1:24 ` Chris Feng
2016-07-12 13:19   ` Stefan Monnier [this message]
     [not found]     ` <CAP4=87Gh_kdrQEKMQEMinP_vK2+qM6kVD7omjbqg2UwO5CFong@mail.gmail.com>
2016-07-12 14:28       ` bug#22817: Fwd: " Chris Feng
     [not found]       ` <jwv37ne7whc.fsf-monnier+Inbox@gnu.org>
2016-07-12 15:03         ` Chris Feng
2016-07-12 16:16           ` Stefan Monnier
2016-07-13 12:17             ` Chris Feng
     [not found]         ` <834m7s8cyl.fsf@gnu.org>
2016-07-14 19:10           ` Stefan Monnier
2016-07-15  6:25     ` John Wiegley

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='jwvvb0b6lxn.fsf-monnier+bug#22817@gnu.org' \
    --to=monnier@iro.umontreal.ca \
    --cc=22817@debbugs.gnu.org \
    --cc=chris.w.feng@gmail.com \
    /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.