Cocoa Emacs 23.1, CVS Builds, and the NextStep port

I’ve been providing nightly builds of Emacs CVS HEAD for Mac OS X for a few months now. I’m going to keep building them, since the NS port is in bad shape and CVS should surpass 23.1 soon.

Moving forward, I hope to transition the nightlies to S3 and build them from Git instead of CVS.

Cocoa Emacs 23.1

For people who prefer the stable release, I built Cocoa Emacs 23.1. This is a vanilla build of the official release.

What’s wrong with the NS port?

Lots. It’s significantly slower, less stable, and lacks features which were in the 22.x Carbon port, like fullscreen. It’s really not ready for prime time, and it sucks that people will get such a bad experience on OS X. What sucks even more is that new users will get a bad first impression. This could have been a chance to turn people on to Emacs and GNU software, but it’s more likely to alienate them instead.

The Carbon port was discontinued in the hopes that a single NextStep port could work on OS X and GNUStep. Unfortunately, relatively few people cared to work on it, and the result is that the stable Carbon port is dead and it’s replacement just isn’t as good. I also hear that the GNUstep builds are completely broken, though I haven’t personally verified such.

The politics of GNU bear some of the blame, too. Non-free platforms like Macintosh are second class citizens in their eyes, and there is very little desire to improve the experience of GNU software on them. The idea being that if they want things to work well, they should use GNU/Linux instead.

This is backwards, painfully stupid and wrong. If a user tries some of your software and it sucks, they’re going to stop using all of your software. Nobody is going to use crap software and think it’s a great idea to switch to a whole platform of it.

2009/08/02
Previously On Atomized:

Discussion

I was also annoyed by the poor quality of the Next Step port, but It seems the CVS – version of Next Step Emacs is already plenty of faster – having only used it for two days I can not tell if it is also more stable, but no problems so far.

Sigurd Meldgaard
2009/08/02

> Non-free platforms like Macintosh are second class citizens in their eyes, and there is very little desire to improve the experience of GNU software on them. The idea being that if they want things to work well, they should use GNU/Linux instead.

Put this another way: why penalize GNU/Linux and Windows users by delaying the release for them, just to wait for the Mac OS X support to improve?

foeba
2009/08/02

@foeba Nice try, troll. Last I checked, Windows was less free than OS X.

Why penalize OS X users by directing more effort at a competing non-free platform?

Ian
2009/08/02

ok, so what have you done about it other than whine about it?
the gnu guys are mostly volunteers who can work on whatever they want; they are not slaves who do your bidding.

getreal
2009/08/02

Ian, the GNU project developement is only limited by the amount of people willing to develop software for it. And, because GNU is about freedom, it is simply natural that non-free target systems priority is lower that the free counterpart, especially since there is plenty of the later nowaday.
So you want to use a GNU tool on a non-free system ? No problem, that’s part of your freedom, but you may have to do it yourself or find somebody to do it.

My guess is that non-free targets care will decrease steadily, simply because developers are leaving them so less people care.

Paul
2009/08/03

>Non-free platforms like Macintosh are second class citizens in their eyes, and there is very little desire to improve the experience of GNU software on them.

Then why is Emacs on GNUstep much worse than on Mac OS X? The answer is really obvious: lack of developers. There aren’t many (Emacs) developers using OS X, and there are even less using GNUstep. You make it look like the developers deliberately crippled the NS port, and that is simply not true and unfair to the people who invested much work in this port.

It is true that the NS port has problems, but concentrating the work on this port instead of still working with the “dated and eventually discontinued” Carbon was the right choice. And anyway, you can always compile Emacs for X11 and use Xquartz, which will give you an Emacs practically indistinguishable from GNU/Linux (I know that Xquartz has problems of its own, but that’s not Emacs’ fault).

David
2009/08/03

I don’t mind Emacs releasing a new major version with problems on one widget set of one platform. (I’m sure you can use the GTK bindings under X11.app if you want.) I just hope that work is ongoing and that the plan is to fully support Emacs under Cocoa.

Personally, I’m sticking with 22 until things settle down.

phil
2009/08/03

> Non-free platforms like Macintosh are second class citizens in their eyes, and there is very little desire to improve the experience of GNU software on them. The idea being that if they want things to work well, they should use GNU/Linux instead.

This has absolutely nothing to do with the quality of the NextStep port.
The reason that the Carbon port was removed was that its maintainer refused to maintain it, so it become non-functional given all the large infrastructure changes when merging the unicode and multi-tty branches. Nobody volunteered to make it work either.

The problem with the NS port is that almost none of the usual emacs contributors has access Macs, and that there are a lot of people that are more than willing to report problems with the port, but just the maintainer works on fixing them. It’s hard to guess why Mac users are not interested in fixing problems.
There are many issues with the NS port that are trivial to fix, but without access to a machine to test on most people won’t be able to do it.

Contributions are certainly most welcome.

q
2009/08/04

> Non-free platforms like Macintosh are second class citizens in their eyes, and there is very little desire to improve the experience of GNU software on them.

I hear a lot of Mac users complaining about this, but precious few doing anything about it. I won’t say that’s typical of Mac users, but it is definitely discouraging.

As for Windows, there simply more developers on that platform who care enough to fix the problems. It has nothing to do with the FSF prioritizing Windows over OS X.

Phil
2009/08/04

It may not be for everyone but the X11 version using gtk works very well on the Mac. You can either make it yourself or use Macports (which will hopefully be upgraded to 23.1 soon) using “sudo port install emacs +gtk”. This gives me focus follows mouse between emacs frames (and all X11 windows). This alone makes it better than the Emacs.app version IMNSHO. And recent versions of X11 are very nice on Mac OS X.

Does anyone know if Emacs.app could implement focus follows mouse?

Bob
2009/08/04

You are right in saying that there are not enough people sending patches for osx etc but you can not absolve the FSF and Stallman. They are the ones who made the decision to drop the very stable Carbon port and introduced all these problems by merging a completely UNSTABLE codebase in the form of ‘ns’. This is outrageous and it gets more worrying if you think that they did it to support GNUstep which is FUCKING DEAD.

More ironic is the fact that Stallman himself killed it when he stupidly backed gnome to save us all from the evils of QT and KDE.

Solution: Lock Stallman up, free Emacs from his influence, technology first politics last.

john
2009/08/06

Bob: Anyone recommending use of X11/gtk on osx should have himself committed before he ends up in a psychotic episode where others are hurt.

I can understand that there are a lot of crazy people in this world and that is absolutely fine with me as long as they keep a certain distance. I hope you realize that your suggestions of adopting the most braindamaged of the unix braindamage are not to be taken seriously, in fact i can’t even see them as interim measures. I won’t comment on your focus-follows-mouse requirement although i think it provides us with an excellent characterization of your frame of mind.

john
2009/08/06

[...] Note: There is more information about compiling a 64-bit version of Emacs.app at this blog post, this mailing list thread, and this blog post. [...]

Emacs.app on Mac OS X Snow Leopard 10.6 « Michael V. O’Brien
2009/10/07

Participate