[#20190] Behavior: autoload calls rb_require() directly — Evan Phoenix <evan@...>

Hi everyone,

79 messages 2008/12/01
[#20200] Re: Behavior: autoload calls rb_require() directly — Yukihiro Matsumoto <matz@...> 2008/12/02

Hi,

[#20215] Re: Behavior: autoload calls rb_require() directly — Evan Phoenix <evan@...> 2008/12/02

[#20217] Re: Behavior: autoload calls rb_require() directly — Dave Thomas <dave@...> 2008/12/02

[#20301] Re: Behavior: autoload calls rb_require() directly — Yukihiro Matsumoto <matz@...> 2008/12/04

Hi,

[#20316] Re: Behavior: autoload calls rb_require() directly — Charles Oliver Nutter <charles.nutter@...> 2008/12/04

Yukihiro Matsumoto wrote:

[#20317] Re: Behavior: autoload calls rb_require() directly — Paul Brannan <pbrannan@...> 2008/12/04

On Fri, Dec 05, 2008 at 03:25:42AM +0900, Charles Oliver Nutter wrote:

[#20323] Leave my open classes alone (was Behavior: autoload calls rb_require() directly) — Dave Thomas <dave@...> 2008/12/04

[#20325] Re: Leave my open classes alone (was Behavior: autoload calls rb_require() directly) — Charles Oliver Nutter <charles.nutter@...> 2008/12/04

Dave Thomas wrote:

[#20328] Re: Leave my open classes alone (was Behavior: autoload calls rb_require() directly) — Yukihiro Matsumoto <matz@...> 2008/12/04

Hi,

[#20334] Re: Leave my open classes alone (was Behavior: autoload calls rb_require() directly) — Charles Oliver Nutter <charles.nutter@...> 2008/12/04

Yukihiro Matsumoto wrote:

[#20384] Re: Leave my open classes alone (was Behavior: autoload calls rb_require() directly) — Brent Roman <brent@...> 2008/12/05

[#20329] Re: Behavior: autoload calls rb_require() directly — daz <dooby@...10.karoo.co.uk> 2008/12/04

Charles Oliver Nutter wrote:

[#20335] Re: Behavior: autoload calls rb_require() directly — Charles Oliver Nutter <charles.nutter@...> 2008/12/04

daz wrote:

[#20341] Re: Behavior: autoload calls rb_require() directly — "Michael Selig" <michael.selig@...> 2008/12/04

On Fri, 05 Dec 2008 09:58:02 +1100, Charles Oliver Nutter

[#20344] Re: Behavior: autoload calls rb_require() directly — Charles Oliver Nutter <charles.nutter@...> 2008/12/05

Michael Selig wrote:

[#20214] Proposal: deferred blocks — "Yehuda Katz" <wycats@...>

Several people have played around with solutions that use ParseTree or

11 messages 2008/12/02

[#20235] autoload and concurrency — "Yehuda Katz" <wycats@...>

Merb uses autoload rather extensively. We have lately observed some

31 messages 2008/12/03
[#20236] Re: autoload and concurrency — Jim Deville <jdeville@...> 2008/12/03

This seems like a strong argument in favor of Ruby-core:20225.

[#20240] Re: autoload and concurrency — Charles Oliver Nutter <charles.nutter@...> 2008/12/03

Jim Deville wrote:

[#20242] Re: autoload and concurrency — Charles Oliver Nutter <charles.nutter@...> 2008/12/03

Charles Oliver Nutter wrote:

[#20245] Re: autoload and concurrency — "Yehuda Katz" <wycats@...> 2008/12/03

Also, this just illustrates that it's possible. In the case of Merb, we

[#20247] Re: autoload and concurrency — Tomas Matousek <Tomas.Matousek@...> 2008/12/03

I think it has already been concluded that autoload and require are inheren=

[#20241] [Bug #814] NoMethodError: undefined method `read_nonblock' for #<OpenSSL::SSL::SSLSocket:0x1a64f9a0> — Aaron Patterson <redmine@...>

Bug #814: NoMethodError: undefined method `read_nonblock' for #<OpenSSL::SSL::SSLSocket:0x1a64f9a0>

19 messages 2008/12/03
[#22538] [Bug #814] NoMethodError: undefined method `read_nonblock' for #<OpenSSL::SSL::SSLSocket:0x1a64f9a0> — Tony Arcieri <redmine@...> 2009/02/26

Issue #814 has been updated by Tony Arcieri.

[#20416] [Feature #839] Add code on each line of a backtrace output to the screen — Roger Pack <redmine@...>

Feature #839: Add code on each line of a backtrace output to the screen

12 messages 2008/12/08

[#20483] encoding of symbols — Dave Thomas <dave@...>

If I have a source file like this:

50 messages 2008/12/11
[#20494] Re: encoding of symbols — Yukihiro Matsumoto <matz@...> 2008/12/11

Hi,

[#20496] Re: encoding of symbols — Yukihiro Matsumoto <matz@...> 2008/12/12

Hi,

[#20522] Re: encoding of symbols — Charles Oliver Nutter <charles.nutter@...> 2008/12/13

Yukihiro Matsumoto wrote:

[#20526] Re: encoding of symbols — Brian Candler <B.Candler@...> 2008/12/13

On Sat, Dec 13, 2008 at 08:33:13PM +0900, Charles Oliver Nutter wrote:

[#20540] Re: 1.9 character encoding (was: encoding of symbols) — "Michael Selig" <michael.selig@...> 2008/12/14

On Sun, 14 Dec 2008 01:01:44 +1100, Brian Candler <B.Candler@pobox.com>

[#20545] Re: 1.9 character encoding (was: encoding of symbols) — "Michael Selig" <michael.selig@...> 2008/12/14

On Sun, 14 Dec 2008 11:57:55 +1100, Michael Selig

[#20562] Re: 1.9 character encoding (was: encoding of symbols) — Yukihiro Matsumoto <matz@...> 2008/12/15

Hi,

[#20619] Re: 1.9 character encoding (was: encoding of symbols) — danielcavanagh@... 2008/12/17

> You're right. When we have two strings with identical byte sequence

[#20502] [Bug #863] Openssl issues with fresh compile on Ubuntu — Brian Takita <redmine@...>

Bug #863: Openssl issues with fresh compile on Ubuntu

11 messages 2008/12/12

[#20557] [Bug #877] [win32] Ruby Standard Library (maybe smth else): Wrong Encoding in Files, Directories and Environment Variables — "Dmitry A. Ustalov" <redmine@...>

Bug #877: [win32] Ruby Standard Library (maybe smth else): Wrong Encoding in Files, Directories and Environment Variables

14 messages 2008/12/14

[#20564] [Bug #883] Failure: test_handle_special_CROSSREF_no_underscore(TestRDocMarkupToHtmlCrossref) — Kazuhiro NISHIYAMA <redmine@...>

Bug #883: Failure: test_handle_special_CROSSREF_no_underscore(TestRDocMarkupToHtmlCrossref)

9 messages 2008/12/15

[#20576] [Bug #888] zlib 1.2.3 does not work with Rubygems 1.3.1 (in Ruby 1.9.1) on Windows — Chauk-Mean PROUM <redmine@...>

Bug #888: zlib 1.2.3 does not work with Rubygems 1.3.1 (in Ruby 1.9.1) on Windows

14 messages 2008/12/15

[#20578] [Feature #889] erb.rb should use Array and << for eoutvar and not String and concat — Thomas Enebo <redmine@...>

Feature #889: erb.rb should use Array and << for eoutvar and not String and concat

15 messages 2008/12/15

[#20668] [Feature #905] Add String.new(fixnum) to preallocate large buffer — Charles Nutter <redmine@...>

Feature #905: Add String.new(fixnum) to preallocate large buffer

60 messages 2008/12/18
[#20671] Re: [Feature #905] Add String.new(fixnum) to preallocate large buffer — Yukihiro Matsumoto <matz@...> 2008/12/19

Hi

[#20674] Re: [Feature #905] Add String.new(fixnum) to preallocate large buffer — Charles Oliver Nutter <charles.nutter@...> 2008/12/19

Yukihiro Matsumoto wrote:

[#20697] Re: [Feature #905] Add String.new(fixnum) to preallocate large buffer — Jim Weirich <jim.weirich@...> 2008/12/19

[#20703] Re: [Feature #905] Add String.new(fixnum) to preallocate large buffer — Charles Oliver Nutter <charles.nutter@...> 2008/12/19

Jim Weirich wrote:

[#20704] Re: [Feature #905] Add String.new(fixnum) to preallocate large buffer — Dave Thomas <dave@...> 2008/12/19

[#28461] [Feature #905] Add String.new(fixnum) to preallocate large buffer — caleb clausen <redmine@...> 2010/03/04

Issue #905 has been updated by caleb clausen.

[#28491] [Feature #905] Add String.new(fixnum) to preallocate large buffer — Kurt Stephens <redmine@...> 2010/03/05

Issue #905 has been updated by Kurt Stephens.

[#20695] [Bug #907] Various system() and backticks problems on Windows — "James M. Lawrence" <redmine@...>

Bug #907: Various system() and backticks problems on Windows

13 messages 2008/12/19

[#20706] [Feature #908] Should be an easy way of reading N characters from am I/O stream — Michael Selig <redmine@...>

Feature #908: Should be an easy way of reading N characters from am I/O stream

39 messages 2008/12/19
[#21816] [Feature #908] Should be an easy way of reading N characters from am I/O stream — Michael Selig <redmine@...> 2009/02/03

Issue #908 has been updated by Michael Selig.

[#21825] Re: [Feature #908] Should be an easy way of reading N characters from am I/O stream — Tanaka Akira <akr@...> 2009/02/04

In article <4988d2fa997f8_8527a9e32018e7@redmine.ruby-lang.org>,

[#21826] Re: [Feature #908] Should be an easy way of reading N characters from am I/O stream — "Michael Selig" <michael.selig@...> 2009/02/04

Hi,

[#22100] Re: [Feature #908] Should be an easy way of reading N characters from am I/O stream — Tanaka Akira <akr@...> 2009/02/14

In article <op.uotab6oa9245dp@kool>,

[#22125] Re: [Feature #908] Should be an easy way of reading N characters from am I/O stream — Michal Suchanek <hramrach@...> 2009/02/15

2009/2/14 Tanaka Akira <akr@fsij.org>:

[#22146] Re: [Feature #908] Should be an easy way of reading N characters from am I/O stream — Tanaka Akira <akr@...> 2009/02/15

In article <a5d587fb0902141711q780f0d24jef9be9b8bbe69b2a@mail.gmail.com>,

[#22182] Re: [Feature #908] Should be an easy way of reading N characters from am I/O stream — Michal Suchanek <hramrach@...> 2009/02/16

2009/2/15 Tanaka Akira <akr@fsij.org>:

[#22213] Re: [Feature #908] Should be an easy way of reading N characters from am I/O stream — Tanaka Akira <akr@...> 2009/02/18

In article <a5d587fb0902160252u56b50cfdv8e0fd36bb4f0b1b3@mail.gmail.com>,

[#22215] Re: [Feature #908] Should be an easy way of reading N characters from am I/O stream — Michal Suchanek <hramrach@...> 2009/02/18

2009/2/18 Tanaka Akira <akr@fsij.org>:

[#22238] Re: [Feature #908] Should be an easy way of reading N characters from am I/O stream — "Michael Selig" <michael.selig@...> 2009/02/18

On Thu, 19 Feb 2009 02:21:21 +1100, Michal Suchanek <hramrach@centrum.cz>

[#22253] Re: [Feature #908] Should be an easy way of reading N characters from am I/O stream — Tanaka Akira <akr@...> 2009/02/19

In article <op.upklh9q19245dp@kool>,

[#22281] Re: [Feature #908] Should be an easy way of reading N characters from am I/O stream — Martin Duerst <duerst@...> 2009/02/20

At 19:00 09/02/19, Tanaka Akira wrote:

[#22332] Re: [Feature #908] Should be an easy way of reading N characters from am I/O stream — Tanaka Akira <akr@...> 2009/02/22

In article <6.0.0.20.2.20090220134502.0823ee98@localhost>,

[#22338] Re: [Feature #908] Should be an easy way of reading N characters from am I/O stream — "Michael Selig" <michael.selig@...> 2009/02/22

On Mon, 23 Feb 2009 03:00:41 +1100, Tanaka Akira <akr@fsij.org> wrote:

[#22356] Re: [Feature #908] Should be an easy way of reading N characters from am I/O stream — Michal Suchanek <hramrach@...> 2009/02/23

2009/2/22 Michael Selig <michael.selig@fs.com.au>:

[#20723] [Bug #911] ArgumentError in Resolv#getaddress — Federico Builes <redmine@...>

Bug #911: ArgumentError in Resolv#getaddress

14 messages 2008/12/20

[#20797] [Bug #921] autoload is not thread-safe — Charles Nutter <redmine@...>

Bug #921: autoload is not thread-safe

15 messages 2008/12/22

[#20893] [Bug #932] incorrect case statement in "ext/dl/test/test_base.rb" causes library problems on openSUSE 11.1 64-bit — Ed Borasky <redmine@...>

Bug #932: incorrect case statement in "ext/dl/test/test_base.rb" causes library problems on openSUSE 11.1 64-bit

8 messages 2008/12/26

[#20978] Definable != is a Bad Thing™ — Ryan Davis <ryand-ruby@...>

> >> class X; def == o; :great; end; def != o; :horrible; end; end

20 messages 2008/12/30
[#20979] Re: Definable != is a Bad Thing™ — Yukihiro Matsumoto <matz@...> 2008/12/30

Hi,

[#20994] [Bug #956] Encoding: nl_langinfo(CODESET) on cygwin 1.5 always returns US-ASCII — Tom Link <redmine@...>

Bug #956: Encoding: nl_langinfo(CODESET) on cygwin 1.5 always returns US-ASCII

10 messages 2008/12/30

[#20999] Supporting Thread.critical=with native threads — Shri Borde <Shri.Borde@...>

Hi,

27 messages 2008/12/30
[#21002] Re: Supporting Thread.critical=with native threads — Eric Hodel <drbrain@...7.net> 2008/12/31

On Dec 30, 2008, at 15:00 PM, Shri Borde wrote:

[#21010] Re: Supporting Thread.critical=with native threads — Shri Borde <Shri.Borde@...> 2008/12/31

http://www.ruby-doc.org/core/classes/Thread.html#M000461 says:

[#21245] Re: Supporting Thread.critical=with native threads — Charles Oliver Nutter <charles.nutter@...> 2009/01/10

I'm starting come around to Shri's idea of critical= being represented

[#21353] Re: Supporting Thread.critical=with native threads — Shri Borde <Shri.Borde@...> 2009/01/14

SXMgb3BlbmluZyBhIGJ1ZyB0aGUgcmVjb21tZW5kZWQgd2F5IHRvIGdldCB0aGUgc3BlYyBjaGFu

[#21359] Re: Supporting Thread.critical=with native threads — Brent Roman <brent@...> 2009/01/15

[ruby-core:20619] Re: 1.9 character encoding (was: encoding of symbols)

From: danielcavanagh@...
Date: 2008-12-17 23:43:45 UTC
List: ruby-core #20619
> You're right.  When we have two strings with identical byte sequence
> but different encodings, we have to tell they are different.  The
> comparison result does not matter much, so I used encoding index.
> Is there any alternative choice that makes sense?

i think there is an alternative :) in fact, i think it should be the only
option: doing it by character, not byte. if we have a string ("cat" for
example) in two different, incompatible encodings (say latin-1 and ucs4),
they *should* match because they are the *same* thing: "cat" and "cat"

why should we care how the characters are represented in the computer?
there is already too much trouble caused by all the different encodings in
the world. the encodings should disappear from view and we should only see
the characters, unless we explicitly ask for the byte values

and i think this would be simple to achieve too. we first add a function
to do actual conversions between two encodings based on character, not
just reinterpreting the byte values. so c in latin-1 (0x63) would become c
in utf-32 (0x00000063). it could have lists of which encodings are
supersets of other encodings (based on byte values, so latin-1 is a
superset of us-ascii because every us-ascii string is already a valid
latin-1 string, but utf-8 is not a superset of shift jis even though utf-8
can represent every shift jis character (i think :)). it would then know
it doesn't have to do any actual conversion when switching from a subset
to a superset. the string would already be valid in the superset. if a
character is found when converting that can't be represented in the new
encoding then an existing Encoding::CompatibilityError or a new
ConversionError would be raised

then comparison could be changed so that it converts one of the strings
into the other's encoding if it needs to before comparing the strings.
something like:

def ==()
    # begin as == currently does
    ...

    # do the new conversion stuff
    if left.encoding != right.encoding and left.encoding != "binary" and
right.encoding != "binary" and not superset(left.encoding,
right.encoding)
        try
            new_right = right.convert(left.encoding) # there could be a
ranking of the encodings and this could determine which
encoding to convert to rather than just picking the left one
every time
        rescue Encoding::CompatibilityError
            return false
        end
    end

    # do the comparison as we currently, byte-by-byte
end

you'll notice that it neatly catches the exception and returns false,
because obviously the strings won't match in that case. most importantly,
there are no extra problems for the user to worry about when comparing
strings. they will not have to catch exceptions, or anything like that

also, notice that it checks if either string has a binary encoding. this
basically means that there is no encoding, so effectively the two strings
are already in the same encoding and a byte-by-byte comparison is
automatically done. this gives us the current behaviour:

if str_one.encode("binary") == str_two # would match based on byte, rather
than character, as ruby does currently

with that simple change we've achieved default comparison based on
character, and comparison based on byte if asked for, so we get the best
of both worlds :)

concatenation could be extended too. if one string is a superset of the
other then no actual conversion needs to be done and the resulting string
would already be in the superset. if not, either always convert the right
string to the left string and raise an exception when we encounter a char
that can't be converted (which is no worse that what already happens when
concatenating differently encoded strings) or we could pick the encoding
that is a character-based superset (say shift jis to utf-8), or failing
that ruby could just pick a default superior encoding that handles every
character found in every other encoding. utf-8 would fit this role
(correct?) so we could fall back to it and then the concatenation would
*never* fail

it doesn't matter that ruby may pick a seemingly random encoding for the
resulting string because, anywhere else this new string is used, ruby
would just handle it intelligently

you could even use "binary" here again:

str_one + str_two.encode("binary")

this would act as if you wrote "str_one +
str_two.encode(str_one.encoding)" and effectively do the concatenation
based on bytes rather than characters

with all this in place, you could write say a program that works with a
lot of japanese documents, some older ones that are in shift jis, some
newer ones in utf-8, some in other japanese-friendly encodings, and then
you could just work with them without worrying at all: mix them; match
them; write them to disk; grab a string from one file and search through
ever other file, properly matching any instances of the string, no matter
the encoding. you would hardly every have to think about the encodings, if
at all. it would it all just work! god, i'm getting excited just
describing this :) should this not be what we strive for? a system where
we just think of the characters, not about how our computer decides to
write them. i think this is much more what ruby is about

i might have a go at coding this myself to see how it works in practice if
anyone else is interested. does anyone know of a document that describes
yarv's internals, as i'm not familiar with it yet? or more importantly any
criticisms or anything that my brain missed that may destroy this idea?


In This Thread