[NB: I hope no-one is bothered by the markdown below; I originally
posted this in unix.stackexchange.com, but it was ignored there, so I
deleted it and am reposting it here.  I kept the markdown because I
find it useful, even when it has no effect on the rendering of the
text.]

---


The [documentation][1] for `~S` says:

>  ?narrow(filter, pattern), ~S filter pattern
>
>    This term “narrows” the search to package versions matching filter. In 
> particular, it matches any package version which matches both filter and 
> pattern. The string value of the match is the string value of pattern.

I have not been able to find any definition in this documentation of
what it means by the term "filter", and how this term differs from the
term "pattern".  Therefore, it looks like the paragraph above is,
strictly speaking, meaningless.

One may guess that `~S` is an odd, lopsided incarnation of the
standard logical `AND` operator, but [elsewhere][2] the documentation
states (my emphasis):

> A search pattern consists of one or more conditions (sometimes known as 
> “terms”); packages match the pattern if they match ***all*** of its terms.

IOW, the `AND` semantics are already represented through simple concatenation.

All of the above would suggest to me that the `~S` is superfluous, and
that, for example, the following two commands would produce identical
results:

    % aptitude search   '~i!~Astable'
    % aptitude search '~S~i!~Astable'

...but this expectation turns out to be wrong: when I run these two
commands on my system, the first one produces 5 lines of output (i.e.
5 packages are found), whereas the second one produces 8 (including
the 5 lines of the first one); it is not obvious to me why those extra
3 lines/packages do not show up in the output of the first command.

And, of course, what's most bewildering of all is that, in this
example at least, `~S` does not seem to have had any "narrowing"
effect, but quite the opposite, since I get more "hits" with it than
without it.

In order to make sense of what the documentation is saying, it would
be really helpful to have ***"translations into English"*** of the
clauses `~i!~Astable` and `~S~i!~Astable`, plus any other
clarification that may be needed to make sense of the difference in
the outputs of the two commands above.


  [1]: 
http://algebraicthunk.net/~dburrows/projects/aptitude/doc/en/ch02s03s05.html#searchNarrow
  [2]: http://algebraicthunk.net/~dburrows/projects/aptitude/doc/en/ch02s03.html


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: 
https://lists.debian.org/CAFvQaj7UWmzgS2daJW6X1jZhMXYc9c"sp9w7mddmwjlkb...@mail.gmail.com

Reply via email to