ldrize_cooperation.jsが最新版(HEAD) で 動かない
Vimperator(hg head)でldrize_cooperation.jsが有効にならなくなった件 (訂正) - 切なさの刹那
を見てscopeの変更で直るのは、エンバグかもしれないので調べました。
の修正で多分問題なくなると思います。
(使ったことないので option しか 動かしていません)
ここでは setter が 返り値を持っていなかったことが問題でした。
Option.setter は 中継処理 で 返り値は、globalValue に 格納されます。
例えとして良くないかもしれませんが、Object.prototype.__defineSetter__() - JavaScript | MDN というより Object.prototype.watch() - JavaScript | MDNのほうが近い感じかと思います。
setter が 返り値を持っていない場合同様の問題が発生すると思います。
あと、toString()を付与したのは、別件で completer が false や "" 等 if 文 で false を 返しそうな値は利用できないので付与しました。("false"じゃなくて false)