<div dir="ltr">On Fri, Nov 29, 2013 at 5:19 PM, Robby Findler <span dir="ltr"><<a href="mailto:robby@eecs.northwestern.edu" target="_blank">robby@eecs.northwestern.edu</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><span style="color:rgb(80,0,80)">On Fri, Nov 29, 2013 at 3:10 PM, </span><span dir="ltr" style="color:rgb(80,0,80)"><<a href="mailto:jab@math.brown.edu" target="_blank">jab@math.brown.edu</a>></span><span style="color:rgb(80,0,80)"> wrote:</span><br>
<div class="gmail_extra"><div class="gmail_quote"><div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div>On Thu, Nov 28, 2013 at 10:33 PM, Robby Findler <span dir="ltr"><<a href="mailto:robby@eecs.northwestern.edu" target="_blank">robby@eecs.northwestern.edu</a>></span> wrote:<br>
</div><div class="gmail_extra">
<div class="gmail_quote"><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">Oh, I should have done that long ago. I've pushed something that lets you use alt as meta. </div>
</blockquote><div><br></div></div><div>Just found it at <a href="https://github.com/plt/racket/commit/d95a6b02" target="_blank">https://github.com/plt/racket/commit/d95a6b02</a>. Thank you for adding this! And so quickly, to boot!</div>
<div><br>
</div><div>Can't wait to be able to use it. Extrapolating based on the release dates of the last few versions, the next release should be out soon, I take it? Is there a way to get Alt as Meta working in the meantime?</div>
<div><br></div></div></div></div></blockquote><div><br></div></div><div>You can build racket (it isn't too hard once you have the dev stuff installed), or you can get the latest snapshot which, I believe, has that commit: <a href="http://plt.eecs.northwestern.edu/snapshots/" target="_blank">http://plt.eecs.northwestern.edu/snapshots/</a></div>
</div></div></div></blockquote><div><br></div><div>Just grabbed <a href="http://plt.eecs.northwestern.edu/snapshots/current/installers/racket-test-6.0.0.1-x86_64-macosx.dmg" target="_blank">this</a> and sure enough, found "Treat alt key as meta" under Preferences > Editing > General. Excellent!</div>
<div><br></div><div>Trying it out and so far so good, except for Alt-p/n. Rather than going backward/forward in command history like Esc-p/n, they're still getting the standard OS X behavior (printing "π" / attaching ~ to next character, respectively).</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">
<div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">
<div></div><div>I've already figured out how to add a user-defined keybindings file to map Ctrl+w to "backward-kill-word", as in the shell. In case it helps anyone else:</div><div><br></div></div></div>
<blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px">
<div class="gmail_extra"><div class="gmail_quote"><p style="margin:0px;font-size:11px;font-family:Menlo"><span style="color:rgb(229,229,229);background-color:rgb(229,33,0)">#lang</span> s-exp framework/keybinding-lang</p>
<p style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px"><br></p>
<p style="margin:0px;font-size:11px;font-family:Menlo"><span style="color:rgb(213,59,211)">(</span><span style="color:rgb(206,121,36)">define</span> <span style="color:rgb(213,59,211)">(</span>rebind key command<span style="color:rgb(213,59,211)">)</span></p>
<p style="margin:0px;font-size:11px;font-family:Menlo"> <span style="color:rgb(213,59,211)">(</span>keybinding</p>
<p style="margin:0px;font-size:11px;font-family:Menlo"> key</p>
<p style="margin:0px;font-size:11px;font-family:Menlo"> <span style="color:rgb(213,59,211)">(</span><span style="color:rgb(229,229,229);background-color:rgb(229,33,0)">λ</span> <span style="color:rgb(213,59,211)">(</span>ed evt<span style="color:rgb(213,59,211)">)</span></p>
<p style="margin:0px;font-size:11px;font-family:Menlo"> <span style="color:rgb(213,59,211)">(</span>send <span style="color:rgb(213,59,211)">(</span>send ed get-keymap<span style="color:rgb(213,59,211)">)</span> call-function command ed evt <span style="color:rgb(195,55,32)">#t</span><span style="color:rgb(213,59,211)">))))</span></p>
<p style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px"><br></p>
<p style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(195,55,32)"><span style="font-size:11px;color:rgb(213,59,211)">(</span><span style="font-size:11px;color:rgb(0,0,0)">rebind </span><span style="font-size:11px">"control:w"</span><span style="font-size:11px;color:rgb(0,0,0)"> </span><span style="font-size:11px">"backward-kill-word"</span><span style="font-size:11px;color:rgb(213,59,211)">)</span><br>
</p></div></div></blockquote><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div><br></div><div>Similarly I'd like to map Ctrl-u to "delete-to-beginning-of-line", but it looks like that function doesn't come out of the box, and I haven't yet tried to figure out how to add it.</div>
<div><br></div></div></div></div></blockquote><div><br></div></div><div>You want look at the methods of text% (of which ed is one), specifically for the position-paragraph and related methods.</div></div></div></div></blockquote>
<div><br></div><div>Thanks Robby, I'll take a look for this.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div></div><div>One last behavior I miss from the shell (as well as other GUI IDEs with REPLs, such as Python's IDLE) is the default mapping of Ctrl-p/Ctrl-n to "previous/next command from history" rather than "move the cursor up/down", which I need much less often. Tried to figure out how to change this, but didn't see where the Meta-p/Meta-n mappings were defined in collects/framework/private/keymap.rkt in the first place.</div>
<div><br></div></div></div></div></blockquote><div><br></div></div><div>The names of various existing key bindings are listed in the Edit|Keybindings|Show Active Keybindings... menu item.</div><div><div></div>
</div></div></div></div></blockquote><div><br></div><div>Thanks for the tip! Looking there I found esc;p bound to put-previous-sexp, so I added (rebind "c:p" "put-previous-sexp") to my keybindings file and it worked like a charm. Thanks, Robby!</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">
<div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div></div><div> Any advice on these would be much appreciated. And I'll start a new thread if this is getting too off-topic for this one.</div><div>
<div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir="ltr">The docs are wrong, tho, because even with the release version you should be able to use command as meta (not that you really want to...)</div></blockquote><div><br></div></div><div>(I didn't see a Command as Meta option in preferences, but you're right that I don't want that anyway.)</div>
<div><br></div></div></div></div></blockquote><div><br></div></div><div>Which OS are you using?</div></div></div></div></blockquote><div><br></div><div>Oops, "Treat command key as meta" was there all along, I just missed it. Sorry about that.</div>
<div><br></div><div>Relatedly, if I ever start hacking on the DrRacket source, I'll look out for a chance to add search to the Preferences dialog (à la Eclipse, System Preferences, etc.).</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div></div><div>Thanks again for your help, Robby, and happy Thanksgiving weekend to everyone celebrating.</div><div><div><br></div></div></div></div>
</div></blockquote><div><br></div></div><div>Happy Thanksgiving to you too.</div></div></div></div></blockquote><div><br></div><div>Thanks, and thanks again for all your help.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span><font color="#888888"><div></div><div>Robby</div></font></span><div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir="ltr"><div>Robby</div></div><div class="gmail_extra"><br><br><div class="gmail_quote"><div><div>On Wed, Nov 27, 2013 at 9:43 PM, <span dir="ltr"><<a href="mailto:jab@math.brown.edu" target="_blank">jab@math.brown.edu</a>></span> wrote:<br>
</div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div><div><div dir="ltr"><div>Hey Racket Users,</div>
<div><br></div><div>Just trying Racket for the first time, and very excited to finally be learning it! I've been wanting to for years.</div>
<div><br></div><div>Just had my first encounter with DrRacket, and am trying to get comfortable with keyboard input. According to <a href="http://docs.racket-lang.org/drracket/Keyboard_Shortcuts.html" target="_blank">http://docs.racket-lang.org/drracket/Keyboard_Shortcuts.html</a>,</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">On Windows and Mac OS X, Meta is only available through the Escape key.<br>
</blockquote><div><br></div><div>Sorry to see it's not possible to bind the Alt/Option key to Meta, as it is with e.g. Terminal.app, as it would be a huge usability win; the Escape key on most keyboards is one of the hardest to reach, aggravating RSI the world over. In <a href="http://lists.racket-lang.org/users/archive/2010-August/041085.html" target="_blank">http://lists.racket-lang.org/users/archive/2010-August/041085.html</a>, a post from 2010, Matthew Flatt alludes to adding support for Option as Meta after a soon-coming GUI rewrite, but I found no further mention of it here, on GitHub (<a href="https://github.com/plt/racket/search?q=meta&type=issues" target="_blank">https://github.com/plt/racket/search?q=meta&type=issues</a>), or elsewhere.</div>
<div><br></div><div>Just thought I'd inquire again about the possibility. On the off chance it's a matter of submitting a newcomer-friendly patch, I'd be delighted to give it a shot.</div><div><br></div><div>
Thanks for reading, and thanks for the great work on Racket.</div>
</div>
<br></div></div>____________________<br>
Racket Users list:<br>
<a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
<br></blockquote></div><br></div>
</blockquote></div></div><br></div></div>
</blockquote></div></div><br></div></div>
</blockquote></div><br></div></div>