• Tim Peters's avatar
    Special-case None search() results in AND, AND NOT, and OR contexts, and · dfbfbe55
    Tim Peters authored
    uncomment the test cases that were failing in these contexts.
    
    Read it and weep <wink>:  In an AND context, None is treated like the
    universal set, which jibes with the convenient fiction that stop words
    appear in every doc.  However, in AND NOT and OR contexts, None is
    treated like the empty set, which doesn't jibe with anything except that
    we want
    
        real_word AND NOT stop_word
    
    and
    
        real_word OR stop_word
    
    to act like
    
        real_word
    
    If we treated None as if it were the universal set, these results would
    be (respectively) the empty set and the universal set instead.
    
    At a higher level, we *are* consistent with the notion that a query with
    a stop word acts the same as if the clause with the stop word weren't
    present.  That's what really drives this schizophrenic (context-dependent)
    treatment of None.
    dfbfbe55
ParseTree.py 3.51 KB