linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: zefram@fysh.org
To: torvalds@transmeta.com
Cc: linux-kernel@vger.kernel.org
Subject: [PATCH] tty canonical mode: nicer erase behaviour
Date: Sun, 23 Sep 2001 02:26:16 +0000	[thread overview]
Message-ID: <E15kyyG-0000mq-00@dext.rous.org> (raw)

problem rationale
-----------------

One of the long-standing problems preventing Unix from being a
user-friendly desktop OS is its handling of erase keys.  There are
often two such keys on a keyboard (Backspace and Delete), and which one
works depends very much on context -- many text editing programs will
only accept one of the erase-related characters (^H and ^?), and the
mapping from keys to characters is terminal-dependent.  Unfortunately,
any solution to this problem has to be implemented in each program that
faces this problem.

Theoretically every program should be able to determine which erase
character to accept by looking at terminfo, but that's very cumbersome,
particularly in programs that might not otherwise need to use terminfo.
It also utterly fails in programs that don't know what kind of terminal
they are interacting with.  The more practical solution, therefore, is
that the program should accept *both* ^H and ^? as erase characters.
Look at bash's and zsh's command line editors for examples of this
approach.

One of the programs that exhibits the ^H/^? problem is the tty
line discipline in the Linux kernel.  It falls into the category of
programs that don't know (and don't care) what kind of terminal they
are interacting with.  This patch implements the accept-both-characters
solution.

patch rationale
---------------

The exact semantics changed are: in canonical mode, if IEXTEN is on
and the ERASE character is set to either ^H or ^?, then both ^H and
^? are treated as ERASE characters.  The standard single-erase-character
behaviour is followed if IEXTEN is off (which prohibits non-POSIX extended
behaviour) or if the ERASE character is neither ^H or ^? (indicating
that the user actually wants erase behaviour other than the usual use
of the erase keys).

At first glance, a more obvious way to implement handling of both erase
characters would be to have an ERASE2 character setting in the tty state,
much as there is EOL and EOL2.  However, this solution would suffer
some annoying problems.  It would rely on the user setting the two erase
characters properly in order to take advantage of it.  Even if they're
set to ^H and ^? by default, user code that tries to set ERASE based on
the terminal type (and doesn't know about ERASE2) might end up with ERASE
and ERASE2 set to the same character, breaking the solution.  Also, code
(and users) that doesn't know about ERASE2 would get surprising results
if they try to set ERASE to something other than ^H/^?.  All of this
points to it being preferable not to change the tty settings interface,
but only change the behaviour to this preferable form.

the patch
---------

This patch is based on kernel version 2.4.8.  It will also apply cleanly
up to at least kernel version 2.4.10-pre14.

--- drivers/char/n_tty.c.orig	Sat Sep 22 22:14:19 2001
+++ drivers/char/n_tty.c	Sun Sep 23 02:59:30 2001
@@ -329,9 +329,11 @@
 	}
 }
 
-static void eraser(unsigned char c, struct tty_struct *tty)
+enum kill_type { ERASE, WERASE, KILL };
+
+static void eraser(int kill_type, unsigned char cc, struct tty_struct *tty)
 {
-	enum { ERASE, WERASE, KILL } kill_type;
+	unsigned char c;
 	int head, seen_alnums;
 	unsigned long flags;
 
@@ -339,11 +341,7 @@
 		/* opost('\a', tty); */		/* what do you think? */
 		return;
 	}
