19938-21072 subjects 20324-23381

[Bug #790](Closed) Unexpected Behaviour: Fibers as superclass don
20151 [redmine@ru y] Issue #790 has been updated by Yukihiro Matsumoto.

[Bug #800] Problem with Array class
20158 [redmine@ru y] Bug #800: Problem with Array class

[Bug #800] Problem with Array class
20159 [redmine@ru y] Issue #800 has been updated by Rados??aw Bu??at.

[Bug #800](Rejected) Problem with Array class
20160 [redmine@ru y] Issue #800 has been updated by Yukihiro Matsumoto.

\Z? in regular expression in 1.9.1
20161 [michael.s.kl] I noticed that the following reg exp causes syntax error in 1.9.1 (I
20162 [radek.bulat@] T24gU2F0LCBOb3YgMjksIDIwMDggYXQgMTI6MTQgQU0sIE1pY2hhZWwgS2xpc2hpbgo8bWljaGFl
20163 [matz@ru y- a] That's right.  But perhaps we should allow repeat quantifier after
+ 20164 [michael.s.kl] Yes, 1.8 does not raise SyntaxError in this case. Should I file a
+ 20165 [dblack@ru yp] Does it make sense, though, for zero-width assertions? It's like
  + 20166 [michael.s.kl] I only asked because I noticed the following difference between 1.8
  + 20167 [B.Candler@po] irb(main):001:0> puts "phooey" if /a/.match("bcde")
    + 20174 [dblack@ru yp] It's hard to tell whether it's a bug, since it's not clear what \Z?
    | 20177 [B.Candler@po] Sure. All I meant was, given the original regexp example
    + 20180 [matz@ru y- a] Aargh, I will fix somehow.  Maybe by making it strict again.  Sorry

[Bug #799] cross compile 1.9.1-preview1 is not possible
20172 [redmine@ru y] Issue #799 has been updated by Roger Pack.

Unable to build from source on Vista, VC++ 9
20176 [djberg96@gm ] Windows Vista (Home Premium)
+ 20183 [nobu@ru y- a] VC seems to define _M_AMD64 on amd64 instead of _M_IX86, but
| 20184 [djberg96@gm ] As Park Heesob brought up on win32utils-devel, SEH on 64-bit Windows is table
| 20204 [nobu@ru y- a] How we can access that table?
+ 20206 [usa@ga ba ec] ruby 1.8 does NOT support x64 Windows.

[Bug #791](Closed) Fiber using a Proc object with a parameter having default value doesn't work
20182 [redmine@ru y] Issue #791 has been updated by Nobuyoshi Nakada.

[ANN] Ruby 1.9.1 Preview 2 Released
20187 [yugui@yu ui ] Ruby 1.9.1 Preview 2 has been released.
20202 [duerst@it ao] Many thanks for mentioning this. However, processing of these

[Bug #804] Ruby 1.9.1 preview 2 : make test failure
20188 [redmine@ru y] Bug #804: Ruby 1.9.1 preview 2 : make test failure

[Bug #805] Ruby 1.9.1 preview 2 : build failure on OpenSolaris
20189 [redmine@ru y] Bug #805: Ruby 1.9.1 preview 2 : build failure on OpenSolaris
20205 [nobu@ru y- a] Is ISPRINT macro defined anywhere on OpenSolaris?
20284 [lists@da sa ] I've checked system header files and found following macro definitions
20285 [nobu@ru y- a] Hmmm, they obviously conflict.
20291 [lists@da sa ] "/usr/include/sys/euc.h" defines "#define ISPRINT(c, wp)

Behavior: autoload calls rb_require() directly
20190 [evan@fa li g] While working on some specs, we found out that autoload
20200 [matz@ru y- a] This leads another question: should any implementation be affected by
20215 [evan@fa li g] It's a case by case basis. There are certainly places where you want
+ 20217 [dave@pr gp o] If you're worried about fragility, then isn't the ability to redefine
| + 20222 [wycats@gm il] ...
| | + 20224 [dave@pr gp o] And Matz is saying the, if nothing else is agreed, that behavior will
| | | 20265 [Thomas.Enebo] Absolutely!  Matz pick what you want on this...please :)
| | + 20225 [transfire@gm] ce
| + 20301 [matz@ru y- a] I mentioned about fragility just because that will be an issue for
|   + 20316 [charles.nutt] I agree. There's no practical reason anyone should be able to override
|   | + 20317 [pbrannan@at ] I agree.  Not having to check to see if Fixnum#+ is redefined each time
|   | + 20319 [transfire@gm] On Dec 4, 1:25=A0pm, Charles Oliver Nutter <charles.nut...@sun.com>
|   | | 20321 [charles.nutt] Just for you, I think we should provide a command-line option
|   | + 20329 [dooby@d1 .k ] override Fixnum#+, after all, and protecting the core simplifies
|   | | 20335 [charles.nutt] I wasn't speaking as a language designer or an implementer; I was
|   | | + 20337 [neil@ha ub .] This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
|   | | | 20338 [charles.nutt] I don't see why Ruby couldn't someday be the right tool for the job.
|   | | + 20341 [michael.seli] Not being a "compiled to machine code" language, it seems impossible to me
|   | |   20344 [charles.nutt] JRuby, via the JVM, already does compile Ruby to machine code. The JVM
|   | |   + 20348 [dooby@d1 .k ] So ...
|   | |   | 20351 [charles.nutt] Yes, some of these kinds of things are already in JRuby, such as a
|   | |   + 20349 [michael.seli] I know nothing about JRuby, so pardon my ignorance if I have got it all
|   | |   | + 20350 [Thomas.Enebo] With everything you assumed you also have to consider that Ruby/JRuby
|   | |   | + 20352 [charles.nutt] In simple cases, you can. However a general solution doesn't necessarily
|   | |   + 20354 [pbrannan@at ] Instead of using guards you can recompile the world if someone ever
|   | |     20355 [Tomas.Matous] Except for the frames that are already on stack... that's not so easy.
|   | |     + 20356 [charles.nutt] Yes, deoptimization is the hard case; compiling, recompiling, even
|   | |     + 20373 [pbrannan@at ] Yes, that's (very) difficult, but not impossible (method return needs to
|   | |       20381 [charles.nutt] Well, it's more than that; at any point you need to be able to branch
|   | + 20377 [kbloom@gm il] There's plenty of reasons why someone might want to override Fixnum#+.
|   + 20378 [kbloom@gm il] Actually, you can already see this kind of fragility in irb. There are
|     20383 [Tomas.Matous] But this only means we are missing a sandbox feature. If there was a simple way how to create a new sandboxed environment and execute a Ruby script within it and then remotely inspect the results then irb could use that.
|     20388 [charles.nutt] JRuby as well, either by instantiating a new JRuby instance directly or
|     20410 [kbloom@gm il] Could a sandbox feature like these (or why's) be used to protect the core?
|     20411 [charles.nutt] The environments are very separate, so they really act like separate
+ 20239 [charles.nutt] Rather than having autoload actually invoke the global require, whatever
  20257 [pbrannan@at ] How would a require plugin avoid this?  It seems to me they would still
  20258 [charles.nutt] require plugins would only advise the require process of additional
  20260 [pbrannan@at ] How is that different from overriding require, which also allows
  20264 [charles.nutt] If someone installs a new require that doesn't call the old one, the
  20267 [pbrannan@at ] I'm having trouble imagining code that doesn't call the old require.  I

[Bug #806] Net::Protocol#rbuf_fill is slow
20191 [redmine@ru y] Bug #806: Net::Protocol#rbuf_fill is slow

[Bug #806] Net::Protocol#rbuf_fill is slow
20198 [redmine@ru y] Issue #806 has been updated by Yukihiro Matsumoto.

[Bug #806](Closed) Net::Protocol#rbuf_fill is slow
20199 [redmine@ru y] Issue #806 has been updated by Yukihiro Matsumoto.

Language list in unicode.org
20201 [matz@ru y- a] Juhapekka Tolvanen has informed me that unicode.org has a list of
+ 20203 [duerst@it ao] Many thanks for the notice. I guess I'm the one on this list
+ 20231 [ryand-ruby@z] are you kidding? that's a beautifully complex sentence and it is
  20232 [matz@ru y- a] You don't know how great my Japanese is.  Comparing that my English
  20322 [ryand-ruby@z] Best. Response. Evar.
  20358 [duerst@it ao] The actual entry now has been made, at

[Bug #808] IO (StringIO) documentation corrections.
20212 [redmine@ru y] Bug #808: IO (StringIO) documentation corrections.

[Bug #811] Documentation Patch: Preventing XPath Injection attacks
20213 [redmine@ru y] Bug #811: Documentation Patch: Preventing XPath Injection attacks

Proposal: deferred blocks
20214 [wycats@gm il] ...
+ 20216 [charles.nutt] It would have to be a keyword to be portable, since e.g. 1.9 and JRuby
| 20218 [wycats@gm il] ...
| 20219 [wycats@gm il] ...
+ 20220 [flo@an er gr] Is this really necessary?
| 20221 [wycats@gm il] ...
| + 20223 [flo@an er gr] Well,
| + 20254 [B.Candler@po] Why not do it the other way round?
|   20255 [B.Candler@po] Of course, you can make this look more like a block by use of appropriate
+ 20429 [rogerpack200] Yeah for me Proc#to_s and Method#to_s would also be quite useful, if
+ 20712 [rogerpack200] I suppose with a ruby parser, some luck, and Method#source_location

\b and \B with Unicode
20226 [dave@pr gp o] #encoding: utf-8
20227 [radek.bulat@] Maybe  isn't treat as word character?
+ 20228 [matz@ru y- a] I think it should.  I suspect it's a bug in Oniguruma.  I will inspect
+ 20229 [michael.seli] The character in question is Unicode U+2202 which is "Partial
  20234 [dave@pr gp o] I'll try again.

[Bug #811](Closed) Documentation Patch: Preventing XPath Injection attacks
20230 [redmine@ru y] Issue #811 has been updated by Yukihiro Matsumoto.

[Bug #808](Closed) IO (StringIO) documentation corrections.
20233 [redmine@ru y] Issue #808 has been updated by Nobuyoshi Nakada.

autoload and concurrency
20235 [wycats@gm il] ...
+ 20236 [jdeville@mi ] This seems like a strong argument in favor of Ruby-core:20225.
| 20240 [charles.nutt] Fixing autoload to call require doesn't solve anything because there's
| + 20242 [charles.nutt] A trivial example
| | 20245 [wycats@gm il] ...
| | 20247 [Tomas.Matous] I think it has already been concluded that autoload and require are inheren=
| | + 20250 [dave@pr gp o] ...
| | + 20251 [charles.nutt] Require could be made safe if only one thread were allowed to execute
| |   + 20253 [Tomas.Matous] I meant that even if autoload is "fixed" by adding some kind of "in-progress" flag it wouldn't make it thread-safe since "require" itself is still broken as you described.
| |   | 20259 [charles.nutt] Except that my proposed fix for autoload would have all secondary
| |   | 20270 [Tomas.Matous] Unless the file thats being auto-loaded requires another file via regular 'require' call.
| |   | 20281 [charles.nutt] If the thread autoloading the file required another file, it's still the
| |   + 20275 [rogerpack200] That might be a great idea.  The only drawback being if you have
| |     20279 [rogerpack200] looks like this has been discussed before [on the todo list since 2000 [1]].
| |     + 20280 [vincent.isam] A stupid idea that just came to mind (maybe someone already mentioned
| |     + 20290 [charles.nutt] It would still require changes to autoload so that before autoload had
| + 20248 [jdeville@mi ] The worst part is that no user action can solve this problem: because autoloading is magic, it's impossible for the user to lock the resulting require. In effect, this makes autoloading completely useless for threaded environments. Is this intentional?
+ 20238 [charles.nutt] I've spent some time looking into this on Yehuda's behalf, and I believe
  + 20262 [Thomas.Enebo] The other wrinkle in this is that the autoload itself may make a check
  | 20271 [wycats@gm il] ...
  | 20282 [gethemant@gm] Why not use const_missing for lazy loading and protect "require" by a
  | 20283 [dave@pr gp o] I don't see how there could be a deadlock: once you've claimed the
  | + 20286 [james@gr yp ] I loved your let's-move-on post so much it actually pains me to write
  | | 20289 [dave@pr gp o] That's a new thread, so the mutex.lock in its require will hang until
  | + 20288 [charles.nutt] autoload is a little trickier than that since it needs some intermediate
  + 20266 [brent@mb ri ] +1
    20269 [jim.weirich@] How do you prevent deadlocks?
    20274 [brent@mb ri ] Yes, I'd forgotten for a moment about the deadlock issue.
    + 20278 [kbloom@gm il] Loading code right now is a depth-first search of the dependency tree for
    + 20287 [charles.nutt] I don't think this is really any different than having a single mutex
      20293 [brent@mb ri ] Charlie,

Does this count as a bug in #parameters?
20237 [dave@pr gp o] irb(main):023:0> ->(c=1+2) {}.parameters
20243 [wycats@gm il] ...

[Bug #814] NoMethodError: undefined method `read_nonblock' for #<OpenSSL::SSL::SSLSocket:0x1a64f9a0>
20241 [redmine@ru y] Bug #814: NoMethodError: undefined method `read_nonblock' for #<OpenSSL::SSL::SSLSocket:0x1a64f9a0>
20244 [akr@fs j. rg] I think it is not necessary to make
20246 [akr@fs j. rg] Also, read_nonblock should read from buffer, if buffer is
20249 [aaron@te de ] Sorry about that!  I will put together a better fix tomorrow.  I'm too

[Bug #816] Unexpected syntax error with: if true and not\n   false
20252 [redmine@ru y] Bug #816: Unexpected syntax error with: if true and not\n   false

[Bug #816](Closed) Unexpected syntax error with: if true and not\n   false
20256 [redmine@ru y] Issue #816 has been updated by Nobuyoshi Nakada.

Tail recursion?
20273 [robert.dober] I was just having some real fun with the 191p2 and somehow I was sure
+ 20276 [rogerpack200] is it a compiler directive? [or used to be?]
| 20302 [B.Candler@po] When writing and compiling C code, you can tell gcc to optimise tail
| 20303 [robert.dober] Thanx.
+ 20307 [mame@ts .n .] YARV itself implements tail call optimization, but the feature is currently
  + 20312 [rocky.bernst] Comments in line.
  | 20369 [mame@ts .n .] Sorry I don't understand very well.  Do you mean we should give up to
  | 20371 [rocky.bernst] Not a problem. I don't explain very well.
  + 20360 [ks@ku ts ep ] The trick to doing properly tail-recursive interpreter embedded in C is to
  | 20368 [shyouhei@ru ] Ruby 1.9 _does_ properly implement tail recursion.  It is just turned off by default.
  + 20361 [ks@ku ts ep ] A trick to implementing a properly tail-recursive interpreter embedded in C is

[Bug #814] NoMethodError: undefined method `read_nonblock' for #<OpenSSL::SSL::SSLSocket:0x1a64f9a0>
20277 [redmine@ru y] Issue #814 has been updated by Aaron Patterson.
20298 [akr@fs j. rg] The buffering mechanism of OpenSSL::SSL::SSLSocket is
20300 [matz@ru y- a] Oops.  I just checked in the patch.  I am awaiting even better patch

[Bug #805](Closed) Ruby 1.9.1 preview 2 : build failure on OpenSolaris
20292 [redmine@ru y] Issue #805 has been updated by Yukihiro Matsumoto.
20294 [lists@da sa ] Thanks Matz!
20295 [matz@ru y- a] Oops, sorry.  I just checked in.

[Bug #766] 'Not enough space' error on windows
20296 [redmine@ru y] Issue #766 has been updated by Ittay Dror.
20297 [matz@ru y- a] That problem seems to happen only on you.  Something in your computer

[Bug #814](Closed) NoMethodError: undefined method `read_nonblock' for #<OpenSSL::SSL::SSLSocket:0x1a64f9a0>
20299 [redmine@ru y] Issue #814 has been updated by Yukihiro Matsumoto.

[Bug #766] 'Not enough space' error on windows
20305 [redmine@ru y] Issue #766 has been updated by Ittay Dror.
20315 [matz@ru y- a] As long as you don't disclose the whole information, I am afraid we

[Bug #822] gets blocks when it shouldn't
20310 [redmine@ru y] Bug #822: gets blocks when it shouldn't

[Bug #822](Rejected) gets blocks when it shouldn't
20313 [redmine@ru y] Issue #822 has been updated by Nobuyoshi Nakada.

[Bug #822] gets blocks when it shouldn't
20318 [redmine@ru y] Issue #822 has been updated by Brian Candler.
20347 [nobu@ru y- a] Perhaps.
20364 [B.Candler@po] Better, but now it doesn't say that preceding newlines are dropped.

[Bug #823] bad error recovery in Net::IMAP
20320 [redmine@ru y] Bug #823: bad error recovery in Net::IMAP

Leave my open classes alone (was Behavior: autoload calls rb_require()  directly)
20323 [dave@pr gp o] Please, no.
+ 20325 [charles.nutt] I can appreciate the "choice is good" argument, but I think the Ruby
| + 20326 [michael.lett] ...
| + 20327 [pit.capitain] And who decides which things are more important than the others? Based
| | 20330 [charles.nutt] You are entitled to your opinion. :)
| | 20390 [wycats@gm il] What is desirable is a user option that could turn on more static
| + 20333 [dblack@ru yp] It's not a growing-up thing, though. The freedom of Ruby isn't the
|   + 20336 [charles.nutt] Because it isn't today. It might be more open tomorrow, or it might be
|   | 20366 [dblack@ru yp] HriI --
|   + 20391 [wycats@gm il] Again, what is desired is a way to *elect* into this state of affairs
+ 20328 [matz@ru y- a] Don't get me wrong.  No matter how Charles agreed, I said I wanted to
| + 20334 [charles.nutt] I in no way meant to characterize what you suggested as being
| | 20384 [brent@mb ri ] This is somewhat of a tangent, but I think it is related...
| | + 20385 [pbrannan@at ] Floats are 64-bits wide, and need at least 1 bit to indicate that the
| | | 20386 [brent@mb ri ] Paul,
| | | + 20387 [charles.nutt] There's a lot of interest in adding value types and tagged numerics to
| | | | 20397 [brent@mb ri ] Charlie,
| | | | 20404 [charles.nutt] I'm not sure, actually. There's a lot of people using JRuby on peculiar
| | | + 20393 [pbrannan@at ] You can't easily do these sorts of tricks with floating point numbers;
| | |   20396 [brent@mb ri ] Paul,
| | |   20426 [pbrannan@at ] - My initial concern was that arithmetic would be done on objects that
| | + 20398 [matz@ru y- a] Ko1 once experimented making float values immediate on 64bit systems.
| |   20415 [ko1@at ot ne] To be precise, most of Desktop OSs are 32bit.  But 64bit CPU and OSs are
| |   20441 [kbloom@gm il] Even so, where would you get space for the tag from? Ruby's documentation
| |   20442 [ko1@at ot ne] Good point.
| |   20444 [duerst@it ao] Do you have a pointer?
| |   20445 [ko1@at ot ne] I posted this paper to PPL2008.
| + 20353 [dave@pr gp o] Ah, got me :)...
| + 20389 [wycats@gm il] Matz,
|   20399 [matz@ru y- a] Makes sense.  Although I have no fixed idea for 2.0 namespace.  At
+ 20343 [pbrannan@at ] Is there a use case where redefining Fixnum#+ actually solves a
| + 20346 [transfire@gm] Think out loud a bit here... Needless to say I'm in the camp of
| | 20357 [jeremymcanal] Soooo basically you're advocating a Python-like object tree, which is
| | 20359 [billk@ct .c ] I think, rather, that Trans was wanting Ruby to be just as open as it
| | 20367 [transfire@gm] Yes. And hopefully even more open. I've written code were I wanted to
| | 20382 [evan@fa li g] I see my simple little question has ruffled feathers in the hen house
| + 20380 [matz@ru y- a] I know none for Fixnum#+ bu mathn uses Fixnum#/ replacement, and it is
+ 20392 [Daniel.Berge] No need to ask. No need to check explicitly.