all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Stephen J. Turnbull" <stephen@xemacs.org>
To: grischka <grishka@gmx.de>
Cc: emacs-devel@gnu.org
Subject: Re: redisplay system of emacs
Date: Sat, 30 Jan 2010 14:39:48 +0900	[thread overview]
Message-ID: <87aavwrw0r.fsf@xemacs.org> (raw)
In-Reply-To: <4B633B7C.8030700@gmx.de>

grischka writes:

 > But as is, emacs comes with an implicit structural clause to its
 > license, as in "[You may convey a work based on the Program, ...]
 > BUT WE DO OUR BEST TO PREVENT THAT."

That's simply not true.  There have historically been a large number
of editors based on Emacs code, some of which are in active
development (of course XEmacs is an example, and many wilder
alternatives have existed: pymacs, perlmacs).  And every long time
user has more or less substantial app-specific code in their init
file, while many have private branches, sometimes shared with friends.
Corporate IT departments often have quite substantial applications
built on Emacs (a friend of mine feeds his family by maintaining a bug
database query frontend in Emacs Lisp for a leading technology company
-- that's his fulltime job).

I can say to those who say "we can rebuild Emacs using third-party
libraries and it would be more maintainable and flexible" that XEmacs
has tried that several times for different areas of functionality, and
for one reason or another the code has always come back out again.  In
fact, those third party libraries have always either turned out to
lack the flexibility demanded by an editor application, or to be less
stable than XEmacs itself, and since they didn't offer any high-level
capabilities that couldn't be coded in three lines of Lisp, they went
back on the shelf.

Of course low-level facilities like displaying glyphs from fonts are
best done with specialized libraries.  Guess what?  Emacs uses native
X for legacy fonts, but it doesn't go to Xrender for scalable fonts,
it uses freetype and/or Xft.  But even at the level of displaying
images which you would think would be eminently suitable for a third-
party library like libmagick or maybe netpbm, XEmacs was forced to
abandon its attemtp to use libmagick as a common interface to all
image formats, and go back to direct support of the various underlying
libraries such as libjpeg and libungif -- which itself turned out to
be too unstable, so instead of using it, we had until recently a
locally hacked code based on an older version.  Today, we've gone back
to using giflib directly and libmagick is probably stable enough to
use as a replacement for our custom high-level code, but if you were
to try to use all of the various libraries proposed to replace core
Emacs functionality, some would be lemons and you'd take two steps
back for every step forward.

You can complain that "plugins" should be written in a more popular
language like Python or Visual BASIC<snort />, of course, but as
several others have pointed out, you would not be able to take
advantage of 3 decades worth of Lisp libraries in doing that, and
often the libraries available in Python or Ruby are more buggy because
much younger.

And if you look at what people who want a non-Emacs advanced editor
for their Python or Ruby projects do, they don't write it in Python or
Ruby.  (Yes, I know about IDLE, and it's not an advanced editor, nor
is it as easy to extend as Emacs.)  No, they go hack on vim!

As for browsing 1GB (well, for Emacs it would be 256MB, I guess?) log
files, there's nothing like (X)Emacs!




  reply	other threads:[~2010-01-30  5:39 UTC|newest]

Thread overview: 125+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-29 19:48 redisplay system of emacs grischka
2010-01-30  5:39 ` Stephen J. Turnbull [this message]
2010-01-30  9:53   ` David Kastrup
2010-01-30 11:01     ` Stephen J. Turnbull
2010-01-30 11:08       ` David Kastrup
2010-01-30 11:54         ` Paul R
2010-01-30 13:52           ` Stephen J. Turnbull
2010-01-30 11:24       ` Eli Zaretskii
2010-01-30 12:53       ` Alan Mackenzie
2010-01-30  9:57   ` Eli Zaretskii
2010-01-30 11:46 ` Richard Stallman
2010-01-30 12:11   ` Paul R
2010-01-30 13:26     ` Alan Mackenzie
2010-01-30 13:42       ` David Kastrup
2010-01-30 13:49       ` Juanma Barranquero
2010-01-30 13:54       ` Paul R
2010-01-30 15:15         ` Stephen J. Turnbull
2010-01-30 15:07       ` Stephen J. Turnbull
2010-01-31 12:41     ` Richard Stallman
2010-01-31 16:36       ` grischka
2010-02-01 21:06         ` Richard Stallman
2010-02-02  3:32           ` Stephen J. Turnbull
2010-02-02 21:21             ` Richard Stallman
2010-02-02 21:42               ` David Kastrup
2010-02-03  0:24                 ` Lennart Borgman
2010-02-03  6:45                   ` David Kastrup
2010-02-03 13:34                 ` Richard Stallman
2010-02-03 14:15                   ` David Kastrup
2010-02-03 14:18                     ` Daniel Colascione
2010-02-04 11:01                       ` Richard Stallman
2010-02-03  2:48               ` Stephen J. Turnbull
2010-02-03 12:19                 ` Juanma Barranquero
2010-02-04 11:00                   ` Richard Stallman
2010-02-04 11:06                     ` Juanma Barranquero
2010-02-05 12:44                       ` Richard Stallman
2010-02-05 18:37                         ` grischka
2010-02-03 13:34                 ` Richard Stallman
2010-02-03 17:26                   ` Stephen J. Turnbull
2010-02-03 17:45                     ` David Kastrup
2010-02-03 18:35                     ` grischka
2010-02-03 18:36                     ` Óscar Fuentes
2010-02-03 19:03                       ` Lennart Borgman
2010-02-03 20:31                         ` Ted Zlatanov
2010-02-03 20:37                           ` Lennart Borgman
2010-02-04  8:23                       ` Stephen J. Turnbull
2010-02-04 23:18                         ` Richard Stallman
2010-02-05  5:46                           ` Stephen J. Turnbull
2010-02-04 11:01                     ` Richard Stallman
2010-02-04 11:38                       ` David Kastrup
2010-02-05 19:08                         ` Richard Stallman
2010-02-04 12:28                       ` Stephen J. Turnbull
  -- strict thread matches above, loose matches on Subject: below --
2010-01-28  0:19 alin.s
2010-01-28  4:13 ` Eli Zaretskii
2010-01-28  9:07   ` Lennart Borgman
2010-01-28 11:27     ` Eli Zaretskii
2010-01-28 11:47       ` Lennart Borgman
2010-01-28 12:43         ` Eli Zaretskii
2010-01-28 12:53           ` Lennart Borgman
2010-01-28 14:10             ` Miles Bader
2010-01-28 15:04               ` alin.s
2010-01-28 22:34               ` Lennart Borgman
2010-01-29 10:04               ` Paul R
2010-01-29 10:17                 ` David Kastrup
2010-01-29 10:23                   ` Lennart Borgman
2010-01-29 10:30                     ` David Kastrup
2010-01-29 13:18                       ` Lennart Borgman
2010-01-29 11:03                     ` Miles Bader
2010-01-29 11:38                       ` Eli Zaretskii
2010-01-29 15:10                         ` Miles Bader
2010-01-29 17:30                           ` Eli Zaretskii
2010-01-29 10:48                   ` Paul R
2010-01-29 11:01                     ` David Kastrup
2010-01-29 18:19                   ` Stefan Monnier
2010-01-29 11:35                 ` Eli Zaretskii
2010-01-29 13:06                   ` Paul R
2010-01-29 13:10                     ` David Kastrup
2010-01-29 13:45                     ` Eli Zaretskii
2010-01-29 15:28                     ` Chong Yidong
2010-01-29 18:35                     ` Stefan Monnier
2010-01-29 18:56                       ` Óscar Fuentes
2010-01-30 11:46                         ` Richard Stallman
2010-01-30 12:51                           ` Óscar Fuentes
2010-01-30 15:39                             ` Eli Zaretskii
2010-01-30 19:21                               ` Óscar Fuentes
2010-01-30 21:31                                 ` Eli Zaretskii
2010-01-31  9:32                               ` David Kastrup
2010-01-31 12:41                             ` Richard Stallman
2010-01-29 19:53                       ` Eli Zaretskii
2010-01-30 18:04                         ` Stefan Monnier
2010-01-30 18:39                           ` Stephen J. Turnbull
2010-01-30 10:34                       ` Fabian Ezequiel Gallina
2010-01-30 10:52                         ` David Kastrup
2010-01-30 21:18                         ` Stefan Monnier
2010-01-29 13:07                   ` David Kastrup
2010-01-28  5:10 ` Ken Hori
2010-01-28 12:10 ` Stephen J. Turnbull
2010-01-28 13:41   ` alin.s
2010-01-28 14:50     ` Stephen J. Turnbull
2010-02-12  8:31 ` alin.s
2010-02-12 12:10   ` Juanma Barranquero
2010-02-12 13:41     ` alin.s
2010-02-12 12:49   ` Jan Djärv
2010-02-12 13:30     ` alin.s
2010-02-12 14:25       ` Jan Djärv
2010-02-12 14:37         ` alin.s
2010-02-12 14:53         ` alin.s
2010-02-12 15:11           ` Jan Djärv
2010-02-12 15:31             ` David Kastrup
2010-02-12 15:55               ` Jan Djärv
2010-02-12 16:53               ` alin.s
2010-02-12 18:55                 ` David Kastrup
2010-02-14 19:13                   ` alin.s
2010-02-17 13:14                     ` Chong Yidong
2010-02-23  0:45                       ` Giuseppe Scrivano
2010-02-23  3:01                         ` David Reitter
2010-02-23  3:34                           ` Tom Tromey
2010-02-23 14:31                         ` Richard Stallman
2010-02-14 19:25                   ` alin.s
2010-02-16 16:40                 ` Davis Herring
2010-02-16 19:20                   ` grischka
2010-02-16 19:55                     ` Thien-Thi Nguyen
2010-02-17 13:56                       ` alin.s
2010-02-16 20:00                     ` Eli Zaretskii
2010-02-16 20:56                       ` grischka
2010-02-17  4:20                         ` 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=87aavwrw0r.fsf@xemacs.org \
    --to=stephen@xemacs.org \
    --cc=emacs-devel@gnu.org \
    --cc=grishka@gmx.de \
    /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.