liberator.eval

あーあと eval 関連で vimperator の場合は liberator.eval があるんだけどこれは旧 eval ( https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Functions/eval ) を emulate していて第 2 引数で context の指定ができるんだけどなんで旧 eval 仕様が obsolete になったかを考えるとあまり使わないほうがいい。 http://d.hatena.ne.jp/ZIGOROu/20070730/1185783891http://d.hatena.ne.jp/brazil/20080102/1199271357 の例のように開発中にアレコレするってんならわからないことはないけど plugin 内で使うとかは避けるべき。

context 云々はほとんど関係ないんじゃないかな。
由来の怪しいオブジェクトを eval する時点でアウトな訳だし。
ただ、globalVariables に関して言えば、window.eval が危険にしても特殊な状況に限ると思うので、手抜きをしたくなってしまう。
(HTTP GET で拾ってきた値を liberator.globalVariables につっこむコードをうっかり書いて、しかもそれをプラグインが eval するとか)
 
この手の変換関数をここのスクリプトで用意するのもなんか嫌だし、標準で何かほしいなぁ。
いっそ let g:mogemoge = が JavaScript のコードを受け付けてくれてもいい気がする。