Skip to content
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

Error detected while processing function phpcomplete#CompletePHP[60] #126

Open
rainysia opened this issue Mar 17, 2021 · 6 comments
Open

Comments

@rainysia
Copy link

rainysia commented Mar 17, 2021

Hi there,
I got the blow error after i updated my plugin phpcomlete.vim

Error detected while processing function phpcomplete#CompletePHP[60]..phpcomplete#GetCurrentNameSpace:
line    1:
E117: Unknown function: popup_create

phpcomplete version: c934e47 [David Szabo] 2021-02-08 14:44:22 +0100 (HEAD -> master, origin/master, origin/HEAD) Apply popup-content manipulation patch from @lacygoill
The old phpcomplete version: ff5b5ef works fine. after the version, the b6ba63d, 77a0cf6, c934e47 will pop that error.
php version 7.4.16 OS: debian 10 buster.

VIM - Vi IMproved 8.1 (2018 May 18, compiled Jun 15 2019 16:41:15)
Included patches: 1-875, 878, 884, 948, 1046, 1365-1368, 1382, 1401
Modified by [email protected]
Compiled by [email protected]
Huge version without GUI.  Features included (+) or not (-):
+acl               +extra_search      +mouse_netterm     +tag_old_static
+arabic            +farsi             +mouse_sgr         -tag_any_white
+autocmd           +file_in_path      -mouse_sysmouse    +tcl
+autochdir         +find_in_path      +mouse_urxvt       +termguicolors
-autoservername    +float             +mouse_xterm       +terminal
-balloon_eval      +folding           +multi_byte        +terminfo
+balloon_eval_term -footer            +multi_lang        +termresponse
-browse            +fork()            -mzscheme          +textobjects
++builtin_terms    +gettext           +netbeans_intg     +textprop
+byte_offset       -hangul_input      +num64             +timers
+channel           +iconv             +packages          +title
+cindent           +insert_expand     +path_extra        -toolbar
-clientserver      +job               +perl              +user_commands
-clipboard         +jumplist          +persistent_undo   +vartabs
+cmdline_compl     +keymap            +postscript        +vertsplit
+cmdline_hist      +lambda            +printer           +virtualedit
+cmdline_info      +langmap           +profile           +visual
+comments          +libcall           -python            +visualextra
+conceal           +linebreak         +python3           +viminfo
+cryptv            +lispindent        +quickfix          +vreplace
+cscope            +listcmds          +reltime           +wildignore
+cursorbind        +localmap          +rightleft         +wildmenu
+cursorshape       +lua               +ruby              +windows
+dialog_con        +menu              +scrollbind        +writebackup                                                                                                   
+diff              +mksession         +signs             -X11
+digraphs          +modify_fname      +smartindent       -xfontset                                                                                                      
-dnd               +mouse             +startuptime       -xim                                                                                                           
-ebcdic            -mouseshape        +statusline        -xpm                                                                                                           
+emacs_tags        +mouse_dec         -sun_workshop      -xsmp
+eval              +mouse_gpm         +syntax            -xterm_clipboard   
+ex_extra          -mouse_jsbterm     +tag_binary        -xterm_save
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
  fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/build/vim-4Pursk/vim-8.1.0875=. -fstack-protector-strong -Wformat -Werror=forma
t-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: gcc   -L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E  -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o vim        -lm -ltinfo -lns
l  -lselinux  -lacl -lattr -lgpm -ldl  -L/usr/lib -llua5.2 -Wl,-E  -fstack-protector-strong -L/usr/local/lib  -L/usr/lib/x86_64-linux-gnu/perl/5.28/CORE -lperl -ldl -lm
-lpthread -lcrypt  -L/usr/lib/python3.7/config-3.7m-x86_64-linux-gnu -lpython3.7m -lcrypt -lpthread -ldl -lutil -lm -L/usr/lib/x86_64-linux-gnu -ltcl8.6 -ldl -lz -lpthre
ad -lm -lruby-2.5 -lpthread -lgmp -ldl -lcrypt -lm

Any suggestions? Thx.

@complex857
Copy link
Collaborator

Hi 👋

For the latest commit to work, you'd need vim 8.2 or newer. These changes were added to support newer vim versions (where manipulating buffer contents is not allowed from inside completion functions)

I've added a tag vim7 for the latest commit that supports vim older than 8.2, if your plugin system allows for it try limiting updates to that. So for example in vim-plug it would be like this:

Plug 'shawncplus/phpcomplete.vi', { 'tag': 'vim7' } 

I know it's not ideal to break backwards-compatibility like that, but sort-of assumed that people who update their plugins frequently would have new vim versions too and wanted to avoid littering the codebase with vim-version-checks 😓

Let me know if this helps!

@rainysia
Copy link
Author

rainysia commented Mar 18, 2021

Hi

For the latest commit to work, you'd need vim 8.2 or newer. These changes were added to support newer vim versions (where manipulating buffer contents is not allowed from inside completion functions)

I've added a tag vim7 for the latest commit that supports vim older than 8.2, if your plugin system allows for it try limiting updates to that. So for example in vim-plug it would be like this:

Plug 'shawncplus/phpcomplete.vi', { 'tag': 'vim7' } 

I know it's not ideal to break backwards-compatibility like that, but sort-of assumed that people who update their plugins frequently would have new vim versions too and wanted to avoid littering the codebase with vim-version-checks

Let me know if this helps!

Hi complex857,

Thanks for replying me, it's not working even i tried to set 

Plugin 'shawncplus/phpcomplete.vim', { 'tag': 'vim7' }
or
Plugin 'shawncplus/phpcomplete.vim', { 'tag': 'vim8.1 }

Still got that. now i have to change the phpcomplete.vim branch to old manually.
BTW, I use "vundle" as vim plugin manage, didn't find any feature can support tag or commit revision no after check the plugin doc. but saw some issues discuss about that.

@Roy-Orbison
Copy link

@rainysia there is no tag vim8.1 in this repo. The tag lock sample code is for vim-plug, not Vundle.

@rainysia
Copy link
Author

rainysia commented Jun 1, 2021

@rainysia there is no tag vim8.1 in this repo. The tag lock sample code is for vim-plug, not Vundle.

Got this, Thanks, that's why it doesn't work.

@more-pepsi
Copy link

Error detected while processing function phpcomplete#CompletePHP[60]..phpcomplete#GetCurre
ntNameSpace:
line 1:
E117: Unknown function: popup_create

NVIM v0.6.1
Build type: Release
LuaJIT 2.1.0-beta3
Compiled by brew@Monterey

Features: +acl +iconv +tui
See ":help feature-compile"

system vimrc file: "$VIM/sysinit.vim"
fall-back for $VIM: "/usr/local/Cellar/neovim/0.6.1/share/nvim"

Run :checkhealth for more info

@complex857
Copy link
Collaborator

complex857 commented Feb 12, 2022

@more-pepsi Appears like that neovim doesn't implement the vim8.1+ popup API, so best I can recommend for now is to use a plugin version up to this commit: ff5b5ef

In the future we either need to try to use some neovim specific floating-window api or perhaps some plugin for neovim that implements the vim-popup api, although not sure if that would not bring back the original "not allowed to switch windows here" errors.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants