Skip to content

Avoid invalid expression and type mismatch #491

Open
wants to merge 1 commit into from

3 participants

@davebv
davebv commented Oct 16, 2013

Invalid expression error is produced when trying to open certain tags: This avoids the error:

Error detected while processing function 57_AcceptSelection:
line 30:
E685: Internal error: get_tv_string_buf()
E15: Invalid expression: type == 'dict' ? [{ 'action': md, 'line': line, 'icr': icr }] : [md, line]
line 31:
E121: Undefined variable: actargs
E116: Invalid arguments for function call

@davebv davebv Avoid invalid expression and type mismatch
Invalid expression error is produced when trying to open certain tags
bc44c38
@davebv davebv commented on the diff Oct 16, 2013
autoload/ctrlp.vim
@@ -1084,8 +1084,11 @@ fu! s:AcceptSelection(action)
let type = exttype == 'dict' ? exttype : 'list'
en
en
- let actargs = type == 'dict' ? [{ 'action': md, 'line': line, 'icr': icr }]
@davebv
davebv added a note Oct 16, 2013

Invalid expression error was triggered with this line.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
@kien
Owner
kien commented Oct 16, 2013

Can you provide steps to reproduce the error? Does updating Vim help? It looks like the parser confuses the colons in the Dictionary with operators.

@davebv
davebv commented Oct 16, 2013

To reproduce the error:
1. Create tags file in ctags
2. :CtrlPTags
3. Search for any tag and try to open it.
4. Error pops up.

Tested with vim 7.1

@kien
Owner
kien commented Oct 16, 2013

Thanks! I can't reproduce it in Vim 7.1.0 to 7.4.0, but in 7.0.0. Looks like it's an old bug with the parser when Dictionary was new. I use ternary operators often, however, so I may have to change a few other places as well.

@davebv
davebv commented Oct 16, 2013

Thank you for the quick response! 👍

@d11wtq
d11wtq commented Aug 8, 2014

@davebv is this still an issue? Wondering if this needs merging into https://github.com/ctrlpvim/ctrlp.vim or not.

@davebv
davebv commented Sep 15, 2014

I believe this will help when using dictionaries in Vim. I have problems with 7.1 but cannot reproduce it in newer versions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.