diff anomalies with multiple tabs
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!
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!
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 downl
Re: [patch] typo fixes in doc of Vim 8.2.5172
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
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