Subject: bug#28837: Guile 2.2.2: Loading srfi-1 with merge-generics breaks "map"

From: Andrew Erlanger <[email-masked]>
Date: Sat, 14 Oct 2017 13:30:01 -0400

Re-creation:

1. Make a directory (I call it 'mytest')

2. In the directory, make a file f.scm containing:

(define-module (mytest f)
  #:use-module (oop goops)
  #:use-module (srfi srfi-1)
  #:duplicates (merge-generics))

3. In the directory, make a file test.scm containing:

(add-to-load-path (dirname (getcwd)))

(use-modules (mytest f))

4. Navigate to the directory in a terminal, and start the Guile REPL.

5. In the REPL, enter the two following commands:

(load "test.scm")

,in (mytest f) map

The last command returns:

While executing meta-command:
ERROR: Unbound variable: map

That is, the 'map' primitive becomes unbound in the context of (mytest
f). Any procedures which both
    (a) relying on map, and
    (b) are defined and exported in (mytest f),
throw the above error as well.

Please let me know if I can clarify.

- Andrew