[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Why js2-mode in Emacs 23.2?

From: Stefan Monnier
Subject: Re: Why js2-mode in Emacs 23.2?
Date: Sun, 09 Aug 2009 22:55:33 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (gnu/linux)

>> Why not fix bugs in js2-mode? Having two packages providing similar
>> features is a burden to maintainers as well as users.

> Because js2-mode is an abomination? Oh, it's not so bad that it's slow
> and unmaintained: that description applies to lots of code in Emacs.
> The problem is that js2-mode operates fundamentally differently from
> other modes, eschews font-lock, parses the buffer *asynchronously*,
> and generally goes against every possible convention for implementing
> a major mode.

Here's the story as I remember it: a year or two ago, someone asked for
a Javascript major mode to be included.  It sounded like a good idea,
and some people pointed out the then-brand-new js2-mode which was pretty
impressive featurewise.
Then time passed and js2-mode didn't get installed early enough.  So it
finally got installed recently.  I think it's good.  AFAIK its author is
still around and maintaining it (he's the one who installed it into the
CVS and he made some changes at this occasion, such as bringing all the
code into a single file).
So I do believe js2-mode is maintained.  Also, while it it unusual,
I think it's a very interesting experiment in how Emacs could evolve
(similarly to CEDET).

This also means that an alternative javascript-mode might be acceptable.
But you guys need to agree on which one will be the default mode (I
suggest to make auto-mode-alist bind *.js files to javascript-mode and
then make that into an alias that can easily be changed).  Also the
alternative mode needs to be as lean/simple/clean as possible (e.g. when
bumping into limitations of the generic Emacs support code, it'd be
better to live with it until it gets fixed (and/or get the generic code
fixed) than trying to work around it).


reply via email to

[Prev in Thread] Current Thread [Next in Thread]