Subject: Re: bug#17418: #:select gives access to private variables

From: Mark H Weaver <[email-masked]>
Date: Tue, 03 Jun 2014 19:08:54 -0400

[email-masked] (Ludovic Courtès) writes:

> Mark H Weaver <[email-masked]> skribis:
>
>> Perhaps we should consider making #:select issue a warning when it
>> imports private bindings,
>
> Yes, sounds like a good idea.

Sounds good.  Specifically, I guess we should deprecate this way of
using #:select.

If you do this, can you adjust system/repl/coop-server.scm to avoid it?
It imports the following private bindings:

  start-repl* run-server* add-open-socket! close-socket!

>> and also adding a mechanism to import private bindings without a
>> warning.
>
> I’m unsure about this.  Normally we don’t want to allow that, because
> that defeats the purpose of modules.

Fair enough.  Having mulled it over, I tend to agree that we should not
try to make this more convenient.

> OTOH, in practice we occasionally need this ability; I typically use
> @@ for that, but it’s not as nice as a real import.

I think asking people to use @@ is reasonable here.

    Thanks,
      Mark