ところが、たまたまローカル変数に hiscore という変数があると、 var(l$) = val(r$) は、ローカル変数 hiscore への代入になってしまい、本来設定されるべきグローバル変数 hiscore は変化しないということになります。 vfvar() で使うローカル変数は vfv___ だけなので、ユーザが保存したい変数に vfv___ というものがなければ、このような衝突は回避できます。