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