Emacs influence on Ruby

Who would’ve thought that Ruby’s block ‘end’ keyword was created to facilitate Emacs? Oh man!

When [Matz] was first starting out writing Ruby, he was coding the Emacs ruby-mode.el for it at the same time. He expressed some frustration with modes for other languages like Python and Pascal in which the editor could not look at a line of code and figure out where it should be indented to, so he resolved that Ruby as a language should not fall into that particular trap. With that in mind he chose the end keyword as a block delimiter so that it would be easier to write an Emacs mode for.

Enhanced Emacs Support for Editing and Running Scheme Code

Neil Van Dyke is a hacker, researcher, Emacs wiz, blogger, and producer of numerous of Scheme libraries. One of his packages, Quack is of particular interest to Emacs using Schemers.

Addendum: 8/1/8

New feature: compile mode can navigate from PLT setup-plt errors.

Switching Caps Lock with Control on Windows

Getting the control key “back into the right spot” on PC keyboards is a goal shared between Emacs and UNIX folks. The following are a collection of links on how to do so (this list is sure to grow):

Addendum: 10/01/08

The Sysinternals solution is excellent, but it throws away caps lock. This was fine for me for a while, but believe it or not, now I need it back. As such, I now employ the solution found here.

Addendum: 1/11/11

This approach does not work on Windows 7 (I just started using Win7 this week).

KeyMapper works brilliantly though.

(via emacswiki)

Addendum: 2014-12-10

Coming back to Windows I found that KeyMapper quit working for me.

AutoHotkey seems to be doing the job of swapping:

  • caps lock with left control
  • left control with caps lock
  • enter with right control
  • right shift with enter
    • Seems to be the best way to use any keyboard out there
  • scroll up and down on the wheel mouse

Alt (Meta) - Enter doesn’t seem to work.

I’ll keep at it. Here is the config.

WheelUp:: 
Send {WheelDown}
Return

WheelDown::
Send {WheelUp}
Return

Capslock::Ctrl

LCtrl::CapsLock

Enter::RCtrl

RShift::Enter