Hello Bram,
hello folks, (cc'ing vim dev)

if this already has been discussed excuse me.
Some time ago we had a discussion about how to handle specific settings in Vim
the correct way.
Now some time later i think i have a approach that could be of some use in this
regard.
example code follows:

^-------------------------------------------------------------------------------
" Make sure compatible-options is [re]set to vim defaults.
" Vim default: "aABceFs". Commas can be added for readability.
  set cpo&vim

" set cpo to your likings e.g:
  set cpo+=y

  if exists("g:global_cpoptions_save")
    unlockvar g:global_cpoptions_save
  endif
  let g:global_cpoptions_save = &cpo
  lockvar g:global_cpoptions_save
  autocmd SourcePre  *  let &cpo = g:global_cpoptions_save
                    \|  set isfname&vim
                    \|  set isident&vim
                    \|  set iskeyword&vim
                    \|  set isprint&vim

^-------------------------------------------------------------------------------

Now this code isn't perfect neither as all other aproaches. Still it has 
benefits:
parallelises instead of serialisation, means:
The current approach of handling cpo serialize each and every runtime file.
Results: if only one of the runtime files handles cpo wrongly the whole process
will fail resulting in non wanted cpo settings at runtime (note some runtime
files even modify cpo on their own and cpo is global only).
With the approach above each runtime file will get the same terms at startup and
the whole process will only fail, if the LAST runtime file being processed 
breaks.
IMHO this lifts much of the burden.

Now if we only had a 'au SourcePost'.....

-- 
Regards,
Thilo

4096R/0xC70B1A8F
721B 1BA0 095C 1ABA 3FC6  7C18 89A4 A2A0 C70B 1A8F


-- 
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