[-- Attachment #1: Type: text/plain, Size: 291 bytes --] Default `member` works fine: $ guile > (member 'a '(b)) $1 = #f However, using scheme base it returns empty list $ guile --r7rs > (import (scheme base)) > (member 'a '(b)) $1 = () Other functions (memq, memv) seem to work fine. I am using version 3.0.5 as distributed by debian bullseye [-- Attachment #2: Type: text/html, Size: 504 bytes --]
[-- Attachment #1: Type: text/plain, Size: 914 bytes --] In git main it appears to work but with a warning: $ guile --r7rs GNU Guile 3.0.7.13-c1fd55-dirty ... scheme@(guile-user)> (import (scheme base)) scheme@(guile-user)> (member 'a '(b)) WARNING: (guile-user): imported module (scheme base) overrides core binding `member' $1 = #f scheme@(guile-user)> (member 'a '(b a)) $2 = (a) -Dale -----------------------------------------From: "Arvydas Silanskas" To: 48765@debbugs.gnu.org Cc: Sent: Monday May 31 2021 5:10:12PM Subject: bug#48765: `member` from (scheme base) returns empty list instead of #f when item is not found Default `member` works fine: $ guile > (member 'a '(b)) $1 = #f However, using scheme base it returns empty list $ guile --r7rs > (import (scheme base)) > (member 'a '(b)) $1 = () Other functions (memq, memv) seem to work fine. I am using version 3.0.5 as distributed by debian bullseye [-- Attachment #2: Type: text/html, Size: 1168 bytes --]
On 31.05.2021 23:44, dsmich@roadrunner.com wrote: > In git main it appears to work but with a warning: > > $ guile --r7rs > GNU Guile 3.0.7.13-c1fd55-dirty > ... > > scheme@(guile-user)> (import (scheme base)) > scheme@(guile-user)> (member 'a '(b)) > WARNING: (guile-user): imported module (scheme base) overrides core binding `member' > $1 = #f > scheme@(guile-user)> (member 'a '(b a)) > $2 = (a) > > > -Dale > > > ----------------------------------------- > > From: "Arvydas Silanskas" > To: 48765@debbugs.gnu.org > Cc: > Sent: Monday May 31 2021 5:10:12PM > Subject: bug#48765: `member` from (scheme base) returns empty list instead of #f when item is not found > > Default `member` works fine: > > $ guile >> (member 'a '(b)) $1 = #f > > However, using scheme base it returns empty list > $ guile --r7rs >> (import (scheme base)) >> (member 'a '(b)) > $1 = () > Other functions (memq, memv) seem to work fine. > I am using version 3.0.5 as distributed by debian bullseye The fix for this was part of the 3.0.6 release. :-) Older report on the same bug: https://bugs.gnu.org/43304 The warning can be safely ignored, and I believe it won't appear when writing an R7RS library using 'define-library'. Closing this report but feel free to ask further questions. -- Taylan
Taylan Kammer <taylan.kammer@gmail.com> writes:
> Closing this report but feel free to ask further questions.
Looks like the first attempt didn't take. Trying again.
--
Rob Browning
rlb @defaultvalue.org and @debian.org
GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A
GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4