about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2007-02-08 10:43:28 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2007-02-08 10:43:28 +0000
commit62b671f0d17f735646566bcf49b0dc4ffe51f158 (patch)
tree286109c08bf0291d46bcd443add90cca4e34b5cf
parent6cf7a3ef113ce956e7c4059956b2d4e0f67906fe (diff)
downloadzsh-62b671f0d17f735646566bcf49b0dc4ffe51f158.tar.gz
zsh-62b671f0d17f735646566bcf49b0dc4ffe51f158.tar.xz
zsh-62b671f0d17f735646566bcf49b0dc4ffe51f158.zip
23159 plus minor doc tweaks: leave BAUD parameter unset by default
-rw-r--r--ChangeLog6
-rw-r--r--Doc/Zsh/params.yo23
-rw-r--r--Src/Zle/zle_main.c1
-rw-r--r--Src/params.c13
-rw-r--r--Src/utils.c102
5 files changed, 29 insertions, 116 deletions
diff --git a/ChangeLog b/ChangeLog
index 28f02f527..8723fbeca 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-02-08  Peter Stephenson  <pws@csr.com>
+
+	* 23159 plus minor doc tweaks: Doc/Zsh/params.yo, Src/params.c,
+	Src/utils.c, Src/Zle/zle_main.c: leave BAUD parameter unset
+	by default.
+
 2007-02-07  Peter Stephenson  <pws@csr.com>
 
 	* 23153: Src/utils.c: put back old ztrcmp(), with a comment:
diff --git a/Doc/Zsh/params.yo b/Doc/Zsh/params.yo
index 8959130fd..6f134baa2 100644
--- a/Doc/Zsh/params.yo
+++ b/Doc/Zsh/params.yo
@@ -742,19 +742,20 @@ item(tt(ARGV0))(
 If exported, its value is used as the tt(argv[0]) of external commands.
 Usually used in constructs like `tt(ARGV0=emacs nethack)'.
 )
+cindex(editing over slow connection)
+cindex(slow connection, editing over)
 vindex(BAUD)
 item(tt(BAUD))(
-The baud rate of the current connection.  Used by the line editor
-update mechanism to compensate for a slow terminal by delaying
-updates until necessary.  This may be profitably set to a lower value
-in some circumstances, e.g.
-for slow modems dialing into a communications server which is connected
-to a host via a fast link; in this case, this variable
-would be set by default to the speed of the fast link, and not
-the modem.
-This parameter should be set to the baud
-rate of the slowest part of the link for best performance. The compensation
-mechanism can be turned off by setting the variable to zero.
+The rate in bits per second at which data reaches the terminal.
+The line editor will use this value in order to compensate for a slow
+terminal by delaying updates to the display until necessary.  If the
+parameter is unset or the value is zero the compensation mechanism is
+turned off.  The parameter is not set by default.
+
+This parameter may be profitably set in some circumstances, e.g.
+for slow modems dialing into a communications server, or on a slow wide
+area network.  It should be set to the baud
+rate of the slowest part of the link for best performance.
 )
 vindex(cdpath)
 vindex(CDPATH)
diff --git a/Src/Zle/zle_main.c b/Src/Zle/zle_main.c
index 21ee8a4ed..010167de6 100644
--- a/Src/Zle/zle_main.c
+++ b/Src/Zle/zle_main.c
@@ -1074,6 +1074,7 @@ zleread(char **lp, char **rp, int flags, int context)
     Thingy initthingy;
 
 #if defined(HAVE_POLL) || defined(HAVE_SELECT)
+    /* may not be set, but that's OK since getiparam() returns 0 == off */
     baud = getiparam("BAUD");
     costmult = (baud) ? 3840000L / baud : 0;
 #endif
diff --git a/Src/params.c b/Src/params.c
index 917f2ee85..8e79b289b 100644
--- a/Src/params.c
+++ b/Src/params.c
@@ -640,9 +640,16 @@ createparamtable(void)
     setiparam("LOGCHECK", 60);
     setiparam("KEYTIMEOUT", 40);
     setiparam("LISTMAX", 100);
-#ifdef HAVE_SELECT
-    setiparam("BAUD", getbaudrate(&shttyinfo));  /* get the output baudrate */
-#endif
+    /*
+     * We used to get the output baud rate here.  However, that's
+     * pretty irrelevant to a terminal on an X display and can lead
+     * to unnecessary delays if it's wrong (which it probably is).
+     * Furthermore, even if the output is slow it's very likely
+     * to be because of WAN delays, not covered by the output
+     * baud rate.
+     * So allow the user to set it in the special cases where it's
+     * useful.
+     */
     setsparam("TMPPREFIX", ztrdup(DEFAULT_TMPPREFIX));
     setsparam("TIMEFMT", ztrdup(DEFAULT_TIMEFMT));
     setsparam("WATCHFMT", ztrdup(default_watchfmt));
diff --git a/Src/utils.c b/Src/utils.c
index 166dad151..2ea8ba991 100644
--- a/Src/utils.c
+++ b/Src/utils.c
@@ -3435,108 +3435,6 @@ gettygrp(void)
     return arg;
 }
 
-/* Return the output baudrate */
-
-#ifdef HAVE_SELECT
-/**/
-long
-getbaudrate(struct ttyinfo *shttyinfo)
-{
-    long speedcode;
-
-#ifdef HAS_TIO
-# if defined(HAVE_TCGETATTR) && defined(HAVE_TERMIOS_H)
-    speedcode = cfgetospeed(&shttyinfo->tio);
-# else
-    speedcode = shttyinfo->tio.c_cflag & CBAUD;
-# endif
-#else
-    speedcode = shttyinfo->sgttyb.sg_ospeed;
-#endif
-
-    switch (speedcode) {
-    case B0:
-	return (0L);
-    case B50:
-	return (50L);
-    case B75:
-	return (75L);
-    case B110:
-	return (110L);
-    case B134:
-	return (134L);
-    case B150:
-	return (150L);
-    case B200:
-	return (200L);
-    case B300:
-	return (300L);
-    case B600:
-	return (600L);
-#ifdef _B900
-    case _B900:
-	return (900L);
-#endif
-    case B1200:
-	return (1200L);
-    case B1800:
-	return (1800L);
-    case B2400:
-	return (2400L);
-#ifdef _B3600
-    case _B3600:
-	return (3600L);
-#endif
-    case B4800:
-	return (4800L);
-#ifdef _B7200
-    case _B7200:
-	return (7200L);
-#endif
-    case B9600:
-	return (9600L);
-#ifdef B19200
-    case B19200:
-	return (19200L);
-#else
-# ifdef EXTA
-    case EXTA:
-	return (19200L);
-# endif
-#endif
-#ifdef B38400
-    case B38400:
-	return (38400L);
-#else
-# ifdef EXTB
-    case EXTB:
-	return (38400L);
-# endif
-#endif
-#ifdef B57600
-    case B57600:
-	return (57600L);
-#endif
-#ifdef B115200
-    case B115200:
-	return (115200L);
-#endif
-#ifdef B230400
-    case B230400:
-	return (230400L);
-#endif
-#ifdef B460800
-    case B460800:
-	return (460800L);
-#endif
-    default:
-	if (speedcode >= 100)
-	    return speedcode;
-	break;
-    }
-    return (0L);
-}
-#endif
 
 /* Escape tokens and null characters.  Buf is the string which should be     *
  * escaped.  len is the length of the string.  If len is -1, buf should be   *