diff anomalies with multiple tabs

2022-06-28 Fir de Conversatie Gary Johnson
I'm not sure this is bug, but it's not what I expect and I don't
know of a workaround.

I often use the Fugitive command ":Git difftool -y" to open a set of
tabs, each one containing a diff of the working tree version of
a file with some other version of that file.  I sometimes use
a command such as CTRL-W_], :scscope or :new to open another window
to look at other uses or the definition of some variable.

If any of those commands opens a new buffer, that window and its new
buffer are not included in the diff.  However, if any of those
commands opens an already-open buffer from another tab, and that
buffer was included in a diff in that tab, then the new window and
that existing buffer are added to the diff in the current tab.
Since the new window and its buffer are usually unrelated to the
windows and their buffers already in the current tab, the display
becomes a mess of change highlighting.  Also, the new window is
scrollbound and cursorbound to the other windows, so scrolling
around in it drags the other windows along.  Further, closing the
new window does not remove its buffer from the diff set, leaving the
highlighting mess.

It seems to me that since diff options are window-local and not
buffer-local, the fact that a buffer is included in a diff in one
tab should not follow it when it is opened in a different tab.

Steps to reproduce

 1. Create a set of four files, a, b, c and d, such that a and
b have slight differences, c and d have slight differences, but
a and b are very different from c and d.  The files I used are
attached.

 2. Start vim:

$ vim -N -u NONE -i NONE

 3. Execute the following.

:e b
:vert diffsplit a
:tabnew d
:vert diffsplit c
:wincmd w

 4. Open some unrelated file in a new window, e.g.,

:new ~/.vim/vimrc

 5. Browse around that file and note that the other windows are not
affected.

 6. Close that window:

:close

 7. Open one of the files already open in the other tab:

:new b

 8. Note that the highlighting of all the lines in all the windows
in the current tab has changed to DiffAdd, DiffChange or
DiffDelete.

 9. Close this window:

:close

10. Note that the highlighting of the two original windows remains
affected by the now-closed window.

Executing :diffoff in the new window will fix the problem
temporarily, but it comes back as soon as another existing,
diffed buffer is opened in that window.

Expected behavior

I expect a buffer opened in a new window to not be part of the
diff of other windows in that tab, regardless of whether it is
already open in some other tab and whether a window in which it
is open in that other tab is part of a diff.

Version of Vim

9.0.0

Environment

 Operating system:  Ubuntu 20.04
 Terminal:  XTerm(370)
 Value of $TERM:xterm-256color
 Shell: bash

Regards,
Gary

-- 
-- 
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 vim_dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/20220629001636.GC12539%40phoenix.
Mary had a little lamb,
Its fleece was white at snow,
And everywhere that Mary went,
The lamb was sure to go.
Mary had a little goat,
Its fleece was white at snow,
And everywhere that Mary went,
The goat was sure to go.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam luctus lectus
sodales, dictum augue vel, molestie augue. Duis sit amet rhoncus justo. Nullam
posuere risus semper magna commodo scelerisque. Duis et venenatis sem. In
rhoncus augue sed tempor mattis. Mauris id aliquet odio. Sed eget est aliquam,
pulvinar enim elementum, ultricies lorem. Integer egestas dui dui, nec viverra
felis semper a. Mauris sed sodales est. Nulla ultrices nulla vitae sem
convallis, ut tincidunt enim fermentum. Pellentesque nulla nisi, pellentesque
a augue sit amet, vulputate ornare massa. Phasellus ultrices vitae augue vitae
faucibus.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam luctus lectus
sodales, dictum augue vel, molestie augue. Duis sit amet rhoncus justo. Nullam
posuere risus semper minima commodo scelerisque. Duis et venenatis sem. In
rhoncus augue sed tempor mattis. Mauris id aliquet odio. Sed eget est aliquam,
pulvinar enim elementum, ultricies lorem. Float egestas dui dui, nec viverra
felis semper a. Mauris sed sodales est. Nulla ultrices nulla vitae sem
convallis, ut tincidunt enim fermentum. Pellentesque nulla nisi, pellentesque
a augue sit amet, vulputate ornare massa. Phasellus ultrices vitae augue vitae
faucibus.


Re: Vim 9.0 is released!

2022-06-28 Fir de Conversatie John Marriott



On 29-June-2022 00:55, Bram Moolenaar wrote:


Hello Vim users!

Announcing:  Vim (Vi IMproved) version 9.0



Congratulations and thank-you to you Bram and to everyone involved.

Cheers!

--
--
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 vim_dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/1e959193-d2e1-23df-bc8a-414a942225cc%40internode.on.net.


Vim 9.0 is released!

2022-06-28 Fir de Conversatie Bram Moolenaar



Hello Vim users!

Announcing:  Vim (Vi IMproved) version 9.0


This is a major release.  The main new feature is the addition of Vim9
script.  Besides that a lot of bugs have been fixed, documentation was
updated, test coverage was improved, etc.

Read the announcement online: https://www.vim.org/vim90.php

