Signal.list leaking into Module, showing up on all modules and classes
----------------------------------------------------------------------

                 Key: JRUBY-3715
                 URL: http://jira.codehaus.org/browse/JRUBY-3715
             Project: JRuby
          Issue Type: Bug
          Components: Core Classes/Modules
    Affects Versions: JRuby 1.3
            Reporter: Charles Oliver Nutter
            Priority: Blocker


The "list" method from Signal is showing up on all classes in the system:

{noformat}
$ ~/projects/jruby/bin/jruby -e "require 'config/boot'; p Object.list"
{"EXIT"=>0, "HUP"=>1, "INT"=>2, "QUIT"=>3, "ILL"=>4, "TRAP"=>5, "ABRT"=>6, 
"EMT"=>7, "FPE"=>8, "KILL"=>9, "BUS"=>10, "SEGV"=>11, "SYS"=>12, "PIPE"=>13, 
"ALRM"=>14, "TERM"=>15, "URG"=>16, "STOP"=>17, "TSTP"=>18, "CONT"=>19, 
"CHLD"=>20, "TTIN"=>21, "TTOU"=>22, "IO"=>23, "XCPU"=>24, "XFSZ"=>25, 
"VTALRM"=>26, "PROF"=>27, "WINCH"=>28, "INFO"=>29, "USR1"=>30, "USR2"=>31, 
"IOT"=>6, "CLD"=>20}
{noformat}

This is normally harmless, but caused a breakage in BrowserCMS when it checks 
whether a class responds to the "list" method:

{noformat}
scope = model_class.respond_to?(:list) ? model_class.list : model_class
{noformat}

The result was that instead of *not* responding to "list", everything *did* 
respond to "list" and so every model that passed through this code broke 
because Hash does not support implement "searchable?".

The fix was to make those methods "module = true" instead of "meta = true", 
similar to some Enumerable/Enumerator fixes we made many months ago.

I'm committing a fix for this plus a test that runs early in the test sequence 
ensuring only expected methods appear on the Object class.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to