all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: "Stephen J. Turnbull" <stephen@xemacs.org>
Cc: andreas.roehler@online.de, emacs-devel@gnu.org
Subject: Re: Is intellisense features integration in	Emacs	technically	possible?
Date: Wed, 22 Jan 2014 18:03:18 +0200	[thread overview]
Message-ID: <83fvogf1h5.fsf@gnu.org> (raw)
In-Reply-To: <87txcw8r9h.fsf@uwakimon.sk.tsukuba.ac.jp>

> From: "Stephen J. Turnbull" <stephen@xemacs.org>
> Cc: Andreas Röhler <andreas.roehler@online.de>,
>     emacs-devel@gnu.org
> Date: Wed, 22 Jan 2014 15:28:10 +0900
> 
>  > > Bidirection is at the core of any editor - thanks a lot BTW.
>  > > Intellisense features must come from accessing the programming
>  > > languages itself.
>  > 
>  > Both are extremely important for a modern programmer's editor.  So I
>  > don't see the difference, really.
> 
> There's a big difference.  Specifically, intellisense in the abstract
> is basically completion, the change in UI is a SMOP, and people have
> shown a lot of interest in the UI.  Something will happen, although
> I'm not sure how close it will be to Visual Studio.
> 
> What's left to compare is necessary skills.  Adding bidirection
> requires intimate knowledge of both UAX#9 and the Emacs display
> engine, and greatly benefits from a native knowledge of what "properly
> formatted Hebrew" (or Arabic) looks like.  Not many folks with those
> qualifications, or who want to acquire them.

With around 550 million people speaking R2L languages world wide, I
think "not many" is somewhat accurate.  According to this:

  http://java.dzone.com/articles/how-many-java-developers-are

there are between 6.8 and 10.7 million Java developers in the world,
out of 5 billion people living in developed regions, which means tens
of thousands of Java developers in R2L cultures.  All of them are
potential candidates to want this in Emacs (and that's for Java
alone).  I won't be surprised if the numbers for Python or Ruby or C++
are higher.

> It also may as well be done all-at-once because UAX#9 exists -- we
> don't need to fool around and figure out what is a good algorithm.
> We already have a good one, the only question is whether our
> implementation is correct.

Not true.  All the implementations of the UBA I know of are not good
for Emacs, because they are batch implementations: they reorder chunks
of text in one go.  By contrast, the Emacs display engine examines
buffer text one character at a time, and so needed a _sequential_
implementation of the UBA.  Moreover, the UBA itself is described in
the Unicode Standard assuming batch-style reordering, evidently
because it was written by people who either don't understand the
difference between requirements and implementation, or didn't bother
to formulate requirements, assuming that only batch-style
implementations will be needed anyway.

So the job actually constituted mentally reverse-engineering the UBA
to formulate the missing requirements, then implementing that.

And, to add insult to injury, Unicode 6.3 made 2 significant changes
in the UBA, which means Someone™ will now have to go back and extend
all that to support the new features.  Not really a once-and-for-all
job, I'd say.

> So it's a big job few can tackle.

