buildworld broken after installworld

2003-08-04 Thread Shin-ichi YOSHIMOTO
I tried to buildworld and installworld in this morning. After that,
buildworld broken like this:

[snip]
=== lib/libedit
cc -O -pipe -march=pentium4 -I. -I/usr/src/lib/libedit -c editline.c
In file included from /usr/src/lib/libedit/chared.h:136,
 from /usr/src/lib/libedit/el.h:102,
 from /usr/src/lib/libedit/chared.c:51,
 from editline.c:4:
fcns.h:94:12: warning: ISO C requires whitespace after the macro name
In file included from editline.c:9:
help.c:51: error: `VI_ZERO' undeclared here (not in a function)
[snip]

and I checked fcns.h:94.

 cat /usr/obj/usr/src/lib/libedit/fcns.h
[snip]
#define VI_UNDO_LINE 89
#define VI_]ERO  90--- ???
#define EL_NUM_FCNS  91
typedef el_action_t (*el_func_t)(EditLine *, int);
protected const el_func_t* func__get(void);
#endif /* _h_fcns_c */

-- 
Shin-ichi YOSHIMOTO [EMAIL PROTECTED]
http://diary.waishi.jp/~yosimoto/diary/

___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: buildworld broken after installworld

2003-08-04 Thread Ruslan Ermilov
On Mon, Aug 04, 2003 at 07:51:35PM +0900, Shin-ichi YOSHIMOTO wrote:
 I tried to buildworld and installworld in this morning. After that,
 buildworld broken like this:
 
 [snip]
 === lib/libedit
 cc -O -pipe -march=pentium4 -I. -I/usr/src/lib/libedit -c editline.c
 In file included from /usr/src/lib/libedit/chared.h:136,
  from /usr/src/lib/libedit/el.h:102,
  from /usr/src/lib/libedit/chared.c:51,
  from editline.c:4:
 fcns.h:94:12: warning: ISO C requires whitespace after the macro name
 In file included from editline.c:9:
 help.c:51: error: `VI_ZERO' undeclared here (not in a function)
 [snip]
 
 and I checked fcns.h:94.
 
  cat /usr/obj/usr/src/lib/libedit/fcns.h
 [snip]
 #define VI_UNDO_LINE 89
 #define VI_]ERO  90--- ???
 #define EL_NUM_FCNS  91
 typedef el_action_t (*el_func_t)(EditLine *, int);
 protected const el_func_t* func__get(void);
 #endif /* _h_fcns_c */
 
Too bad.  I think this may be related to a recent work of Andrey
on tr(1), as fcns.h is generated using src/lib/libedit/makelist.
Perhaps, just enforcing the C locale will fix it.


Cheers,
-- 
Ruslan Ermilov  Sysadmin and DBA,
[EMAIL PROTECTED]   Sunbay Software Ltd,
[EMAIL PROTECTED]   FreeBSD committer


pgp0.pgp
Description: PGP signature


Re: buildworld broken after installworld

2003-08-04 Thread Shin-ichi YOSHIMOTO
Subject: Re: buildworld broken after installworld,
On Mon, 4 Aug 2003 14:47:23 +0300, Ruslan Ermilov wrote:
 Too bad.  I think this may be related to a recent work of Andrey
 on tr(1), as fcns.h is generated using src/lib/libedit/makelist.
 Perhaps, just enforcing the C locale will fix it.

Yes. I tried to setenv LANG C, just fine.

-- 
Shin-ichi YOSHIMOTO [EMAIL PROTECTED]
http://diary.waishi.jp/~yosimoto/diary/

___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: buildworld broken after installworld

2003-08-04 Thread Andrey Chernov
On Mon, Aug 04, 2003 at 22:38:33 +0900, Shin-ichi YOSHIMOTO wrote:
 Subject: Re: buildworld broken after installworld,
 On Mon, 4 Aug 2003 14:47:23 +0300, Ruslan Ermilov wrote:
  Too bad.  I think this may be related to a recent work of Andrey
  on tr(1), as fcns.h is generated using src/lib/libedit/makelist.
  Perhaps, just enforcing the C locale will fix it.
 
 Yes. I tried to setenv LANG C, just fine.

There is

tr '[a-z]' '[A-Z]'

which can be different for different locales since use collate now as
required by POSIX. Please tell which exact non-C locale you use and what
happens? I miss start of this discussion.

___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: buildworld broken after installworld

2003-08-04 Thread Andrey Chernov
On Mon, Aug 04, 2003 at 17:46:37 +0400, Andrey Chernov wrote:
 On Mon, Aug 04, 2003 at 22:38:33 +0900, Shin-ichi YOSHIMOTO wrote:
  Subject: Re: buildworld broken after installworld,
  On Mon, 4 Aug 2003 14:47:23 +0300, Ruslan Ermilov wrote:
   Too bad.  I think this may be related to a recent work of Andrey
   on tr(1), as fcns.h is generated using src/lib/libedit/makelist.
   Perhaps, just enforcing the C locale will fix it.
  
  Yes. I tried to setenv LANG C, just fine.
 
 There is
 
 tr '[a-z]' '[A-Z]'
 
 which can be different for different locales since use collate now as
 required by POSIX. Please tell which exact non-C locale you use and what
 happens? I miss start of this discussion.

Well, I found error in the archives, so the question remains, what locale 
you use?
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: buildworld broken after installworld

2003-08-04 Thread Andrey Chernov
On Mon, Aug 04, 2003 at 17:57:13 +0400, Andrey Chernov wrote:

  There is
  
  tr '[a-z]' '[A-Z]'
  
  which can be different for different locales since use collate now as
  required by POSIX. Please tell which exact non-C locale you use and what
  happens? I miss start of this discussion.
 
 Well, I found error in the archives, so the question remains, what locale 
 you use?

For example, this result is right and not the bug (but wrong tr usage):

env LANG=de_DE.ISO8859-1 tr '[a-z]' '[A-Z]'
vi_zero
WI_]ERO

___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: buildworld broken after installworld

2003-08-04 Thread Shin-ichi YOSHIMOTO
Subject: Re: buildworld broken after installworld,
On Mon, 4 Aug 2003 17:57:13 +0400, Andrey Chernov wrote:
 Well, I found error in the archives, so the question remains, what locale 
 you use?

LANG=en_US.ISO8859-1

-- 
Shin-ichi YOSHIMOTO [EMAIL PROTECTED]
http://diary.waishi.jp/~yosimoto/diary/

___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: buildworld broken after installworld

2003-08-04 Thread Andrey Chernov
On Mon, Aug 04, 2003 at 23:05:16 +0900, Shin-ichi YOSHIMOTO wrote:
 Subject: Re: buildworld broken after installworld,
 On Mon, 4 Aug 2003 17:57:13 +0400, Andrey Chernov wrote:
  Well, I found error in the archives, so the question remains, what locale 
  you use?
 
 LANG=en_US.ISO8859-1

I just commit the fix to makelist, see explanation in the commit message.
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: buildworld broken after installworld

2003-08-04 Thread Ruslan Ermilov
[ standards@ Cc:ed ]

On Mon, Aug 04, 2003 at 06:03:32PM +0400, Andrey Chernov wrote:
 On Mon, Aug 04, 2003 at 17:57:13 +0400, Andrey Chernov wrote:
 
   There is
   
   tr '[a-z]' '[A-Z]'
   
   which can be different for different locales since use collate now as
   required by POSIX. Please tell which exact non-C locale you use and what
   happens? I miss start of this discussion.
  
  Well, I found error in the archives, so the question remains, what locale 
  you use?
 
 For example, this result is right and not the bug (but wrong tr usage):
 
 env LANG=de_DE.ISO8859-1 tr '[a-z]' '[A-Z]'
 vi_zero
 WI_]ERO
 
Clearly this is a useless construct then.

I can read this in the POSIX.1-2003 spec when it comes to tr(1):

: c-c In the POSIX locale, this construct shall
: represent the range of collating elements between
: the range endpoints (as long as neither endpoint
: is an octal sequence of the form \octal),
: inclusive, as defined by the collation sequence.
: The characters or collating elements in the
: range shall be placed in the array in ascending
: collation sequence. If the second endpoint
: precedes the starting endpoint in the collation
: sequence, it is unspecified whether the range
: of collating elements is empty, or this construct
: is treated as invalid. In locales other than
 ^
: the POSIX locale, this construct has unspecified
  
: behavior.
  

This is identical to a similar issue with awk(1), and the latest
snapshot of the One True AWK reverts to NOT using strcoll(3) to
handle character ranges in RE, because different locales and even
the same locales on different operating systems (FreeBSD, Linux,
and Solaris were compared) have different ideas about the collating
order.  On Linux, the German locale's collating sequence will be
``A a ... B b'', while on FreeBSD, it's ``A B ... a b''.

So I'd rather prefer if we revert to the old behavior in tr(1).


Cheers,
-- 
Ruslan Ermilov  Sysadmin and DBA,
[EMAIL PROTECTED]   Sunbay Software Ltd,
[EMAIL PROTECTED]   FreeBSD committer


pgp0.pgp
Description: PGP signature


Re: buildworld broken after installworld

2003-08-04 Thread Shin-ichi YOSHIMOTO
Subject: Re: buildworld broken after installworld,
On Mon, 4 Aug 2003 18:14:04 +0400, Andrey Chernov wrote:
 I just commit the fix to makelist, see explanation in the commit message.

Just fine for LANG=en_US.ISO8859-1. Thank you.

-- 
Shin-ichi YOSHIMOTO [EMAIL PROTECTED]
http://diary.waishi.jp/~yosimoto/diary/

___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: buildworld broken after installworld

2003-08-04 Thread Andrey Chernov
On Mon, Aug 04, 2003 at 17:18:58 +0300, Ruslan Ermilov wrote:

 : The characters or collating elements in the
 : range shall be placed in the array in ascending
 : collation sequence. If the second endpoint
 : precedes the starting endpoint in the collation
 : sequence, it is unspecified whether the range

Do you read first part about collation sequence? We just implement that,
i.e. collation sequence for all, including non-POSIX locale which allowed
as unspecified.

 : of collating elements is empty, or this construct
 : is treated as invalid. In locales other than
  ^
 : the POSIX locale, this construct has unspecified
   
 : behavior.
   
 
 This is identical to a similar issue with awk(1), and the latest
 snapshot of the One True AWK reverts to NOT using strcoll(3) to
 handle character ranges in RE, because different locales and even
 the same locales on different operating systems (FreeBSD, Linux,
 and Solaris were compared) have different ideas about the collating
 order.  On Linux, the German locale's collating sequence will be
 ``A a ... B b'', while on FreeBSD, it's ``A B ... a b''.

This is bug in AWK, since strcoll() required in regexp, but we don't
discuss AWK. Even in case it is unspecified behaviour, it means that

1) We can't use c-c for non-POSIX locales!
2) All occurances of c-c must be either replaced or used in C locale only!

In other words, you win nothing, insisting on historycal behaviour,
because its usage is ILLEGAL in anycase (i,e, outside of LANG=C)

 So I'd rather prefer if we revert to the old behavior in tr(1).

No way. The ranges should be similar with what we have for regexp.


pgp0.pgp
Description: PGP signature


Re: buildworld broken after installworld

2003-08-04 Thread Dag-Erling Smørgrav
Ruslan Ermilov [EMAIL PROTECTED] writes:
  For example, this result is right and not the bug (but wrong tr usage):
  
  env LANG=de_DE.ISO8859-1 tr '[a-z]' '[A-Z]'
  vi_zero
  WI_]ERO
 Clearly this is a useless construct then.

The correct construct is tr '[:lower:]' '[:upper:]'

DES
-- 
Dag-Erling Smørgrav - [EMAIL PROTECTED]
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: buildworld broken after installworld

2003-08-04 Thread Ruslan Ermilov
On Mon, Aug 04, 2003 at 08:58:00PM +0200, Dag-Erling Sm?rgrav wrote:
 Ruslan Ermilov [EMAIL PROTECTED] writes:
   For example, this result is right and not the bug (but wrong tr usage):
   
   env LANG=de_DE.ISO8859-1 tr '[a-z]' '[A-Z]'
   vi_zero
   WI_]ERO
  Clearly this is a useless construct then.
 
 The correct construct is tr '[:lower:]' '[:upper:]'
 
I think we've now reached the agreement with Andrey that
a more correct, safe, and portable [sic] construct would
be LC_ALL=C tr [:lower:] [:upper:].  It works the same
in any non-broken operating system and with any locale.


Cheers,
-- 
Ruslan Ermilov  Sysadmin and DBA,
[EMAIL PROTECTED]   Sunbay Software Ltd,
[EMAIL PROTECTED]   FreeBSD committer


pgp0.pgp
Description: PGP signature


Re: buildworld broken after installworld

2003-08-04 Thread Andrey Chernov
On Mon, Aug 04, 2003 at 23:32:19 +0300, Ruslan Ermilov wrote:

 I think we've now reached the agreement with Andrey that
 a more correct, safe, and portable [sic] construct would
 be LC_ALL=C tr [:lower:] [:upper:].  It works the same
 in any non-broken operating system and with any locale.

We need to say, construct for what? If for lower-upper replacing inside
ASCII only, LC_ALL=C tr [a-z] [A-Z] is most portable because some tr
implementations even not understand [:class:] but some other have SysV-ism
to specify ranges in the [], against what POSIX says. But I think that
LC_ALL=C tr a-z A-Z is better middle point here because not teach user
to incorrect syntax from the scripts.


pgp0.pgp
Description: PGP signature


Re: buildworld broken after installworld

2003-08-04 Thread Ruslan Ermilov
On Tue, Aug 05, 2003 at 01:44:44AM +0400, Andrey Chernov wrote:
 On Mon, Aug 04, 2003 at 23:32:19 +0300, Ruslan Ermilov wrote:
 
  I think we've now reached the agreement with Andrey that
  a more correct, safe, and portable [sic] construct would
  be LC_ALL=C tr [:lower:] [:upper:].  It works the same
  in any non-broken operating system and with any locale.
 
 We need to say, construct for what? If for lower-upper replacing inside
 ASCII only, LC_ALL=C tr [a-z] [A-Z] is most portable because some tr
 implementations even not understand [:class:] but some other have SysV-ism
 to specify ranges in the [], against what POSIX says. But I think that
 LC_ALL=C tr a-z A-Z is better middle point here because not teach user
 to incorrect syntax from the scripts.
 
Agreed.


Cheers,
-- 
Ruslan Ermilov  Sysadmin and DBA,
[EMAIL PROTECTED]   Sunbay Software Ltd,
[EMAIL PROTECTED]   FreeBSD committer


pgp0.pgp
Description: PGP signature