Mercurial > vim
diff src/ex_docmd.c @ 21544:6c67c86a202a v8.2.1322
patch 8.2.1322: Vim9: method on double quoted string doesn't work
Commit: https://github.com/vim/vim/commit/1040956292a9f2c3d02fc08febd5acf349c85590
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Jul 29 20:00:38 2020 +0200
patch 8.2.1322: Vim9: method on double quoted string doesn't work
Problem: Vim9: method on double quoted string doesn't work.
Solution: Recognize double quoted string. (closes https://github.com/vim/vim/issues/6562)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 29 Jul 2020 20:15:03 +0200 |
parents | a7afee13873d |
children | d0c76ce48326 |
line wrap: on
line diff
--- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -3277,7 +3277,7 @@ find_ex_command( char_u *pskip = (*eap->cmd == '&' || *eap->cmd == '$' || *eap->cmd == '@') ? eap->cmd + 1 : eap->cmd; - if (vim_strchr((char_u *)"{('[", *p) != NULL + if (vim_strchr((char_u *)"{('[\"", *p) != NULL || ((p = to_name_const_end(pskip)) > eap->cmd && *p != NUL)) { int oplen; @@ -3293,6 +3293,8 @@ find_ex_command( *eap->cmd == '{' // "'string'->func()" is an expression. || *eap->cmd == '\'' + // '"string"->func()' is an expression. + || *eap->cmd == '"' // "g:varname" is an expression. || eap->cmd[1] == ':' )