diff --git a/lodash.js b/lodash.js index 598122972..05d0e77e3 100644 --- a/lodash.js +++ b/lodash.js @@ -3224,7 +3224,7 @@ } if (partialArgs.length) { args = args.length - ? concat.apply(partialArgs, args) + ? partialArgs.concat(slice.call(args)) : partialArgs; } if (this instanceof bound) { diff --git a/test/test.js b/test/test.js index 372895ae6..d28b41a32 100644 --- a/test/test.js +++ b/test/test.js @@ -143,6 +143,14 @@ QUnit.module('lodash.bind'); (function() { + test('should correctly append array arguments to partially applied arguments (test in IE < 9)', function() { + var args, + bound = _.bind(function() { args = slice.call(arguments); }, null, 'a'); + + bound(['b'], 'c'); + deepEqual(args, ['a', ['b'], 'c']); + }); + test('supports lazy bind', function() { var object = { 'name': 'moe',