Subject: Re: ^W killed my line
To: None <current-users@netbsd.org>
From: Greg A. Woods <woods@most.weird.com>
List: current-users
Date: 02/29/2000 16:24:40
[ On Tuesday, February 29, 2000 at 02:27:30 (-0500), der Mouse wrote: ]
> Subject: Re: ^W killed my line
>
> The point is that it is fundamentally a line-oriented interface, so
> (absent user configuration to the contrary) I expect, not unreasonably
> I think, that it behave the way "everything else" with a line-oriented
> interface does.
Actually in modern "readline", "libedit", etc., the command-line editor
is usually a multi-line editor that just happens to have a one-line
"window".
> I like command-line editing -- when I ask for it. (For me to ask for
> it, it has to be configurable enough; I have yet to figure out how to
> configure ftp or gdb to behave sanely for my definition of "sanely", so
> I wouldn't turn on command-line editing for them. The problem is, I'm
> not given the choice - they come up with line editing on. ftp at least
> has a switch to turn it off, but that's the wrong default.)
Ah, ha! OK, I can certainly respect that.
The problem with choosing defaults in user interfaces is that the "safe"
default for one group of users might not be "safe" for another.
I don't know how to resolve this in general. What I've done is to
carefully craft a set of personal configuration files that are also
portable to all of the unix-like environments I use. These files
attempt to ensure that all the tools I'm bound to use will be in the
mode I expect them to be in at all times. Obviously this is an
imperfect and ongoing process....
> I don't think so; I think you misunderstood. This paragraph is about a
> *human* point, not a *technical* one - "it works for me, so ship it",
> without considering that not everybody uses eofc=^D, or suspc=^Z, or
> whatever. I submitted a PR about ftp when I first noticed the EOF
> problem. It was closed by someone who apparently read the one-line
> summary, tried it (with eofc=^D), found it worked, and didn't bother
> reading my "how to repeat" section which carefully said to use
> something other than ^D. This sort of "it works when I use the
> standard settings, so it's not broken" attitude is what I'm actually
> upset about here.
I think my point is that applications (including /bin/sh) that offer
command-line editing cannot be expected to always honour the stty
settings when they are in "edit" mode.
I agree that if you expect stty settings to prevail by default then
command-line editing must be turned off by default.
This is in effect a close cousin of the AT&T philosophy that kept ERASE
and KILL set to "#" and "@" respectively by default all of these years.
I must admit that I did once present a case suggesting that GNU Emacs
should honour ERASE (though only ERASE! ;-). However I had an ulterior
motive and indeed my goals were fulfilled without actually having to
have GNU Emacs peek at the stty settings.
> I don't know what planet you're from, but I still have plenty of
> commands that take longer than fifteen seconds to complete. The
> fastest NetBSD machine I've ever used still took over an hour to "make
> build". And I relatively often do over-the-net compares which I would
> like to auto-suspend things upon completion of - exactly the sort of
> thing the dsuspc is designed for. Yet I don't think I've seen an OS
> dsuspc has worked on in the last decade, not since mtXinu 4.3+NFS and
> possibly not even there - I forget.
Ah ha. I see. I've never used job control that way. Indeed I've been
using windowing systems long before I used X11 and I've almost always
agreed with the idea that job control should only be handled in the
windowing system, not in the tty driver. When I do suspend a job it's
usually only to put it into the background after I forgot to use '&'.
I've never found a desire to suspend a job on completion.
> You would really compel every program author to deal with the editline
> API in order to get rudimentary command line editing?? And talk about
> a portabilityi nightmare....
There's the option, as you suggest, of doing it in a front-end processor
(eg. the windowing system). I've always wanted to do more than just
cut&paste in an xterm for example (especially searching, like I can do
on my DMDs!).
--
Greg A. Woods
+1 416 218-0098 VE3TCP <gwoods@acm.org> <robohack!woods>
Planix, Inc. <woods@planix.com>; Secrets of the Weird <woods@weird.com>