[racket] Custom Keybindings - Editor Insert Poofed

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Sat Oct 27 21:35:14 EDT 2012

You're using linux, right?

Robby

On Sat, Oct 27, 2012 at 8:33 PM, Ray Racine <ray.racine at gmail.com> wrote:
> All the standard emacs bindings work. crtl-a, yanks etc.  The ctrl-\ was
> working for me for at least several months.  So it looks like something
> changed where I'm getting the frame% and not the editor%.
>
> Also some of the standard keybindings do not work for me.  Typical example
> is check-syntax.  ctrl-c:ctrl-c doesn't work but F6 does.
>
>
> On Sat, Oct 27, 2012 at 9:28 PM, Robby Findler <robby at eecs.northwestern.edu>
> wrote:
>>
>> What happens when you type control-a (with the menu keybindings turned
>> off). That should do a similar thing to what your keybinding does (ie
>> call a text% method of that first argument without checking to see it
>> is a text% object). If it works, it will move the insertion point to
>> the beginning of the line.
>>
>> Robby
>>
>> On Sat, Oct 27, 2012 at 8:23 PM, Ray Racine <ray.racine at gmail.com> wrote:
>> > And to answer your question, can confirm I have the editor window in
>> > focus.
>> > I type a few letters in the editor, then ctrl-\ and popup box.
>> >
>> >
>> > On Sat, Oct 27, 2012 at 9:16 PM, Ray Racine <ray.racine at gmail.com>
>> > wrote:
>> >>
>> >> Robby,
>> >>
>> >> OK, I reduced my keybindings.rkt file to exactly the below.
>> >>
>> >> #lang s-exp framework/keybinding-lang
>> >> ;; insert λ
>> >> (keybinding "c:\\" (λ (editor evt)
>> >>      (pretty-print editor)
>> >>      (send editor insert "λ")))
>> >>
>> >> When I run drracket from the command line what I see printed is
>> >>
>> >> ray at rpr:~$ /usr/local/racket/bin/drracket
>> >> #(struct:object:...cts/version/tool.rkt:176:9 ...)
>> >>
>> >> This matches the popup box error as well.  Screenshot is here.
>> >>
>> >>
>> >> https://plus.google.com/u/0/photos/108838931798929528241/albums/5804161505516624049
>> >>
>> >> So it doesn't appear to be an instance of editor% but I don't know why.
>> >> I'm running Linux Ubuntu 12.10.  It happens in #lang racket.
>> >>
>> >> Ray
>> >>
>> >> On Sat, Oct 27, 2012 at 8:12 PM, Robby Findler
>> >> <robby at eecs.northwestern.edu> wrote:
>> >>>
>> >>> I've tried this and I see a lambda char inserted.
>> >>>
>> >>> Is it possible that the keyboard focus is not in an editor? That would
>> >>> mean that the 'editor' argument wouldn't actually be an editor.
>> >>>
>> >>> Maybe try printing that out, and that'll shed some light on what's
>> >>> going on here.
>> >>>
>> >>> Robby
>> >>>
>> >>> On Sat, Oct 27, 2012 at 12:37 PM, Ray Racine <ray.racine at gmail.com>
>> >>> wrote:
>> >>> > I spoke to soon there still is something broken.  But I did find a
>> >>> > work
>> >>> > around.
>> >>> >
>> >>> > To reproduce:
>> >>> >
>> >>> > 1) Create a custom keybinding file.
>> >>> > 2) Use emacs keybindings by unchecking Enable Menu Keybindings  in
>> >>> > your
>> >>> > Preferences (as in section 3.3 of the Racket doc)
>> >>> > 3) Define a simple one-line keybinding in the keybinding file.
>> >>> >   (keybinding "c:\\" (λ (editor evt) (send editor insert "λ")))
>> >>> > 4) Set the keybinding file and attempt to do a ctr-\ and you see the
>> >>> > error.
>> >>> >
>> >>> > The workaround I have is to use "menu-bind" method in your
>> >>> > keybindings
>> >>> > file.
>> >>> > When I use that to bind to the "Insert λ" menu option, it works.
>> >>> >
>> >>> > Ray
>> >>> >
>> >>> > On Sat, Oct 27, 2012 at 10:21 AM, Robby Findler
>> >>> > <robby at eecs.northwestern.edu> wrote:
>> >>> >>
>> >>> >> Sorry-- I had this on my list of things to look into (but it sounds
>> >>> >> like I was missing a piece anyways). If you saved a copy of that
>> >>> >> directory and don't mind sharing it, I'd be happy to try to look
>> >>> >> into
>> >>> >> it more.
>> >>> >>
>> >>> >> Robby
>> >>> >>
>> >>> >> On Sat, Oct 27, 2012 at 9:14 AM, Ray Racine <ray.racine at gmail.com>
>> >>> >> wrote:
>> >>> >> > OK, sat down this morning to figure out why my custom Racket
>> >>> >> > keybinding
>> >>> >> > were
>> >>> >> > failing.  No idea of the exact cause, but step 1, clearing out my
>> >>> >> > .racket/preferences brought them back.  Working fine now.
>> >>> >> >
>> >>> >> > Ray
>> >>> >> >
>> >>> >> >
>> >>> >> > On Tue, Oct 23, 2012 at 11:15 AM, Ray Racine
>> >>> >> > <ray.racine at gmail.com>
>> >>> >> > wrote:
>> >>> >> >>
>> >>> >> >> Up until recently the following worked for me.  Create a custom
>> >>> >> >> keybindings file.  Add the following line.
>> >>> >> >>
>> >>> >> >> (keybinding "c:\\" (λ (editor evt) (send editor insert "λ")))
>> >>> >> >>
>> >>> >> >> And a Ctrl:\ would insert a λ for me.  Recently this has stopped
>> >>> >> >> working
>> >>> >> >> as reported below.  Any ideas on how to bring it back?
>> >>> >> >>
>> >>> >> >> Thanks,
>> >>> >> >>
>> >>> >> >> Ray
>> >>> >> >>>
>> >>> >> >>>
>> >>> >> >>> The key binding is invoked, however, I'm seeing the following
>> >>> >> >>> in a
>> >>> >> >>> pop-up.
>> >>> >> >>>
>> >>> >> >>> Error running keybinding
>> >>> >> >>> send: no such method
>> >>> >> >>> method name: insert
>> >>> >> >>> class name: cts/version/tool.rkt:176:9
>> >>> >> >>>
>> >>> >> >
>> >>> >> >
>> >>> >> > ____________________
>> >>> >> >   Racket Users list:
>> >>> >> >   http://lists.racket-lang.org/users
>> >>> >> >
>> >>> >
>> >>> >
>> >>
>> >>
>> >
>
>


Posted on the users mailing list.