[racket-dev] [plt] Push #25179: master branch updated

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Wed Aug 22 22:47:06 EDT 2012

On Wed, Aug 22, 2012 at 8:39 PM, Asumu Takikawa <asumu at ccs.neu.edu> wrote:
> On 2012-08-22 19:51:34 -0500, Robby Findler wrote:
>> I had imagined that one would mostly leave it open and use f2 to close
>> it when it was too big and open it again when there is a question. In
>> other words, using the mouse to hover over the arrow is mostly what
>> I'd imagined people would only do if they didn't know about the f2
>> binding.
>>
>> Do you know about it? (If not, I guess it isn't as discoverable as I'd
>> hoped it would be.)
>
> I knew about the binding and the lock/unlock button, which are pretty
> convenient. It does still mean you have to move the mouse & click,

I almost never move the mouse and click to move the insertion point. I
can see, however, that if you're already moving the mouse a lot then
being based on the insertion point is a wash.

> and
> then press f2 to get the information though (as opposed to just hover
> over the binding and it pops up automatically).
>
> Also, I think the current behavior could be confusing in some cases.
> Here's an imaginary workflow (_ is insertion point):
>
>   (require_ racket/function
>             racket/list)
>
> Press f2, get a box showing the info for `require`. That's good. Press
> f2 again to hide it. But then you move the insertion point:
>
>   (require racket/function_
>            racket/list)
>
> Press f2 again. I might be expecting DrRacket to show me information
> about the `racket/function` module, but instead it shows me the grammar
> of require. Maybe it should show nothing if the insertion point is not
> currently on an identifier it can show meaningful info about?

The flip side of this coin is when you have this:

  (make-output-port_ a b c d)

and you want to go edit the arguments while the blue box is on the
screen (this happened to me yesterday (with a different function but I
forget now which one)).

It is this kind of use of the blue boxes that, imo, will make
mouse-movement based boxes too fragile. You'll have to leave your
mouse on top of make-output-port, which can leave lots of other stuff
on the screen (due to check syntax).

Robby

Posted on the dev mailing list.