-	if (c == ERASE_CHAR(tty))
-		kill_type = ERASE;
-	else if (c == WERASE_CHAR(tty))
-		kill_type = WERASE;
-	else {
+	if (kill_type == KILL) {
 		if (!L_ECHO(tty)) {
 			spin_lock_irqsave(&tty->read_lock, flags);
 			tty->read_cnt -= ((tty->read_head - tty->canon_head) &
@@ -359,13 +357,12 @@
 			tty->read_head = tty->canon_head;
 			spin_unlock_irqrestore(&tty->read_lock, flags);
 			finish_erasing(tty);
-			echo_char(KILL_CHAR(tty), tty);
+			echo_char(cc, tty);
 			/* Add a newline if ECHOK is on and ECHOKE is off. */
 			if (L_ECHOK(tty))
 				opost('\n', tty);
 			return;
 		}
-		kill_type = KILL;
 	}
 
 	seen_alnums = 0;
@@ -392,7 +389,7 @@
 				}
 				echo_char(c, tty);
 			} else if (kill_type == ERASE && !L_ECHOE(tty)) {
-				echo_char(ERASE_CHAR(tty), tty);
+				echo_char(cc, tty);
 			} else if (c == '\t') {
 				unsigned int col = tty->canon_column;
 				unsigned long tail = tty->canon_head;
@@ -590,9 +587,19 @@
 		}
 	}
 	if (tty->icanon) {
-		if (c == ERASE_CHAR(tty) || c == KILL_CHAR(tty) ||
-		    (c == WERASE_CHAR(tty) && L_IEXTEN(tty))) {
-			eraser(c, tty);
+		if (c == ERASE_CHAR(tty) ||
+		    (L_IEXTEN(tty) &&
+		     (ERASE_CHAR(tty) == 8 || ERASE_CHAR(tty) == 127) &&
+		     (c == 8 || c == 127))) {
+			eraser(ERASE, c, tty);
+			return;
+		}
+		if (c == KILL_CHAR(tty)) {
+			eraser(KILL, c, tty);
+			return;
+		}
+		if (c == WERASE_CHAR(tty) && L_IEXTEN(tty)) {
+			eraser(WERASE, c, tty);
 			return;
 		}
 		if (c == LNEXT_CHAR(tty) && L_IEXTEN(tty)) {
@@ -822,6 +829,11 @@
 			set_bit('\n', &tty->process_char_map);
 			set_bit(EOL_CHAR(tty), &tty->process_char_map);
 			if (L_IEXTEN(tty)) {
+				if (ERASE_CHAR(tty) == 8 ||
+				    ERASE_CHAR(tty) == 127) {
+					set_bit(8, &tty->process_char_map);
+					set_bit(127, &tty->process_char_map);
+				}
 				set_bit(WERASE_CHAR(tty),
 					&tty->process_char_map);
 				set_bit(LNEXT_CHAR(tty),

-zefram

         reply	other threads:[~2001-09-23 17:30 UTC|newest]

Thread overview: 331+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-05-09  7:38 reiserfs, xfs, ext2, ext3 Martín Marqués
2001-05-09 14:49 ` Alan Cox
2001-05-09 11:21   ` Hans Reiser
2001-05-09 21:25   ` Steve Lord
2001-05-09 14:30     ` Hans Reiser
2001-05-09 22:38       ` Steve Lord
2001-05-10 10:19     ` Pekka Pietikainen
2001-05-10 14:38       ` Hans Reiser
2001-05-10 14:42       ` Daniel Phillips
2001-05-10 13:12     ` Andi Kleen
     [not found]       ` <alan@lxorguk.ukuu.org.uk>
2001-05-10 22:23         ` Daniel Podlejski
2001-05-11  8:32           ` Andi Kleen
2001-05-11  9:34         ` Daniel Podlejski
2001-09-23  2:26         ` zefram [this message]
2001-09-23 20:05           ` [PATCH] tty canonical mode: nicer erase behaviour Alan Cox
2001-09-23 20:41             ` Nadav Har'El
2001-09-23 21:50               ` Alan Cox
2001-09-24  9:22                 ` Nadav Har'El
2001-09-23 22:57               ` Matthias Andree
2001-09-24  6:45           ` Kai Henningsen
2001-05-09 14:49 ` reiserfs, xfs, ext2, ext3 john slee
2001-05-09 23:12   ` Daniel Phillips
2001-05-09 23:19     ` Dan Hollis
2001-05-10  0:36       ` jlnance
2001-05-10  1:15     ` Andreas Dilger
2001-05-10  8:42   ` Helge Hafting
2001-05-10 13:14   ` Martin Hamilton
2001-05-10 14:32     ` john slee
2001-05-10 14:56       ` Hans Reiser
2001-05-09 18:32 ` Joel Jaeggli
2001-05-10 12:54   ` Martín Marqués
2001-05-09 19:53 ` Daniel Podlejski
2001-05-09 14:14   ` Hans Reiser
2001-05-10 11:44 ` Matthias Andree
2001-05-10 13:42   ` Tony Hoyle
2001-05-10 14:45     ` Hans Reiser
2001-05-10 16:38       ` [OT] Linux on ENIAC Laramie Leavitt
2001-05-10 16:53         ` mirabilos
2001-05-10 23:39       ` reiserfs, xfs, ext2, ext3 Matthias Andree
2001-05-11 14:43         ` Chris Mason
2001-05-11 15:20           ` Henning P. Schmiedehausen
2001-05-11  9:42             ` Hans Reiser
2001-05-11 16:04             ` Alan Cox
2001-05-11 10:21               ` Hans Reiser
2001-05-11 17:47                 ` Alan Cox
2001-05-11 11:00                   ` [reiserfs-dev] " Hans Reiser
2001-05-11 18:50                     ` Albert D. Cahalan
2001-05-11 19:07                       ` Hans Reiser
2001-05-11 19:17                         ` Chris Mason
2001-05-11 19:04                     ` Chris Mason
2001-06-29 21:23                     ` 2.4.6-pre3 + reiserfs + NFS peculiarities Guennadi Liakhovetski
2001-05-11 19:38               ` reiserfs, xfs, ext2, ext3 Gregory Maxwell
2001-05-11 19:51                 ` Alan Cox
2001-05-10 23:37     ` Matthias Andree
2001-05-11 14:56       ` Tony Hoyle
2001-05-11  8:42         ` Hans Reiser
2001-05-11 15:56         ` Matthias Andree
2001-05-11 16:47           ` Tony Hoyle
2001-05-11 16:53             ` Matthias Andree
2001-05-10 14:21   ` Shawn
2001-05-10 14:42   ` Hans Reiser
2001-05-10 21:58   ` Gregory Maxwell
  -- strict thread matches above, loose matches on Subject: below --
2004-09-29 13:44 Possible GPL Violation of Linux in Amstrad's E3 Videophone Ralph Corderoy
2004-10-01 14:52 ` Denis Vlasenko
2004-10-01 14:20   ` Alan Cox
2004-10-01 15:59     ` Ralph Corderoy
2004-10-01 16:00       ` Alan Cox
2004-10-01 16:24       ` Jon Masters
2004-10-01 15:59         ` Alan Cox
2004-10-01 17:18           ` Jon Masters
2005-01-07 21:48           ` Jonathan McDowell
2005-01-15 13:43             ` Jonathan McDowell
2005-01-26 16:47               ` Jonathan McDowell
2004-10-01 17:24       ` Tigran Aivazian
2004-10-01 16:14     ` James Courtier-Dutton
     [not found] <20020316113536.A19495@hq.fsmlabs.com.suse.lists.linux.kernel>
     [not found] ` <Pine.LNX.4.33.0203161037160.31913-100000@penguin.transmeta.com.suse.lists.linux.kernel>
     [not found]   ` <20020316115726.B19495@hq.fsmlabs.com.suse.lists.linux.kernel>
2002-03-16 19:32     ` [Lse-tech] Re: 10.31 second kernel compile Andi Kleen
2002-03-16 19:57       ` yodaiken
2002-03-16 20:05         ` Andi Kleen
2002-03-16 20:12           ` yodaiken
2002-03-16 20:34             ` Linus Torvalds
2002-03-16 21:39               ` yodaiken
2002-03-16 21:49                 ` Linus Torvalds
2002-03-17 14:38                   ` Kai Henningsen
2002-03-17 18:20                     ` Alan Cox
2002-03-17 20:55                       ` 2.4.19-pre3-ac1 - Quotactl patch Shawn Starr
2002-03-17 22:22                         ` Alan Cox
2002-03-18  1:49                           ` Shawn Starr
2002-03-18  1:30                       ` OT: "real" letters [Was: 10.31 second kernel compile] Itai Nahshon
2002-03-21  0:38                         ` Derek Fawcus
2002-03-21  4:25                           ` Tim Coleman
2002-03-16 22:00                 ` [Lse-tech] Re: 10.31 second kernel compile Alan Cox
2002-03-16 21:49                   ` Linus Torvalds
2002-03-16 23:10                   ` yodaiken
2002-03-17  1:17                     ` rddunlap
2002-03-17  3:34                     ` Alan Cox
2002-03-17 14:52                 ` Kai Henningsen
2002-03-17 21:00                   ` yodaiken
2002-03-19 12:06                 ` Pavel Machek
2002-03-19 21:12                   ` yodaiken
2002-03-19 22:09                     ` Chris Friesen
2002-03-19 22:15                       ` yodaiken
2002-03-20  4:25                     ` Bill Davidsen
2002-03-16 20:27           ` Richard Gooch
2002-03-16 20:47             ` yodaiken
2002-03-16 21:05             ` Richard Gooch
2002-03-16 23:34               ` yodaiken
2002-03-17 13:48               ` Rik van Riel
2002-03-17  2:50           ` Chris Wedgwood
2002-03-17  3:43             ` Alan Cox
2002-03-17  4:12               ` Chris Wedgwood
2002-03-17  4:31                 ` Alan Cox
2002-03-16 20:14         ` Linus Torvalds
2002-03-16 20:22           ` Andi Kleen
2002-03-19  4:34             ` Rusty Russell
2002-03-17 13:23           ` Rik van Riel
2002-03-17 18:16             ` Linus Torvalds
2002-03-17 23:01               ` Davide Libenzi
2002-03-18  0:53                 ` Rik van Riel
2002-03-18  1:13                   ` Davide Libenzi
2002-03-18  1:31                     ` Linus Torvalds
2002-03-18  1:56                       ` Davide Libenzi
2002-03-18  1:40                     ` Mike Fedyk
2002-03-18  1:48                       ` Davide Libenzi
2002-03-24 21:12           ` Rogier Wolff
2002-03-24 21:35             ` Andrew Morton
2002-03-24 22:54               ` Nick Craig-Wood
2002-03-24 23:41                 ` Andi Kleen
2002-03-25  6:40               ` Martin J. Bligh
2002-03-16 20:36         ` Richard Gooch
2002-03-16 20:38           ` Linus Torvalds
2002-03-16 20:51           ` Richard Gooch
2001-12-20 19:32 Configure.help editorial policy Eric S. Raymond
2001-12-20 20:27 ` Reid Hekman
2001-12-20 20:23   ` Eric S. Raymond
2001-12-22  0:04     ` Rob Landley
2001-12-20 22:41   ` Mike Eldridge
2001-12-21 15:47   ` Matthias Andree
2001-12-20 22:49 ` Vojtech Pavlik
2001-12-20 23:31 ` David Garfield
2001-12-20 23:52   ` Eric S. Raymond
2001-12-21  0:20     ` Tom Rini
2001-12-21 13:01     ` Configure.help editorial policy (H20 and K2B) Timothy Covell
2001-12-21 19:56       ` Timothy Covell
2001-12-21 18:43   ` Configure.help editorial policy David Garfield
2001-12-21 18:40     ` Eric S. Raymond
2001-12-21 19:18       ` Benjamin LaHaise
2001-12-21 20:09         ` Oliver Xymoron
2001-12-21 23:03           ` Jeff Mcadams
2001-12-27 10:35             ` Kai Henningsen
2001-12-21 20:10         ` Chris Wedgwood
2001-12-21 20:31           ` Benjamin LaHaise
2001-12-21 20:36             ` Rik van Riel
2001-12-21 20:47               ` Benjamin LaHaise
2001-12-21 21:00                 ` Chris Wedgwood
2001-12-21 21:06                   ` Rik van Riel
2001-12-21 21:10                   ` Benjamin LaHaise
2001-12-21 21:33                     ` Thomas Dodd
2001-12-21 22:05                       ` Nicholas Knight
2001-12-22  0:07                     ` Oliver Xymoron
2001-12-22  0:27                       ` Benjamin LaHaise
2001-12-23 22:46                     ` Cameron Simpson
2001-12-21 20:57             ` Chris Wedgwood
2001-12-21 21:03               ` Benjamin LaHaise
2001-12-21 21:09                 ` Rik van Riel
2001-12-21 21:28             ` Oliver Xymoron
2001-12-27 11:12             ` Kai Henningsen
2001-12-27 11:22             ` Kai Henningsen
2001-12-27 11:18           ` Kai Henningsen
2001-12-21 20:11         ` Timo Jantunen
2001-12-22  0:32         ` Alan Cox
2001-12-22 16:14           ` Vojtech Pavlik
2001-12-27 19:44             ` Allan Sandfeld
2001-12-27 20:18               ` Acrimon Beet
2001-12-27 10:45         ` Kai Henningsen
2001-12-27 14:19           ` Vojtech Pavlik
2001-12-21 21:17       ` Rik van Riel
2001-12-23 22:42         ` Cameron Simpson
2001-12-23 22:53           ` Rik van Riel
2001-12-23 22:46             ` Eric S. Raymond
2001-12-26 17:44               ` Riley Williams
2001-12-26 22:17                 ` Cameron Simpson
2001-12-26 23:34                   ` Dominik Mierzejewski
2001-12-27  0:08                     ` Riley Williams
2001-12-27  0:52                       ` Dominik Mierzejewski
2001-12-27 21:34                         ` Riley Williams
2001-12-27 23:27                         ` Pavel Machek
2001-12-27  6:02                     ` Daniel Phillips
2001-12-27 11:24                       ` Dominik Mierzejewski
2001-12-27 15:09                         ` Martin Mares
2001-12-28  3:23                         ` Daniel Phillips
2001-12-28  9:58                           ` Matthias Andree
2001-12-27  0:09                 ` Eric S. Raymond
2001-12-27  0:39                   ` Dominik Mierzejewski
2001-12-27 19:46                     ` Riley Williams
2001-12-27 11:46               ` Kai Henningsen
2001-12-27 21:42                 ` Riley Williams
2001-12-23 23:00             ` Cameron Simpson
2001-12-23 23:10               ` Rik van Riel
2001-12-23 23:12                 ` Eric S. Raymond
2001-12-24  6:25           ` Mike Galbraith
2001-12-27 15:15             ` Gábor Lénárt
2001-12-21 22:53       ` Stephen Satchell
2001-12-21 22:55         ` Eric S. Raymond
2001-12-21 23:07         ` Nicholas Knight
2001-12-22 19:40         ` T. A.
2001-12-22  0:12       ` Rob Landley
2001-12-22  9:58         ` Eric S. Raymond
2001-12-23  9:40           ` Rob Landley
2001-12-23 19:11             ` Eric S. Raymond
2001-12-27 11:35         ` Kai Henningsen
2001-12-23  9:47       ` David Woodhouse
2001-12-27 11:41       ` Kai Henningsen
2001-12-21 19:12     ` David Weinehall
2001-12-22  4:49       ` Keith Owens
2001-12-21 20:23     ` David Garfield
2001-12-21 20:56       ` Eric S. Raymond
2001-12-21 10:36 ` Mike Jagdis
2001-12-22  0:23   ` Rob Landley
2001-12-22  8:33     ` Eric Windisch
2001-12-22  8:53     ` Alan Cox
2001-12-23  9:17 ` David Woodhouse
     [not found] ` <esr@thyrsus.com>
2001-12-27 11:57   ` Kai Henningsen
2001-12-27 14:22     ` Vojtech Pavlik
2001-12-27 16:42       ` Alan Cox
2001-12-29 17:22         ` Dan Hopper
2001-09-23 22:12 [PATCH] tty canonical mode: nicer erase behaviour zefram
2001-09-24  0:03 ` Alan Cox
2001-09-24  2:17   ` zefram
2001-09-24  1:25 ` Linus Torvalds
2001-09-23 21:26 zefram
2001-09-23 21:48 ` Alan Cox
     [not found] <mailman.1001266380.13783.linux-kernel2news@redhat.com>
2001-09-23 18:12 ` Pete Zaitcev
2001-09-10  5:05 Problem with i810 chipset Steve Kieu
2001-09-10 13:40 ` Alan Cox
2001-09-10 14:48   ` Xavier Bestel
2001-09-10 21:50   ` Horst von Brand
2001-09-11  0:46     ` Problem with i810 chipset (solved!) Steve Kieu
2001-04-21 15:49 Request for comment -- a better attribution system Eric S. Raymond
2001-04-21 16:18 ` Karsten Keil
2001-04-21 16:38 ` Henning P. Schmiedehausen
2001-04-21 17:04   ` Francois Romieu
2001-04-21 19:42   ` Andi Kleen
2001-04-21 23:45   ` Jes Sorensen
2001-04-22  9:21   ` Olaf Titz
2001-04-21 20:03 ` [kbuild-devel] " Giacomo A. Catenazzi
2001-04-21 19:55   ` Eric S. Raymond
2001-04-21 23:25     ` Alan Cox
2001-04-22 10:54       ` Giacomo A. Catenazzi
2001-04-22 12:30     ` mirabilos
2001-04-24  8:38       ` Markus Schaber
2001-04-24 13:51         ` Alan Cox
2001-04-24 14:08           ` Giacomo Catenazzi
2001-04-24 14:35             ` Alan Cox
2001-04-22  2:51   ` Horst von Brand
2001-04-22 10:54     ` Giacomo A. Catenazzi
2001-04-21 20:23 ` Albert D. Cahalan
2001-04-21 20:29   ` Eric S. Raymond
2001-04-22  2:56     ` Horst von Brand
2001-04-21 20:34   ` Alexander Viro
2001-04-21 20:46     ` Eric S. Raymond
2001-04-21 21:11       ` Francois Romieu
2001-04-21 21:20         ` Eric S. Raymond
2001-04-21 22:30           ` Francois Romieu
2001-04-21 22:35             ` Eric S. Raymond
2001-04-21 23:29       ` Alan Cox
2001-04-21 23:49         ` Eric S. Raymond
2001-04-22 16:02           ` Jes Sorensen
2001-04-22 10:53         ` [kbuild-devel] " Giacomo A. Catenazzi
2001-04-22 12:32           ` [kbuild-devel] Re: Request for comment -- a better attribution Alan Cox
2001-04-22 15:44           ` [kbuild-devel] Re: Request for comment -- a better attribution system Eric S. Raymond
2001-04-25 15:16       ` Pavel Machek
2001-04-21 21:59   ` Mr. James W. Laferriere
2001-04-22  0:33     ` Albert D. Cahalan
2001-04-22  2:23       ` Eric S. Raymond
2001-04-22  1:00     ` Jonathan Morton
2001-04-22  1:07       ` Alan Cox
2001-04-22  1:47       ` Albert D. Cahalan
2001-04-22  9:43         ` Ben Ford
2001-04-22  9:33   ` Olaf Titz
2001-04-24  6:28   ` Anuradha Ratnaweera
2001-04-21 23:09 ` Alan Cox
2001-04-21 23:47   ` Eric S. Raymond
2001-04-22  0:02     ` Alan Cox
2001-04-22  3:39       ` Eric S. Raymond
2001-04-22 12:09         ` Alan Cox
2001-04-22  3:31     ` Horst von Brand
2001-04-22  3:46       ` Eric S. Raymond
2001-04-22 15:28       ` [kbuild-devel] " Eric S. Raymond
2001-04-22 15:37         ` Arjan van de Ven
2001-04-22  8:39     ` Russell King
2001-04-22 15:30       ` Eric S. Raymond
2001-04-22 10:22     ` Matthew Kirkwood
2001-04-22 12:12       ` Russell King
2001-04-22 13:42         ` Matthew Kirkwood
2001-04-22 14:29           ` Alan Cox
2001-04-22 14:59           ` Russell King
2001-04-22 15:32             ` Eric S. Raymond
2001-04-22 15:31           ` Eric S. Raymond
2001-04-22  2:28 ` Horst von Brand
2001-04-22  4:12   ` Eric S. Raymond
2001-04-22 11:39     ` Francois Romieu
2001-04-22 12:33       ` Alexander Viro
2001-04-22 15:46         ` Eric S. Raymond
2001-04-22 16:35           ` Alexander Viro
2001-04-22 16:51             ` Eric S. Raymond
2001-04-22 16:52               ` Rik van Riel
2001-04-22 18:00                 ` Eric S. Raymond
2001-04-22 17:23               ` Alexander Viro
2001-04-22 20:31                 ` Olaf Titz
2001-04-22 18:47               ` Alan Cox
2001-04-22 23:22           ` Horst von Brand
2001-04-23  0:05             ` Eric S. Raymond
2001-04-23  0:19               ` Rik van Riel
2001-04-22 16:07         ` David Woodhouse
2001-04-22 16:24           ` Eric S. Raymond
2001-04-22 16:49             ` Rik van Riel
2001-04-24 11:51               ` Roger Gammans
2001-04-24 12:09                 ` esr
2001-04-24 13:14                 ` Horst von Brand
2001-04-24 14:52                   ` Roger Gammans
2001-04-25  3:50                     ` Eric S. Raymond
2001-04-25  1:18     ` CML2 Transition experiences jeff millar
2001-04-25 15:04       ` Eric S. Raymond
2001-04-16 12:27 Linux 2.4.3-ac7 Alan Cox
2001-04-16 12:56 ` Chris Meadors
2001-04-16 12:57   ` Alan Cox
2001-04-17 10:35     ` Martin Hamilton
2001-04-16 17:27 ` John Cavan
2001-04-16 23:40   ` Alan Cox
2001-04-17  5:39 ` Geert Uytterhoeven
2001-04-17 12:11   ` Alan Cox

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=E15kyyG-0000mq-00@dext.rous.org \
    --to=zefram@fysh.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@transmeta.com \
    /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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).