summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 *