unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* 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

* Re: nadvice compatibility in package list
  2019-07-06 18:15       ` Andy Moreton
@ 2019-07-07 13:05         ` Stefan Monnier
  0 siblings, 0 replies; 7+ messages in thread
From: Stefan Monnier @ 2019-07-07 13:05 UTC (permalink / raw)
  To: Andy Moreton; +Cc: emacs-devel

> After a full bootstrap, your patch does work.

Good, thanks,


        Stefan




^ 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).