CCTree icon indicating copy to clipboard operation
CCTree copied to clipboard

Load DB failed by perl

Open ZiYang-oyxy opened this issue 7 years ago • 1 comments

vimrc:
let g:CCTreeUsePerl = 1

execution:
:CCTreeLoadDB cscope.out

error log:
Error detected while processing function 169[4]..143[6]..144[13]..48[12]..49[14]..119[1]..130:
line   10:
E15: Invalid expression: ^\t[\`\#\$\}\@\~\)]
Error detected while processing function 169[4]..143:
line    6:
E171: Missing :endif

Load xref db but not use perl will also fail:

execution:
:CCTreeLoadXRefDB ccglue.out

error log:
problem decoding 0#
Error detected while processing function 169[4]..143[6]..144[13]..48[12]..49[17]..50[3]..74:
line    2:
E716: Key not present in Dictionary: idx, cctreesym)
E116: Invalid arguments for function 92
Error detected while processing function 169[4]..143:
line    6:
E171: Missing :endif

My environment:

  • vim: VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Mar 17 2017 12:13:35)
  • ccglue: #define PACKAGE_STRING "ccglue 0.6.0" from config.h
  • cctree: " Version: 1.61 from cctree.vim
  • perl: This is perl 5, version 24, subversion 1 (v5.24.1) built for x86_64-linux-gnu-thread-multi
  • cscope: cscope: version 15.8b

ZiYang-oyxy avatar Jan 18 '18 06:01 ZiYang-oyxy

I was hitting this error too. It turned out my vim doesn't have +perl. I reverted to the below in .vimrc

if has('perl')
       let g:CCTreeUsePerl = 1
else
       let g:CCTreeDbFileMaxSize = 200000000 " 200 Mbytes
endif

cctree doesn't check vim has perl in some function along with CCTreeUserPerl is being set which leads to the error you reported.

qais-yousef avatar Jan 01 '22 21:01 qais-yousef