Date: Sun, 15 Jul 2007 23:00:52 -0400 From: christos@zoulas.com (Christos Zoulas) To: Giorgos Keramidas <keramida@freebsd.org> Cc: tcsh-bugs@mx.gw.com, current@freebsd.org Subject: Re: tcsh backtick hang info Message-ID: <20070716030052.1B43D56407@rebar.astron.com> In-Reply-To: <20070714005559.GB6661@kobe.laptop> from Giorgos Keramidas (Jul 14, 3:55am)
next in thread | previous in thread | raw e-mail | index | archive | help
On Jul 14, 3:55am, keramida@freebsd.org (Giorgos Keramidas) wrote: -- Subject: Re: tcsh backtick hang info | On 2007-07-12 14:56, Christos Zoulas <christos@zoulas.com> wrote: | > On Jul 12, 11:48am, dwhite@gumbysoft.com (Doug White) wrote: | > -- Subject: Re: tcsh backtick hang info | > | > | Thanks for the good words, Christos! If you can confirm this will be the | > | official patch then we can apply it to our vendor sources. If there are | > | any other fixes for nasty bugs in 6.15.00 that you're hanging on to it'd | > | be good to get those out and imported as well. | > | > You are welcome! | > This will be the official patch, and yes I have another 9 bug fixes since | > 6.15.00. In general, I don't make 6.15.XX generally available, but the | > severity of some of those problems fixed is high enough to possibly justify | > a 6.16.00 sooner than later. Here's the list of fixes: | > | > 10. kill `foo` got stuck because sigchld was disabled too soon (Mark Peek) | > 9. Avoid null pointer dereference in proc cwd (Kurt Miller) | > 8. eval "foreach a b c" exits (Anthony Menasse) | > 7. Quoting was broken in substitutions (Joe Wells) | > 6. QNX patches via pkgsrc | > 5. cd - twice from a directory that contained a glob pattern, | > expands the glob twice (Mark Santcroos) | > 4. MidnightBsd support (Lucas Holt) | > 3. Fix history substitution core-dump with no history entries | > 2. Merge two character tables that are the same (Martin Kraemer) | > 1. On ancient 7 bit locales, punctuation characters are used to | > denote special characters such as umlaut, adiaresis, etc. | > These characters return true for isalpha/isalnum. Ignore them | > because they break parsing (Martin Kraemer) | | Hi Christos, | | Can we persuade you to include the following local patch I keep for | autologout detection with /dev/pts/XXX ptys in FreeBSD? | | %%% | Fix pty detection logic of tcsh autologout initialization. | | Noticed by: kris | | diff --git a/contrib/tcsh/sh.c b/contrib/tcsh/sh.c | --- a/contrib/tcsh/sh.c | +++ b/contrib/tcsh/sh.c | @@ -457,7 +457,7 @@ main(int argc, char **argv) | if (*cp) { | /* only for login shells or root and we must have a tty */ | if ((cp2 = Strrchr(cp, (Char) '/')) != NULL) { | - cp = cp2 + 1; | + cp2 = cp2 + 1; | } | else | cp2 = cp; | %%% The code is wrong but I think that the fix is not exactly right... The following should work: /* only for login shells or root and we must have a tty */ if ((cp2 = Strrchr(cp, (Char) '/')) != NULL) { cp2 = cp2 + 1; } else cp2 = cp; if (!(((Strncmp(cp2, STRtty, 3) == 0) && Isalpha(cp2[3])) || Strstr(cp, Strslptssl) != NULL)) { if (getenv("DISPLAY") == NULL) { /* NOT on X window shells */ setcopy(STRautologout, STRdefautologout, VAR_READWRITE); } } Thanks for the bug report. wonder how come nobody complained for years! christos
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070716030052.1B43D56407>