Emacs: JavaScript Mode War (2008)

By Xah Lee. Date: . Last updated: .

In Emacs 23.2 (released 2010-05), a JavaScript mode is finally bundled.

emacs js mode news 2019-06-01 mtf6j
Emacs 23.2 (Released 2010-05)

here's the full story.

back in 2008, when Steve Yegge wrote the js2-mode

[js2-mode: a new JavaScript mode for Emacs By Steve Yegge. At http://steve-yegge.blogspot.com/2008/03/js2-mode-new-javascript-mode-for-emacs.html , accessed on 2016-11-30 ]

back then Emacs did not ship with a js mode. There are js modes out there, but Yegge's js2 mode is revolutionary. It checks syntax on the fly. 10k lines of elisp by the finest programer. It's not just a dumb mode that color text as vast majority of emacs's lang modes are.

Yegge humbly offered this mode to the emacs dev list. Yegge, was a programer internet star. But on the emacs dev list, everyone is treated like a dog, unless you are rms. But still, Yegge, very humbly offered to do whatever GNU emacs dev requires to get the mode bundled with emacs. The GNU emacs dev community is pretty slacking, there is no process, lots arguments. Nobody seems to care about a js mode. (JavaScript back then is much ridiculed, along with PHP. To date, no PHP mode is bundled with emacs.) Back then the official emacs leader is Stefan Monnier. But he didn't seem to have much to say, almost like doesn't even know what js is.

then, comes out this guy, Daniel Colascione, who bitched about why emacs should not add this bloated Yegge thing, why it isn't just basic using emacs basic coloring basics and basics and get on with the emacs traditional way, and he offered his own, actually, a simplistic js mode named expresso mode by Karl Landstrom, really basic, and Daniel took over. And basically, that's the end of story. A great advancement in emacs is dispelled.

Full thread on “js2-mode” at http://lists.gnu.org/archive/html/emacs-devel/2009-08/threads.html. Look for subject name “Why js2-mode in Emacs 23.2” dated 2009-08-09.

See also: Emacs: Ugly Redisplay Internals Hack (2016)

Emacs, History, Dramatis Personae


Reddit discussion, “lets make the gc safe and iterative ” https://www.reddit.com/r/emacs/comments/81kbnj/lets_make_the_gc_safe_and_iterative_was_re/

my comment:

of this thread,

Stefan Monnier, is the previous emacs maintainer for many years. He's a professor of functional programing language research. I like.

Paul Eggert is maintainer of bison. I am not sure who he is, but probably old lisper and C coder. I like. He, implemented “curly quotes” in emacs inline string in 2015, which generated a flamewar, started by one of the most idiotic emacs dev Alan Mackenzie.

Stefan Monnier was the maintainer at the time. As far as i know, he did not say it should be reverted. But, in the end, the improvement got killed by a non-maintainer and non-coder rms. The reason this guy gave was “please don't”.

Alan Mackenzie, is a old lisper, who is cc-mode maintainer for 10 or perhaps more years now. He, is a ascii sticker. Back in 2007 or so, he is of the opinion that any messages should not contain unicode. His opinions about emacs, on anything, i find the most worth free. And he is active in pushing emacs the way he likes, in any UI improvement flamewar.

Daniel Colascione, is relatively a young man. He came to fame in 2016, by writing an article exposing how lousy is emacs's 30 or 40 years old implementation of GUI/X11. https://www.facebook.com/notes/daniel-colascione/buttery-smooth-emacs/10155313440066102 I believe he works at facebook.

Daniel, i recall, is the person, single handedly, killed a major emacs progress in 2009. Back then, emacs doesn't have a JavaScript mode. Steve Yegge, a well known programer star, created one, js2-mode, that features a on-the-fly syntax checker. He submitted to emacs dev, begged to be included. But a guy from nowhere, loudly claimed emacs should not include a monster. Nobody said anything in emacs dev. The maintainer was Stefan Monnier. At the time, nobody cared or even know about js. As far as i know, Stefan did not say anything. In the end, a simplistic js mode, which was named expresso mode by Karl Landstrom (old lisper), which Daniel maintains, got included in emacs, renamed javascript-mode.

my JavaScript mode, written from scratch of recent years, doesn't do much, is better than the js mode included in emacs. [see Emacs: Xah JS Mode (JavaScript)]

Daniel, from the little i know of him, has grown, and i think he is one of the few capable of rewriting emacs from scratch.

Impressions. Impressions. It's all impressions. History, is made of your impressions.