Status: New
Owner: ----
Labels: Type-Defect Priority-Medium

New issue 55 by [email protected]: b:undo_ftplugin is not defined in some files under ftplugins (patch attached)
http://code.google.com/p/vim/issues/detail?id=55

I found some problems related to custom filetype recognition, related to the fact that some ftplugins do not define the b:undo_ftplugin variable.

Steps to reproduce:
1) Create a custom filetype "julia" with extension *.jl (which is already taken by lisp): 1) a) Put an autoload line under ~/.vim/ftdetect/julia.vim calling "set filetype=julia" 1) b) Create a standard ftplugin under ~/.vim/ftplugin/julia.vim, with the usual check for b:did_ftplugin
1) c) Optionally, add a custom syntax file as well
2. Edit a file with extension .jl

Expected result:
Lisp filetype should be overridden by julia.

Actual result:
The filetype is set to "julia", but when ~/.vim/ftplugin/julia.vim is sourced the variable b:did_ftplugin is already set and the file is therefore skipped, while the options set by $VIMRUNTIME/ftplugins/lisp.vim are retained. Also, the julia syntax file gets loaded, but (because of the wrong settings) there may be problems with that as well.

My system:
Ubuntu Linux 11.10, Vim 7.3. Tested with a bare minimum vimrc file which only uses "set rtp=~/.vim,$VIMRUNTIME", "plugin on" and "set nocompatible".

I verified that by defining b:undo_ftplugin in the lisp.vim ftplugin the issue goes away.

I'm submitting a patch (against the latest repository code) which adds the definition of this variable to all ftplugin files which miss it.

Attachments:
        fix_undo_ftplugin.patch  11.0 KB

--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Raspunde prin e-mail lui