[#14696] Inconsistency in rescuability of "return" — Charles Oliver Nutter <charles.nutter@...>

Why can you not rescue return, break, etc when they are within

21 messages 2008/01/02

[#14738] Enumerable#zip Needs Love — James Gray <james@...>

The community has been building a Ruby 1.9 compatibility tip list on =20

15 messages 2008/01/03
[#14755] Re: Enumerable#zip Needs Love — Martin Duerst <duerst@...> 2008/01/04

Hello James,

[#14772] Manual Memory Management — Pramukta Kumar <prak@...>

I was thinking it would be nice to be able to free large objects at

36 messages 2008/01/04
[#14788] Re: Manual Memory Management — Marcin Raczkowski <mailing.mr@...> 2008/01/05

I would only like to add that RMgick for example provides free method to

[#14824] Re: Manual Memory Management — MenTaLguY <mental@...> 2008/01/07

On Sat, 5 Jan 2008 15:49:30 +0900, Marcin Raczkowski <mailing.mr@gmail.com> wrote:

[#14825] Re: Manual Memory Management — "Evan Weaver" <evan@...> 2008/01/07

Python supports 'del reference', which decrements the reference

[#14838] Re: Manual Memory Management — Marcin Raczkowski <mailing.mr@...> 2008/01/08

Evan Weaver wrote:

[#14911] Draft of some pages about encoding in Ruby 1.9 — Dave Thomas <dave@...>

Folks:

24 messages 2008/01/10

[#14976] nil encoding as synonym for binary encoding — David Flanagan <david@...>

The following just appeared in the ChangeLog

37 messages 2008/01/11
[#14977] Re: nil encoding as synonym for binary encoding — Yukihiro Matsumoto <matz@...> 2008/01/11

Hi,

[#14978] Re: nil encoding as synonym for binary encoding — Dave Thomas <dave@...> 2008/01/11

[#14979] Re: nil encoding as synonym for binary encoding — David Flanagan <david@...> 2008/01/11

Dave Thomas wrote:

[#14993] Re: nil encoding as synonym for binary encoding — Dave Thomas <dave@...> 2008/01/11

[#14980] Re: nil encoding as synonym for binary encoding — Gary Wright <gwtmp01@...> 2008/01/11

[#14981] Re: nil encoding as synonym for binary encoding — Yukihiro Matsumoto <matz@...> 2008/01/11

Hi,

[#14995] Re: nil encoding as synonym for binary encoding — David Flanagan <david@...> 2008/01/11

Yukihiro Matsumoto writes:

[#15050] how to "borrow" the RDoc::RubyParser and HTMLGenerator — Phlip <phlip2005@...>

Core Rubies:

17 messages 2008/01/13
[#15060] Re: how to "borrow" the RDoc::RubyParser and HTMLGenerator — Eric Hodel <drbrain@...7.net> 2008/01/14

On Jan 13, 2008, at 08:54 AM, Phlip wrote:

[#15062] Re: how to "borrow" the RDoc::RubyParser and HTMLGenerator — Phlip <phlip2005@...> 2008/01/14

Eric Hodel wrote:

[#15073] Re: how to "borrow" the RDoc::RubyParser and HTMLGenerator — Eric Hodel <drbrain@...7.net> 2008/01/14

On Jan 13, 2008, at 20:35 PM, Phlip wrote:

[#15185] Friendlier methods to compare two Time objects — "Jim Cropcho" <jim.cropcho@...>

Hello,

10 messages 2008/01/22

[#15194] Can large scale projects be successful implemented around a dynamic programming language? — Jordi <mumismo@...>

A good article I have found (may have been linked by slashdot, don't know)

8 messages 2008/01/24

[#15248] Symbol#empty? ? — "David A. Black" <dblack@...>

Hi --

24 messages 2008/01/28
[#15250] Re: Symbol#empty? ? — Yukihiro Matsumoto <matz@...> 2008/01/28

Hi,

Re: locale in ruby

From: Martin Duerst <duerst@...>
Date: 2008-01-01 09:51:46 UTC
List: ruby-core #14662
At 14:17 08/01/01, Tanaka Akira wrote:
>In article <6.0.0.20.2.20071231200106.0b1bfb00@localhost>,
>  Martin Duerst <duerst@it.aoyama.ac.jp> writes:
>
>> I'm not sure this was a good idea. It will change Ruby behavior
>> in various areas, even when not intended.
>
>Do you have concreate examples now?

Ok, I just found one. What we will try is something very simple:

$ ruby -e "puts 'abc'.force_encoding('US-ASCII').encoding"

Usually, that just prints the string "US-ASCII".

But now try switching to e.g. a Turkish locale
(the example that follows is on a Fedora box with tcsh,
your mileage may vary):

$ setenv LANG tr_TR.iso88599
$ ruby -e "puts 'abc'.force_encoding('US-ASCII').encoding"
-e:1:in `force_encoding': unknown encoding name - US-ASCII (ArgumentError)
        from -e:1:in `<main>'

The reason for this is that in a Turkish locale, the lowercase
i is mapped to the uppercase I-with-dot, and the uppercase I
is mapped to the lowercase i-without-dot.
The same problem happens with US-ASCii. I guess this is because
encoding names are kept in upper case, while the linkable extensions
have lower-case filenames. The same happens with all other encoding
names that contain an i/I, except for ASCII-8BIT if written
with all-uppercase I. The later case is probably due to the
fact that ASCII-8BIT is somehow hard-coded.

The same thing also happens for a Turkish locale using utf-8,
and for an Azeri locale using utf-8. There may be others.

>Some application require this clearly, such as curses.
>Some aplication may have trouble with this.

Truble is more per locale than per application.
Ruby 1.9 doesn't have many Turkish users yet, I guess,
or we might already have heard some complaints.

>I'd like to know Ruby 1.9.0-0 causes trouble or not.
>
>However I guess it is not so harmful.  It is because
>libreadline invokes setlocale.  So readline-enabled irb
>invokes setlocale.  But I don't see locale related trouble
>on irb.

If you set your locale before invoking irb, you might.

As I said earlier, if we want to keep setlocale, we have
to check every libc call for locale effects. I looked around
for strcasecmp, which I knew changes behavior in some locales.
There are quite a few strcasecmp in Ruby. Some are harmless
(e.g. checking for ".exe" in ruby.c, because there are no
locales where '.', 'e', or 'x' are treated differently).
Others are dangerous. Sometimes it may be difficult to
figure out what's the right way to do, because some
Turkish systems may e.g. use Turkish rules for case
correspondence of environment variables, while other
systems may use basic C locale rules.

Regards,    Martin.


#-#-#  Martin J. Du"rst, Assoc. Professor, Aoyama Gakuin University
#-#-#  http://www.sw.it.aoyama.ac.jp       mailto:duerst@it.aoyama.ac.jp     


In This Thread