xolox / vim-easytags

Automated tag file generation and syntax highlighting of tags in Vim
http://peterodding.com/code/vim/easytags/
1.01k stars 109 forks source link

InitEasyTags Fails #58

Closed cmcpasserby closed 11 years ago

cmcpasserby commented 11 years ago

recently updated easytags, and misc from git and git this.

Error detected while processing function <SNR>34_InitEasyTags..<SNR>34
_CheckCtags:

line    9:

E684: list index out of range: 0

E116: Invalid arguments for function matchstr(result['stdout'][0], pattern)

E15: Invalid expression: matchstr(result['stdout'][0], pattern)

line   10:

E121: Undefined variable: g:easytags_ctags_version

E15: Invalid expression: g:easytags_ctags_version == 'Development'

easytags.vim 3.3.9: Plug-in not loaded because Exuberant Ctags isn't 
installed! Please download & install Exuberant Ctags from 
http://ctags.sf.net
xolox commented 11 years ago

Thanks for the feedback. The ugly error message you got is caused by the fact that something apparently went wrong while executing Exuberant Ctags. However the plug-in is supposed to handle this gracefully. I just released new versions of the vim-easytags (3.3.10) and vim-misc (1.7) plug-ins that should improve the situation. Can you confirm whether the new versions are indeed an improvement? I guess one of two things will happen once you update: Either the problem will be resolved, or the plug-in will tell you what is wrong.

cmcpasserby commented 11 years ago

now i got a more descriptive error

easytags.vim 3.3.10: Plug-in not loaded because Exuberant Ctags isn't 
installed! Please download & install Exuberant Ctags from 
http://ctags.sf.net

but i still have a problem, i was using a older versions of easytags before, and had no issue, but now i have problems.

if it matters it is gvim on a windows 7, i haven't tested this on my linux system yet and assume it is a window only problem.

if i run ctags --version from a console or even in vim with ! it returns 5.8 and works.

xolox commented 11 years ago

Would you mind running the Vim command below and reporting the output here?

:verbose echo xolox#easytags#initialize('5.5')

