hop-1.4.0のScheme2jsにバグ発見
(for-each proc list1)はよいが、
(for-each proc list1 list2)は動かない。
エラー: l2 is not defined
ソースファイル: runtime.js
行: 1197
問題のコードは、
function sc_forEach(proc, l1) { /// export
if (arguments.length == 2)
return sc_forEach1(proc, l1);
else if (arguments.length == 3)
return sc_forEach2(proc, l1, l2);
// else
var nbApplyArgs = arguments.length - 1;
var applyArgs = new Array(nbApplyArgs);
while (l1 !== null) {
for (var i = 0; i < nbApplyArgs; i++) {
applyArgs[i] = arguments[i + 1].car;
arguments[i + 1] = arguments[i + 1].cdr;
}
proc.apply(null, applyArgs);
}
}Scheme2js-20060718ではすでに修正されているので、次のhopでは解消されているはず。