GNU bug report logs -
#40972
27.0.91; assoc TESTFN's args reversed?
Previous Next
Reported by: Shigeru Fukaya <shigeru.fukaya <at> gmail.com>
Date: Wed, 29 Apr 2020 21:16:02 UTC
Severity: minor
Tags: notabug, wontfix
Found in version 27.0.91
Done: Stefan Kangas <stefan <at> marxist.se>
Bug is archived. No further changes may be made.
Full log
Message #17 received at control <at> debbugs.gnu.org (full text, mbox):
tags 40972 + wontfix notabug
close 40972
thanks
Michael Heerdegen <michael_heerdegen <at> web.de> writes:
> Shigeru Fukaya <shigeru.fukaya <at> gmail.com> writes:
>
>> It seems to me, for third argument of `assoc', arguments are passed in a
>> reverse order.
>>
>> (assoc "assoc" '(("cl-assoc" A) ("cl-member" B))
>> (lambda (x y) (equal (concat "cl-" x) y)))
>> ==> nil
>>
>> (assoc "assoc" '(("cl-assoc" A) ("cl-member" B))
>> (lambda (y x) (equal (concat "cl-" x) y)))
>> ==> ("cl-assoc" A)
>>
>> Or, is this intended behavior??
>
> Dunno what others expect, but note that your predicate is not an
> equality predicate (it's not symmetric), and the docstring doesn't
> specify a behavior for this case.
As Michael points out, the equality operation is symmetric and therefore
by definition the order does not matter. We therefore cannot say if X=Y
or Y=X is "more correct": they are equivalent.
In any case, I think it will cause more problems to switch the argument
order at this point, since there might be code out there that relies on
this (undocumented) behavior. So I'm closing this bug.
This bug report was last modified 4 years and 310 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.