Hi Daniel, > The string "now" actually comes directly from apt. > > I could filter it in search patterns (it's already filtered in > various parts of the UI), but I know that people use the aptitude > command-line in scripts, and making "now" no longer match anything > would be a backwards-incompatible change. So, +wontfix on that.
yes, I found the filtering for "now" in the source code for the UI parts. I understand not wanting to make a backwards-incompatible change. Perhaps it should be documented for ?archive() in that case to save people spending quite so much time as I did the other day trying to work out why they couldn't negate the match properly. > As for the rest of your report, I think that you want a ?downloadable > pattern that would apply on a per-version basis, right? I don't think > there's really a way to get at that information via the current set of > patterns, so a new one would make sense. (it's similar to making > ?obsolete check per version, but doesn't break backwards compatibility) Yes! a ?downloadable would be good. I presume it would automatically limit itself to package-versions that are installed and not return all versions of packages like ?installed does. Not limiting itself like that would require the use of ?narrow() all the time, I think. Would it actually make more sense to be in the negated sense already (something like, ?noarchive), since I would imagine that its primary use will be to find things that *aren't* downloadable. ?noarchive looks a lot nicer to deal with than ?not(?downloadable)?installed which I think is assuming that the ?downloadable package-version set would be equal to ?narrow(?version(CURRENT),?downloadable). If it's not, then there would need to be additional ?narrow statements in there somewhere. [or, more likely, I've misunderstood what you're suggesting here] > Another option would be to implement an idea I've had for a while, to > more fully support more "types" in the search language. So you'd have > something like: > > ?has-version(?has-archive(?not(?archive(now)))) I know you said "something like", but I'm not quite sure how that will work since '?not(?archive(now))' will provide a list of all packages in a "p" state and not any of the not-downloadable packages. But I can see what you're trying to sketch here. Yes, having the ability to include some sorts of tests in the search language would be nice. Since I presume that these sorts of things won't be available until squeeze+1 at this stage, I'll stick with the monstrosity I included earlier for the time being. I'm sort of glad that there isn't some really easy way to do this that I'd just fundamentally missed. thanks for your thoughts Stuart -- Stuart Prescott www.nanoNANOnano.net
signature.asc
Description: This is a digitally signed message part.