Surely it can depend on the computer and the kind of work you need to do. But I doubt there are any systems which "just work" for every single use case and scenario in the world. So if you found something that fits your particular needs (and wasn't achievable on Linux) - good. But for many use cases Linux is even better than Mac OSX. So it depends.
Of course you're right about the corner cases where somebody has particular requirements, but I'm also counted among the Linux-to-Mac migration. I couldn't afford the amount of time I was spending just to keep my desktop functioning, so I got a macbook. I run a dozen Debian or Ubuntu servers, but my primary workstation is a mac laptop.
Honestly, this article made me realize how much I take it for granted that all of the LCD projectors and dual-monitor setups I've encountered in the last half-decade have just worked with my mac. I thought back to 1999, when I got my first Xinerama dual-head setup working with X11 after about 4 hours of work...
xf86config? Oh the pain! One of the video cards was running at 50hz in 15-bit color mode. Madness.
I'm using "Nvidia X Server settings" tool for setting multiple monitors. Never had any problems with it on my Debian testing. And configuring system is usually trivial. How long ago did you stop using Linux for the desktop? If it was indeed around 1999 - then really, try again. Linux is not standing in one place.
Do any of these IRB alternatives support multi-line history? I want to define a function, press up and have the whole function definition there instead of the last line of it -- how it works with Clojure's REPL.
I just implemented it for ripl, http://github.com/cldwalker/ripl, in two ways: https://gist.github.com/939846. First way would put it in your history as a one-liner. The second would let you edit the last code block in your editor. The gist shows an example.
If you want to try this out, simply `gem install ripl ripl-multi_line` and add the gist to ~/.riplrc. Since this is a hack, I would open an issue on https://github.com/janlelis/ripl-multi_line/issues if you want it to be done properly.
If you were talking about using readline's multi-line history, I'm not sure if ruby's readline library has an api to it. Would be useful.
You can change the behavior with the Ripl.config[:multi_line_history] option. Possible values:
* :compact - transform the last statement into a ; separated one-liner
* :block - just join the last multi-line statement to one block ("\n")
* :blank - do nothing
Python's IDLE does this as well. It's hugely frustrating in other REPLs (irb, iPython) to type out a 5-line block only to find that you missed a keystroke on line 2. I'm hoping there's a keyboard shortcut I don't know about.
It does work in ipython it just is annoying to navigate and you have to rely on the automatic indenting a bit more if you are adding anything (as the ...: is missing).
Unless of course you mean history through different sessions as that doesn't work for full functions.
Indents are included with a simple up arrow with ipython, it also works if you are doing a backwards search (C-r), it just doesn't have the nice formatting you get when you first write the function.
Just compile the CVS version and use that, then? That's what many of us have been doing for years -- Emacs 23's exciting new features are mostly very old news :)