New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

curly-braces-names と autoload を組み合わせると無効な変数名でも実行できる #192

Open
thinca opened this Issue Apr 25, 2012 · 3 comments

Comments

Projects
None yet
3 participants
@thinca
Member

thinca commented Apr 25, 2012

例えば、{'#$%'}#new() とすると、autoload/#$%.vim が探索され、見付かれば :source されます。
実際にこの名前の関数は定義できないので呼び出し時に関数が存在せずにエラーになるのですが、:source される時点で問題だと思います。
また、スペースが入っているとまたちょっと違って、{'foo bar'}#new()autoload/foobar.vim の両方が探索されます。
例えば {'foo filetype'}#new() で、'runtimepath' 直下の filetype.vim:source されます。

@mattn

This comment has been minimized.

Show comment
Hide comment
@mattn

mattn Apr 25, 2012

Member

便利!(ぇ

Member

mattn commented Apr 25, 2012

便利!(ぇ

@koron

This comment has been minimized.

Show comment
Hide comment
@koron

koron Apr 25, 2012

Member

複数ファイル読みに行くのはなんかアレですなぁ。

Member

koron commented Apr 25, 2012

複数ファイル読みに行くのはなんかアレですなぁ。

@mattn

This comment has been minimized.

Show comment
Hide comment
@mattn

mattn Apr 25, 2012

Member

:source される時点で問題だと思います。

エラーメッセージが2つでてる

E117: 未知の関数です: foo##$%#new
E15: 無効な式です: foo#{'#$%'}#new()

前者はいらない気がする。

Member

mattn commented Apr 25, 2012

:source される時点で問題だと思います。

エラーメッセージが2つでてる

E117: 未知の関数です: foo##$%#new
E15: 無効な式です: foo#{'#$%'}#new()

前者はいらない気がする。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment