From: John Fletcher Date: 2006-07-20T01:11:09+09:00 Subject: Patch to Ruby in 2005 --Message-Boundary-9171 Content-Type: Multipart/Mixed; boundary=Message-Boundary-9171 --Message-Boundary-9171 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7BIT Content-description: Mail message body According to the ChangeLog in Ruby 1.8.4 the following patch was made to Ruby in 2005 Wed Jun 8 08:33:10 2005 Nobuyoshi Nakada * eval.c (backtrace): skip successive frames sharing same node. We are having some trouble as a result, because when using the coerce feature of ruby, the call stack no longer contains the information needed, and we have traced this to a line of code in backtrace in eval.c. if (frame->prev->node == n) continue; If this is commented out then the problem goes away. The problem is that the calling operator e.g. `+' is no longer in the string given by caller[0] and so it is not possible to take different action depending on different operators. For more details please see the discussion on http://c2.com/cgi/wiki?ElizabethWiethoff Please would you consider reversing this change or else modifying it so that the previous behaviour is restored for coerce. Example code for what is being done is on http://c2.com/cgi/wiki?RubyCoerce I guess that there may be other reasons why you made the change. Thank you John Fletcher -- Dr John P. Fletcher Tel: (44) 121 204 3389 (direct line) Chemical Engineering and Applied Chemistry (CEAC), School of Engineering and Applied Science (SEAS), Aston University, Aston Triangle, BIRMINGHAM B4 7ET U.K. CEAC Web site http://www.ceac.aston.ac.uk/ FAX: (44) 121 204 3679 --Message-Boundary-9171 Content-type: Application/Octet-stream; name="-"; type=Plain text Content-disposition: attachment; filename="-" Content-transfer-encoding: BASE64 VG8gTm9idXlvc2hpIE5ha2FkYQ0KDQpBY2NvcmRpbmcgdG8gdGhlIENoYW5nZUxvZyBpbiBS dWJ5IDEuOC40IHlvdSBjb250cmlidXRlZCB0aGUgDQpmb2xsb3dpbmcgcGF0Y2ggdG8gUnVi eToNCg0KV2VkIEp1biAgOCAwODozMzoxMCAyMDA1ICBOb2J1eW9zaGkgTmFrYWRhICA8bm9i dUBydWJ5LQ0KbGFuZy5vcmc+DQoqIGV2YWwuYyAoYmFja3RyYWNlKTogc2tpcCBzdWNjZXNz aXZlIGZyYW1lcyBzaGFyaW5nIHNhbWUgbm9kZS4gDQoNCldlIGFyZSBoYXZpbmcgc29tZSB0 cm91YmxlIGFzIGEgcmVzdWx0LCBiZWNhdXNlIHdoZW4gdXNpbmcgdGhlIA0KY29lcmNlIGZl YXR1cmUgb2YgcnVieSwgdGhlIGNhbGwgc3RhY2sgbm8gbG9uZ2VyIGNvbnRhaW5zIHRoZSAN CmluZm9ybWF0aW9uIG5lZWRlZCwgYW5kIHdlIGhhdmUgdHJhY2VkIHRoaXMgdG8gYSBsaW5l IG9mIGNvZGUgaW4gDQpiYWNrdHJhY2UgaW4gZXZhbC5jLg0KDQoJaWYgKGZyYW1lLT5wcmV2 LT5ub2RlID09IG4pIGNvbnRpbnVlOw0KDQpJZiB0aGlzIGlzIGNvbW1lbnRlZCBvdXQgdGhl biB0aGUgcHJvYmxlbSBnb2VzIGF3YXkuDQoNClRoZSBwcm9ibGVtIGlzIHRoYXQgdGhlIGNh bGxpbmcgb3BlcmF0b3IgZS5nLiBgKycgaXMgbm8gbG9uZ2VyIGluIHRoZSANCnN0cmluZyBn aXZlbiBieSBjYWxsZXJbMF0gYW5kIHNvIGl0IGlzIG5vdCBwb3NzaWJsZSB0byB0YWtlIGRp ZmZlcmVudCANCmFjdGlvbiBkZXBlbmRpbmcgb24gZGlmZmVyZW50IG9wZXJhdG9ycy4NCg0K Rm9yIG1vcmUgZGV0YWlscyBwbGVhc2Ugc2VlIHRoZSBkaXNjdXNzaW9uIG9uDQogDQpodHRw Oi8vYzIuY29tL2NnaS93aWtpP0VsaXphYmV0aFdpZXRob2ZmDQoNClBsZWFzZSB3b3VsZCB5 b3UgY29uc2lkZXIgcmV2ZXJzaW5nIHRoaXMgY2hhbmdlIG9yIGVsc2UgbW9kaWZ5aW5nIA0K aXQgc28gdGhhdCB0aGUgcHJldmlvdXMgYmVoYXZpb3VyIGlzIHJlc3RvcmVkIGZvciBjb2Vy Y2UuDQoNCkV4YW1wbGUgY29kZSBmb3Igd2hhdCBpcyBiZWluZyBkb25lIGlzIG9uIA0KDQpo dHRwOi8vYzIuY29tL2NnaS93aWtpP1J1YnlDb2VyY2UNCg0KSSBndWVzcyB0aGF0IHRoZXJl IG1heSBiZSBvdGhlciByZWFzb25zIHdoeSB5b3UgbWFkZSB0aGUgY2hhbmdlLg0KDQpUaGFu ayB5b3UNCg0KSm9obiBGbGV0Y2hlcg0KDQo= --Message-Boundary-9171-- --Message-Boundary-9171--