[#24648] [Bug #1852] Enumerable's #hash Raises ArgumentError When Recursive Values are Present — Run Paint Run Run <redmine@...>
Bug #1852: Enumerable's #hash Raises ArgumentError When Recursive Values are Present
In article <4a73e51b5a4f9_138119f2a982704e@redmine.ruby-lang.org>,
> Is it valuable to implement such function?
In article <67e307490908010125r6fa76654pa8e2224f714588fc@mail.gmail.com>,
> * several real applications are found
In article <67e307490908012245x3bf3be81oc7f060c2569ad4ab@mail.gmail.com>,
>>> * several real applications are found
[#24650] [Bug #1853] Cannot make constants using upper-case extended characters? — Brian Candler <redmine@...>
Bug #1853: Cannot make constants using upper-case extended characters?
[#24666] request: include more headers/source in installations? — Roger Pack <rogerdpack@...>
Background:
[#24673] [Feature #1857] install *.h and *.inc — Roger Pack <redmine@...>
Feature #1857: install *.h and *.inc
Issue #1857 has been updated by Mark Moseley.
Issue #1857 has been updated by Jason Roelofs.
Hi,
Issue #1857 has been updated by Mark Moseley.
[#24675] Include Order — James Gray <james@...>
I was surprised to find that:
[#24747] [Bug #1881] [PATCH] Build Documentation for Kernel#gem and Gem — Run Paint Run Run <redmine@...>
Bug #1881: [PATCH] Build Documentation for Kernel#gem and Gem
[#24775] [Feature #1889] Teach Onigurma Unicode 5.0 Character Properties — Run Paint Run Run <redmine@...>
Feature #1889: Teach Onigurma Unicode 5.0 Character Properties
Issue #1889 has been updated by Yui NARUSE.
Hi,
> |First, we should decide supporting Unicode version.
[#24786] [Bug #1893] Recursive Enumerable#join is surprising — Jeremy Kemper <redmine@...>
Bug #1893: Recursive Enumerable#join is surprising
Issue #1893 has been updated by Yusuke Endoh.
Hi,
Hi,
Hi,
Hi,
Hi,
Hi,
Hi,
[#24791] [Bug #1898] Method#== for Methods with the Same Body — Run Paint Run Run <redmine@...>
Bug #1898: Method#== for Methods with the Same Body
[#24793] [Feature #1900] Suggestion: Encoding#ascii_compatible? — Brian Candler <redmine@...>
Feature #1900: Suggestion: Encoding#ascii_compatible?
[#24824] 1.9 gem env is far slower than on 1.8? — Roger Pack <rogerdpack@...>
Currently when I run "gem env" on a windows machine
[#24854] embedding ruby 1.9 frustration — Rolando Abarca <funkaster@...>
Hello,
> I'm getting really frustrated, because there's almost no documentation
> Perhaps try using only rb_thread_blocking_region()?
[#24862] [Bug #1925] Division of negative numbers — Roswitha Rissner <redmine@...>
Bug #1925: Division of negative numbers
[#24885] IDEA: Shortcut syntax for binary strings? — Gregory Brown <gregory.t.brown@...>
Hey folks,
On Aug 12, 2009, at 2:55 PM, Gary Wright wrote:
On Wed, Aug 12, 2009 at 4:53 PM, James Gray<james@grayproductions.net> wrote:
[#24921] regparse.c - patch to fix memory leak — Ralf Junker <ralfjunker@...>
There are several memory leaks in regparse.c. They all relate to incomplete pattern branches, where a branch node is not freed when branch parsing is aborted. I discovered this by successively shortening all patterns in my test suite (which is not in Ruby, nor in C, unfortunately) down to zero length.
[#24923] [Bug #1939] Ripper doesn't handle local variables — Magnus Holm <redmine@...>
Bug #1939: Ripper doesn't handle local variables
[#24927] [Bug #1940] Segmentation fault on TestFiber#test_many_fibers_with_threads (make check) — Luis Lavena <redmine@...>
Bug #1940: Segmentation fault on TestFiber#test_many_fibers_with_threads (make check)
[#24982] [Feature #1961] Kernel#__dir__ — Yutaka HARA <redmine@...>
Feature #1961: Kernel#__dir__
Wouldn't it be a little confusing to remember that __FILE__ is uppercase and
Hi,
Issue #1961 has been updated by Roger Pack.
On 23.03.10 19:10, Roger Pack wrote:
Perhaps __FILE__ should not be a raw String object, but rather a CurrentFile object. It could have a #to_str to return the normal String so it can be used like normal, but can provide methods like #dir, where __FILE__.dir == File.dirname(__FILE__).
This is nice but would not be backward compatible with code that
On 3/24/10, Charles Oliver Nutter <headius@headius.com> wrote:
Actually, I proposed that it be a String subclass, so it actually
[#24989] [Bug #1964] Compile Issue on Solaris 10 — Brian Toal <redmine@...>
Bug #1964: Compile Issue on Solaris 10
[#25010] [Bug #1972] Changing ENV['TZ'] of a running process should change behavior of Time — Shri Borde <redmine@...>
Bug #1972: Changing ENV['TZ'] of a running process should change behavior of Time
[#25025] [Backport #1975] Backport Dir.mktmpdir — Kirk Haines <redmine@...>
Backport #1975: Backport Dir.mktmpdir
In article <4a8e914c6160_2100affe60043c6@redmine.ruby-lang.org>,
On Fri, Aug 21, 2009 at 8:17 PM, Tanaka Akira<akr@fsij.org> wrote:
In article <f4cd26df0908240817s68a6835ie65d942bbd3b95be@mail.gmail.com>,
[#25027] [Bug #1978] fixed crash in lib/logger.rb from dependency on svn keywork expansion — Stephen Bannasch <redmine@...>
Bug #1978: fixed crash in lib/logger.rb from dependency on svn keywork expansion
[#25032] [Bug #1979] parser confused by local variable assignment — caleb clausen <redmine@...>
Bug #1979: parser confused by local variable assignment
[#25039] [Bug #1982] Kernel.load(..., true) --> scope problem — Johan Holmberg <redmine@...>
Bug #1982: Kernel.load(..., true) --> scope problem
[#25041] Proposal: Simpler block format — Yehuda Katz <wycats@...>
I'd like to propose that we add the following syntax for procs in Ruby:
On Aug 22, 2009, at 7:04 PM, Yehuda Katz wrote:
Yehuda Katz wrote:
On Sat, Aug 22, 2009 at 7:38 PM, Caleb Clausen <caleb@inforadical.net>wrote:
Yehuda Katz wrote:
On Sun, Aug 23, 2009 at 2:00 PM, Caleb Clausen <caleb@inforadical.net>wrote:
Hi,
On Sun, Aug 23, 2009 at 3:33 PM, Yukihiro Matsumoto <matz@ruby-lang.org>wrote:
On Aug 23, 2009, at 15:58, Yehuda Katz wrote:
Hi --
Hi,
Hi,
Hi everyone,
On Sun, Aug 23, 2009 at 4:53 PM, David A. Black <dblack@rubypal.com> wrote:
[#25086] [Bug #1991] ruby should use twolevel namespace on OS X — Michal Suchanek <redmine@...>
Bug #1991: ruby should use twolevel namespace on OS X
Issue #1991 has been updated by Shyouhei Urabe.
Hi,
[#25131] [Feature #1999] Improved Tempfile — Hongli Lai <redmine@...>
Feature #1999: Improved Tempfile
[#25139] Patch writer's guide to submit — Yukihiro Matsumoto <matz@...>
Hi,
Reducing the submitters' frustration by reducing the delay for
[#25143] Is this an intentional change in 1.9? — Rick DeNatale <rick.denatale@...>
This came up on the ruby lang forum.
Hi,
On Wed, Aug 26, 2009 at 7:25 PM, Yukihiro Matsumoto<matz@ruby-lang.org> wrote:
[#25151] [Bug #2003] respond_to? not working 1.9.1p243 OSX — Adam Salter <redmine@...>
Bug #2003: respond_to? not working 1.9.1p243 OSX
[#25181] RegOOps: An Object-Oriented Approach to Pattern Matching — Run Paint Run Run <runrun@...>
Regexps in Ruby can feel like a jagged edge to the otherwise smooth
[#25191] [Feature #2012] Set event_flags on thread creation if hook exists — Mark Moseley <redmine@...>
Feature #2012: Set event_flags on thread creation if hook exists
[#25200] [Bug #2018] [irb] BasicObject.new doesn't have an inspect — Daniel Bovensiepen <redmine@...>
Bug #2018: [irb] BasicObject.new doesn't have an inspect
[#25208] Module#prepend and Array#prepend — Yehuda Katz <wycats@...>
Matz,
Yehuda Katz wrote:
On Sun, Aug 30, 2009 at 10:09 PM, Joel VanderWerf
Hi,
[#25210] [Feature #2022] Patch for ruby-1.8.6 and openssl-1.0 — Jeroen van Meeuwen <redmine@...>
Feature #2022: Patch for ruby-1.8.6 and openssl-1.0
[#25217] [Bug #2025] problem with pthread handling on non NPTL platform — Petr Salinger <redmine@...>
Bug #2025: problem with pthread handling on non NPTL platform
[#25220] [Bug #2026] String encodings are not supported by most of IO on Linux — Vit Ondruch <redmine@...>
Bug #2026: String encodings are not supported by most of IO on Linux
Issue #2026 has been updated by Yui NARUSE.
2009/9/1 Yui NARUSE <redmine@ruby-lang.org>:
[ruby-core:25219] Re: Module#prepend and Array#prepend
On Mon, Aug 31, 2009 at 8:39 AM, Yusuke ENDOH<mame@tsg.ne.jp> wrote:
> I cannot guess the problem you want to solve. know this mail
> is just discussion log or reminder, but I'd like you to elaborate
> your proposal completely when sending to ruby-core.
>
> Why don't you define subclass explicitly?
>
> lass Person
> ef speak(words)
> uts words
> nd
> nd
> odule Exclaim
> ef speak(words)
> uper("#{ words }!")
> nd
> nd
> lass Exclaimer < Person
> nclude Exclaim
> nd
> xclaimer.new.speak("matz") #=> matz!
Perhaps I'm mistaken but I think that besides the 'syntax' difference,
Yehuda's intent was that something like this would work:
class Person
def speak(str)
str
end
end
p = Person.new
p.speak("hello") #=> "hello"
module LoudSpeaker
def speak(str)
super(str.upcase)
end
end
end
class Person
prepend Voice
end
p.speak("hello") #=> "HELLO"
If this is the intent, it's more than adjusting the ancestor chain of
the class when it prepends a module, but adjusting the ancestor chain
of any present and future instances of that class.
I think that this is the intent because of something Yehuda said in
the post which started this thread: "Effectively, prepend would
prepend a module to the class' ancestor chain. Implementation-wise, it
means that all methods on a class are put into an implicit module, or
an implicit subclass is created for each new class that can have
modules mixed into it (via prepend)."
Although hidden, or maybe transparent, might be a better word here than hidden.
I think there are several interesting discussion topics about this idea.
First, is it useful enough to carry it's weight.
Second, if it is what's the 'right' syntax.
Third, what's the impact on implementation and potential for edge cases.
I think that the Yehuda's implementation suggestions are that either:
The existing hash in class objects which maps method selectors to
methods would actually be empty, or at least not consulted directly
during method lookup and the class would start out with klass pointing
to something akin to a module proxy, really a class proxy pointing to
the instance method hash of the class. The prepend method would
insert a module proxy for the module being prepended at the head of
the chain started by the klass field of the class. The current include
method would search the klass chain for the special class proxy and
insert the module proxy just after that.
or
A hidden subclass with no instance methods be created for each class
which could "have modules mixed into it (via prepend)" and instances
of the class would actually be directly instances of this hidden class
instead of the class itself. Prepend would insert a module proxy
between this hidden class and the actual class. I think that this
would need to be the case for every class since I don't know how you
would predict if prepend would be sent to the class in future.
These two alternatives seem to me to be only subtly different, I
suspect that the first one is cleaner, but I don't know.
Some questions that occur to me:
1) Since prepend is really a variation on include, if you can prepend
a module to a class, why can't you prepend a module to a module
2) Is there a similar variant for extend?
3) Which is related to the question of should you be able to prepend
to a singleton-class?
4) Are there edge-cases related to handing super? Right now unless
it's changed (again) in Ruby 1.9, include takes pains not to have a
proxy to the same module show up twice in an ancestor chain because of
the way super method lookup works by searching first from the
beginning of self's klass chain for the current method, then searching
again for the next one, which can cause unexpected results if super is
used in a method invoked itself from super earlier in the chain.
--
Rick DeNatale
Blog: http://talklikeaduck.denhaven2.com/
Twitter: http://twitter.com/RickDeNatale
WWR: http://www.workingwithrails.com/person/9021-rick-denatale
LinkedIn: http://www.linkedin.com/in/rickdenatale