[#33000] [Ruby 1.9-Bug#4014][Open] Case-Sensitivity of Property Names Depends on Regexp Encoding — Run Paint Run Run <redmine@...>

Bug #4014: Case-Sensitivity of Property Names Depends on Regexp Encoding

11 messages 2010/11/01

[#33021] Re: [Ruby 1.9-Feature#4015][Open] File::DIRECT Constant for O_DIRECT — Yukihiro Matsumoto <matz@...>

Hi,

15 messages 2010/11/02

[#33139] [Ruby 1.9-Bug#4044][Open] Regex matching errors when using \W character class and /i option — Ben Hoskings <redmine@...>

Bug #4044: Regex matching errors when using \W character class and /i option

8 messages 2010/11/11

[#33162] Windows Unicode (chcp 65001) Generates incorrect output — Luis Lavena <luislavena@...>

Hello,

10 messages 2010/11/14

[#33246] [Ruby 1.9-Feature#4068][Open] Replace current standard Date/DateTime library with home_run — Jeremy Evans <redmine@...>

Feature #4068: Replace current standard Date/DateTime library with home_run

40 messages 2010/11/17

[#33255] [Ruby 1.9-Feature#4071][Open] support basic auth for Net::HTTP.get requests — "coderrr ." <redmine@...>

Feature #4071: support basic auth for Net::HTTP.get requests

23 messages 2010/11/19

[#33322] [Ruby 1.9-Feature#4085][Open] Refinements and nested methods — Shugo Maeda <redmine@...>

Feature #4085: Refinements and nested methods

94 messages 2010/11/24
[#33345] Re: [Ruby 1.9-Feature#4085][Open] Refinements and nested methods — Yusuke ENDOH <mame@...> 2010/11/25

Hi,

[#33356] Re: [Ruby 1.9-Feature#4085][Open] Refinements and nested methods — Shugo Maeda <shugo@...> 2010/11/25

Hi,

[#33375] Re: [Ruby 1.9-Feature#4085][Open] Refinements and nested methods — Yusuke ENDOH <mame@...> 2010/11/25

Hi,

[#33381] Re: [Ruby 1.9-Feature#4085][Open] Refinements and nested methods — Shugo Maeda <shugo@...> 2010/11/25

Hi,

[#33387] Re: [Ruby 1.9-Feature#4085][Open] Refinements and nested methods — Magnus Holm <judofyr@...> 2010/11/25

Woah, this is very nice stuff! Some comments/questions:

[#33487] Re: [Ruby 1.9-Feature#4085][Open] Refinements and nested methods — Charles Oliver Nutter <headius@...> 2010/11/30

This is a long response, and for that I apologize. I want to make sure

[#33535] Re: [Ruby 1.9-Feature#4085][Open] Refinements and nested methods — Yusuke ENDOH <mame@...> 2010/12/03

Hi,

[#33519] Re: [Ruby 1.9-Feature#4085][Open] Refinements and nested methods — Shugo Maeda <shugo@...> 2010/12/02

Hi,

[#33523] Re: [Ruby 1.9-Feature#4085][Open] Refinements and nested methods — Yusuke ENDOH <mame@...> 2010/12/02

Hi,

[#33539] Re: [Ruby 1.9-Feature#4085][Open] Refinements and nested methods — Shugo Maeda <shugo@...> 2010/12/03

Hi,

[#33543] Re: [Ruby 1.9-Feature#4085][Open] Refinements and nested methods — Yusuke ENDOH <mame@...> 2010/12/03

Hi,

[#33546] Re: [Ruby 1.9-Feature#4085][Open] Refinements and nested methods — Shugo Maeda <shugo@...> 2010/12/03

Hi,

[#33548] Re: [Ruby 1.9-Feature#4085][Open] Refinements and nested methods — Yusuke ENDOH <mame@...> 2010/12/03

Hi,

[#33567] Re: [Ruby 1.9-Feature#4085][Open] Refinements and nested methods — Shugo Maeda <shugo@...> 2010/12/04

Hi,

[#33595] Re: [Ruby 1.9-Feature#4085][Open] Refinements and nested methods — Charles Oliver Nutter <headius@...> 2010/12/06

On Sat, Dec 4, 2010 at 6:32 AM, Shugo Maeda <[email protected]> wrote:

[#33367] Planning to release 1.8.7 fixes on 12/25 (Japanese timezone) — Urabe Shyouhei <shyouhei@...>

Hello,

20 messages 2010/11/25
[#33439] Re: Planning to release 1.8.7 fixes on 12/25 (Japanese timezone) — Luis Lavena <luislavena@...> 2010/11/27

2010/11/25 Urabe Shyouhei <[email protected]>:

[#33456] [Request for Comment] avoid timer thread — SASADA Koichi <ko1@...>

Hi,

25 messages 2010/11/29
[#35152] Re: [Request for Comment] avoid timer thread — Mark Somerville <mark@...> 2011/02/08

On Mon, Nov 29, 2010 at 11:53:03AM +0900, SASADA Koichi wrote:

[#36077] Re: [Request for Comment] avoid timer thread — Mark Somerville <mark@...> 2011/05/09

On Tue, Feb 08, 2011 at 09:24:13PM +0900, Mark Somerville wrote:

[#36952] Re: [Request for Comment] avoid timer thread — Eric Wong <normalperson@...> 2011/06/10

Mark Somerville <[email protected]> wrote:

[#37080] Re: [Request for Comment] avoid timer thread — Mark Somerville <mark@...> 2011/06/13

On Sat, Jun 11, 2011 at 05:57:11AM +0900, Eric Wong wrote:

[#37103] Re: [Request for Comment] avoid timer thread — Eric Wong <normalperson@...> 2011/06/13

Mark Somerville <[email protected]> wrote:

[#37187] Re: [Request for Comment] avoid timer thread — SASADA Koichi <ko1@...> 2011/06/16

(2011/06/14 3:37), Eric Wong wrote:

[#37195] Re: [Request for Comment] avoid timer thread — Eric Wong <normalperson@...> 2011/06/17

SASADA Koichi <[email protected]> wrote:

[#37205] Re: [Request for Comment] avoid timer thread — Eric Wong <normalperson@...> 2011/06/17

Eric Wong <[email protected]> wrote:

[#33469] [Ruby 1.9-Feature#4100][Open] Improve Net::HTTP documentation — Eric Hodel <redmine@...>

Feature #4100: Improve Net::HTTP documentation

12 messages 2010/11/29

[ruby-core:33235] Re: not use system for default encoding

From: Brian Candler <B.Candler@...>
Date: 2010-11-17 12:05:40 UTC
List: ruby-core #33235
NARUSE, Yui wrote on 2010-11-15 11:07:
> This is what Japanese people often say "Americans don't consider=20
> non-ASCII

Sure, many people want to handle non-ASCII text. But:

* I would consider all non-Unicode character sets to be legacy, do you
disagree?
* ruby 1.9's model doesn't handle stateful encodings like ISO-2022-JP,
so these need transcoding at the edge anyway
* hence why not just transcode everything that's not Unicode into Unicode=
?

I would choose UTF-8 as the internal Unicode representation, since the
majority of external Unicode data already UTF-8.  (*)

Then you end up with the design used by both Python 3.0 and Erlang: you h=
ave
two data types, one for binary strings, and one for UTF-8 text.  (I shoul=
d
add this to the document as an explicit alternative)

This would wipe out most of the complexity associated with ruby 1.9 at a
stroke. What you would lose is:

* the ability to handle things like EUC-JP or GB2312 "natively", that is,
without transcoding them to UTF-8 and back
* the ability to write ruby programs in non-UTF-8 character sets

How big a loss is that?

(*) There's an argument which says use UTF-16 or UTF-32 internally as it'=
s
better suited to character indexing.  I would say that this is outweighed=
 by
the extra RAM bandwidth used, and the fact that most data is UTF-8 so wou=
ld
have to be transcoded.

> > Have a universally-compatible "BINARY" encoding.
> > Any operation between BINARY and FOO gives encoding BINARY,
> > and transcoding between BINARY and any other encoding is a null opera=
tion.
>=20
> This will hide unexpectedly mixed BINARY string.
> You'll realize hard to debug such strings.

I would much rather have a program which outputs a plausible binary strin=
g
from its inputs than one which crashes given unexpected data.  ruby 1.9
hugely magnifies the number of unit test cases to achieve coverage of the=
se
edge cases.

> > Treat invalid characters in the same way as String#[] does,
> > i.e. never raise an exception. In particular, regexp matching always =
succeeds.
>=20
> This will raise security issue.

In what way is it a security issue?  Why is it not a security issue that
String#[] doesn't error?  Why is it not a security issue that 'sed' handl=
es
such files successfully?

Roger Pack wrote:
> Maybe another option is a command line switch like --binary_only
> (avoids all encodings, does only ASCII-8BIT) or make it so that
> setting Encoding.default_external and default_internal to ASCII-8BIT
> would have the same effect...
> Just thinking out loud.

I think that's a bad idea, because then your program behaves in
different ways depending on how it's launched, and that breaks libraries
which depend on this global flag being set a particular way, and applicat=
ions
which are run in different environments. This problem already affects 1.8=
:
see http://www.ruby-forum.com/topic/216511

I think if you wanted this behaviour to be opt-in you'd have a completely
different encoding, call it 'true-binary' for sake of argument.  Then you=
'd
say:

  # encoding:true-binary

at the top of the source file to make all your string literals be this
univeral binary encoding.

Martin J. D=FCrst wrote:
> But the fact that US-ASCII and BINARY (=3D=3DASCII8BIT)
> currently mix easily will need some very careful thought and work (it
> has been discussed many times in great detail on ruby-dev). The short
> summary of why US-ASCII and BINARY currently mix easily is that if you
> want to check the magic number at the start of a GIF file, you want to
> write that
>     ~=3D /^GIF8/
> and not
>     ~=3D /^\x47\x49\x46\x38/b

I think you mean:

      =3D~ /\AGIF8/

Since this is binary data, you'll have read it using 'read' not 'gets'.=20
This demonstrates a far more dangerous default behaviour in Ruby: ^ doesn=
't
only match start of string, so the regexp you wrote will match things you
didn't expect.  (This isn't really relevant to discussion in hand, except
where people have said it's somehow dangerous to allow binary strings to
interact with strings in different encodings without raising an error)

Regards,

Brian.

In This Thread