From: "briantobin (Brian Tobin)" Date: 2012-10-17T07:46:41+09:00 Subject: [ruby-core:48038] [ruby-trunk - Bug #7175] unpack('M*') changed behavior between patchlevels Issue #7175 has been updated by briantobin (Brian Tobin). FWIW, bug ticket there: https://github.com/mikel/mail/issues/440 ---------------------------------------- Bug #7175: unpack('M*') changed behavior between patchlevels https://bugs.ruby-lang.org/issues/7175#change-30906 Author: briantobin (Brian Tobin) Status: Open Priority: Normal Assignee: Category: Target version: ruby -v: ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin11.3.0] I'm seeing an important difference in the output of string.unpack between two patchlevels of ruby 1.9.3. The output of patchlevel 194 is expected, and the output of 286 is unexpected. --- Console 1 --- >> RUBY_VERSION => "1.9.3" >> RUBY_PATCHLEVEL => 194 >> "foo =3D =".unpack("M*") => ["foo = "] --- Console 2 --- >> RUBY_VERSION => "1.9.3" >> RUBY_PATCHLEVEL => 286 >> "foo =3D =".unpack("M*") => ["foo = ="] Was this a purposeful change? Our code is processing emails with the "quoted printable" encoding. After upgrading to patchlevel 286 we are getting trailing equals signs after decoding. I feel like this is a regression. Thanks in advance! Brian -- http://bugs.ruby-lang.org/