* nadvice compatibility in package list
@ 2019-07-03 17:54 Andy Moreton
2019-07-04 21:44 ` Thomas Fitzsimmons
2019-07-05 21:03 ` Stefan Monnier
0 siblings, 2 replies; 7+ messages in thread
From: Andy Moreton @ 2019-07-03 17:54 UTC (permalink / raw)
To: emacs-devel
Hi,
When running "M-x package-list" on master, the excorporate package is
shown as incompatable:
Package excorporate is incompatible.
Status: Incompatible because it depends on uninstallable packages.
Archive: gnu
Version: 0.8.3
Summary: Exchange Web Services (EWS) integration
Requires: emacs-24.1, fsm-0.2.1, soap-client-3.1.5, url-http-ntlm-2.0.4, nadvice-0.3 (not available)
Homepage: https://www.fitzsim.org/blog/
Keywords: calendar
The nadvice compatibility package is shown:
Package nadvice is available.
Status: Available from gnu -- Install
Archive: gnu
Version: 0.3
Summary: Forward compatibility for Emacs-24.4's nadvice
Homepage: https://elpa.gnu.org/packages/nadvice.html
This is ok for older emacsen, but there is no listing for the builtin
nadvice 1.0 package. Also:
(assoc 'nadvice package--builtin-versions)
=> (nadvice 1 0)
(assoc 'nadvice package--builtins)
=> nil
Is this expected ?
AndyM
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: nadvice compatibility in package list
2019-07-03 17:54 nadvice compatibility in package list Andy Moreton
@ 2019-07-04 21:44 ` Thomas Fitzsimmons
2019-07-05 21:03 ` Stefan Monnier
1 sibling, 0 replies; 7+ messages in thread
From: Thomas Fitzsimmons @ 2019-07-04 21:44 UTC (permalink / raw)
To: Andy Moreton; +Cc: emacs-devel
Hi Andy,
Andy Moreton <andrewjmoreton@gmail.com> writes:
> When running "M-x package-list" on master, the excorporate package is
> shown as incompatable:
Thanks for reporting.
The attached patch eliminates the incompatibility message. Stefan,
thoughts?
Thomas
diff --git a/lisp/emacs-lisp/nadvice.el b/lisp/emacs-lisp/nadvice.el
index 2278e389ce..ffecb24b1a 100644
--- a/lisp/emacs-lisp/nadvice.el
+++ b/lisp/emacs-lisp/nadvice.el
@@ -3,8 +3,11 @@
;; Copyright (C) 2012-2019 Free Software Foundation, Inc.
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
+;; Note: Always keep this built-in nadvice version greater than any
+;; nadvice version that has been or ever will be in GNU ELPA.
+;; Version: 10.0.0
;; Keywords: extensions, lisp, tools
-;; Package: emacs
+;; Package: nadvice
;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: nadvice compatibility in package list
2019-07-03 17:54 nadvice compatibility in package list Andy Moreton
2019-07-04 21:44 ` Thomas Fitzsimmons
@ 2019-07-05 21:03 ` Stefan Monnier
2019-07-06 14:35 ` Andy Moreton
1 sibling, 1 reply; 7+ messages in thread
From: Stefan Monnier @ 2019-07-05 21:03 UTC (permalink / raw)
To: emacs-devel
> (assoc 'nadvice package--builtin-versions)
> => (nadvice 1 0)
This is right.
> (assoc 'nadvice package--builtins)
> => nil
This is wrong.
Thomas Fitzsimmons <fitzsim@fitzsim.org> writes:
> diff --git a/lisp/emacs-lisp/nadvice.el b/lisp/emacs-lisp/nadvice.el
> index 2278e389ce..ffecb24b1a 100644
> --- a/lisp/emacs-lisp/nadvice.el
> +++ b/lisp/emacs-lisp/nadvice.el
> @@ -3,8 +3,11 @@
> ;; Copyright (C) 2012-2019 Free Software Foundation, Inc.
>
> ;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
> +;; Note: Always keep this built-in nadvice version greater than any
> +;; nadvice version that has been or ever will be in GNU ELPA.
> +;; Version: 10.0.0
> ;; Keywords: extensions, lisp, tools
> -;; Package: emacs
> +;; Package: nadvice
>
> ;; This program is free software; you can redistribute it and/or modify
> ;; it under the terms of the GNU General Public License as published by
We already have defined its version as 1.0, so it would be better to
keep it that way. I think the only thing that really matters is to
remove the `Package: emacs` line (which is a line that explicitly
*prevents* the file from being considered as a package in its own
right).
So I think the patch below will do the trick as well.
Can you confirm?
Stefan
diff --git a/lisp/emacs-lisp/nadvice.el b/lisp/emacs-lisp/nadvice.el
index 2278e389ce..b0dd03edfd 100644
--- a/lisp/emacs-lisp/nadvice.el
+++ b/lisp/emacs-lisp/nadvice.el
@@ -4,7 +4,6 @@
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
;; Keywords: extensions, lisp, tools
-;; Package: emacs
;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
diff --git a/lisp/finder.el b/lisp/finder.el
index f95049f60b..ad9441210c 100644
--- a/lisp/finder.el
+++ b/lisp/finder.el
@@ -240,7 +240,8 @@ finder-compile-keywords
(lm-synopsis))
version (lm-header "version")))
(when summary
- (setq version (ignore-errors (version-to-list version)))
+ (setq version (or (ignore-errors (version-to-list version))
+ (alist-get package package--builtin-versions)))
(setq entry (assq package package--builtins))
(cond ((null entry)
(push (cons package
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: nadvice compatibility in package list
2019-07-05 21:03 ` Stefan Monnier
@ 2019-07-06 14:35 ` Andy Moreton
2019-07-06 16:39 ` Stefan Monnier
0 siblings, 1 reply; 7+ messages in thread
From: Andy Moreton @ 2019-07-06 14:35 UTC (permalink / raw)
To: emacs-devel
On Fri 05 Jul 2019, Stefan Monnier wrote:
>> (assoc 'nadvice package--builtin-versions)
>> => (nadvice 1 0)
>
> This is right.
>
>> (assoc 'nadvice package--builtins)
>> => nil
>
> This is wrong.
>
> Thomas Fitzsimmons <fitzsim@fitzsim.org> writes:
>> diff --git a/lisp/emacs-lisp/nadvice.el b/lisp/emacs-lisp/nadvice.el
>> index 2278e389ce..ffecb24b1a 100644
>> --- a/lisp/emacs-lisp/nadvice.el
>> +++ b/lisp/emacs-lisp/nadvice.el
>> @@ -3,8 +3,11 @@
>> ;; Copyright (C) 2012-2019 Free Software Foundation, Inc.
>>
>> ;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
>> +;; Note: Always keep this built-in nadvice version greater than any
>> +;; nadvice version that has been or ever will be in GNU ELPA.
>> +;; Version: 10.0.0
>> ;; Keywords: extensions, lisp, tools
>> -;; Package: emacs
>> +;; Package: nadvice
>>
>> ;; This program is free software; you can redistribute it and/or modify
>> ;; it under the terms of the GNU General Public License as published by
>
> We already have defined its version as 1.0, so it would be better to
> keep it that way. I think the only thing that really matters is to
> remove the `Package: emacs` line (which is a line that explicitly
> *prevents* the file from being considered as a package in its own
> right).
The patch above works:
(assoc 'nadvice package--builtin-versions)
=> (nadvice 1 0)
(assoc 'nadvice package--builtins)
=> (nadvice . [(10 0 0) nil "Light-weight advice primitives for Elisp functions"])
The `list-packages' output shows two nadvice packages:
nadvice 0.3 available gnu Forward compatibility for Emacs-24.4's nadvice
nadvice 10.0.0 built-in Light-weight advice primitives for Elisp functions
> So I think the patch below will do the trick as well.
> Can you confirm?
Stefan, your patch gives the right assoc lookups, but does not show the
builtin nadvice package in the output from `list-packages'.
In general, omitting the "Package:" directive is a little too subtle,
and future maintainers may add it back, assuming it was an unintended
omission rather than a deliberate change.
To test each patch I deleted lisp/finder-inf.el before rebuilding. Let
me know if this is insufficient for a correct rebuild.
AndyM
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: nadvice compatibility in package list
2019-07-06 14:35 ` Andy Moreton
@ 2019-07-06 16:39 ` Stefan Monnier
2019-07-06 18:15 ` Andy Moreton
0 siblings, 1 reply; 7+ messages in thread
From: Stefan Monnier @ 2019-07-06 16:39 UTC (permalink / raw)
To: Andy Moreton; +Cc: emacs-devel
> Stefan, your patch gives the right assoc lookups, but does not show the
> builtin nadvice package in the output from `list-packages'.
Hmm... it does for me: `src/emacs -Q` followed by `M-x list-packages`
followed by `C-s nadvice C-s C-s` puts me on the line:
nadvice 1.0 built-in Light-weight advice primitives for Elisp functions
> To test each patch I deleted lisp/finder-inf.el before rebuilding.
> Let me know if this is insufficient for a correct rebuild.
Hmm... maybe finder-inf.el was rebuilt before finder.el was recompiled
and it used a stale finder.elc?
Could you double check?
Stefan
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: nadvice compatibility in package list
2019-07-06 16:39 ` Stefan Monnier
@ 2019-07-06 18:15 ` Andy Moreton
2019-07-07 13:05 ` Stefan Monnier
0 siblings, 1 reply; 7+ messages in thread
From: Andy Moreton @ 2019-07-06 18:15 UTC (permalink / raw)
To: emacs-devel
On Sat 06 Jul 2019, Stefan Monnier wrote:
>> Stefan, your patch gives the right assoc lookups, but does not show the
>> builtin nadvice package in the output from `list-packages'.
>
> Hmm... it does for me: `src/emacs -Q` followed by `M-x list-packages`
> followed by `C-s nadvice C-s C-s` puts me on the line:
>
> nadvice 1.0 built-in Light-weight advice primitives for Elisp functions
>
>> To test each patch I deleted lisp/finder-inf.el before rebuilding.
>> Let me know if this is insufficient for a correct rebuild.
>
> Hmm... maybe finder-inf.el was rebuilt before finder.el was recompiled
> and it used a stale finder.elc?
> Could you double check?
After a full bootstrap, your patch does work.
AndyM
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2019-07-07 13:05 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-07-03 17:54 nadvice compatibility in package list Andy Moreton
2019-07-04 21:44 ` Thomas Fitzsimmons
2019-07-05 21:03 ` Stefan Monnier
2019-07-06 14:35 ` Andy Moreton
2019-07-06 16:39 ` Stefan Monnier
2019-07-06 18:15 ` Andy Moreton
2019-07-07 13:05 ` Stefan Monnier
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).