unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Eric Ludlam <ericludlam@gmail.com>
To: Stefan Kangas <stefan@marxist.se>, Lars Ingebrigtsen <larsi@gnus.org>
Cc: "Eric M. Ludlam" <zappo@gnu.org>, 46841@debbugs.gnu.org
Subject: bug#46841: [PATCH] Make package downloading in inversion.el obsolete
Date: Tue, 2 Mar 2021 17:13:09 -0500	[thread overview]
Message-ID: <8d4fcdeb-a058-e28f-8ba1-85070179f41e@gmail.com> (raw)
In-Reply-To: <CADwFkmmauSPdTcyLpz5zuekX=tRnOFKbqGjadAqNwLMDaRwxPQ@mail.gmail.com>

Thanks for checking in about inversion.el.

I used to have a lot of issues with different versions of things when 
CEDET was
separate from Emacs and new versions of CEDET could overlay on top of an 
Emacs
with an earlier version of CEDET included.  Inversion was a way of getting
things tied together, and upgrading save files to new versions, and 
things like that.

None of those old issues exist anymore since external CEDET is too hard 
to merge back
into Emacs and I now post patches direct to Emacs instead, so it makes 
sense to clean this up.

Thanks
Eric

On 3/1/21 11:08 AM, Stefan Kangas wrote:
> (Copying in Eric Ludlam in case he has something to add.)
>
> Lars Ingebrigtsen <larsi@gnus.org> writes:
>
>> Stefan Kangas <stefan@marxist.se> writes:
>>
>>> There is some code to download packages in cedet/inversion.el which
>>> seems completely redundant now that we have package.el.  I suggest
>>> marking that part as obsolete, see the attached patch.
>>>
>>> To be honest, I don't exactly see that there is any need for
>>> inversion.el since the problem it tries to solve is already solved by
>>> package.el.  Perhaps we should just move the entire library to
>>> obsolete/.
>> Utility functions like `inversion-package-version' are used in the rest
>> of CEDET, though?  (I just did a quick grep, but didn't actually read
>> the call sites.)
> Yes.  I took a closer look.  The uses all seem to be of dubious value
> these days, and could probably themselves be obsoleted or changed to not
> need inversion.  Here is what I could find:
>
> ./lisp/cedet/cedet.el106:		(filever (car (inversion-find-version sym)))
>
> The function `cedet-version' produces a screen like this:
>
>      CEDET Version:	2.0
>        			Requested	File		Loaded
>        Package		Version		Version		Version
>        ----------------------------------------------------------
>        cedet:		2.0		ok		ok
>        eieio:		1.4		ok		ok
>        semantic:		2.2		ok		Not Loaded
>        srecode:		1.2		ok		Not Loaded
>        ede:			1.2		2.0		Not Loaded
>
>
>      C-h f cedet-version RET
>        for details on output format.
>
> But all these packages are distributed with Emacs itself.
>
> ./lisp/cedet/semantic/ede-grammar.el165:    (list "eieio" "semantic"
> "inversion" "ede")))
> ./lisp/cedet/semantic/ede-grammar.el168:  ;; Inversion for versioning system.
>
> Add inversion to loadpath in Makefiles produced by EDE, for some reason.
> If inversion is obsolete, that would not be useful.
>
> ./lisp/cedet/semantic/db-file.el176:	  (if (not (inversion-test
> 'semanticdb-file fv))
> ./lisp/cedet/semantic/db-file.el177:	      (when (inversion-test
> 'semantic-tag tv)
> ./lisp/cedet/cedet-cscope.el156:	(if (inversion-check-version rev nil
> cedet-cscope-min-version)
> ./lisp/cedet/cedet-idutils.el185:	(if (inversion-check-version rev nil
> cedet-idutils-min-version)
> ./lisp/cedet/cedet-global.el160:	(if (inversion-check-version rev nil
> cedet-global-min-version)
>
> Several similar functions that just check for the installed version,
> which is either the one distributed with Emacs or the latest released
> version.  The latter would normally be the one you automatically
> installed with package.el.
>
> So it's all just about making sure the correct version of a package is
> installed.  AFAICT, that is fully obsoleted by `package-install'.
>
> ./lisp/cedet/ede/make.el76:	(setq ans (not (inversion-check-version
> rev nil ede-make-min-version))))
>
> This parses the make version and ensures its recent enough.  Perhaps
> useful, but could likely be replaced by the built-in `version<' or
> somesuch.
>
> ./lisp/cedet/semantic.el61:  (inversion-test 'semantic
>
> Here we have a function `semantic-require-version' that allows callers
> to check if this is a recent enough version of Semantic.
>
> They should instead be checking for the major version of Emacs, or if
> Semantic is installed from the external CEDET repository deal with it
> themselves, or if Semantic is turned into a core package and installed
> that way they should just make sure their dependencies are correct.
>
> Am I missing something here?  Eric?
>
>> But, yes, the download bits don't seem very useful.
> Thanks.







  reply	other threads:[~2021-03-02 22:13 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-01  4:30 bug#46841: [PATCH] Make package downloading in inversion.el obsolete Stefan Kangas
2021-03-01 13:00 ` Lars Ingebrigtsen
2021-03-01 16:08   ` Stefan Kangas
2021-03-02 22:13     ` Eric Ludlam [this message]
2021-03-03 19:02       ` Stefan Kangas

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

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8d4fcdeb-a058-e28f-8ba1-85070179f41e@gmail.com \
    --to=ericludlam@gmail.com \
    --cc=46841@debbugs.gnu.org \
    --cc=larsi@gnus.org \
    --cc=stefan@marxist.se \
    --cc=zappo@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 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).