Once you have installed Vim 9.0 you can find details about the changes
since Vim 9.0 with:
:help version9


Why Vim9 Script
---

A new script language, what is that needed for? Vim script has been
growing over time, while preserving backwards compatibility. That means
bad choices from the past often can't be changed and compatibility with
Vi restricts possible solutions. Execution is quite slow, each line is
parsed every time it is executed.

The main goal of Vim9 script is to drastically improve performance. This
is accomplished by compiling commands into instructions that can be
efficiently executed. An increase in execution speed of 10 to 100 times
can be expected.

A secondary goal is to avoid Vim-specific constructs and get closer to
commonly used programming languages, such as JavaScript, TypeScript and
Java.

The performance improvements can only be achieved by not being 100%
backwards compatible. For example, making function arguments available
by creating an "a:" dictionary involves quite a lot of overhead. In a
Vim9 function this dictionary is not available. Other differences are
more subtle, such as how errors are handled.

For those with a large collection of legacy scripts: Not to worry! They
will keep working as before. There are no plans to drop support for
legacy script. No drama like with the deprecation of Python 2.


Interesting Features


To profit from the speedup a function must be defined with "def". The
argument and return types must be specified. This is not only to make
execution faster, it also helps uncovering mistakes early, when the
function is compiled into byte code. Variables are declared with "var"
and also have a type, either explicitly or inferred from the assigned
value.

Line continuation does not require using a backslash, the mechanism that
is used in legacy script, which is a bit weird and was required to keep
it backwards compatible.

Function calls do not require "call", assignments are done without "let"
and expressions are evaluated without "eval". This makes a Vim9 script
look a lot more like most programming languages.

Splitting up a large script in small pieces has been made a lot simpler.
In one script "export" is used to make specific functions and variables
available to other scripts. The rest is local to the script. Then
"import" is used where the exported items are to be used. Combined with
an autoload mechanism this makes a flexible and powerful way to
implement large plugins.

Comments now start with "#". The previous double quote syntax, which
comes from the good old Vi, interferes with how strings are used. The
use of "#" is known from many other languages, such as Python and shell
scripts.

Otherwise most things work the same way. Users who have written Vim
script will find it easy to switch over. Unexpected differences usually
lead to an error message with a hint how to do make the line work in
Vim9 script.

Details about Vim9 script and rationale for the choices can be found
with ":help vim9" in Vim or online: https://vimhelp.org/vim9.txt.html

Otherwise, many improvements were made not related to Vim9 script. You
can find a list with ":help new-9" in Vim or online:
https://vimhelp.org/version9.txt.html#new-9


Future Work
---

There will surely be a Vim 9.1 release. Nobody knows when.

Among the plans for Vim9 script is the addition of classes. Although a
dictionary can be used to simulate this, it is far from ideal. Most
programmers are familiar with classes such as Java has. Something like
that should be added to Vim9 script. The keywords are already reserved.


Dedication
--

Vim version 9.0 is dedicated to Sven Guckes, who passed away in February
2022 when the release was being prepared.  Sven was a long time
supporter of Vim.  He registered the vim.org domain and created the
first Vim website.  We will remember him!


Gratitude
-

If you like Vim, please consider helping poor children in the south of
Uganda: http://iccf-holland.org


Where to get it
---

The best way to obtain the latest Vim is using Git.  Summary:
git clone https://github.com/vim/vim.git
More information here: https://www.vim.org/git.php

For MS-Windows most of you will want to use the signed installer at:
https://github.com/vim/vim-win32-installer/releases

Or use the self-installing executable (uses older libraries):
https://ftp.nluug.nl/pub/vim/pc/gvim90.exe

Information about which files to download for what system:
https://www.vim.org/download.php

A list of mirror sites can be found here:
https://www.vim.org/mirrors.php


Files available for 

Re: [patch] typo fixes in doc of Vim 8.2.5172

2022-06-28 Fir de Conversatie Bram Moolenaar


Dominique wrote:

> Please find attached a patch with fixes in doc of Vim 8.2.5172.

Thanks.

-- 
hundred-and-one symptoms of being an internet addict:
20. When looking at a pageful of someone else's links, you notice all of them
are already highlighted in purple.

 /// Bram Moolenaar -- b...@moolenaar.net -- http://www.Moolenaar.net   \\\
///  \\\
\\\sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
 \\\help me help AIDS victims -- http://ICCF-Holland.org///

-- 
-- 
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 vim_dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/20220628095821.BF29A1C0320%40moolenaar.net.


[patch] typo fixes in doc of Vim 8.2.5172

2022-06-28 Fir de Conversatie Dominique Pellé
Please find attached a patch with fixes in doc of Vim 8.2.5172.

Regards
Dominique

-- 
-- 
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 vim_dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/CAON-T_gKvJD6Cej8zcB4ntotp73HoWV99HK2KU7yN2FTA1yM8Q%40mail.gmail.com.


typos-doc-8.2.5172.patch
Description: Binary data