TagBar 2.7 and ctags 5.9 exception closed GVim win32 x86 8.2.3558

19 views
Skip to first unread message

Ni Va

unread,
Oct 23, 2021, 7:07:02 AM10/23/21
to vim_use
Hi,

I daily use Gvim reading source code or other with TagBar plugin under Win10 OS under GVim 32bits x86 8.2.3558 build with ming under MSYS2.

It appears that TagBarToogle it works perfectly on my physical laptop Win10 64bits meanwhile an exception seems closing Gvim under Virtual MAchine under same OS.

Thanks for helping.
NiVa

Gvim
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Oct 23 2021 12:24:35)
MS-Windows 32-bit GUI version with OLE support
Included patches: 1-3558

TagBar
*tagbar.txt*    Display tags of a file ordered by scope

Author:         Jan Larres 
Licence:        Vim licence, see |license|
Version:        2.7


Ctags
Universal Ctags 5.9.0(c0b04ae1), Copyright (C) 2015 Universal Ctags Team
Universal Ctags is derived from Exuberant Ctags.
Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert
  Compiled: Oct 13 2021, 16:48:46
  Optional compiled features: +win32, +wildcards, +regex, +gnulib_regex, +unix-path-separator, +iconv, +option-directory, +case-insensitive-filenames, +packcc, +optscript

Ni Va

unread,
Nov 2, 2021, 9:39:04 AM11/2/21
to vim_use
Tagbar plugin is executing python3 command that is closing GVim.

See autoload/Tagbar.vim -> s:run_system(cmd, version)

Version of python not integrated yet : 3.11.0
Message has been deleted

Ni Va

unread,
Nov 2, 2021, 12:09:45 PM11/2/21
to vim_use
Fixed

Solved / Fixed :

1. Copied python311.dll, python3.dll, vcruntime140.dll in your distro path  expand('$vim/extensions/python/x86')

2. Put this in your _vimrc

  if has('win32')
  var py3extenspath: string = expand('$vim/extensions/python/x86/')
if isdirectory( py3extenspath )
  var py3dllpath = py3extenspath .. 'python311.dll'
  if !filereadable(py3dllpath)
  else
var pythonthree_homes: list<string> = system('where "python311.dll"')->split('\n')->filter('v:val =~ "extensions"')
py3dllpath = pythonthree_homes[0]->fnamemodify(':p:gs?\\?/?')
  endif
  execute 'set pythonthreehome=' .. py3extenspath
  execute 'set pythonthreedll='  .. py3dllpath->fnamemodify(':p:gs?\\?/?')
endif
  endif

3. Testing Py3 v3.11 interface 
nnoremap <silent> <F8>   :exec 'py3 import sys'<cr> :exec 'py3 print(''python3 hell working'')'<cr>
Reply all
Reply to author
Forward
0 new messages