Quantcast

Re: ksh bug on Tru64 UNIX causes current libtool failure

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: ksh bug on Tru64 UNIX causes current libtool failure

Ralf Wildenhues
[ This thread starts at
  <http://lists.gnu.org/archive/html/libtool/2005-05/msg00137.html>
and continues at
  <http://lists.gnu.org/archive/html/libtool/2005-06/msg00005.html> ]

* Nicolas Joly wrote on Thu, May 19, 2005 at 12:39:43AM CEST:
> On Wed, May 18, 2005 at 11:09:21PM +0200, Ralf Wildenhues wrote:
> >
> > Could you as well please: run the script I sent in another message in
> > this thread and report the exact ksh version this is on, so we can
> > mention it in the Autoconf portability section?
>
> njoly@medusa [~]> /bin/ksh
> $ set -o emacs
> $ Version M-11/16/88f

Proposed patch for autoconf.texi below.

Regards,
Ralf

        * doc/autoconf.texi (Limitations of Builtins) <case>: Mention
        Tru64 ksh pattern matching bug.  Reported against Libtool by
        Albert Chin <[hidden email]> and
        Nicolas Joly <[hidden email]>.

Index: doc/autoconf.texi
===================================================================
RCS file: /cvsroot/autoconf/autoconf/doc/autoconf.texi,v
retrieving revision 1.906
diff -u -r1.906 autoconf.texi
--- doc/autoconf.texi 6 Jun 2005 08:01:32 -0000 1.906
+++ doc/autoconf.texi 7 Jun 2005 09:15:29 -0000
@@ -10931,6 +10931,14 @@
 Even with this, SunOS 5.7 ksh matches a backslash if the set contains any
 of the characters @samp{|}, @samp{&}, @samp{(}, or @samp{)}.
 
+On the other hand, Tru64 ksh erroneously always matches a closing parenthesis
+if not specified in a character class:
+
+@example
+$ @kbd{case foo in *\)*) echo false ;; esac}
+false
+@end example
+
 Some shells, such as Ash 0.3.8, are confused by an empty
 @code{case}/@code{esac}:
 


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: ksh bug on Tru64 UNIX causes current libtool failure

Paul Eggert
Ralf Wildenhues <[hidden email]> writes:

>         * doc/autoconf.texi (Limitations of Builtins) <case>: Mention
>         Tru64 ksh pattern matching bug.

Thanks.  I installed the following slightly-different patch into
autoconf.

--- autoconf.texi 8 Jun 2005 07:13:50 -0000 1.907
+++ autoconf.texi 8 Jun 2005 07:55:29 -0000 1.908
@@ -10899,6 +10899,16 @@ $
 Even with this, SunOS 5.7 ksh matches a backslash if the set contains any
 of the characters @samp{|}, @samp{&}, @samp{(}, or @samp{)}.
 
+Conversely, Tru64 @command{ksh} (circa 2003) erroneously always matches
+a closing parenthesis if not specified in a character class:
+
+@example
+$ @kbd{case foo in *\)*) echo fail ;; esac}
+fail
+$ @kbd{case foo in *')'*) echo fail ;; esac}
+fail
+@end example
+
 Some shells, such as Ash 0.3.8, are confused by an empty
 @code{case}/@code{esac}:
 



Loading...