Not sure how you took this leap of logic: if the algorithm is clear,
why shouldn't it be possible for more than "a few" to come up with a
suitable implementation?  And in fact, at the time the bidi support in
Emacs was actively discussed (I'm talking around 2001), there were at
least 3 candidate implementations proposed, and 2 of them were
actually prototyped in Emacs.  More than enough to start with.

And still, nothing happened for 10 more years.  So clearly, other
factors are at work that determine if and when some major feature is
implemented in Emacs.

> Adding a new language to intellisense, OTOH, is something anybody who
> uses the language and knows enough Elisp to write defuns in their
> .emacs can help with.  Nor does it need to be done all-at-once, as
> long as the basic interface makes it easy to say "shut up and let me
> type" case by case

I think you are arguing here that adding Intellisense is a smaller job
than the display rewrite or bidi -- in which case I'm in violent
agreement.




  reply	other threads:[~2014-01-22 16:03 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-21  2:01 Is intellisense features integration in Emacs technically possible? Jorge Araya Navarro
2014-01-21 18:59 ` Tom
2014-01-21 19:29   ` Eli Zaretskii
2014-01-21 19:58     ` Tom
2014-01-22  3:53       ` Eli Zaretskii
2014-01-22  4:36         ` Óscar Fuentes
2014-01-22  6:31           ` David Kastrup
2014-01-22  7:26             ` Stephen J. Turnbull
2014-01-22  8:13               ` David Kastrup
2014-01-22  9:33                 ` Stephen J. Turnbull
2014-01-22 11:02                   ` David Kastrup
2014-01-22 13:35                 ` Stefan Monnier
2014-01-22 16:04               ` Eli Zaretskii
2014-01-23  8:13                 ` Stephen J. Turnbull
2014-01-23  8:44                   ` David Kastrup
2014-01-23 16:19                   ` Eli Zaretskii
2014-01-24  2:57                     ` Stephen J. Turnbull
2014-01-24  7:43                       ` Eli Zaretskii
2014-01-22  8:49           ` Rüdiger Sonderfeld
2014-01-22 11:53             ` Óscar Fuentes
2014-01-22 15:56               ` Eli Zaretskii
2014-01-22 18:46                 ` Stefan Monnier
2014-01-22 19:10                   ` David Engster
2014-01-22 16:52               ` David Engster
2014-01-22 15:59           ` Eli Zaretskii
2014-01-22 16:41           ` David Engster
2014-01-22 17:16             ` Dmitry Gutov
2014-01-22 17:36               ` David Engster
2014-01-22 18:12             ` Óscar Fuentes
2014-01-22 18:34               ` David Engster
2014-01-21 20:03     ` Andreas Röhler
2014-01-22  3:54       ` Eli Zaretskii
2014-01-22  6:28         ` Stephen J. Turnbull
2014-01-22 16:03           ` Eli Zaretskii [this message]
2014-01-23  7:54             ` Stephen J. Turnbull
2014-01-22 17:29     ` Phillip Lord
2014-01-22 18:49       ` Jorgen Schaefer
2014-01-23  9:00         ` Andreas Röhler
2014-01-23 19:34           ` Jorgen Schaefer
2014-01-23 13:20         ` Phillip Lord
2014-01-23 15:12           ` Stefan Monnier
2014-01-23 20:56             ` Jorgen Schaefer
2014-01-23 22:13               ` Stefan Monnier
2014-01-23 22:43                 ` Jorgen Schaefer
2014-01-24  1:40                   ` Stefan Monnier
2014-01-24 10:25                     ` Jorgen Schaefer
2014-01-24 12:46                       ` Thien-Thi Nguyen
2014-01-24 13:20                       ` Stefan Monnier
2014-01-25 23:42                     ` Dmitry Gutov
2014-01-24 11:58               ` Phillip Lord
2014-01-25 23:53               ` Dmitry Gutov
2014-01-26 10:15                 ` Jorgen Schaefer
2014-01-26 23:04                   ` Dmitry Gutov
2014-01-23  2:22       ` Eric M. Ludlam
2014-01-23 13:26         ` Phillip Lord
2014-01-21 19:53   ` David Engster
2014-01-21 20:07     ` Tom
2014-01-21 20:13       ` David Engster
2014-01-21 20:24         ` Tom
2014-01-21 22:50           ` David Engster
2014-01-22  3:55           ` Eli Zaretskii
2014-01-23  9:16             ` Andreas Röhler
2014-01-23 17:17               ` Richard Stallman
     [not found] <mailman.172802.1390363342.10747.emacs-devel@gnu.org>
2014-01-22  7:39 ` Jorge Araya Navarro
2014-01-22 15:39   ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83fvogf1h5.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=andreas.roehler@online.de \
    --cc=emacs-devel@gnu.org \
    --cc=stephen@xemacs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.