On Mon, Aug 9, 2021, at 6:39 PM, Stefan Monnier wrote: > Bozhidar Batsov [2021-08-09 17:03:21] wrote: > > I guess that could work, although from what I gathered it operates only on > > the current package. I was hoping to find something like an API like > > `(package-get-version 'package-name)`. > > Ah, no, we don't have such an abstraction. > > Currently, you'd have to use the `package--alist` function (whose first > call will take a bit of time to real all the -pkg.el files) and > then look inside its return value with `package-desc-`. Got it, thanks! > > [ That's assuming you're interested in the packages currently installed. > If you're interested in the packages currently activated, then you > have that list in `package-activated-list` but that fails to record > which version has been activated :-( ] > > Patches welcome to add more friendly accessors. Will keep this in mind! > > I'm also curious to know the specific context in which you need that > info. Is it to test at runtime whether some dependency includes > a particular bugfix/feature ? Yeah, something like this. Probably an overkill and it's not something I really need right now. What I mostly needed was to extract the installed version of a snapshot package for debug purposes (useful for packages on MELPA to understand how old is the snapshot someone installed there). E.g. I print this in CIDER's REPL: `;; CIDER 1.2.0snapshot (package: 20210729.521)` In this case the "real" version 1.2.0-snapshot, but there's also the MELPA package version, that's basically the date the package was built. The function you mentioned might help with this, probably in combination with lm-version. > > > Stefan > > >