On 12/21/2015 03:44 PM, Bram Moolenaar wrote:
Since Vim is very stable, it does not happen often that a new version is
released.  Mostly it's fine to run an older version. Unless you run into
a bug there is no pressing reason to update.  With the result that many
users keep using the last official release, since that's just easier.

What does change between releases is the set of runtime files.  These
are updated more frequently, and often this is a more important reason
to update than getting all the patches.  We often see people complaining
about a syntax highlighting error that was already fixed.

There are various ways in which users can get an updated version,
including package managers or getting the latest with git and building
yourself.  For at least some people using git to get the latest version
is fine, but there is a large group of users, especially on MS-Windows
and Mac, for who this is not so easy.  For this group of users I'm
thinking of the following solution.

Include a plugin with Vim that provides the command:

        :RuntimeUpdate

This will get the latest files from github and put them under
$VIMRUNTIME.  The user can run this once in a while, e.g. when someone
mentions it will solve the problem he experiences.

How would this work?

- Include a file $VIMRUNTIME/CONTENTS that lists all the files, with a
   checksum or "DELETED".
- The plugin computes the checksum for the local file, and if it differs
   from the entry in CONTENTS it fetches the new file.  Github supports
   direct raw access, e.g.:
   https://raw.githubusercontent.com/vim/vim/master/runtime/syntax/vim.vim
- If the file was deleted, delete it (duh).
- If the $VIMRNTIME directory is not writable by the current user, put
   the updates in a temp directory and generate a shell script to move
   them into place.  The have one "sudo" command to do the work.
- Rely on the netrw plugin to download the files.


Some things that might cause problems:
- If the line endings are changed from LF to CR-LF then the checksum
   will always differ.  Perhaps we need two entries for each file, with
   and without CR-LF?
- I'm not sure how to put the files in place on MS-Windows if the
   current user can't write in the $VIMRUNTIME directory.  Create a .bat
   file perhaps?
- If the user has local changes, they will be lost.  We probably don't
   care. Files that the user adds are left alone, but they can get
   overwritten.

Comments are welcome.



On Windows, I keep vim updated via tuxproject builds [1], which include all runtime files. On linux, I build right from git, so again everything is updated at once.

I think perhaps some confusion is due to users trying to get the latest exe via the "vim without cream" link which only provides the binary and not RT files. Perhaps the download page at vim.org should be amended to make it more clear or to provide other alternatives.

Jonathan

[1] https://tuxproject.de/projects/vim/


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

--- You received this message because you are subscribed to the Google Groups "vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui