Error detected while processing function phpcomplete#CompletePHP[60]
rainysia opened this issue · 6 comments
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 team+vim@tracker.debian.org
Compiled by team+vim@tracker.debian.org
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.
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
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
vim7for 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.
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
@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.