buildworld broken after installworld
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
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
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
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
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
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
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
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
[ 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
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
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
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
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
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
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