From: Uday S Reddy <uDOTsDOTreddy@cs.bham.ac.uk>
To: help-gnu-emacs@gnu.org
Subject: Re: line-move-visual
Date: Sun, 13 Jun 2010 11:22:11 +0100 [thread overview]
Message-ID: <hv2bgj$2k7$1@north.jnrs.ja.net> (raw)
In-Reply-To: <87pqzvd7yx.fsf@rapttech.com.au>
On 6/13/2010 2:41 AM, Tim X wrote:
> Change is not the issue. Change can be positive and is necessary. The
> issue is managing that change. Any attempt to enforce a static
> unchanging environment will fail.
You are demolishing a strawman. None of us ever said that change is
unnecessary. The thought that was in my mind when I wrote the previous message
is better expressed as follows:
In the OS & network protocols world /where Mark Crispin comes from/ things can
never change essentially.
So, Mark has every right to blow up when things have changed essentially.
Emacs devs needed that lesson and, judging from Stefan's last post, I think
they continue to need it. Do you disagree? (Don't be too focused on surface
niceties and etiquette and all that. Different people have different ways of
expressing themselves. The substance is what matters in the end.)
The reason that things can never change in the OS & network protocols world is
that all the services interface to other systems and services. So, if you
change one thing, however inconsequential it might seem, you can end up
breaking everything. Somebody once told me that, if you want to change one
line of code in the kernel of an on-board computer system, you have to produce
thousands of pages of documentation analyzing how it will affect everything
else on the aircraft. It is so hard to do it that it is almost never done.
In the Emacs world, it is easy to think that we are delivering services to the
human user, who is clever enough to figure things out. Emacs is a /text
editor/ after all. So, change is ok. But the problem is that Emacs is not
just a text editor any more. Unbeknownst to the developers, or perhaps even
known to them in some instances, it is being used as a critical system
component in other applications or services. Emacs has certainly earned the
right to be such a component. It is some 30-40 years old. Its core is rock
solid. Who has ever had a file corrupted by Emacs? (On the other hand, I have
had files corrupted by file servers sold by even reputable companies.) We use
Emacs for email in VM, which I regard as mission-critical, because all hell can
break loose if a mail folder gets corrupted or somebody can't read their email.
We regularly use Emacs to develop code with all kinds additional
functionality from editing modes and interfaces to code repositories. If
something goes wrong there, other developed software can break, with untold
consequences. I am dying to figure out what application Mark Crispin is
putting Emacs to that makes it so hard for him to accommodate the
line-move-visual change. So, changes that can potentially break things are
*not* ok. We don't have to be as diligent as the on-board kernel hackers, but
we certainly have to be a lot more careful than we seem to be at the moment.
Emacs devs have to grow up into this real world.
Changing the meaning of next-line has consequences far beyond what the Emacs
devs have been able to grasp. I have mentioned previously that I found three
calls to `next-line' in VM. They were not in VM core, in third party
contributions, but try telling that to somebody whose mail folder gets
corrupted! Emacs devs might say one should never have used `next-line' in
elisp code, but that is not really good enough, is it? Emacs manual never said
one *must not* use next-line in elisp code. It only said that there are better
ways of doing it. So, an elisp programmer cannot be faulted for using
`next-line'.
(As an aside, Microsoft used to say that the problems faced by the users with
Windows weren't their fault but rather those of third party device drivers.
Microsoft had hoisted complicated protocols on the device driver writers, who
couldn't manage them properly. Microsoft has now developed sophisticated
driver verification tools - some of the best in the field - to verify that the
device drivers satisfy the protocols. Good for them! And good for the users!)
Imagine what I have to say in the next release notes of VM: "Emacs 23 has
introduced an incompatible change to the meaning of `next-line' which can cause
folder corruption. This release of VM is the first safe version of VM for use
with Emacs 23". This doesn't stop other users still using older versions of VM
from facing folder corruption. Nor will it stop some downstream distribution
from packaging an old version of VM with the later version of Emacs. Is that
the kind of situation we want to be in?
Stefan says, perhaps half-jokingly, that he never uses Emacs while being root.
Does RMS think the same? Do all the trustees of FSF accept that Emacs is
unfit to be used while being root? What other Gnu software is similarly unfit
to be used as root? Mark Crispin's criticism has to be taken seriously, even
if it comes with a heavy dose of vitriole, because he is a top-level systems
programmer who knows better.
When you say that this change has been around for a year and no complaints were
raised, you are not being clear about how software changes are propagated. It
takes years for changes to go through the pipeline of downstream distributions
and even longer for users to upgrade their systems. Smart users who want to
play safe are always careful to let the dust settle before upgrading. Our
local sys admins haven't even installed Emacs 23.1 yet on our departmental
machines. That will probably happen during this summer. If I was a normal
user, rather than a developer, I would have probably taken an additional year
or so to make the switch. So, these late complaints are the most important
ones. They come from the more serious and conservative users. Emacs devs are
going to have to face the heat for quite a while to come.
Mark Crispin is not satisfied with Stefan's response. Neither am I, to tell
you the truth. When says, "Given the reactions we've seen since Emacs-23.1 was
released, I don't regret the decision", he is indicating that he is happy to
play to the gallery, and quite an uninformed gallery at that. When I asked "do
you want C-n to move by logical line or visual line in the logical line mode",
the gallery has been silent. If this is the measure of support needed to
introduce incompatible changes in Emacs, then Emacs does seem to be in trouble!
Cheers,
Uday
next prev parent reply other threads:[~2010-06-13 10:22 UTC|newest]
Thread overview: 174+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <alpine.OSX.2.00.1006031053170.77397@hsinghsing.panda.com>
[not found] ` <hu925r$1b$1@north.jnrs.ja.net>
[not found] ` <alpine.OSX.2.00.1006031431510.77397@hsinghsing.panda.com>
2010-06-04 7:59 ` line-move-visual Uday S Reddy
[not found] ` <87pr07qjio.fsf@thinkpad.tsdh.de>
2010-06-04 11:24 ` line-move-visual Uday S Reddy
2010-06-04 12:49 ` line-move-visual Tassilo Horn
2010-06-09 19:51 ` line-move-visual Joseph Brenner
2010-06-09 20:22 ` line-move-visual Brendan Halpin
2010-06-10 1:23 ` line-move-visual Stefan Monnier
[not found] ` <hualdf$eln$1@north.jnrs.ja.net>
2010-06-04 13:00 ` line-move-visual Tassilo Horn
2010-06-04 14:51 ` line-move-visual Stefan Monnier
2010-06-04 20:53 ` line-move-visual Tassilo Horn
2010-06-09 19:42 ` proposed keyboard-macro to record to elisp (was Re: line-move-visual) Joseph Brenner
2010-06-09 22:42 ` LanX
[not found] ` <871vcmhq79.fsf@wivenhoe.ul.ie>
[not found] ` <hub2ss$is4$1@north.jnrs.ja.net>
2010-06-04 14:45 ` line-move-visual Brendan Halpin
2010-06-04 17:49 ` line-move-visual Xah Lee
2010-06-04 18:18 ` line-move-visual Mark Crispin
2010-06-04 19:19 ` line-move-visual Xah Lee
[not found] ` <alpine.OSX.2.00.1006041829210.77397@hsinghsing.panda.com>
[not found] ` <089883ee-0a63-4cb4-a0ec-d2fe4e71cc03@y18g2000prn.googlegroups.com>
2010-06-06 9:53 ` line-move-visual Uday S Reddy
2010-06-06 9:39 ` line-move-visual David Kastrup
2010-06-07 8:39 ` line-move-visual Tim X
2010-06-10 10:12 ` line-move-visual Uday S Reddy
2010-06-10 13:43 ` line-move-visual Stefan Monnier
2010-06-10 15:17 ` line-move-visual Uday S Reddy
2010-06-10 19:53 ` line-move-visual Stefan Monnier
2010-06-10 15:44 ` line-move-visual despen
2010-06-10 22:02 ` line-move-visual Tassilo Horn
2010-06-10 23:56 ` line-move-visual Uday S Reddy
2010-06-10 22:48 ` line-move-visual Evans Winner
[not found] ` <slrni2ja96.6pq.nospam-abuse@powdermilk.math.berkeley.edu>
2010-06-29 11:09 ` HOWTO: Cowtow to old farts Xah Lee
2010-06-10 16:57 ` line-move-visual Mark Crispin
2010-06-10 18:38 ` line-move-visual Uday S Reddy
2010-06-11 23:56 ` line-move-visual Mark Crispin
2010-06-12 0:17 ` line-move-visual Wojciech Meyer
2010-06-13 17:23 ` line-move-visual Mark Crispin
2010-06-13 20:56 ` line-move-visual Alan Mackenzie
2010-06-14 0:42 ` line-move-visual Jim Diamond
2010-06-14 10:49 ` line-move-visual Uday S Reddy
2010-06-14 17:16 ` line-move-visual Alan Mackenzie
2010-06-14 17:34 ` line-move-visual Uday S Reddy
2010-06-15 9:26 ` line-move-visual Tim X
2010-06-15 13:49 ` line-move-visual Stefan Monnier
[not found] ` <87sk4n3ocs.fsf@rapttech.com.au>
2010-06-16 14:43 ` line-move-visual Stefan Monnier
[not found] ` <m2k4q18od5.fsf@softwarematters.org>
[not found] ` <jwvaaqxbcca.fsf-monnier+gnu.emacs.help@gnu.org>
2010-06-15 6:54 ` line-move-visual Pascal J. Bourguignon
2010-06-15 8:42 ` line-move-visual Uday S Reddy
2010-06-15 9:30 ` line-move-visual David Kastrup
2010-06-15 9:38 ` line-move-visual Tim X
2010-06-15 13:45 ` line-move-visual Stefan Monnier
2010-06-15 13:57 ` line-move-visual David Kastrup
[not found] ` <jwvbpbb6oyk.fsf-monnier+gnu.emacs.help@gnu.org>
2010-06-16 18:04 ` line-move-visual David Kastrup
[not found] ` <hv8gvf$98o$1@north.jnrs.ja.net>
[not found] ` <hv8iog$313e$1@colin2.muc.de>
2010-06-15 19:37 ` line-move-visual Leo
[not found] ` <871vc8dpga.fsf@imladris.arda>
2010-06-16 12:37 ` Emacs language Leo
2010-06-17 8:00 ` Teemu Likonen
2010-06-15 21:04 ` line-move-visual Uday S Reddy
2010-06-16 15:33 ` line-move-visual Alan Mackenzie
2010-06-17 8:51 ` line-move-visual Uday S Reddy
2010-06-16 14:33 ` line-move-visual Stefan Monnier
[not found] ` <db13ae67-9d9a-4556-9a7c-8f86de63011f@b4g2000pra.googlegroups.com>
2010-07-19 22:41 ` minor mode on/off/toggle with t/nil question Stefan Monnier
2010-06-15 16:51 ` line-move-visual Alan Mackenzie
2010-06-16 12:43 ` line-move-visual David Kastrup
2010-06-15 19:17 ` line-move-visual Xah Lee
2010-06-16 14:49 ` espresso-mode (was: line-move-visual) Stefan Monnier
[not found] ` <4C17FE36.30102@thadlabs.com>
2010-06-15 22:45 ` line-move-visual Xah Lee
2010-06-15 23:31 ` line-move-visual Thad Floryan
2010-06-16 3:30 ` line-move-visual Evans Winner
2010-06-16 16:14 ` line-move-visual Xah Lee
2010-06-16 23:23 ` line-move-visual Chris F.A. Johnson
[not found] ` <b1e84c4a-e74e-4ace-9b0f-a00b370eb61d@q39g2000prh.googlegroups.com>
2010-06-16 23:45 ` Keyboard Hardware's Influence on Keyboard Shortcut Design Xah Lee
2010-06-16 14:52 ` line-move-visual Stefan Monnier
[not found] ` <87r5k6sqg2.fsf@unm.edu>
2010-06-17 2:25 ` line-move-visual Stefan Monnier
2010-06-17 3:51 ` line-move-visual Chris F.A. Johnson
2010-06-17 9:03 ` line-move-visual Uday S Reddy
2010-06-20 18:42 ` line-move-visual B. T. Raven
2010-06-20 17:08 ` line-move-visual B. T. Raven
2010-06-12 4:18 ` line-move-visual Tim X
2010-06-12 4:37 ` line-move-visual Evans Winner
2010-06-12 8:30 ` line-move-visual David Kastrup
2010-06-12 8:40 ` line-move-visual Evans Winner
2010-06-12 9:30 ` line-move-visual Uday S Reddy
2010-06-12 12:30 ` line-move-visual Tim X
2010-06-12 20:09 ` line-move-visual Joseph Brenner
2010-06-13 1:41 ` line-move-visual Tim X
2010-06-13 10:22 ` Uday S Reddy [this message]
2010-06-13 10:51 ` line-move-visual David Kastrup
2010-06-13 11:32 ` line-move-visual Uday S Reddy
2010-06-14 0:46 ` line-move-visual Tim X
[not found] ` <hv4nkd$quq$1@north.jnrs.ja.net>
2010-06-15 9:20 ` line-move-visual Tim X
2010-06-15 11:29 ` line-move-visual Uday S Reddy
2010-06-16 9:29 ` line-move-visual Tim X
2010-06-14 4:48 ` line-move-visual Tim X
[not found] ` <m2iq5nw4pj.fsf@gmail.com>
[not found] ` <hv2htd$4li$1@north.jnrs.ja.net>
[not found] ` <m239wravxb.fsf@gmail.com>
2010-06-16 2:11 ` line-move-visual Joseph Brenner
2010-06-16 6:46 ` line-move-visual Helmut Eller
2010-06-13 10:36 ` line-move-visual David Kastrup
2010-06-16 2:19 ` line-move-visual Joseph Brenner
[not found] ` <huvsd5$8pm$1@north.jnrs.ja.net>
2010-06-12 12:25 ` line-move-visual Tim X
2010-06-12 20:17 ` line-move-visual Joseph Brenner
2010-06-10 19:57 ` line-move-visual Stefan Monnier
2010-06-13 12:46 ` line-move-visual Uday S Reddy
[not found] ` <hug5rv$6d2$1@north.jnrs.ja.net>
2010-06-06 15:21 ` line-move-visual Tassilo Horn
2010-06-07 8:19 ` line-move-visual Uday S Reddy
[not found] ` <m2fx0z46wj.fsf@gmail.com>
2010-06-07 16:20 ` line-move-visual Stefan Monnier
2010-06-06 15:43 ` line-move-visual Alain Ketterlin
[not found] ` <87wrucccl3.fsf_-_@marauder.physik.uni-ulm.de>
2010-06-07 6:18 ` Wrong use of format=flowed antidote Uday S Reddy
2010-06-07 21:30 ` line-move-visual Joost Kremers
2010-06-06 18:17 ` line-move-visual Mark Crispin
[not found] ` <4C0C466E.3000803@thadlabs.com>
2010-06-07 2:53 ` line-move-visual Mark Crispin
2010-06-07 8:46 ` line-move-visual Tim X
2010-06-07 16:23 ` line-move-visual Stefan Monnier
2010-06-09 20:23 ` line-move-visual Joseph Brenner
2010-06-09 21:38 ` line-move-visual Joseph Brenner
[not found] ` <slrni10ga0.t64.Jim.Diamond@jdiamond-nb.acadiau.ca>
2010-06-10 16:15 ` line-move-visual Mark Crispin
2010-06-04 17:52 ` line-move-visual Mark Crispin
2010-06-04 18:28 ` line-move-visual David Kastrup
[not found] ` <alpine.OSX.2.00.1006041808540.77397@hsinghsing.panda.com>
[not found] ` <878w6truxc.fsf@lola.goethe.zz>
2010-06-06 2:25 ` line-move-visual Mark Crispin
[not found] ` <87typc9dt8.fsf@kzsu.stanford.edu>
[not found] ` <alpine.OSX.2.00.1006091815150.93771@hsinghsing.panda.com>
2010-06-10 7:12 ` line-move-visual David Kastrup
2010-06-04 21:16 ` line-move-visual Stefan Monnier
2010-06-05 1:29 ` line-move-visual Mark Crispin
2010-06-04 13:20 ` line-move-visual sable
2009-07-09 18:12 line-move-visual Johan Myréen
2009-07-10 4:26 ` line-move-visual Bastien
2009-07-10 4:43 ` line-move-visual Miles Bader
2009-07-10 5:48 ` line-move-visual Bastien
2009-07-10 6:14 ` line-move-visual Kenichi Handa
2009-07-10 6:58 ` line-move-visual Bastien
2009-07-10 8:13 ` line-move-visual Alfred M. Szmidt
2009-07-10 10:10 ` line-move-visual Bastien
2009-07-10 8:43 ` line-move-visual Scot Becker
2009-07-10 8:57 ` line-move-visual Eli Zaretskii
2009-07-10 9:04 ` line-move-visual Lennart Borgman
2009-07-10 10:32 ` line-move-visual Bastien
2009-07-10 9:08 ` line-move-visual Scot Becker
2009-07-10 9:13 ` line-move-visual joakim
2009-07-10 9:22 ` line-move-visual Scot Becker
2009-07-10 16:11 ` line-move-visual Drew Adams
2009-07-10 16:22 ` line-move-visual Lennart Borgman
2009-07-10 17:20 ` line-move-visual Drew Adams
2009-07-10 17:40 ` line-move-visual Drew Adams
2009-07-10 9:52 ` line-move-visual Miles Bader
2009-07-10 16:11 ` line-move-visual Drew Adams
2009-07-10 11:35 ` line-move-visual Stephen J. Turnbull
2009-07-10 13:38 ` line-move-visual Eli Zaretskii
2009-07-10 16:11 ` line-move-visual Drew Adams
2009-07-10 18:01 ` line-move-visual Eli Zaretskii
2009-07-10 18:16 ` line-move-visual Drew Adams
2009-07-11 19:34 ` line-move-visual Juri Linkov
2009-07-10 13:56 ` line-move-visual Lennart Borgman
2009-07-10 15:07 ` line-move-visual Scot Becker
2009-07-10 20:29 ` line-move-visual Lennart Borgman
2009-07-10 15:43 ` line-move-visual Alfred M. Szmidt
2009-07-10 15:56 ` line-move-visual Sean O'Rourke
2009-07-10 9:14 ` line-move-visual Tassilo Horn
2009-07-10 9:56 ` line-move-visual Miles Bader
2009-07-10 10:22 ` line-move-visual Scot Becker
2009-07-10 16:11 ` line-move-visual Drew Adams
2009-07-10 10:36 ` line-move-visual Ulrich Mueller
2009-07-10 10:56 ` line-move-visual Eli Zaretskii
2009-07-10 11:07 ` line-move-visual Christian Faulhammer
2009-07-10 11:29 ` line-move-visual Ulrich Mueller
2009-07-10 18:15 ` line-move-visual Bastien
2009-07-10 20:40 ` line-move-visual Richard Stallman
2009-07-11 1:58 ` line-move-visual Stephen J. Turnbull
2009-07-11 2:29 ` line-move-visual Miles Bader
2009-07-11 2:44 ` line-move-visual Bastien
2009-07-11 18:30 ` line-move-visual Richard Stallman
2009-07-10 6:12 ` line-move-visual Stephen J. Turnbull
2009-07-10 21:19 ` line-move-visual Johan Myréen
2009-07-10 22:14 ` line-move-visual Scot Becker
2009-07-11 1:34 ` line-move-visual Miles Bader
2009-07-11 2:46 ` line-move-visual Bastien
2009-07-11 5:25 ` line-move-visual Miles Bader
2009-07-11 5:49 ` line-move-visual Kenichi Handa
2009-07-11 6:13 ` line-move-visual Miles Bader
2009-07-11 9:22 ` line-move-visual Bastien
2009-07-10 4:35 ` line-move-visual Miles Bader
2009-07-10 13:31 ` line-move-visual Chong Yidong
2009-07-11 6:42 ` line-move-visual Andrey Paramonov
2009-07-11 7:21 ` line-move-visual Teemu Likonen
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='hv2bgj$2k7$1@north.jnrs.ja.net' \
--to=udotsdotreddy@cs.bham.ac.uk \
--cc=help-gnu-emacs@gnu.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.