I just added a bunch of debug/trace messages to the plug-ins (included in 3.3.10 so you don't have to update again) and using :verbose makes those visible. The messages will probably scroll off the screen, you can recall them by executing the command :messages.

cmcpasserby commented 11 years ago

this is the result of that command

easytags.vim 3.3.10: Plug-in not loaded because Exuberant Ctags isn't installed! Please download & install Exuberant Ctags from http://ctags.sf.net
easytags.vim 3.3.10: Checking if Exuberant Ctags is installed as 'ctags'.
not found in 'runtimepath': "autoload/xolox/shell.vim"
vim-misc 1.7: The vim-shell plug-in is not installed, falling back to system() function.
vim-misc 1.7: Executing external command using system() function: (ctags --version) 1>"C:\Users\User\AppData\Local\Temp\VIC1556.tmp" 2>"C:\Users\User\AppData\Local\Temp\VID1557.tmp"
easytags.vim 3.3.10: Executable 'ctags' reported version ''.
vim-misc 1.7: Parsed version string '5.5' into [5, 5].
vim-misc 1.7: Parsed version string '' into [].
vim-misc 1.7: Available version () is lower than expected version (5.5).
easytags.vim 3.3.10: Version is not compatible! :-(

the result i get from running ctags --version from console is

PS C:\Users\User> ctags --version
ctags.exe: Warning: Ignoring non-option in CTAGS variable
Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert
  Compiled: Jul  9 2009, 17:05:35
  Addresses: <dhiebert@users.sourceforge.net>, http://ctags.sourceforge.net
  Optional compiled features: +win32, +regex, +internal-sort

so it obviously is returning a valid version.

xolox commented 11 years ago

Thanks for the quick response. After looking at the output I now realize why it doesn't work. The vim-easytags plug-in expects "Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert" to be the first line of output in response to ctags --version. Instead the output you quoted starts with a warning message that I've never seen before.

I can think of two ways that warning message might appear: The [environment variable CTAGS or ETAGS](http://ctags.sourceforge.net/ctags.html#ENVIRONMENT VARIABLES) contains an invalid option (you can check the value with echo %CTAGS%) or you have a configuration file that contains an invalid option. I hope this helps.

cmcpasserby commented 11 years ago

i cleaned up some environment vars, and got ctags --version returning this now

PS C:\Users\User> ctags --version
Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert
  Compiled: Jul  9 2009, 17:05:35
  Addresses: <dhiebert@users.sourceforge.net>, http://ctags.sourceforge.net
  Optional compiled features: +win32, +regex, +internal-sort

but i get the exact same error from easy tags.

xolox commented 11 years ago

Hmm, this is a confusing problem, sorry for all the back and forth. I just released version 3.3.12 which is very verbose while trying to find Exuberant Ctags. Can you update to 3.3.12, once more run the Vim command given below and report the output here? Hopefully the new verbose messages will help to determine the cause of this issue. Thanks in advance!

:verbose echo xolox#easytags#initialize('5.5')
cmcpasserby commented 11 years ago
easytags.vim 3.3.12: Checking if Exuberant Ctags is installed as 'ctags'.
not found in 'runtimepath': "autoload/xolox/shell.vim"
vim-misc 1.7: The vim-shell plug-in is not installed, falling back to system() function.
vim-misc 1.7: Executing external command using system() function: (ctags --version) 1>"C:\Users\User\AppData\Local\Temp\VICE795.tmp" 2>"C:\Users\User\AppData\Local\Temp\VIDE796.tmp"
vim-misc 1.7: Parsed version string '5.5' into [5, 5].
vim-misc 1.7: Parsed version string '' into [].
vim-misc 1.7: Available version () is lower than expected version (5.5).
easytags.vim 3.3.12: Version is not compatible! :-(
easytags.vim 3.3.12: Standard output of command: []
easytags.vim 3.3.12: Standard error of command: []
0

still no luck

xolox commented 11 years ago

Wow I'm flabbergasted. To summarize:

I can think of only two reasons why this could happen:

  1. Somewhere in between the vim-easytags, vim-misc and vim-shell plug-ins the external command fails without setting a nonzero exit code. The strange thing is that I would expect at least some output (an error message of some kind).
  2. I seem to recall that recent Windows versions have a "folder redirection" feature. I've read that this "feature" can sometimes act really wonky: You write a file, get no errors, but when you try to read the file, it's not there (because it was redirected). Unfortunately the most recent Windows installation I have available to me for testing is Windows XP, which doesn't have folder redirection.

I recently started writing automated tests for the vim-misc plug-in. Some of the tests involve command execution. It might be useful to check whether those tests pass or fail on your computer. Would you mind executing the Vim command line below and reporting the output here?

redir => listing | verbose call xolox#misc#tests#run() | redir END | tabedit | call setline(1, split(listing, "\n"))

In my case the output ends with this:

Took 1.013 seconds to run 14 tests: 73 assertions passed, no assertions failed.

Please post the full output though, it might contain hints as to what is going wrong on your Windows 7 installation. Thanks in advance!

PS. Is your Windows 7 installation 64 bit? It might turn out to be relevant.

cmcpasserby commented 11 years ago

dont have time to run the test at the moment, but yes window 7 64bit, but my vim and gvim are 32bit builds, since python support is kinda wonky on the 64bit gvim builds

cmcpasserby commented 11 years ago

hola, ok back home now, and here is the output, i disabled xolox/shell.vim to do this, but can re-enable that if wanted

not found in 'runtimepath': "autoload/xolox/shell.vim"
vim-misc 1.7: The vim-shell plug-in is not installed, falling back to system() function.
vim-misc 1.7: Executing external command using system() function: (uname) 1>"C:\Users\User\AppData\Local\Temp\VIC8638.tmp" 2>"C:\Users\User\AppData\Local\Temp\VID8639.tmp"
Running test #1: Pattern escaping
Test status: 1 assertion passed, no assertions failed ..
Test status: 2 assertions passed, no assertions failed ..
Test status: 3 assertions passed, no assertions failed ..
Test status: 4 assertions passed, no assertions failed ..
----------------------------------------
Running test #2: Substitute escaping
Test status: 5 assertions passed, no assertions failed ..
Test status: 6 assertions passed, no assertions failed ..
----------------------------------------
Running test #3: Shell escaping
not found in 'runtimepath': "autoload/xolox/shell.vim"
vim-misc 1.7: The vim-shell plug-in is not installed, falling back to system() function.
vim-misc 1.7: Executing external command using system() function: ("C:\Users\User\.vim\bundle\vim-misc\autoload\xolox\misc\echo.exe" "this < is > a | very "" scary ^ string ' indeed") 1>"C:\Users\User\AppData\Local\Temp\VIE86A8.tmp" 2>"C:\Users\User\AppData\Local\Temp\VIF86A9.tmp"
Test status: 7 assertions passed, no assertions failed ..
Test status: 8 assertions passed, no assertions failed ..
Test status: 9 assertions passed, no assertions failed ..
Test status: 9 assertions passed, 1 assertion failed ..
Test xolox#misc#tests#shell_escaping raised exception:
Expected value ['this < is > a | very " scary ^ string '' indeed'], received value []!
(at function xolox#misc#tests#run..<SNR>84_test_string_escaping..xolox#misc#test#wrap..xolox#misc#tests#shell_escaping..xolox#misc#test#assert_equals, line 8)
----------------------------------------
Running test #4: Making a list unique
Test status: 10 assertions passed, 1 assertion failed ..
Test status: 11 assertions passed, 1 assertion failed ..
Test status: 12 assertions passed, 1 assertion failed ..
Test status: 13 assertions passed, 1 assertion failed ..
Test status: 14 assertions passed, 1 assertion failed ..
Test status: 15 assertions passed, 1 assertion failed ..
----------------------------------------
Running test #5: Binary insertion
Test status: 16 assertions passed, 1 assertion failed ..
Test status: 17 assertions passed, 1 assertion failed ..
Test status: 18 assertions passed, 1 assertion failed ..
Test status: 19 assertions passed, 1 assertion failed ..
Test status: 20 assertions passed, 1 assertion failed ..
Test status: 21 assertions passed, 1 assertion failed ..
----------------------------------------
Running test #6: Getting configuration options
Test status: 22 assertions passed, 1 assertion failed ..
Test status: 23 assertions passed, 1 assertion failed ..
Test status: 24 assertions passed, 1 assertion failed ..
Test status: 25 assertions passed, 1 assertion failed ..
Test status: 26 assertions passed, 1 assertion failed ..
Test status: 27 assertions passed, 1 assertion failed ..
Test status: 28 assertions passed, 1 assertion failed ..
Test status: 29 assertions passed, 1 assertion failed ..
Test status: 30 assertions passed, 1 assertion failed ..
Test status: 31 assertions passed, 1 assertion failed ..
Test status: 32 assertions passed, 1 assertion failed ..
Test status: 33 assertions passed, 1 assertion failed ..
----------------------------------------
Running test #7: Splitting of multi valued options
Test status: 34 assertions passed, 1 assertion failed ..
Test status: 35 assertions passed, 1 assertion failed ..
Test status: 36 assertions passed, 1 assertion failed ..
Test status: 37 assertions passed, 1 assertion failed ..
Test status: 38 assertions passed, 1 assertion failed ..
Test status: 39 assertions passed, 1 assertion failed ..
Test status: 40 assertions passed, 1 assertion failed ..
Test status: 41 assertions passed, 1 assertion failed ..
----------------------------------------
Running test #8: Joining of multi valued options
Test status: 42 assertions passed, 1 assertion failed ..
Test status: 43 assertions passed, 1 assertion failed ..
Test status: 44 assertions passed, 1 assertion failed ..
Test status: 45 assertions passed, 1 assertion failed ..
Test status: 46 assertions passed, 1 assertion failed ..
Test status: 47 assertions passed, 1 assertion failed ..
Test status: 48 assertions passed, 1 assertion failed ..
Test status: 49 assertions passed, 1 assertion failed ..
----------------------------------------
Running test #9: Evaluation of tags option
Test status: 50 assertions passed, 1 assertion failed ..
Test status: 51 assertions passed, 1 assertion failed ..
Test status: 52 assertions passed, 1 assertion failed ..
Test status: 53 assertions passed, 1 assertion failed ..
Test status: 54 assertions passed, 1 assertion failed ..
Test status: 55 assertions passed, 1 assertion failed ..
----------------------------------------
Running test #10: Finding vim on the search path
vim-misc 1.7: Looking for Vim executable named 'gvim.exe' on search path ..
vim-misc 1.7: Found 1 candidate(s) on search path: ['C:\Program Files (x86)\Vim\vim73\gvim.exe'].
vim-misc 1.7: Reporting Vim executable 'C:\Program Files (x86)\Vim\vim73\gvim.exe'.
Test status: 56 assertions passed, 1 assertion failed ..
Test status: 57 assertions passed, 1 assertion failed ..
----------------------------------------
Running test #11: Synchronous command execution
not found in 'runtimepath': "autoload/xolox/shell.vim"
vim-misc 1.7: The vim-shell plug-in is not installed, falling back to system() function.
vim-misc 1.7: Executing external command using system() function: ("C:\Users\User\.vim\bundle\vim-misc\autoload\xolox\misc\echo.exe" output && "C:\Users\User\.vim\bundle\vim-misc\autoload\xolox\misc\echo.exe" errors >&2) 1>"C:\Users\User\AppData\Local\Temp\VIG8757.tmp" 2>"C:\Users\User\AppData\Local\Temp\VIH8758.tmp"
Test status: 58 assertions passed, 1 assertion failed ..
Test status: 59 assertions passed, 1 assertion failed ..
Test status: 60 assertions passed, 1 assertion failed ..
Test status: 61 assertions passed, 1 assertion failed ..
Test status: 61 assertions passed, 2 assertions failed ..
Test xolox#misc#tests#synchronous_command_execution raised exception:
Expected value ['output'], received value []!
(at function xolox#misc#tests#run..<SNR>84_test_command_execution..xolox#misc#test#wrap..xolox#misc#tests#synchronous_command_execution..xolox#misc#test#assert_equals, line 8)
----------------------------------------
Running test #12: Synchronous command execution with raising of errors
not found in 'runtimepath': "autoload/xolox/shell.vim"
vim-misc 1.7: The vim-shell plug-in is not installed, falling back to system() function.
vim-misc 1.7: Executing external command using system() function: (exit 1) 1>"C:\Users\User\AppData\Local\Temp\VIJ8788.tmp" 2>"C:\Users\User\AppData\Local\Temp\VIK8789.tmp"
Test status: 62 assertions passed, 2 assertions failed ..
----------------------------------------
Running test #13: Synchronous command execution without raising errors
not found in 'runtimepath': "autoload/xolox/shell.vim"
vim-misc 1.7: The vim-shell plug-in is not installed, falling back to system() function.
vim-misc 1.7: Executing external command using system() function: (exit 42) 1>"C:\Users\User\AppData\Local\Temp\VIL87BA.tmp" 2>"C:\Users\User\AppData\Local\Temp\VIM87BB.tmp"
Test status: 63 assertions passed, 2 assertions failed ..
Test status: 64 assertions passed, 2 assertions failed ..
Test status: 65 assertions passed, 2 assertions failed ..
----------------------------------------
Running test #14: Asynchronous command execution
not found in 'runtimepath': "autoload/xolox/shell.vim"
vim-misc 1.7: The vim-shell plug-in is not installed, falling back to system() function.
vim-misc 1.7: Executing external command using system() function: start /b "C:\Users\User\.vim\bundle\vim-misc\autoload\xolox\misc\echo.exe" "1371917965" > C:\Users\User\AppData\Local\Temp\VIN87DC.tmp
Test xolox#misc#tests#asynchronous_command_execution raised exception:
Vim(call):E484: Can't open file C:\Users\User\AppData\Local\Temp\VIo87DD.tmp
(at function xolox#misc#tests#run..<SNR>84_test_command_execution..xolox#misc#test#wrap..xolox#misc#tests#asynchronous_command_execution..xolox#misc#os#exec, line 94)
Test status: 65 assertions passed, 3 assertions failed ..
----------------------------------------
Running test #15: Version string parsing
vim-misc 1.7: Parsed version string '1' into [1].
Test status: 66 assertions passed, 3 assertions failed ..
Test status: 67 assertions passed, 3 assertions failed ..
vim-misc 1.7: Parsed version string '1.5' into [1, 5].
Test status: 68 assertions passed, 3 assertions failed ..
Test status: 69 assertions passed, 3 assertions failed ..
vim-misc 1.7: Parsed version string '1.22.3333.44444.55555' into [1, 22, 3333, 44444, 55555].
Test status: 70 assertions passed, 3 assertions failed ..
Test status: 71 assertions passed, 3 assertions failed ..
vim-misc 1.7: Parsed version string '1x.5y' into [1, 5].
Test status: 72 assertions passed, 3 assertions failed ..
Test status: 73 assertions passed, 3 assertions failed ..
----------------------------------------
Running test #16: Version string comparison
vim-misc 1.7: Parsed version string '1' into [1].
vim-misc 1.7: Parsed version string '1' into [1].
vim-misc 1.7: Available version (1) is equal to expected version (1).
Test status: 74 assertions passed, 3 assertions failed ..
vim-misc 1.7: Parsed version string '1' into [1].
vim-misc 1.7: Parsed version string '0' into [0].
vim-misc 1.7: Available version (0) is lower than expected version (1).
Test status: 75 assertions passed, 3 assertions failed ..
vim-misc 1.7: Parsed version string '1' into [1].
vim-misc 1.7: Parsed version string '2' into [2].
vim-misc 1.7: Available version (2) is higher than expected version (1).
Test status: 76 assertions passed, 3 assertions failed ..
vim-misc 1.7: Parsed version string '1.2.3' into [1, 2, 3].
vim-misc 1.7: Parsed version string '1.2.3' into [1, 2, 3].
vim-misc 1.7: Available version (1.2.3) is equal to expected version (1.2.3).
Test status: 77 assertions passed, 3 assertions failed ..
vim-misc 1.7: Parsed version string '1.2.3' into [1, 2, 3].
vim-misc 1.7: Parsed version string '1.2' into [1, 2].
vim-misc 1.7: Available version (1.2) is lower than expected version (1.2.3).
Test status: 78 assertions passed, 3 assertions failed ..
vim-misc 1.7: Parsed version string '1.2.3' into [1, 2, 3].
vim-misc 1.7: Parsed version string '1.2.4' into [1, 2, 4].
vim-misc 1.7: Available version (1.2.4) is higher than expected version (1.2.3).
Test status: 79 assertions passed, 3 assertions failed ..
----------------------------------------
Took 0.37 seconds to run 16 tests: 79 assertions passed, 3 assertions failed.

got a few failed tests

xolox commented 11 years ago

Cool, thanks for running the test suite! The log output you posted contains a lot of implicit information so it took a bit of deciphering, but we now know where we stand (more or less):

These results support the following assumptions:

I noticed that your username is "User". I'm not sure if it's possible to rename user accounts on Windows (haven't used any of the recent versions) and I of course don't know what happened on your system, but a missing / non-existing temporary directory (possibly caused by an account rename) could also explain this funky behavior.

xolox commented 11 years ago

So at this point I'm pretty much assuming there's something wrong with temporary file handling on your Windows 7 system. Assuming this problem cannot be easily solved from your side, I'm not yet sure how to proceed properly on my side...

The vim-misc plug-in uses Vim's tempname() function to generate temporary filenames and this function is basically supposed to "just work". So far it has worked for a couple hundred to a couple thousand users of my Vim plug-ins (some of these plug-ins have been online for years and have always included code similar to what is now in vim-misc). On the other hand if this is a situation that other users of my Vim plug-ins are likely to encounter in the future, of course I'd like to fix it! Then I would need a simple way to detect the problem.

Can you execute the following Vim command (just copy/paste it to Vim's : prompt) and post the output here as a reply?

let t = tempname() | let d = fnamemodify(t, ':h') | echo "Temporary file:" string(t) | echo "Temporary directory:" string(d) | echo "Directory exists?" (isdirectory(d) ? "Yes :-)" : "No :-(") | echo "Directory is writable?" (filewritable(d) == 2 ? "Yes :-)" : "No :-(") | let s = writefile(["test"], t) | echo "Write status:" s | let r = readfile(t) | echo "Read result:" string(r)

The above is one long Vim command (line) so that it is easy to copy/paste and execute. It calls tempname() and then tells us if the directory of the temporary file exists and if it is writable. It will then try to write a file and read that back. I'm interested to see exactly what this does :-)

cmcpasserby commented 11 years ago

Here you go mate. Kinda curious what changed so much that this was never a issue before the update that made it depend on misc.

Temporary file: 'C:\Users\User\AppData\Local\Temp\VIFFFC5.tmp'
Temporary directory: 'C:\Users\User\AppData\Local\Temp'
Directory exists? Yes :-)
Directory is writable? Yes :-)
Write status: 0
Read result: ['test']
xolox commented 11 years ago

What you posted is the input to Vim (which I provided), I'm more interested in the output :-) (unless I'm missing something; no pun intended).

cmcpasserby commented 11 years ago

sorry, pasted in from the wrong clipboard. fixed it now.

cmcpasserby commented 11 years ago

get this error on startup

vim-misc 1.8.1: Failed to read temporary file (C:\Users\User\AppData\Local
\Temp\VIA1A8A.tmp) with standard output of external command: 
Vim(return):E484: Can't open file C:\Users\User\AppData\Local\Temp\VIA
1A8A.tmp! (external command: ctags --version)easytags.vim 3.3.12: 
Plug-in not loaded because Exuberant Ctags isn't installed! Please 
download & install Exuberant Ctags from http://ctags.sf.net

than if i run the command you posted earlier i get this

Temporary file: 'C:\Users\User\AppData\Local\Temp\VIC779A.tmp'
Temporary directory: 'C:\Users\User\AppData\Local\Temp'
Directory exists? Yes :-)
Directory is writable? Yes :-)
Write status: 0
Read result: ['test']
xolox commented 11 years ago

Thanks for all of the information! Yesterday evening I realized something nasty. Since I started writing tests for vim-misc, I've always run the test suite with vim-shell installed (since I wrote both plug-ins and use them all the time :-). That means I was never actually testing how vim-misc works when vim-shell is not installed ... :-(

So I disabled vim-shell, ran the vim-misc test suite again, and look at that, it fails in the exact same way you reported... After some analysis I now know the reason this is broken on Windows, but fixing it will take a bit more time, because it's a tricky issue. Will report back here ASAP.

xolox commented 11 years ago

I changed the test suite so it runs in two modes: with vim-shell enabled and with vim-shell disabled. So all of the tests involving external commands are now executed twice, to make sure all code paths are properly tested. I also fixed vim-misc so that it can now properly execute external commands on Windows when vim-shell is not installed. I ran the test suite on Windows, Linux and Mac OS X so I hope this improves the situation :-). Again, sorry for all of the back and forth, but thanks for persisting; it uncovered a serious bug which I'm glad is squashed now (keeping my fingers crossed here :-).

armw4 commented 11 years ago

Am wondering if the issues I'm currently experiencing are related. The plugin's initialization is completely broken for me. Nothing seems to be registered at all:

Users/antwanwimberly/SourceCode
E117: Unknown function: xolox#misc#os#is_win │Error detected while processing function xolox#easytags#register:
E15: Invalid expression: xolox#misc#os#is_win() │line 3:
Error detected while processing /Users/antwanwimberly/.spf13-vim-3/.vim/bundle/vim-│E117: Unknown function: xolox#misc#option#split_tags
easytags/autoload/xolox/easytags.vim: │Press ENTER or type command to continue
line 966: │Error detected while processing function xolox#easytags#register:
E117: Unknown function: xolox#misc#option#get │line 3:
E15: Invalid expression: xolox#misc#option#get('easytags_include_members', 0) │E15: Invalid expression: xolox#misc#option#split_tags(&tags)
Error detected while processing function xolox#easytags#initialize: │Press ENTER or type command to continue
line 6: │Error detected while processing function xolox#easytags#register:
E117: Unknown function: xolox#misc#os#is_win │line 4:
E15: Invalid expression: xolox#misc#os#is_win() │E121: Undefined variable: tagfiles
Error detected while processing /Users/antwanwimberly/.spf13-vim-3/.vim/bundle/vim-│Press ENTER or type command to continue
easytags/plugin/easytags.vim: │Error detected while processing function xolox#easytags#register:
line 66: │line 4:
E117: Unknown function: xolox#misc#msg#warn │E116: Invalid arguments for function copy(tagfiles), 'resolve(expand(v:val))')
Error detected while processing function xolox#easytags#register: │Press ENTER or type command to continue
line 3: │Error detected while processing function xolox#easytags#register:
E117: Unknown function: xolox#misc#option#split_tags │line 4:
E15: Invalid expression: xolox#misc#option#split_tags(&tags) │E116: Invalid arguments for function map(copy(tagfiles), 'resolve(expand(v:val))') line 4: │Press ENTER or type command to continue
E121: Undefined variable: tagfiles │Error detected while processing function xolox#easytags#register:
E116: Invalid arguments for function copy(tagfiles), 'resolve(expand(v:val))') │line 4:
E116: Invalid arguments for function map(copy(tagfiles), 'resolve(expand(v:val))') │E15: Invalid expression: map(copy(tagfiles), 'resolve(expand(v:val))')
E15: Invalid expression: map(copy(tagfiles), 'resolve(expand(v:val))') │Press ENTER or type command to continue
line 6: │Error detected while processing function xolox#easytags#register:
E121: Undefined variable: g:easytags_file │line 6:
E15: Invalid expression: a:global ? g:easytags_file : xolox#easytags#get_tagsfile()│E121: Undefined variable: g:easytags_file
line 7: │Press ENTER or type command to continue
E121: Undefined variable: expanded │Error detected while processing function xolox#easytags#register:
E116: Invalid arguments for function index(expanded, xolox#misc#path#absolute(tagsf│line 6:
ile)) == -1 │E15: Invalid expression: a:global ? g:easytags_file : xolox#easytags#get_tagsfile()

armw4 commented 11 years ago

Sorry for not syntax highlighting. I've got a Japanese keyboard and have yet to locate the backtick character (even after installing Ukelele).

armw4 commented 11 years ago

Aah...I think I see now. I'm guessing I need this guy?

https://github.com/xolox/vim-misc

Since it's now a utility belt that the other plugins depend on (your new core).

Let me give that guy a shot.

armw4 commented 11 years ago

Hmm...what about adding https://github.com/xolox/vim-misc as a git submodule?

http://git-scm.com/book/en/Git-Tools-Submodules

That way it's included in any repo that needs to reference it.

cmcpasserby commented 11 years ago

I no longer get this error on startup, so it seems to work with vim-shell enabled or disabled. Thanks for working through this bug with me, and getting everything back on track for me.

xolox commented 11 years ago

@cmcpasserby: You're welcome, and thanks for the confirmation, I'm glad to hear it's working well now :-). I'll go ahead and close this issue now.

@armw4: I used git submodules before and it didn't work very well, nor would it work now, given the layout of both repositories (git submodules need to be in a subdirectory). I also used the git subtree merge strategy for several years, but in the end distributing vim-misc as a separate plug-in and clearly documenting the dependency was the only reasonable option left.