[vim/vim] vim 8.1.0053 breaks multiple plugin (#3014)

937 views
Skip to first unread message

QiuxiaoMu

unread,
Jun 14, 2018, 7:35:23 PM6/14/18
to vim/vim, Subscribed

I have updated my vim to 8.1.0037 (vim --version showed compiled 13th June), and when I opened it today multiple plugins are broken.

on a restart and reinstall all these plugins, they are still broken.

Any direction? it seems to me that the update has broken the plugins. (or plugins need to be updated)

running vim -N -u NONE started vim successfully without any error message.

my .vimrc looks like:

filetype plugin indent on
syntax on 
set number
set encoding=utf-8

autocmd vimenter * NERDTree /home/myname
map <F4> :NERDTreeToggle<CR>
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif

error messages looks like below.

Error detected while processing /home/myname/.vim/pack/myname/start/ctrlp.vim/plugin/ctrlp.vim:
line   13:
E475: Invalid argument: 
line   14:
E10: \ should be followed by /, ? or &
line   15:
E10: \ should be followed by /, ? or &
Error detected while processing function ctrlp#mrufiles#opts:
line    1:
E15: Invalid expression: 
E15: Invalid expression: ['g:ctrlp_mruf_', {
line    2:
E10: \ should be followed by /, ? or &
line    3:
E10: \ should be followed by /, ? or &
line    4:
E10: \ should be followed by /, ? or &
line    5:
E10: \ should be followed by /, ? or &
line    6:
line   10:
E121: Undefined variable: opts
E116: Invalid arguments for function items(opts)
E15: Invalid expression: items(opts)
Error detected while processing /home/myname/.vim/pack/myname/start/ctrlp.vim/plugin/ctrlp.vim:
line   50:
E10: \ should be followed by /, ? or &
line   53:
E10: \ should be followed by /, ? or &
Error detected while processing /home/myname/.vim/pack/myname/start/tagbar/plugin/tagbar.vim:
line   39:
E10: \ should be followed by /, ? or &
line   40:
E10: \ should be followed by /, ? or &
Error detected while processing function <SNR>45_setup_options:
line    6:
E697: Missing end of List ']': 
E15: Invalid expression: [
Error detected while processing 

/home/myname/.vim/pack/myname/start/tagbar/plugin/tagbar.vim:
    line   88:
    E15: Invalid expression: 
    E15: Invalid expression: has('multi_byte') && has('unix') && &encoding == 'utf-8' &&
    line   89:
    E10: \ should be followed by /, ? or &
    Error detected while processing function <SNR>45_setup_keymaps:
    line    1:
    E697: Missing end of List ']': 
    E15: Invalid expression: [
    Error detected while processing function airline#init#bootstrap:
    line   24:
    E15: Invalid expression: 
    E116: Invalid arguments for function extend
    line   25:
    E10: \ should be followed by /, ? or &
    line   26:
E10: \ should be followed by /, ? or &
        line   33:
        E10: \ should be followed by /, ? or &
        line   34:
        E10: \ should be followed by /, ? or &
        line   35:
        E10: \ should be followed by /, ? or &
        line   36:
        E10: \ should be followed by /, ? or &
        line   37:
        E10: \ should be followed by /, ? or &
        line   40:
        E15: Invalid expression: 
        E116: Invalid arguments for function extend
        line   41:
        E10: \ should be followed by /, ? or &
        line   42:
        E10: \ should be followed by /, ? or &
        line   43:
        E10: \ should be followed by /, ? or &
        line   44:
        E10: \ should be followed by /, ? or &
        line   45:
        E10: \ should be followed by /, ? or &
        line   46:
        E10: \ should be followed by /, ? or &
        line   47:
        E10: \ should be followed by /, ? or &
        line   48:
        E10: \ should be followed by /, ? or &
        line   49:
        E10: \ should be followed by /, ? or &
        line   55:
        E15: Invalid expression: 
        E116: Invalid arguments for function extend
        line   56:
        E10: \ should be followed by /, ? or &
        line   57:
        E10: \ should be followed by /, ? or &
        line   58:
        E10: \ should be followed by /, ? or &
        line   59:
        E10: \ should be followed by /, ? or &
        line   60:
        E10: \ should be followed by /, ? or &
        line   61:
        E10: \ should be followed by /, ? or &
        line   62:
        E10: \ should be followed by /, ? or &
        line   72:
        E10: \ should be followed by /, ? or &
        line   73:
        E10: \ should be followed by /, ? or &
        line   74:
        E10: \ should be followed by /, ? or &
        line   75:
        E10: \ should be followed by /, ? or &
        line   76:
        E10: \ should be followed by /, ? or &
        line   77:
        E10: \ should be followed by /, ? or &
        line   78:
        E10: \ should be followed by /, ? or &
        line   79:
        E10: \ should be followed by /, ? or &
        line   87:
        E15: Invalid expression: 
        E116: Invalid arguments for function extend
        line   88:
        E10: \ should be followed by /, ? or &
        line   89:
        E10: \ should be followed by /, ? or &
        line   90:
        E10: \ should be followed by /, ? or &
        line   91:
        E10: \ should be followed by /, ? or &
        line   92:
        E10: \ should be followed by /, ? or &
        line   93:
        E10: \ should be followed by /, ? or &
        line   94:
        E10: \ should be followed by /, ? or &
        line   95:
        E10: \ should be followed by /, ? or &
        line  103:
        E10: \ should be followed by /, ? or &
        line  104:
        E10: \ should be followed by /, ? or &
        line  105:
        E10: \ should be followed by /, ? or &
        line  106:
        E10: \ should be followed by /, ? or &
        line  107:
        E10: \ should be followed by /, ? or &
        line  108:
        E10: \ should be followed by /, ? or &
        line  109:
        E10: \ should be followed by /, ? or &
        line  110:
        E10: \ should be followed by /, ? or &
        line  113:
        E15: Invalid expression: 
        E116: Invalid arguments for function airline#parts#define
        line  114:
        E10: \ should be followed by /, ? or &
        line  115:
        E10: \ should be followed by /, ? or &
        line  116:
        E10: \ should be followed by /, ? or &
        line  122:
        E15: Invalid expression: 
        E116: Invalid arguments for function airline#parts#define
        line  123:
        E10: \ should be followed by /, ? or &
        line  124:
        E10: \ should be followed by /, ? or &
        line  125:
        E10: \ should be followed by /, ? or &
        line  128:
        E15: Invalid expression: 
        E116: Invalid arguments for function airline#parts#define
        line  129:
        E10: \ should be followed by /, ? or &
        line  130:
        E10: \ should be followed by /, ? or &
        line  131:
        E15: Invalid expression: 
        E116: Invalid arguments for function airline#parts#define
        line  132:
        E10: \ should be followed by /, ? or &
        line  133:
        E10: \ should be followed by /, ? or &
        line  135:
        E697: Missing end of List ']': 
        E116: Invalid arguments for function airline#parts#define_empty
        line  136:
        E10: \ should be followed by /, ? or &
        line  137:
        E10: \ should be followed by /, ? or &
        line  138:
        E10: \ should be followed by /, ? or &
        --- Auto-Commands ---
        Error detected while processing function <SNR>46_airline_toggle:
        line   19:
        E10: \ should be followed by /, ? or &
        line   20:
        E10: \ should be followed by /, ? or &
        --- Auto-Commands ---
        line   33:
        E10: \ should be followed by /, ? or &
        --- Auto-Commands ---
        VimEnter
        *NERDTree /home/qiuxiao/
        FileExplorer  VimEnter
        *sil call s:VimEnter(expand("<amatch>"))
        youcompletemeStart  VimEnter
        *call youcompleteme#Enable()
        NERDTreeHijackNetrw  VimEnter
        *silent! autocmd! FileExplorer
        call nerdtree#checkForBrowse(expand("<amatch>"))
        matchparen  WinEnter
        *call s:Highlight_Matching_Pair()
        CtrlPMRUF  BufWinEnter
        *cal s:record(expand('<abuf>', 1))
        filetypeplugin  FileType
        *call s:LoadFTPlugin()
        filetypeindent  FileType
        *call s:LoadIndent()
        syntaxset  FileType
        *exe "set syntax=" . expand("<amatch>")
        line   35:
        E10: \ should be followed by /, ? or &
        --- Auto-Commands ---
        line   43:
        E10: \ should be followed by /, ? or &
        line   44:
        E10: \ should be followed by /, ? or &
        --- Auto-Commands ---
        Error detected while processing 

    /home/myname/.vim/pack/myname/start/vim-fugitive/plugin/fugitive.vim:
        line  151:
        E10: \ should be followed by /, ? or &
        line  152:
        E10: \ should be followed by /, ? or &
        line  153:
        E10: \ should be followed by /, ? or &
        line  154:
        E10: \ should be followed by /, ? or &
        line  155:
        E10: \ should be followed by /, ? or &
        line  156:
        E10: \ should be followed by /, ? or &
        Press ENTER or type command to continue


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub

James McCoy

unread,
Jun 14, 2018, 8:01:27 PM6/14/18
to vim/vim, Subscribed

Sounds like you're using jonathonf's vim PPA, which just updated to 8.1.0053. That has a bug which was fixed in 8.1.0055.

Tony Mechelynck

unread,
Jun 14, 2018, 8:06:57 PM6/14/18
to vim/vim, Subscribed

E10 is often caused by using continuation lines in 'compatible' mode, it says so under ":help E10". Adding -N on the command-line sets 'nocompatible' mode, which confirms the guess.

However, it is said under ":help 'compatible'" that this option defaults to off when a .vimrc is found, so you ought to be running in 'nocompatible' mode, unless those scripts are sourced before your vimrc.

So check the output of :scriptnames to see when those "start" scripts are sourced. Any script sourced before the vimrc needs something like the following if it uses continuation lines:

at the top (or after an "early finish" if there is a condition which prevents sourcing the script):

let s:save_cpo = &cpo
set cpo&vim

at bottom:

let &cpo = s:save_cpo

and no finish in between.

Christian Brabandt

unread,
Jun 15, 2018, 2:04:41 AM6/15/18
to vim/vim, Subscribed

Sounds like you're using jonathonf's vim PPA, which just updated to 8.1.0053. That has a bug which was fixed in 8.1.0055.

@jamessan but the OP had version 8.1.0037.

@stucash Please check with the latest version, perhaps this was already fixed?

hiber

unread,
Jun 15, 2018, 2:40:53 AM6/15/18
to vim/vim, Subscribed

Have this problem too!

QiuxiaoMu

unread,
Jun 15, 2018, 5:48:15 AM6/15/18
to vim/vim, Subscribed

@chrisbra my bad forgot to mention it as delivered with a patch (8.1.0053).
@jamessan correct I am use his PPA. I'll build vim from source and update you guys here again. I currently don't have access to my own machine...
@tonymec thanks for a great knowledge sharing!

Bram Moolenaar

unread,
Jun 15, 2018, 6:40:31 AM6/15/18
to vim/vim, Subscribed

I don't see how any of the recent patches has an effect on 'compatible'. Perhaps the change is in some plugin?

QiuxiaoMu

unread,
Jun 15, 2018, 6:47:42 AM6/15/18
to vim/vim, Subscribed

@brammool I am using vim8's plugin manager which doesn't seem to update the plugin automatically? I am saying this because the plugins are just sitting there, only thing changes was vim got updated to 8.1.0037 (with patch 8.1.0057). Any chance it is not to do with ompatible ?

Bram Moolenaar

unread,
Jun 15, 2018, 8:25:11 AM6/15/18
to vim/vim, Subscribed

> @brammool I am using vim8's plugin manager which doesn't seem to
> update the plugin automatically? I am saying this because the plugins
> are just sitting there, only thing changes was vim got updated to
> 8.1.0037 (with patch 8.1.0057). Any chance it is not to do with
> `ompatible` ?

The package feature only supports loading plugins (and dependencies).
It's not a plugin manager, it does not download plugins or updates.
In a sense it's the common part of plugin managers.

If you checkout a plugin from github, it should be possible to get the
latest with "git pull".

--
"Oh, no! NOT the Spanish Inquisition!"
"NOBODY expects the Spanish Inquisition!!!"
-- Monty Python sketch --
"Oh, no! NOT another option!"
"EVERYBODY expects another option!!!"
-- Discussion in vim-dev mailing list --

/// Bram Moolenaar -- Br...@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

QiuxiaoMu

unread,
Jun 15, 2018, 8:36:27 AM6/15/18
to vim/vim, Subscribed

probably it is wrong term I used; I didn't mean it was a plugin manager strictly but rather it has capacity to load plugins. I'll try update the plugins before I build vim from source.

QiuxiaoMu

unread,
Jun 15, 2018, 6:37:37 PM6/15/18
to vim/vim, Subscribed

right latest update on this one. so here's what I did:

First Try:

  1. remove all problematic plugins and keep only nerdTree (to simplify the error message).
  2. do git pull origin master on nerdTree to get the latest nerdTree.

result: it didn't fix vim and nerdTree in vim still didn't work.

Second Try:

  1. now uninstall my vim (however my .vim folder remained intact, nerdTree is there as is)
  2. git clone vim locally (the latest vim available)
  3. build vim with features I like, in my case, it is:
    ./configure --enable-multibyte --enable-perlinterp=dynmaic --enable-rubyinterp --with-ruby-command=/usr/bin/ruby --enable-pythoninterp --enable-python3interp --with-python3-command=python3 --enable-luainterp=dynamic --enable-cscope --enable-gui=auto --with-features=huge --with-x --enable-fontset --enable-largefile --with-compiledby=MQX --enable-fail-if-missing

to run above, make sure you have lua-5.1-dev and ruby-dev installed.

4.make and install vim.

result: re-run vim with existing nerdTree, nerdTree worked fine. installed all other plug-ins and they also worked fine. (e.g ctrllp, vim-airline worked fine)

@jamessan @chrisbra it does seem to fix the issue in 8.1.0053, whatever that was..

Josh Holland

unread,
Jun 15, 2018, 7:35:08 PM6/15/18
to vim/vim, Subscribed

I similarly have this problem with jonathonf's Vim, but not with a Vim I build myself, even at the same patch version. I can't really see how patch 53 (commit ffa9684) would be related either.

The following vimrc reproduces the problem, plugins have nothing to do with it:

let g:some_variable = {
\'key': 'value'
\}

with this error on startup:

Error detected while processing /home/josh/.vimrc:
line    1:
E15: Invalid expression: 
E15: Invalid expression: {
line    2:
E10: \ should be followed by /, ? or &
line    3:
E10: \ should be followed by /, ? or &

Running with this vimrc is interesting:

echo &compatible
" output: 0
echo &cpo
" output: aAbBcCdDeEfFgHiIjJkKlLmMnoOpPqrRsStuvwWxXyZ$!%*-+<>;
set nocompatible
echo &cpo
" output: aABceFs
let g:some_variable = {
\'key': 'value'
\}

In other words, inserting an explicit set nocompatible fixes the problem, but nocompatible is apparently already set when vimrc executes: echo &compatible at the start of the vimrc prints 0! Nevertheless, cpo is set as if Vim is in compatible mode.

As far as I can tell, all the previous scripts in :scriptnames behave properly and save/restore cpo at start and end.

All the above was with Vim from jonathonf's PPA; with my own compiled Vim (version details below), everything works fine. I have emailed Jonathan to see if he has any ideas.

vim --version for jonathonf's Vim
VIM - Vi IMproved 8.1 (2018 May 17, compiled Jun 13 2018 07:46:35)
Included patches: 1-53
Modified by pkg-vim-m...@lists.alioth.debian.org
Compiled by pkg-vim-m...@lists.alioth.debian.org
Huge version with GTK2 GUI.  Features included (+) or not (-):
+acl               +farsi             +mouse_sgr         -tag_any_white
+arabic            +file_in_path      -mouse_sysmouse    +tcl
+autocmd           +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     +timers
+byte_offset       -hangul_input      +num64             +title
+channel           +iconv             +packages          +toolbar
+cindent           +insert_expand     +path_extra        +user_commands
+clientserver      +job               +perl              +vertsplit
+clipboard         +jumplist          +persistent_undo   +virtualedit
+cmdline_compl     +keymap            +postscript        +visual
+cmdline_hist      +lambda            +printer           +visualextra
+cmdline_info      +langmap           +profile           +viminfo
+comments          +libcall           -python            +vreplace
+conceal           +linebreak         +python3           +wildignore
+cryptv            +lispindent        +quickfix          +wildmenu
+cscope            +listcmds          +reltime           +windows
+cursorbind        +localmap          +rightleft         +writebackup
+cursorshape       +lua               +ruby              +X11
+dialog_con_gui    +menu              +scrollbind        -xfontset
+diff              +mksession         +signs             +xim
+digraphs          +modify_fname      +smartindent       +xpm
+dnd               +mouse             +startuptime       +xsmp_interact
-ebcdic            +mouseshape        +statusline        +xterm_clipboard
+emacs_tags        +mouse_dec         -sun_workshop      -xterm_save
+eval              +mouse_gpm         +syntax            
+ex_extra          -mouse_jsbterm     +tag_binary        
+extra_search      +mouse_netterm     +tag_old_static    
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
  system gvimrc file: "$VIM/gvimrc"
    user gvimrc file: "$HOME/.gvimrc"
2nd user gvimrc file: "~/.vim/gvimrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
    system menu file: "$VIMRUNTIME/menu.vim"
  fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng12 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng12 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1       
Linking: gcc   -L. -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E  -Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o vim   -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lfontconfig -lfreetype -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE  -lm -ltinfo -lnsl  -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.22/CORE -lperl -ldl -lm -lpthread -lcrypt  -L/usr/lib/python3.5/config-3.5m-x86_64-linux-gnu -lpython3.5m -lpthread -ldl -lutil -lm -L/usr/lib/x86_64-linux-gnu -ltcl8.6 -ldl -lz -lpthread -lieee -lm -lruby-2.3 -lpthread -lgmp -ldl -lcrypt -lm     
vim --version for my own Vim
VIM - Vi IMproved 8.1 (2018 May 17, compiled Jun 15 2018 23:51:07)
Included patches: 1-53
Compiled by josh@yes
Huge version without GUI.  Features included (+) or not (-):
+acl               +farsi             +mouse_sgr         -tag_any_white
+arabic            +file_in_path      -mouse_sysmouse    -tcl
+autocmd           +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     +timers
+byte_offset       -hangul_input      +num64             +title
+channel           +iconv             +packages          -toolbar
+cindent           +insert_expand     +path_extra        +user_commands
-clientserver      +job               -perl              +vertsplit
-clipboard         +jumplist          +persistent_undo   +virtualedit
+cmdline_compl     +keymap            +postscript        +visual
+cmdline_hist      +lambda            +printer           +visualextra
+cmdline_info      +langmap           +profile           +viminfo
+comments          +libcall           -python            +vreplace
+conceal           +linebreak         -python3           +wildignore
+cryptv            +lispindent        +quickfix          +wildmenu
+cscope            +listcmds          +reltime           +windows
+cursorbind        +localmap          +rightleft         +writebackup
+cursorshape       -lua               -ruby              -X11
+dialog_con        +menu              +scrollbind        -xfontset
+diff              +mksession         +signs             -xim
+digraphs          +modify_fname      +smartindent       -xpm
-dnd               +mouse             +startuptime       -xsmp
-ebcdic            -mouseshape        +statusline        -xterm_clipboard
+emacs_tags        +mouse_dec         -sun_workshop      -xterm_save
+eval              -mouse_gpm         +syntax            
+ex_extra          -mouse_jsbterm     +tag_binary        
+extra_search      +mouse_netterm     +tag_old_static    
   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/local/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H     -O2 -fno-strength-reduce -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1       
Linking: gcc   -L/usr/local/lib -Wl,--as-needed -o vim        -lm -ltinfo -lnsl  -lselinux -lacl -lattr -ldl           

Jonathon

unread,
Jun 15, 2018, 7:47:38 PM6/15/18
to vim/vim, Subscribed

I've got Launchpad building a daily PPA (ppa:jonathonf/vim-daily). You can check whether that version works better and let me know so I can push the package to the "main" PPA.

Packaging files are based on the Debian/Ubuntu packaging files with adaption to reintroduce things dropped since Xenial. It's quite possible this introduces issues.

A recent version of Vim "broke" an older Pathogen version so you might simply need to update your plugins.

QiuxiaoMu

unread,
Jun 15, 2018, 9:40:02 PM6/15/18
to vim/vim, Subscribed

@anowlcalledjosh the problem wasn’t with a vim built by myself; it started with Jonathan’s ppa version; with your findings it seems more likely it’s related to what @jonathonf mentioned.

I’ve tried updating plugins with @jonathonf build it didn’t help. that was my first try which I detailed in comment above.

Mike Lippert

unread,
Jun 16, 2018, 12:30:12 AM6/16/18
to vim/vim, Subscribed

I'm having this problem w/ vim (particularly vim-gtk3) installed from @jonathonf 's ppa (thanks Jonathon), version 2:8.1.0037+v8.1.0053-0~ubuntu16.04.1 on Linux Mint 18.3 (based on Ubuntu 16.04). The previous version which worked was 2:8.1.0037-0york1~16.04
Based on the comment above I've added the vim-daily ppa and tested version 2:8.1.0037+v8.1.0055-0~ubuntu16.04.1

The issue still exists. I get (there's more but it's pretty much the same as above):

Error detected while processing /home/mike/dotfiles/vim/pack/my-plugins/start/vim-colors-solarized/colors/solarized.vim: 
line  138: 
E697: Missing end of List ']':  
E15: Invalid expression: [ 
line  139: 

In https://groups.google.com/d/topic/vim_use/94wo-ZiqJwo/discussion someone had suggested looking at cpoptions and it's value is different than it was before the version that broke.
What I reported in that thread was:
running :verbose set cpoptions?

cpoptions=aAbBcCdDeEfFgHiIjJkKlLmMnoOpPqrRsStuvwWxXyZ$!%*-+<>;
        Last set from /usr/share/vim/vim81/menu.vim

I happen to have a VM which hadn't installed the update and running :verbose set cpoptions? gave:

cpoptions=aABceFs
Last set from /usr/share/vim/vim81/menu.vim 

so something changed, but I'm not sure how to figure out what.

Christian Brabandt

unread,
Jun 16, 2018, 3:40:17 AM6/16/18
to vim/vim, Subscribed

/usr/share/vim/vim81/menu.vim

Can you share that please?

Tony Mechelynck

unread,
Jun 16, 2018, 6:15:45 AM6/16/18
to vim/vim, Subscribed

IIUC, and contrary to the documentation, Vim no longer sets 'nocompatible' when a vimrc is found. Apparently it is assumed that it is enough to have defaults.vim start with set nocompatible, but what if a vimrc doesn't source defaults.vim or vimrc_example.vim, doesn't explicitly set 'nocompatible' and yet expects it to be set by the mere fact of there being a vimrc, like it used to be?

Tony Mechelynck

unread,
Jun 16, 2018, 6:18:51 AM6/16/18
to vim/vim, Subscribed

P.S. I expect that menu.vim saves and restores 'cpoptions'. If Vim "forgot" to :set nocompatible when it found the vimrc, all flags will be set, while once upon a time, Vim didn't forget, and only a few flags were set.

Best regards,
Tony.

Mike Lippert

unread,
Jun 16, 2018, 9:25:03 AM6/16/18
to vim/vim, Subscribed

Here's the beginning and end of /usr/share/vim/vim81/menu.vim

" Make sure the '<' and 'C' flags are not included in 'cpoptions', otherwise
" <CR> would not be recognized.  See ":help 'cpoptions'".
let s:cpo_save = &cpo
set cpo&vim

<snip 1138 lines> If you need them I can post them.

" Restore the previous value of 'cpoptions'.
let &cpo = s:cpo_save
unlet s:cpo_save

" vim: set sw=2 :

I looked at pack/my-plugins/start/vim-colors-solarized/colors/solarized.vim, it doesn't include any lines similar to the above that save-set-restore cpoptions.

I can certainly add a set cpo&vim to the top of my .vimrc. Would that affect plugins (what order are vimrc & plugins loaded in?)

Bram Moolenaar

unread,
Jun 16, 2018, 10:48:32 AM6/16/18
to vim/vim, Subscribed

Tony wrote:

> IIUC, and contrary to the documentation, Vim no longer sets
> `'nocompatible'` when a vimrc is found.

What makes you think that? This logic didn't change.

Perhaps something was sourced before the .vimrc file that set or reset
'compatible'? Could be the system vimrc file, check the :version
output. Since Vim will only reset 'compatible' if it wasn't set or
reset the moment the .vimrc file is being sourced.


> Apparently it is assumed that
> it is enough to have `defaults.vim` start with `set nocompatible`, but
> what if a vimrc doesn't source `defaults.vim` or `vimrc_example.vim`,

> doesn't explicitly set `'nocompatible'` and yet expects it to be set
> by the mere fact of there being a vimrc, like it used to be?

--
hundred-and-one symptoms of being an internet addict:
52. You ask a plumber how much it would cost to replace the chair in front of
your computer with a toilet.


/// Bram Moolenaar -- Br...@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

Mike Lippert

unread,
Jun 16, 2018, 12:21:15 PM6/16/18
to vim/vim, Subscribed

Thanks @brammool I think that helped me track down what's going on although I think it's related to the packages, so @jonathonf probably has to see if what I'm saying makes sense.

Looking at the system /usr/share/vim/vimrc file I saw the runtime! debian.vim and the following comments about nocompatible. When I went to look for debian.vim it wasn't where it belonged in vim81, instead there was a new directory (which didn't exist in the previously installed version from the jonathonf/ vim PPA) /usr/share/vim/vim810037+v81/ which contained debian.vim and a doc subdirectory.

I'm pretty sure that new directory is an error and its contents belong in /usr/share/vim/vim81/

Tony Mechelynck

unread,
Jun 16, 2018, 6:43:58 PM6/16/18
to vim/vim, Subscribed

@brammool : Maybe I jumped to conclusions, but I saw two different posters in this thread with "minimum" vimrc scripts (with no set nocompatible, no runtime vimrc_example.vim and no runtime defaults.vim in them), and AFAICT both those vimrc scripts were started in 'compatible' mode (or at least with all 'cpoptions' flags set), while they said (albeit I cannot rule out their being mistaken) that "nothing had changed" since when it worked.

Now it looks like some third-party scripts had been misbehaving.

Best regards,
Tony.

Jonathon

unread,
Jun 17, 2018, 6:58:19 AM6/17/18
to vim/vim, Subscribed

instead there was a new directory ... /usr/share/vim/vim810037+v81/

I suspect this is down to the "odd" version number of the daily builds in trying to work around the allowed variables in the Launchpad build recipes.

It looks like the Debian packaging rules are parsing the version number differently to how I expected and so installing files in the wrong place,

rules.conf
166:# Convert x.y.z to x.y
167:VERSION:=$(basename $(DEB_VERSION_UPSTREAM))
168:VIMCUR:=$(NAME)$(substr .,,$(VERSION))
vim-common.install.in
3:debian/runtime/debian.vim                        usr/share/vim/@VIMCUR@/

Either I need to come up with a different version number scheme or alter the logic for VIMCUR.

Mike Lippert

unread,
Jun 17, 2018, 10:54:07 AM6/17/18
to vim/vim, Subscribed

Thanks @jonathonf . Took me a while to be able to install the new version because of broken packages (probably due to the mucking about I did trying to figure out what was going on), but I've now got version 2:8.1.0061-0york1~16.04 (of vim-gtk3) installed and working perfectly. And thanks for maintaining the vim PPA.

Thanks also to all the commenters. I learned a whole lot and would never have figured out what was going on without your helpful comments on what might be happening.

Jonathon

unread,
Jun 17, 2018, 11:04:35 AM6/17/18
to vim/vim, Subscribed

It looks like there are other uses of VIMCUR throughout the packaging files. To fix the file conflicts it should just be a case of:

apt-get upgrade
apt-get install -f
apt-get upgrade

(I just had to do the same thing)

Christian Brabandt

unread,
Jun 18, 2018, 2:25:22 AM6/18/18
to vim/vim, Subscribed

closing this, as this seems to be no problem we can fix here.

Christian Brabandt

unread,
Jun 18, 2018, 2:25:25 AM6/18/18
to vim/vim, Subscribed

Closed #3014.

Reply all
Reply to author
Forward
0 new messages