summaryrefslogtreecommitdiffstats
path: root/debian
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-06 02:44:26 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-06 02:44:26 +0000
commit0cde7a370d07f80208bcd29597cf30d5274f38b0 (patch)
treee228a85db87eb0491d2937e213bbbab19826b682 /debian
parentAdding upstream version 2:8.1.0875. (diff)
downloadvim-0cde7a370d07f80208bcd29597cf30d5274f38b0.tar.xz
vim-0cde7a370d07f80208bcd29597cf30d5274f38b0.zip
Adding debian version 2:8.1.0875-5+deb10u2.debian/2%8.1.0875-5+deb10u2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--debian/.gitlab-ci.yml19
-rw-r--r--debian/FAQ7700
-rw-r--r--debian/NEWS85
-rw-r--r--debian/README.Debian49
-rw-r--r--debian/README.source41
-rw-r--r--debian/bug-presubj15
-rw-r--r--debian/bug-script8
-rw-r--r--debian/changelog6850
-rw-r--r--debian/changelog.upstream906
-rw-r--r--debian/clean13
-rw-r--r--debian/compat1
-rw-r--r--debian/control286
-rw-r--r--debian/copyright586
-rw-r--r--debian/gbp.conf8
-rwxr-xr-xdebian/helpztags92
-rw-r--r--debian/patches/debian/Add-recognition-of-more-LaTeX-commands-for-tex-filetype-d.patch27
-rw-r--r--debian/patches/debian/Detect-the-rst-filetype-using-the-contents-of-the-file.patch28
-rw-r--r--debian/patches/debian/Document-Debian-s-decision-to-disable-modelines-by-defaul.patch29
-rw-r--r--debian/patches/debian/Support-sourcing-a-vimrc.tiny-when-Vim-is-invoked-as-vi.patch85
-rw-r--r--debian/patches/patch-8.1.0878-test-for-has-bsd-fails-on-some-BSD-systems.patch37
-rw-r--r--debian/patches/patch-8.1.0884-double-check-for-bsd-systems.patch36
-rw-r--r--debian/patches/patch-8.1.0948-when-built-without-eval-Vim-clean-produces.patch95
-rw-r--r--debian/patches/patch-8.1.1046-the-secure-variable-is-used-inconsistently.patch64
-rw-r--r--debian/patches/patch-8.1.1365-source-command-doesn-t-check-for-the-sandb.patch63
-rw-r--r--debian/patches/patch-8.1.1366-using-expressions-in-a-modeline-is-unsafe.patch588
-rw-r--r--debian/patches/patch-8.1.1367-can-set-modelineexpr-in-modeline.patch54
-rw-r--r--debian/patches/patch-8.1.1368-modeline-test-fails-with-python-but-withou.patch42
-rw-r--r--debian/patches/patch-8.1.1382-error-when-editing-test-file.patch71
-rw-r--r--debian/patches/patch-8.1.1401-misspelled-mkspellmem-as-makespellmem.patch69
-rw-r--r--debian/patches/series23
-rw-r--r--debian/patches/upstream/Support-defining-compilation-date-in-SOURCE_DATE_EPOCH.patch89
-rw-r--r--debian/patches/upstream/deb-release-names.patch58
-rw-r--r--debian/patches/upstream/patch-8.1.0881-can-execute-shell-commands-in-rvim-through.patch378
-rw-r--r--debian/patches/upstream/patch-8.1.0883-missing-some-changes-for-Ex-commands.patch150
-rw-r--r--debian/patches/upstream/patch-8.1.0936-may-leak-memory-when-using-vartabstop.patch95
-rw-r--r--debian/patches/upstream/patch-8.2.3402-invalid-memory-access-when-using-retab-wit.patch196
-rw-r--r--debian/patches/upstream/patch-8.2.3403-memory-leak-for-retab-with-invalid-argumen.patch67
-rw-r--r--debian/patches/upstream/patch-8.2.3409-reading-beyond-end-of-line-with-invalid-ut.patch58
-rw-r--r--debian/patches/upstream/patch-8.2.3428-using-freed-memory-when-replacing.patch78
-rw-r--r--debian/policy/Makefile31
-rw-r--r--debian/policy/authors.xml8
-rw-r--r--debian/policy/legal.xml30
-rw-r--r--debian/policy/vim-policy.xml470
-rwxr-xr-xdebian/rules452
-rw-r--r--debian/runtime/debian.vim.in54
-rw-r--r--debian/runtime/gvimrc17
-rw-r--r--debian/runtime/vimrc55
-rw-r--r--debian/source/format1
-rw-r--r--debian/source/lintian-overrides4
-rw-r--r--debian/tests/control2
-rwxr-xr-xdebian/tests/variants7
-rw-r--r--debian/tiny/doc/README.Debian7
-rw-r--r--debian/tiny/doc/help.txt38
-rw-r--r--debian/tiny/doc/tags1
-rw-r--r--debian/tiny/vimrc.tiny.in13
-rw-r--r--debian/vim-common.dirs16
-rw-r--r--debian/vim-common.install.in20
-rw-r--r--debian/vim-common.links17
-rw-r--r--debian/vim-common.lintian-overrides2
-rw-r--r--debian/vim-common.maintscript1
-rw-r--r--debian/vim-common.manpages1
-rw-r--r--debian/vim-common.mime4
-rw-r--r--debian/vim-common.preinst30
-rw-r--r--debian/vim-doc.doc-base.referencemanual11
-rw-r--r--debian/vim-doc.doc-base.usermanual11
-rw-r--r--debian/vim-doc.docs3
-rw-r--r--debian/vim-doc.install1
-rw-r--r--debian/vim-gui-common.dirs11
-rw-r--r--debian/vim-gui-common.install9
-rw-r--r--debian/vim-gui-common.links31
-rw-r--r--debian/vim-gui-common.lintian-overrides2
-rw-r--r--debian/vim-gui-common.mime2
-rw-r--r--debian/vim-registry/vim-runtime.yaml14
-rw-r--r--debian/vim-runtime.dirs10
-rw-r--r--debian/vim-runtime.install10
-rw-r--r--debian/vim-runtime.links.in3
-rw-r--r--debian/vim-runtime.postinst34
-rw-r--r--debian/vim-runtime.postrm.in28
-rw-r--r--debian/vim-runtime.preinst.in27
-rw-r--r--debian/vim-tiny.dirs1
-rw-r--r--debian/vim-tiny.links1
-rw-r--r--debian/vim-variant.install1
-rw-r--r--debian/vim-variant.lintian-overrides2
-rw-r--r--debian/vim-variant.maintscript1
-rw-r--r--debian/vim-variant.postinst57
-rw-r--r--debian/vim-variant.prerm43
-rw-r--r--debian/vim.dirs1
-rw-r--r--debian/watch4
88 files changed, 20738 insertions, 0 deletions
diff --git a/debian/.gitlab-ci.yml b/debian/.gitlab-ci.yml
new file mode 100644
index 0000000..80c5e28
--- /dev/null
+++ b/debian/.gitlab-ci.yml
@@ -0,0 +1,19 @@
+.build_template: &build
+ only:
+ - branches
+ before_script:
+ - adduser --home /home/ci ci --quiet --disabled-login --gecos "" --uid 1000
+ - apt-get -q update
+ - env DEBIAN_FRONTEND=noninteractive apt-get -q -y -o Debug::pkgProblemResolver=yes build-dep .
+ - env DEBIAN_FRONTEND=noninteractive apt-get -q -y -o Debug::pkgProblemResolver=yes install --no-install-recommends gitpkg fakeroot sudo
+ - rm -rf ../deb-packages/vim
+ - install -d -o ci ../deb-packages ../deb-packages/vim
+ - export UPSTREAM_VERSION=$(dpkg-parsechangelog -SVersion | sed -e 's/^[0-9]*://' -e 's/\(.*\)-[^-]*/\1/')
+ - sudo -u ci gitpkg --keep-unpacked-source "$CI_COMMIT_SHA" v"$UPSTREAM_VERSION"
+ script:
+ - cd ../deb-packages/vim/vim-"$UPSTREAM_VERSION"
+ - sudo -u ci dpkg-buildpackage -us -uc
+
+test:buster:
+ <<: *build
+ image: debian:buster
diff --git a/debian/FAQ b/debian/FAQ
new file mode 100644
index 0000000..bf70b7e
--- /dev/null
+++ b/debian/FAQ
@@ -0,0 +1,7700 @@
+vim:tw=75:wrap:fo=tcqn2:sw=4:sts=4:et
+
+This Vim FAQ is created from the questions and answers posted to the
+vim@vim.org user mailing list and the comp.editors newsgroup. There are
+several ways to solve a problem in Vim. This FAQ gives one of those several
+possibilities. You can explore the other ways using the information and
+links given in this FAQ. The credit for the answers in this FAQ goes to
+Peppe, Benji, Charles Campbell and numerous others.
+
+INDEX
+
+SECTION 1 - GENERAL INFORMATION
+ 1.1. What is Vim?
+ 1.2. Who wrote Vim?
+ 1.3. Is Vim compatible with Vi?
+ 1.4. What are some of the improvements of Vim over Vi?
+ 1.5. Is Vim free?
+
+SECTION 2 - RESOURCES
+ 2.1. Where can I learn more about Vim?
+ 2.2. Is there a mailing list available?
+ 2.3. Is there an archive available for the Vim mailing lists?
+ 2.4. Where can I get the Vim user manual in HTML/PDF/PS format?
+ 2.5. I have a "xyz" (some) problem with Vim. How do I determine it is a
+ problem with my setup or with Vim?
+ 2.6. Where can I report bugs?
+ 2.7. Where can the FAQ be found?
+ 2.8. What if I don't find an answer in this FAQ?
+ 2.9. I have a patch for implementing a Vim feature. Where do I send the
+ patch?
+ 2.10. I have a Vim tip or developed a new Vim
+ syntax/indent/filetype/compiler plugin or developed a new script
+ or a colorscheme. Is there a public website where I can upload
+ this?
+
+SECTION 3 - AVAILABILITY
+ 3.1. What is the latest version of Vim?
+ 3.2. Where can I find the latest version of Vim?
+ 3.3. What platforms does it run on?
+ 3.4. Where can I download the latest version of the Vim runtime files?
+
+SECTION 4 - HELP
+ 4.1. How do I use the help files?
+ 4.2. How do I search for a keyword in the Vim help files?
+ 4.3. I am getting an error message E123, what did I do wrong?
+ 4.4. Where can I read about the various modes in Vim?
+ 4.5. How do I generate the Vim help tags file after adding a new Vim
+ help file?
+ 4.6. Can I use compressed versions of the help files?
+
+SECTION 5 - EDITING A FILE
+ 5.1. How do I load a file in Vim for editing?
+ 5.2. How do I save the current file in another name (save as) and edit
+ a new file?
+ 5.3. How do I change the current directory to the directory of the
+ current file?
+ 5.4. How do I write a file without the line feed (EOL) at the end of
+ the file?
+ 5.5. How do I configure Vim to open a file at the last edited location?
+ 5.6. When editing a file in Vim, which is being changed by an external
+ application, Vim opens a warning window (like the confirm dialog)
+ each time a change is detected. How do I disable this warning?
+ 5.7. How do I edit a file whose name is under the cursor?
+ 5.8. How do I reload/re-edit the current file?
+ 5.9. How do I autosave a file periodically?
+ 5.10. How do I open a file in read-only mode?
+ 5.11. How do I open a file for editing without saving the modifications
+ to the current file?
+
+SECTION 6 - EDITING MULTIPLE FILES
+ 6.1. How do I open multiple files at once from within Vim?
+ 6.2. How do I switch between multiple files/buffers in Vim?
+ 6.3. How do I open several files in Vim, with each file in a separate
+ window?
+ 6.4. How do I configure Vim to autoload several files at once similar
+ to "work-sets" or "projects"?
+ 6.5. Is it possible to open multiple top level windows in a single
+ instance of Vim similar to Nedit or emacs?
+ 6.6. How do I browse/explore directories from within Vim?
+ 6.7. How do I edit files over a network using ftp/scp/rcp/http?
+
+SECTION 7 - BACKUP
+ 7.1. When I edit and save files, Vim creates a file with the same name
+ as the original file and a "~" character at the end. How do I stop
+ Vim from creating this file (or) How do I disable the Vim backup
+ file feature?
+ 7.2. How do I configure Vim to store all the backup files in a
+ particular directory?
+ 7.3. When I save a file with Vim, the file permissions are changed.
+ How do I configure Vim to save a file without changing the file
+ permissions?
+
+SECTION 8 - BUFFERS
+ 8.1. I have made some modifications to a buffer. How do I edit another
+ buffer without saving the modified buffer and also without losing
+ the modifications?
+ 8.2. How do I configure Vim to auto-save a modified buffer when
+ switching to another buffer?
+ 8.3. How do I replace the buffer in the current window with a blank
+ buffer?
+ 8.4. Is there a keyboard shortcut to load a buffer by the buffer
+ number?
+ 8.5. How do I open all the current buffers in separate windows?
+ 8.6. How do I close (delete) a buffer without exiting Vim?
+ 8.7. I have several buffers opened with ":e filename". How do I close
+ one of the buffers without exiting Vim?
+ 8.8. When I use the command ":%bd" to delete all the buffers, not all
+ the buffers are deleted. Why?
+ 8.9. How do I display the buffer number of the current buffer/file?
+ 8.10. How do I delete a buffer without closing the window in which the
+ buffer is displayed?
+ 8.11. How do I map the tab key to cycle through and open all the
+ buffers?
+
+SECTION 9 - WINDOWS
+ 9.1. What is the difference between a Vim window and a buffer?
+ 9.2. How do I increase the width of a Vim window?
+ 9.3. How do I zoom into or out of a window?
+ 9.4. How do I execute an ex command on all the open buffers or open
+ windows or all the files in the argument list?
+
+SECTION 10 - MOTION
+ 10.1. How do I jump to the beginning (first line) or end (last line) of
+ a file?
+ 10.2. In insert mode, when I press the <Esc> key to go to command mode,
+ the cursor moves one character to the left (except when the cursor
+ is on the first character of the line). Is it possible to change
+ this behavior to keep the cursor at the same column?
+ 10.3. How do I configure Vim to maintain the horizontal cursor position
+ when scrolling with the <Page Up>, <Page Down>, etc keys?
+ 10.4. Some lines in a file are more than the screen width and they are
+ all wrapped. When I use the j, k keys to move from one line to the
+ next, the cursor is moved to the next line in the file instead of
+ the next line on the screen. How do I move from one screen line to
+ the next?
+ 10.5. What is the definition of a sentence, paragraph and section in
+ Vim?
+ 10.6. How do I jump to beginning or end of a sentence, paragraph or a
+ section?
+ 10.7. I have lines in a file that extends beyond the right extent of the
+ screen. How do I move the Vim view to the right to see the text
+ off the screen?
+ 10.8. How do I scroll two or more buffers simultaneously?
+ 10.9. When I use my arrow keys, Vim changes modes, inserts weird
+ characters in my document but doesn't move the cursor properly.
+ What's going on?
+ 10.10. How do I configure Vim to move the cursor to the end of the
+ previous line, when the left arrow key is pressed and the cursor
+ is currently at the beginning of a line?
+ 10.11. How do I configure Vim to stay only in insert mode (modeless
+ editing)?
+ 10.12. How do I display some context lines when scrolling text?
+ 10.13. How do I go back to previous cursor locations?
+
+SECTION 11 - SEARCHING TEXT
+ 11.1. After I searched for a text with a pattern, all the matched text
+ stays highlighted. How do I turn off the highlighting
+ temporarily/permanently?
+ 11.2. How do I enter a carriage return character in a search pattern?
+ 11.3. How do I search for the character ^M?
+ 11.4. How can I search/replace characters that display as '~R', '~S',
+ etc.?
+ 11.5. How do I highlight all the non-printable characters in a file?
+ 11.6. How do I search for whole words in a file?
+ 11.7. How do I search for the current word under the cursor?
+ 11.8. How do I search for a word without regard to the case (uppercase
+ or lowercase)?
+ 11.9. How do I search for words that occur twice consecutively?
+ 11.10. How do I count the number of times a particular word occurs in a
+ buffer?
+ 11.11. How do I place the cursor at the end of the matched word when
+ searching for a pattern?
+ 11.12. How do I search for an empty line?
+ 11.13. How do I search for a line containing only a single character?
+ 11.14. How do I search and replace a string in multiple files?
+ 11.15. I am using the ":s" substitute command in a mapping. When a
+ search for a pattern fails, the map terminates. I would like the
+ map to continue processing the next command, even if the
+ substitute command fails. How do I do this?
+ 11.16. How do I search for the n-th occurrence of a character in a
+ line?
+ 11.17. How do I replace a tab (or any other character) with a hard
+ return (newline) character?
+ 11.18. How do I search for a character by its ASCII value?
+ 11.19. How do I search for long lines?
+ 11.20. How do I display all the lines in the current buffer that
+ contain a specified pattern?
+ 11.21. How do I search for a text string that spans multiple lines?
+ 11.22. How do I search for a pattern only within a range of lines
+ in a buffer?
+
+SECTION 12 - CHANGING TEXT
+ 12.1. How do I delete all the trailing white space characters (SPACE
+ and TAB) at the end of all the lines in a file?
+ 12.2. How do I replace all the occurrences of multiple consecutive
+ space characters to a single space?
+ 12.3. How do I reduce a range of empty lines into one line only?
+ 12.4. How do I delete all blank lines in a file? How do I remove all
+ the lines containing only space characters?
+ 12.5. How do I copy/yank the current word?
+ 12.6. How do I yank text from one position to another position within a
+ line, without yanking the entire line?
+ 12.7. When I yank some text into a register, how do I append the text
+ to the current contents of the register?
+ 12.8. How do I yank a complete sentence that spans over more than one
+ line?
+ 12.9. How do I yank all the lines containing a pattern into a buffer?
+ 12.10. How do I delete all the lines in a file that does not contain a
+ pattern?
+ 12.11. How do I add a line before each line with "pattern" in it?
+ 12.12. Is there a way to operate on a line if the previous line
+ contains a particular pattern?
+ 12.13. How do I execute a command on all the lines containing a
+ pattern?
+ 12.14. Can I copy the character above the cursor to the current cursor
+ position?
+ 12.15. How do I insert a blank line above/below the current line
+ without entering insert mode?
+ 12.16. How do I insert the name of current file into the current
+ buffer?
+ 12.17. How do I insert the contents of a Vim register into the current
+ buffer?
+ 12.18. How do I move the cursor past the end of line and insert some
+ characters at some columns after the end of the line?
+ 12.19. How to replace the word under the cursor (say: junk) with
+ "foojunkbar" in Vim?
+ 12.20. How do I replace a particular text in all the files in a
+ directory?
+ 12.21. I have some numbers in a file. How do I increment or decrement
+ the numbers in the file?
+ 12.22. How do I reuse the last used search pattern in a ":substitute"
+ command?
+ 12.23. How do I change the case of a string using the ":substitute"
+ command?
+ 12.24. How do I enter characters that are not present in the keyboard?
+ 12.25. Is there a command to remove any or all digraphs?
+ 12.26. In insert mode, when I press the backspace key, it erases only
+ the characters entered in this instance of insert mode. How do I
+ erase previously entered characters in insert mode using the
+ backspace key?
+ 12.27. I have a file which has lines longer than 72 characters
+ terminated with "+" and wrapped to the next line. How can I
+ quickly join the lines?
+ 12.28. How do I paste characterwise yanked text into separate lines?
+ 12.29. How do I change the case (uppercase, lowercase) of a word or
+ a character or a block of text?
+ 12.30. How do I enter ASCII characters that are not present in the
+ keyboard?
+ 12.31. How do I replace non-printable characters in a file?
+ 12.32. How do I remove duplicate lines from a buffer?
+ 12.33. How do I prefix all the lines in a file with the corresponding
+ line numbers?
+ 12.34. How do I exchange (swap) two characters or words or lines?
+ 12.35. How do I change the characters used as word delimiters?
+
+SECTION 13 - COMPLETION IN INSERT MODE
+ 13.1. How do I complete words or lines in insert mode?
+ 13.2. How do I complete file names in insert mode?
+ 13.3. I am using CTRL-P/CTRL-N to complete words in insert mode. How do
+ I complete words that occur after the just completed word?
+
+SECTION 14 - TEXT FORMATTING
+ 14.1. How do I format a text paragraph so that a new line is inserted
+ at the end of each wrapped line?
+ 14.2. How do I format long lines in a file so that each line contains
+ less than 'n' characters?
+ 14.3. How do I join short lines to the form a paragraph?
+ 14.4. How do I format bulleted and numbered lists?
+ 14.5. How do I indent lines in insert mode?
+ 14.6. How do I format/indent an entire file?
+ 14.7. How do I increase or decrease the indentation of the current
+ line?
+ 14.8. How do I indent a block/group of lines?
+ 14.9. When I indent lines using the > or < key, the standard 8-tabstops
+ are used instead of the current 'tabstop' setting. Why?
+ 14.10. How do I turn off the automatic indentation of text?
+ 14.11. How do I configure Vim to automatically set the 'textwidth'
+ option to a particular value when I edit mails?
+ 14.12. Is there a way to make Vim auto-magically break lines?
+ 14.13. I am seeing a lot of ^M symbols in my file. I tried setting the
+ 'fileformat' option to 'dos' and then 'unix' and then 'mac'.
+ None of these helped. How can I hide these symbols?
+ 14.14. When I paste some text into a Vim buffer from another
+ application, the alignment (indentation) of the new text is
+ messed up. How do I fix this?
+ 14.15. When there is a very long wrapped line (wrap is "on") and a line
+ doesn't fit entirely on the screen it is not displayed at all.
+ There are blank lines beginning with '@' symbol instead of
+ wrapped line. If I scroll the screen to fit the line the '@'
+ symbols disappear and the line is displayed again. What Vim
+ setting control this behavior?
+ 14.16. How do I convert all the tab characters in a file to space
+ characters?
+ 14.17. What Vim options can I use to edit text that will later go to a
+ word processor?
+ 14.18. How do I join lines without adding or removing any space
+ characters?
+
+SECTION 15 - VISUAL MODE
+ 15.1. How do I do rectangular block copying?
+ 15.2. How do I delete or change a column of text in a file?
+ 15.3. How do I apply an ex-command on a set of visually selected lines?
+ 15.4. How do I execute an ex command on a column of text selected in
+ Visual block mode?
+ 15.5. How do I select the entire file in visual mode?
+ 15.6. When I visually select a set of lines and press the > key to
+ indent the selected lines, the visual mode ends. How can I
+ reselect the region for further operation? (or) How do I
+ re-select the last selected visual area again?
+ 15.7. How do I jump to the beginning/end of a visually selected region?
+ 15.8. When I select text with mouse and then press : to enter an ex
+ command, the selected text is replaced with the : character. How
+ do I execute an ex command on a text selected using the mouse
+ similar to the text selected using the visual mode?
+ 15.9. When I select a block of text using the mouse, Vim goes into
+ selection mode instead of Visual mode. Why?
+
+SECTION 16 - COMMAND-LINE MODE
+ 16.1. How do I use the name of the current file in the command mode or
+ an ex command line?
+ 16.2. How do I edit the text in the Vim command-line effectively?
+ 16.3. How do I switch from Vi mode to Ex mode?
+ 16.4. How do I copy the output from an ex-command into a buffer?
+ 16.5. When I press the tab key to complete the name of a file in the
+ command mode, if there are more than one matching file names,
+ then Vim completes the first matching file name and displays a
+ list of all matching filenames. How do I configure Vim to only
+ display the list of all the matching filenames and not complete
+ the first one?
+ 16.6. How do I copy text from a buffer to the command line and from the
+ command line to a buffer?
+ 16.7. How do I put a command onto the command history without executing
+ it?
+ 16.8. How do I increase the height of the command-line?
+
+SECTION 17 - VIMINFO
+ 17.1. When I invoke Vim, I get error messages about illegal characters
+ in the viminfo file. What should I do to get rid of these
+ messages?
+ 17.2. How do I disable the viminfo feature?
+ 17.3. How do I save and use Vim marks across Vim sessions?
+
+SECTION 18 - REMOTE EDITING
+ 18.1. How do I open a file with existing instance of gvim? What
+ happened to the Vim 5.x OpenWithVim.exe and SendToVim.exe files?
+ 18.2. How do I send a command to a Vim server to write all buffers to
+ disk?
+ 18.3. Where can I get the documentation about the Vim remote server
+ functionality?
+
+SECTION 19 - OPTIONS
+ 19.1. How do I configure Vim in a simple way?
+ 19.2. How do I toggle the value of an option?
+ 19.3. How do I set an option that affects only the current
+ buffer/window?
+ 19.4. How do I use space characters for a Vim option value?
+ 19.5. Can I add (embed) Vim option settings to the contents of a file?
+ 19.6. How do I display the line numbers of all the lines in a file?
+ 19.7. How do I change the width of the line numbers displayed using the
+ "number" option?
+ 19.8. How do I display (view) all the invisible characters like space,
+ tabs and newlines in a file?
+ 19.9. How do I configure Vim to always display the current line and
+ column number?
+ 19.10. How do I display the current Vim mode?
+ 19.11. How do I configure Vim to show pending/partial commands on the
+ status line?
+ 19.12. How do I configure the Vim status line to display different
+ settings/values?
+ 19.13. How do I configure Vim to display status line always?
+ 19.14. How do I make a Vim setting persistent across different Vim
+ invocations/instances/sessions?
+ 19.15. Why do I hear a beep (why does my window flash) about 1 second
+ after I hit the Escape key?
+ 19.16. How do I make the 'c' and 's' commands display a '$' instead of
+ deleting the characters I'm changing?
+ 19.17. How do I remove more than one flag using a single ":set" command
+ from a Vim option?
+
+SECTION 20 - MAPPING KEYS
+ 20.1. How do I know what a key is mapped to?
+ 20.2. How do list all the user-defined key mappings?
+ 20.3. How do I unmap a key?
+ 20.4. I am not able to create a mapping for the <xxx> key. What is
+ wrong?
+ 20.5. How do I map the numeric keypad keys?
+ 20.6. How do I create a mapping that works only in visual mode?
+ 20.7. In a Vim script, how do I know which keys to use for my mappings,
+ so that the mapped key will not collide with an already used key?
+ 20.8. How do I map the escape key?
+ 20.9. How do I map a key to perform nothing?
+ 20.10. I want to use the Tab key to indent a block of text and
+ Shift-Tab key to unindent a block of text. How do I map the keys
+ to do this? This behavior is similar to textpad, visual studio,
+ etc.
+ 20.11. In my mappings the special characters like <CR> are not
+ recognized. How can I configure Vim to recognize special
+ characters?
+ 20.12. How do I use the '|' to separate multiple commands in a map?
+ 20.13. If I have a mapping/abbreviation whose ending is the beginning of
+ another mapping/abbreviation, how do I keep the first from
+ expanding into the second one?
+ 20.14. Why does it take a second or more for Vim to process a key,
+ sometimes when I press a key?
+ 20.15. How do I map a key to run an external command using a visually
+ selected text?
+ 20.16. How do I map the Ctrl-I key while still retaining the
+ functionality of the <Tab> key?
+
+SECTION 21 - ABBREVIATIONS
+ 21.1. How do I auto correct misspelled words?
+ 21.2. How do I create multi-line abbreviations?
+ 21.3. When my abbreviations are expanded, an additional space character
+ is added at the end of the expanded text. How do I avoid this
+ character?
+ 21.4. How do I insert the current date/time stamp into the file?
+ 21.5. How do I prevent an abbreviation from expanding in insert mode?
+
+SECTION 22 - RECORD AND PLAYBACK
+ 22.1. How do I repeat an editing operation (insertion, deletion, paste,
+ etc)?
+ 22.2. How I record and repeat a set of key sequences?
+ 22.3. How do I edit/modify a recorded set of key sequences?
+ 22.4. How do I write recorded key sequences to a file?
+ 22.5. I am using register 0 to record my key sequences (i.e. q0 ....
+ q). In the recorded key sequences, I am yanking some text. After
+ the first replay of the recorded key sequence, I am no longer
+ able to play it back.
+
+SECTION 23 - AUTOCOMMANDS
+ 23.1. How do I execute a command when I try to modify a read-only file?
+ 23.2. How do I execute a command every time when entering a buffer?
+ 23.3. How do I execute a command every time when entering a window?
+ 23.4. From an autocmd, how can I determine the name of the file or the
+ buffer number for which the autocommand is executed?
+ 23.5. How do I automatically save all the changed buffers whenever Vim
+ loses focus?
+ 23.6. How do I execute/run a function when Vim exits to do some
+ cleanup?
+
+SECTION 24 - SYNTAX HIGHLIGHT
+ 24.1. How do I turn off/on syntax highlighting?
+ 24.2. How do I change the background and foreground colors used by Vim?
+ 24.3. How do I change the highlight colors to suit a dark/light
+ background?
+ 24.4. How do I change the color of the line numbers displayed when the
+ ":set number" command is used?
+ 24.5. How do I change the background color used for a Visually selected
+ block?
+ 24.6. How do I highlight the special characters (tabs, trailing spaces,
+ end of line, etc) displayed by the 'list' option?
+ 24.7. How do I specify a colorscheme in my .vimrc/.gvimrc file, so that
+ Vim uses the specified colorscheme everytime?
+ 24.8. Vim syntax highlighting is broken. When I am editing a file, some
+ parts of the file is not syntax highlighted or syntax highlighted
+ incorrectly.
+ 24.9. Is there a built-in function to syntax-highlight the
+ corresponding matching bracket?
+ 24.10. How do I turn off the C comment syntax highlighting?
+ 24.11. How do I add my own syntax extensions to the standard syntax
+ files supplied with Vim?
+ 24.12. How do I replace a standard syntax file that comes with the Vim
+ distribution with my own syntax file?
+ 24.13. How do I highlight all the characters after a particular column?
+ 24.14. How do I convert a source file (.c, .h, etc) with the Vim syntax
+ highlighting into a HTML file?
+ 24.15. How do I list the definition of all the current highlight
+ groups?
+
+SECTION 25 - VIM SCRIPT WRITING
+ 25.1. How do I list the names of all the scripts sourced by Vim?
+ 25.2. How do I debug Vim scripts?
+ 25.3. How do I locate the script/plugin which sets a Vim option?
+ 25.4. I am getting some error/informational messages from Vim (possibly
+ when running a script), the messages are cleared immediately. How
+ do I display the messages again?
+ 25.5. How do I save and restore a plugin specific information across
+ Vim invocations?
+ 25.6. How do I start insert mode from a Vim function?
+ 25.7. How do I change the cursor position from within a Vim function?
+ 25.8. How do I check the value of an environment variable in the .vimrc
+ file?
+ 25.9. How do I check whether an environment variable is set or not from
+ a Vim function?
+ 25.10. How do I call/use the Vim built-in functions?
+ 25.11. I am using some normal mode commands in my Vim script. How do I
+ avoid using the user-defined mappings for these normal mode
+ commands and use the standard Vim functionality for these normal
+ mode commands?
+ 25.12. How do I get a visually selected text into a Vim variable or
+ register?
+ 25.13. I have some text in a Vim variable 'myvar'. I would like to use
+ this variable in a ":s" substitute command to replace a text
+ 'mytext'. How do I do this?
+ 25.14. A Vim variable (bno) contains a buffer number. How do I use this
+ variable to open the corresponding buffer?
+ 25.15. How do I store the value of a Vim option into a Vim variable?
+ 25.16. I have copied and inserted some text into a buffer from a Vim
+ function. How do I indent the inserted text from the Vim
+ function?
+ 25.17. How do I get the character under the cursor from a Vim script?
+ 25.18. How do I get the name of the current file without the extension?
+ 25.19. How do I get the basename of the current file?
+ 25.20. How do I get the output from a Vim function into the current
+ buffer?
+ 25.21. How do I call external programs from a Vim function?
+ 25.22. How do I get the return status of a program executed using the
+ ":!" command?
+ 25.23. How do I determine whether the current buffer is modified or
+ not?
+ 25.24. I would like to use the carriage return character in a normal
+ command from a Vim script. How do I specify the carriage return
+ character?
+ 25.25. How do I split long lines in a Vim script?
+ 25.26. When I try to "execute" my function using the "execute 'echo
+ Myfunc()'" command, the cursor is moved to the top of the
+ current buffer. Why?
+ 25.27. How do I source/execute the contents of a register?
+ 25.28. After calling a Vim function or a mapping, when I press the 'u'
+ key to undo the last change, Vim undoes all the changes made by
+ the mapping/function. Why?
+ 25.29. How can I call a function defined with s: (script local
+ function) from another script/plugin?
+ 25.30. Is it possible to un-source a sourced script? In otherwords,
+ reverse all the commands executed by sourcing a script.
+
+SECTION 26 - PLUGINS
+ 26.1. How do I set different options for different types of files?
+ 26.2. I have downloaded a Vim plugin or a syntax file or a indent file,
+ or a color scheme or a filetype plugin from the web. Where should
+ I copy these files so that Vim will find them?
+ 26.3. How do I extend an existing filetype plugin?
+ 26.4. How do I turn off loading the Vim plugins?
+ 26.5. How do I turn on/off loading the filetype plugins?
+ 26.6. How do I override settings made in a file type plugin in the
+ global ftplugin directory for all the file types?
+ 26.7. How do I disable the Vim directory browser plugin?
+ 26.8. How do I set the filetype option for files with names matching a
+ particular pattern or depending on the file extension?
+
+SECTION 27 - EDITING PROGRAM FILES
+ 27.1. How do I enable automatic indentation for C/C++ files?
+ 27.2. How do I configure the indentation used for C/C++ files?
+ 27.3. How do I turn off the automatic indentation feature?
+ 27.4. How do I change the number of space characters used for the
+ automatic indentation?
+ 27.5. I am editing a C program using Vim. How do I display the
+ definition of a macro or a variable?
+ 27.6. I am editing a C program using Vim. How do I jump to the
+ beginning or end of a code block from within the block?
+ 27.7. Is there a way to turn off the "//" comment auto-insertion
+ behavior for C++ files? If I'm sitting on a line beginning with
+ "//", then I open a new line above or below it, Vim automatically
+ inserts new "//" chars.
+ 27.8. How do I add the comment character '#' to a set of lines at the
+ beginning of each line?
+ 27.9. How do I edit a header file with the same name as the
+ corresponding C source file?
+ 27.10. How do I automatically insert comment leaders while typing
+ comments?
+
+SECTION 28 - QUICKFIX
+ 28.1. How do I build programs from Vim?
+ 28.2. When I run the make command in Vim I get the errors listed as the
+ compiler compiles the program. When it finishes this list
+ disappears and I have to use the :clist command to see the error
+ message again. Is there any other way to see these error
+ messages?
+
+SECTION 29 - FOLDING
+ 29.1. How do I extend the Vim folding support?
+ 29.2. When I enable folding by setting the 'foldmethod' option, all the
+ folds are closed. How do I prevent this?
+ 29.3. How do I control how many folds will be opened when I start
+ editing a file?
+ 29.4. How do I open and close folds using the mouse?
+ 29.5. How do I change the text displayed for a closed fold?
+ 29.6. How do I store and restore manually created folds across
+ different Vim invocations?
+
+SECTION 30 - VIM WITH EXTERNAL APPLICATIONS
+ 30.1. Can I run a shell inside a Vim window?
+ 30.2. How do I pass the word under the cursor to an external command?
+ 30.3. How do I get the output of a shell command into a Vim buffer?
+ 30.4. How do I pipe the contents of the current buffer to an external
+ command and replace the contents of the buffer with the output
+ from the command?
+ 30.5. How do I sort a section of my file?
+ 30.6. Is there a step-by-step guide for using Vim with slrn?
+ 30.7. How do I use Vim as a pager?
+ 30.8. How do I view Unix man pages from inside Vim?
+ 30.9. How do I change the diff command used by the Vim diff support?
+ 30.10. How do I use the Vim diff mode without folding?
+
+SECTION 31 - GUI VIM
+ 31.1. How do I create buffer specific menus?
+ 31.2. How do I change the font used by GUI Vim?
+ 31.3. When starting GUI Vim, how do I specify the location of the GVIM
+ window?
+ 31.4. How do I add a horizontal scrollbar in GVim?
+ 31.5. How do I make the scrollbar appear in the left side by default?
+ 31.6. How do I remove the Vim menubar?
+ 31.7. I am using GUI Vim. When I press the ALT key and a letter, the
+ menu starting with that letter is selected. I don't want this
+ behavior as I want to map the ALT-<key> combination. How do I do
+ this?
+ 31.8. Is it possible to scroll the text by dragging the scrollbar so
+ that the cursor stays in the original location?
+ 31.9. How do I get gvim to start browsing files in a particular
+ directory when using the ":browse" command?
+ 31.10. For some questions, like when a file is changed outside of Vim,
+ Vim displays a GUI dialog box. How do I replace this GUI dialog
+ box with a console dialog box?
+ 31.11. I am trying to use GUI Vim as the editor for my xxx application.
+ When the xxx application launches GUI Vim to edit a file, the
+ control immediately returns to the xxx application. How do I
+ start GUI Vim, so that the control returns to the xxx
+ application only after I quit Vim?
+ 31.12. Why does the "Select Font" dialog doesn't show all the fonts
+ installed in my system?
+ 31.13. How do I use the mouse in Vim command-line mode?
+ 31.14. When I use the middle mouse button to scroll text, it pastes the
+ last copied text. How do I disable this behavior?
+ 31.15. How do I change the location and size of a GUI Vim window?
+
+SECTION 32 - VIM ON UNIX
+ 32.1. I am running Vim in a xterm. When I press the CTRL-S key, Vim
+ freezes. What should I do now?
+ 32.2. I am seeing weird screen update problems in Vim. What can I do to
+ solve this screen/display update problems?
+ 32.3. I am using the terminal/console version of Vim. In insertmode,
+ When I press the backspace key, the character before the cursor
+ is not erased. How do I configure Vim to do this?
+ 32.4. I am using Vim in a xterm. When I quit Vim, the screen contents
+ are restored back to the original contents. How do I disable
+ this?
+ 32.5. When I start Vim, it takes quite a few seconds to start. How do I
+ minimize the startup time?
+ 32.6. How can I make the cursor in gvim in unix stop blinking?
+ 32.7. How do I change the menu font on GTK Vim?
+ 32.8. How do I prevent <Ctrl-Z> from suspending Vim?
+ 32.9. When I kill the xterm running Vim, the Vim process continues to
+ run and takes up a lot of CPU (99%) time. Why is this happening?
+ 32.10. How do I get the Vim syntax highlighting to work in a Unix
+ terminal?
+
+SECTION 33 - VIM ON MS-WINDOWS
+ 33.1. In MS-Windows, CTRL-V doesn't start the blockwise visual mode.
+ What happened?
+ 33.2. When I press the CTRL-Y key, it acts like the CTRL-R key. How do
+ I configure Vim to treat CTRL-Y as CTRL-Y?
+ 33.3. How do I start GUI Vim in a maximized window always?
+ 33.4. After doing some editing operations, Vim freezes. The cursor
+ becomes an empty rectangle. I am not able enter any characters.
+ What is happening?
+ 33.5. I am using Windows XP, the display speed of maximized GVim is
+ very slow. What can I do to speed the display updates?
+ 33.6. What are the recommended settings for using Vim with cygwin?
+ 33.7. I am trying to use GNU diff with Vim diff mode. When I run the
+ diff from command line, it works. When I try to use the diff with
+ Vim it doesn't work. What should I do now?
+ 33.8. Is it possible to use Vim as an external editor for MS-Windows
+ Outlook email client?
+ 33.9. I am using Vim to edit HTML files. How do I start internet
+ explorer with the current file to preview the HTML file?
+ 33.10. I would like to use Vim with Microsoft Visual Studio. How do I
+ do this?
+ 33.11. Where do I place the _vimrc and _gvimrc files?
+ 33.12. Everytime I save a file, Vim warns about the file being changed
+ outside of Vim. Why?
+
+SECTION 34 - PRINTING
+ 34.1. How do I print a file along with line numbers for all the lines?
+ 34.2. How do I print a file with the Vim syntax highlighting colors?
+
+SECTION 35 - BUILDING VIM FROM SOURCE
+ 35.1. How do I build Vim from the sources on a Unix system?
+ 35.2. How do I install Vim in my home directory or a directory other
+ than the default installation directory in Unix?
+ 35.3. How do I build Vim from the sources on a MS-Windows system?
+ 35.4. The Vim help, syntax, indent files are missing from my Vim
+ installation. How do I install these files?
+ 35.5. I have built Vim from the source and installed the Vim package
+ using "make install". Do I need to keep the Vim source directory?
+ 35.6. How do I determine the Vim features which are enabled at compile
+ time?
+ 35.7. Can I build Vim without the GUI support?
+ 35.8. When building Vim on a Unix system, I am getting "undefined
+ reference to term_set_winsize' error. How do I resolve this
+ error?
+ 35.9. Vim configure keeps complaining about the lack of gtk-config
+ while trying to use GTK 2.03. This is correct, since in GTK 2
+ they moved to using the generic pkg-config. I can get pkg-config
+ to list the various includes and libs for gtk, but for some
+ reason the configure script still isn't picking this up.
+
+SECTION 36 - VARIOUS
+ 36.1. How do I edit binary files with Vim?
+ 36.2. How do I disable the visual error flash and the error beep?
+ 36.3. How do I display the ascii value of a character displayed in a
+ buffer?
+ 36.4. Can I use zero as a count for a Vim command?
+ 36.5. How do I disable the Vim welcome screen?
+ 36.6. How do I avoid the "hit enter to continue" prompt?
+ 36.7. How do I invoke Vim from command line to run a group of commands
+ on a group of files?
+ 36.8. How do I use a normal mode command from insert mode without
+ leaving the insert mode?
+ 36.9. How do I start Vim in insert mode?
+
+SECTION 37 - UNICODE
+ 37.1. Is it possible to create Unicode files using Vim?
+ 37.2. Which Vim settings are particularly important for editing Unicode
+ files?
+ 37.3. What is the 'encoding' option?
+ 37.4. How does Vim name the various Unicode encodings?
+ 37.5. How does Vim specify the presence or absence of a byte-order
+ mark?
+ 37.6. What is the 'fileencoding' option?
+ 37.7. What is the 'fileencodings' option?
+ 37.8. What is the 'termencoding' option?
+ 37.9. What is the 'bomb' option?
+ 37.10. Where can I find an example of a typical use of all these
+ options?
+ 37.11. How can I insert Unicode characters into a file using Vim?
+ 37.12. How can I know which digraphs are defined and for which
+ characters?
+
+
+=============================================================================
+
+SECTION 1 - GENERAL INFORMATION
+
+
+1.1. What is Vim?
+
+Vim stands for Vi IMproved. It used to be Vi IMitation, but there are so
+many improvements that a name change was appropriate. Vim is a text editor
+which includes almost all the commands from the Unix program "Vi" and a lot
+of new ones. All commands can be given with the keyboard. This has the
+advantage that you can keep your fingers on the keyboard and your eyes on
+the screen. For those who want it, there is mouse support and a GUI version
+with scrollbars and menus.
+
+Vim is an editor, not a word processor. A word processor is used mainly to
+do layout of text. This means positioning it, changing the way it appears
+on output. More often than not, the final document is meant to be printed
+or typeset or what have you, in order to present it in a pleasing manner to
+others. Examples of word processors are Microsoft Word, WordPerfect,
+FrameMaker, and AmiPro.
+
+An editor is simply for entering text. Any typesetting or laying out of the
+document is secondary. With an editor, one's main concern is entering text,
+not making the text look good. Examples of editors other than Vim and Vi
+are Emacs, Crisp, Brief, and xedit. And Notepad.
+
+For more information, read
+
+ :help intro
+
+
+1.2. Who wrote Vim?
+
+Most of Vim was written by Bram Moolenar, with contributions from too many
+people to mention here. See ":h credits" for a complete list.
+
+Vim is based on Stevie, worked on by Tim Thompson, Tony Andrews and G.R.
+(Fred) Walter.
+
+For more information, read
+
+ :help author
+
+
+1.3. Is Vim compatible with Vi?
+
+Yes. Vim is very much compatible with Vi. You can use the "-C"
+command-line flag to start Vim in Vi compatible mode:
+
+ $ vim -C
+
+You can also use:
+
+ $ vim -u NONE
+
+You can also set the 'compatible' option to enable Vi compatibility:
+
+ :set compatible
+
+For more information, read
+
+ :help -C
+ :help 'compatible'
+ :help compatible-default
+
+
+1.4. What are some of the improvements of Vim over Vi?
+
+A short summary of the improvements of Vim over vi is listed below. The
+list shows that Vim is a thoroughly modern and feature-packed editor.
+Standard features of modern editors are implemented, and there is an equal
+emphasis on general power-user features and features for programmers.
+
+Features to modernise Vi:
+
+ Multi-level undo
+ Allows you to set the number of times you can undo your changes in a
+ file buffer. You can also redo an undone change.
+ Multiple windows and buffers
+ Each file can be displayed in its own window. You can move easily from
+ one window to another. Each file opened during a Vim session also has
+ an associated buffer and you can easily jump from one to the other.
+ Flexible insert mode
+ Vim allows you to use the arrow keys while in insert mode to move
+ around in the file. No more hitting <Esc>, moving around, then hitting
+ `i' or `a'.
+ Macros
+ Vim has a facility which allows you to record a sequence of typed
+ characters and repeat them any number of times.
+ Visual mode
+ You can highlight sections of text and execute operations on this
+ section of text only.
+ Block operators
+ Allow selection and highlighting of rectangular blocks of text in
+ order do execute specific operations on them.
+ Online help system
+ You can easily find help on any aspect of using Vim. Help is displayed
+ in its own window.
+ Command-line editing and history
+ History allows you to use the arrow keys to repeat or search for a
+ command that has already been typed. Allows you to match the beginning
+ of a command with the beginning of another similar command in the
+ history buffer. You can also edit a command to correct typos or change
+ a few values.
+ Command line completion.
+ Using the <Tab> key, you can complete commands, options, filenames,
+ etc. as needed.
+ Horizontal scrolling.
+ Long lines can be scrolled horizontally (with or without the GUI).
+
+Advanced user features:
+
+ Text formatting.
+ With two keystrokes, you can format large sections of text, without
+ the use of external programs.
+ Word completion in Insert mode
+ Vim can complete words while you are typing, by matching the current
+ word with other similar words in the file.
+ Jump tags
+ Just like in an internet browser, you can jump back to previous parts
+ of the text you were editing, and then forward again. Your brain is
+ thus free to edit instead of navigate.
+ Automatic commands
+ Commands automatically executed when reading or writing a file,
+ jumping to another buffer, etc.
+ Viminfo
+ Allows storing of the command line history, marks and registers in a
+ file to be read on startup. Therefore, you can recall old search
+ patterns, macros, etc., in a new Vim session.
+ Mouse support
+ The mouse is supported in an xterm and for MS-DOS. It can be used to
+ position the cursor, select the visual area, paste a register, etc.
+ Graphical User Interface (GUI)
+ Just like any modern editor. Also, it's very easy to add your own
+ menus. Of course, console vim is still supported, and very widely
+ used.
+ Scripting language
+ Vim has a powerful scripting language so new commands can be created.
+ You can also use Perl, Python, TCL and Ruby to achieve the same thing!
+ Plugins
+ Extra functionality implemented via vim commands (regular commands or
+ the scripting language) that is automatically loaded on startup.
+ Examples: file explorer, network editing. More are being developed
+ and shared on VimOnline all the time.
+ Syntax highlighting for many programming languages
+ Syntax highlighting for hundreds of programming languages is
+ supported. Support for others can be added.
+ Extended regular expressions
+ Vim supports extended regular expressions which are similar in
+ functionality to that of perl regular expressions.
+
+Programming performance features:
+
+ Edit-compile-edit speedup
+ You can compile within Vim and automatically jump to the location of
+ errors in the source code.
+ Indenting for many programming languages
+ C, C++, Java, Perl, XML and many other languages can be automatically
+ indented by vim while you type. Support for others can be added.
+ Searching for words in include files
+ Vim allows you to search for a match of the word under the cursor in
+ the current and included files.
+ Advance text objects
+ Instantly select, or delete, or copy, or indent, or format, or change
+ case, or ... to all the text between ( and ), or { and }, or < and >,
+ or [ and ]. Or a word, sentence, or paragraph. Very powerful.
+ Folding
+ Certain parts of the text can be "folded" away. The best example is
+ the body of a function. You can get an overview of the code, and then
+ open the fold of the function whose detail you need to see.
+ ctags and cscope integration
+ Using these two powerful programs, you can jump to a definition of a
+ function from a calling instance of it, and use other tricks to
+ navigate source code.
+
+For more information, read
+
+ :help vi-differences
+
+
+1.5. Is Vim free?
+
+Vim is Charityware. There are no restrictions on using or copying Vim, but
+the author encourages you to make a donation to charity. A document
+explaining how to do so is included in the distribution.
+
+For more information, read
+
+ :help copyright
+
+
+=============================================================================
+
+SECTION 2 - RESOURCES
+
+
+2.1. Where can I learn more about Vim?
+
+You can post your Vim questions to the vim@vim.org mailing list. You can
+post your Vim development related questions to the vim-dev@vim.org mailing
+list. Vim does not have a newsgroup of its own. But the appropriate
+newsgroup to post to is comp.editors.
+
+"VimOnline" is a web page that serves as a de facto homepage for vim,
+although the main purpose of it is to gather tips and scripts from
+everywhere. Get involved! The URL is vim.sourceforge.net or vim.sf.net.
+
+Finally, read the Vi FAQ:
+
+ http://www.faqs.org/faqs/editor-faq/vi/part1/index.html
+
+For more information, read
+
+ :help mail-list
+ :help internet
+
+
+2.2. Is there a mailing list available?
+
+There are several:
+
+ NAME DESCRIPTION
+
+ vim-announce Announcements of new releases
+ vim General discussion
+ vim-dev Patches, bug reports, development discussions
+ vim-mac Macintosh discussion
+ vim-fr General discussion in French
+ vim-multibyte Multibyte development issues
+ vim-vms Development on VMS
+
+Of these, only vim and vim-dev are of general interest. vim-announce is
+read-only to most people, and its messages are sent to the other lists as
+well. The remaining four are very low volume.
+
+To subscribe: send an email to <NAME>-subscribe@vim.org
+To unsubscribe: send an email to <NAME>-unsubscribe@vim.org
+To get help: send an email to <NAME>-help@vim.org
+
+
+2.3. Is there an archive available for the Vim mailing lists?
+
+Yes. Visit http://www.yahoogroups.com/list/<name>, where name is one of:
+vimannounce, vim, vimdev, vim-fr, vim-mac, vim-multibyte, vim-vms.
+
+Alternatively, visit www.gmane.org to find out about GMANE, which allows
+you to access the mailing lists as though they were newsgroups. This
+offers some convenience to those who wish to browse the history or casually
+observe the current threads.
+
+
+2.4. Where can I get the Vim user manual in HTML/PDF/PS format?
+
+You can download the HTML/PDF/PS format of the Vim user manual from:
+
+ http://vimdoc.sourceforge.net/
+
+
+2.5. I have a "xyz" (some) problem with Vim. How do I determine it is a
+ problem with my setup or with Vim?
+
+First, you have to determine that the problem is not with your .vimrc or
+.gvimrc or system vimrc or your personal plugin files or in any of your
+setup files. To do this, use
+
+ $ vim -N -u NONE -U NONE
+
+This will start Vim in 'nocompatible" mode and will not source your
+personal .vimrc and .gvimrc files. It will also not load your personal
+plugins. In this invocation of Vim, try to reproduce your problem. If you
+are not able to reproduce the problem, then the problem is related to some
+setting in one of your local setup files or plugins. To locate the problem
+in your setup files, you have to use trial and error and try commenting out
+the lines in your setup files one by one. You can also use the -V command
+line argument to Vim to get more debug information and analyze the problem:
+
+ $ vim -V2
+
+You can increase the value passed to the -V argument to get more debug
+information.
+
+For more information, read
+
+ :help -u
+ :help -U
+ :help -N
+ :help -V
+ :help 'verbose'
+ :help :verbose
+ :help set-verbose
+
+
+2.6. Where can I report bugs?
+
+First collect the required information using the following command:
+
+ :source $VIMRUNTIME/bugreport.vim
+
+Now send the resulting text from the above command to the bugs@vim.org
+e-mail address.
+
+The Vim Development mailing list (see above) is a good place to discuss
+general bugs. If the bug you find is with syntax highlighting or some
+other "added feature" (i.e. not directly programmed into vim), attempt to
+inform the maintainer of that feature.
+
+For more information, read
+
+ :help bug-reports
+
+
+2.7. Where can the FAQ be found?
+
+The FAQ can be found at VimOnline (vim.sf.net). Other places will be
+decided in the future.
+
+
+2.8. What if I don't find an answer in this FAQ?
+
+This FAQ covers mainly Vim-specific questions. You may find more
+information suitable for most Vi clones by reading the Vi FAQ. It is posted
+regularly on comp.editors. You can also find a copy at
+
+ http://www.faqs.org/faqs/editor-faq/vi/part1/index.html
+
+Also, since Vim has gathered so many features in the last few years,
+successfully documenting the frequently asked questions here is a
+near-impossible task. To make it possible, please email the maintainer if
+you have a good question. A good question is one that you've tried to
+answer yourself (remember, Vim has great documentation) but struggled.
+
+
+2.9. I have a patch for implementing a Vim feature. Where can I send this
+ patch?
+
+You can send your patches to the Vim developer mailing list
+vim-dev@vim.org.
+
+For more information, read
+
+ :help vim-dev
+
+
+2.10. I have a Vim tip or developed a new Vim
+ syntax/indent/filetype/compiler plugin or developed a new script or a
+ colorscheme. Is there a public website where I can upload this?
+
+Yes. You can use the Vim Online website to upload your plugins/scripts,
+colorschemes, tips, etc. The site is at http://vim.sourceforge.net
+
+
+=============================================================================
+
+SECTION 3 - AVAILABILITY
+
+
+3.1. What is the latest version of Vim?
+
+The latest version of Vim is 6.3 released on 8th June 2004.
+
+The release-history of different versions of Vim is below:
+
+Version 6.3 8th June 2004
+Version 6.2 1st June 2003
+Version 6.1 24th March 2002
+Version 6.0 27th September, 2001
+Version 5.8 31st May, 2001
+Version 5.7 24th June, 2000
+Version 5.6 16th January, 2000
+Version 5.5 21st September, 1999
+Version 5.4 26th July, 1999
+Version 5.3 31st August, 1998
+Version 5.2 24th August, 1998
+Version 5.1 7th April, 1998
+Version 5.0 19th February, 1998
+Version 4.6 13th March,1997
+Version 4.5 17th October, 1996
+Version 4.2 5th July,1996
+Version 4.0 21st May, 1996
+Version 3.0 16th August, 1994
+Version 2.0 21st December, 1993
+Version 1.27 23rd April, 1993
+Version 1.17 21st April, 1992
+
+
+3.2. Where can I find the latest version of Vim?
+
+You can download the sources for the latest version of Vim from the
+VimOnline website. The URL for this site is
+http://vim.sourceforge.net/download.php.
+
+
+3.3. What platforms does it run on?
+
+All Unix platforms.
+All Windows platforms.
+Amiga, Atari, BeOS, DOS, Macintosh, MachTen, OS/2, RiscOS, VMS.
+
+
+3.4. Where can I download the latest version of the Vim runtime files?
+
+You can download the latest version of the Vim runtime files (syntax files,
+filetype plugins, compiler files, color schemes, documentation, indentation
+files and keymaps) from the Vim ftp site from the
+ftp://ftp.vim.org/pub/vim/runtime directory.
+
+
+=============================================================================
+
+SECTION 4 - HELP
+
+
+4.1. How do I use the help files?
+
+Help can be found for all functions of Vim. In order to use it, use the
+":help" command. This will bring you to the main help page. On that first
+page, you will find explanations on how to move around. Basically, you move
+around in the help pages the same way you would in a read-only document.
+You can jump to specific subjects by using tags. This can be done in two
+ways:
+
+ * Use the "<Ctrl-]>" command while standing on the name of a command or
+ option. This only works when the tag is a keyword. "<Ctrl-LeftMouse>"
+ and "g<LeftMouse>" work just like "<Ctrl-]>".
+ * use the ":tag <subject>" command. This works with all characters.
+
+Use "<Ctrl-T>" to jump back to previous positions in the help files. Use
+":q" to close the help window.
+
+If you want to jump to a specific subject on the help pages, use ":help
+{subject}". If you don't know what to look for, try ":help index" to get a
+list of all available subjects. Use the standard search keys to locate the
+information you want. You can abbreviate the ":help" command as ":h".
+
+For more information, read
+
+ :help online-help
+
+
+4.2. How do I search for a keyword in the Vim help files?
+
+You can press the CTRL-D key after typing the help keyword to get a list of
+all the help keywords containing the supplied pattern. You can also use the
+meta characters like *, \+, etc to specify the help search pattern:
+
+ :help init<C-D>
+ :help str*()<C-D>
+ :help '*indent<C-D>
+
+You can press the Tab key after typing a partial help keyword to expand to
+the matching keyword. You can continue to press the Tab key to see other
+keyword matches.
+
+From the help window, you can use the ":tag" command to search for
+keywords. For example,
+
+ :tselect /window
+
+This command will list all the help keywords containing the text "window".
+You can select one from the list and jump to it.
+
+You can use the ":helpgrep" command to search for the given text in all the
+help files. The quickfix window will be opened with all the matching lines.
+
+For more information, read
+
+ :help c_CTRL-D
+ :help c_<Tab>
+ :help :tselect
+ :help :help
+ :help :helpgrep
+
+
+4.3. I am getting an error message E123, what did I do wrong?
+
+You can get more information about the error and the error message using:
+
+ :help E123
+
+For more information, read
+
+ :help error-messages
+
+
+4.4. Where can I read about the various modes in Vim?
+
+You can get information about the different modes in Vim by reading
+
+ :help vim-modes
+
+
+4.5. How do I generate the Vim help tags file after adding a new Vim help
+ file?
+
+You can use the ":helptags" command to regenerate the Vim help tag file.
+For example:
+
+ :cd $VIMRUNTIME/doc
+ :helptags .
+
+For more information, read
+
+ :help :helptags
+ :help add-local-help
+
+
+4.6. Can I use compressed versions of the help files?
+
+Yes. You can compress the help files and still be able to view them with
+Vim. This makes accessing the help files a bit slower and requires the
+"gzip" utility. Follow these steps to compress and use the Vim help files:
+
+- Compress all the help files using "gzip doc/*.txt".
+
+- Edit the "doc/tags" file and change the ".txt" to ".txt.gz" using
+ :%s=\(\t.*\.txt\)\t=\1.gz\t=
+
+- Add the following line to your vimrc:
+ set helpfile={dirname}/help.txt.gz
+
+Where {dirname} is the directory where the help files are. The gzip.vim
+plugin supplied with the standard Vim distribution will take care of
+decompressing the files. You must make sure that $VIMRUNTIME is set to
+where the other Vim files are, when they are not in the same location as
+the compressed "doc" directory.
+
+For more information, read
+
+ :help gzip-helpfile
+ :help 'helpfile'
+ :help gzip
+ :help $VIMRUNTIME
+
+
+=============================================================================
+
+SECTION 5 - EDITING A FILE
+
+
+5.1. How do I load a file in Vim for editing?
+
+There are several ways to load a file for editing. The simplest is to
+use the ":e" (:edit) command:
+
+ :e <filename>
+
+You can also use the ":n" (:next) command to load files into Vim:
+
+ :n <filename(s)>
+
+You can also use the ":args" command to load files into Vim:
+
+ :args <filename(s)>
+
+For more information, read
+
+ :help usr_07
+ :help edit-files
+ :help :edit
+ :help :next_f
+ :help :args_f
+
+
+5.2. How do I save the current file in another name (save as) and edit a
+ new file?
+
+You can use the ":saveas" command to save the current file in another name:
+
+ :saveas <newfilename>
+
+Alternatively, you can also use the following commands:
+
+ :w <newfilename>
+ :edit #
+
+You can also use the ":file" command, followed by ":w" command:
+
+ :file <newfilename>
+ :w
+
+For more information, read
+
+ :help 07.7
+ :help :saveas
+ :help :file_f
+ :help :w
+
+
+5.3. How do I change the current directory to the directory of the current
+ file?
+
+You can use the following command to change the current directory to the
+directory of the current file:
+
+ :cd %:p:h
+
+To automatically change the current directory to the directory of the
+current file, use the following autocmd:
+
+ :autocmd BufEnter * cd %:p:h
+
+For more information, read
+
+ :help :cd
+ :help :lcd
+ :help filename-modifiers
+ :help autocommand
+
+
+5.4. How do I write a file without the line feed (EOL) at the end of the
+ file?
+
+You can turn off the 'eol' option and turn on the 'binary' option to write
+a file without the EOL at the end of the file:
+
+ :set binary
+ :set noeol
+ :w
+
+For more information, read
+
+ :help 'endofline'
+ :help 'binary'
+ :help 23.4
+
+
+5.5. How do I configure Vim to open a file at the last edited location?
+
+Vim stores the cursor position of the last edited location for each buffer
+in the '"' register. You can use the following autocmd in your .vimrc or
+.gvimrc file to open a file at the last edited location:
+
+ au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") |
+ \ exe "normal g'\"" | endif
+
+For more information, read
+
+ :help '"
+ :help last-position-jump
+
+
+5.6. When editing a file in Vim, which is being changed by an external
+ application, Vim opens a warning window (like the confirm dialog) each
+ time a change is detected. How do I disable this warning?
+
+You can set the Vim 'autoread' option to automatically read the file again
+when it is changed outside of Vim:
+
+ :set autoread
+
+You can also use the following autocommand:
+
+ autocmd FileChangedShell *
+ \ echohl WarningMsg |
+ \ echo "File has been changed outside of vim." |
+ \ echohl None
+
+For more information, read
+
+ :help 'autoread'
+ :help FileChangedShell
+ :help timestamp
+ :help :checktime
+
+
+5.7. How do I edit a file whose name is under the cursor?
+
+You can use the gf command to edit a file whose name is under the cursor.
+You can use the CTRL-W f command to edit the file in a new window.
+
+For more information, read
+
+ :help gf
+ :help CTRL-W_f
+ :help 'isfname'
+ :help 'path'
+ :help 'suffixesadd'
+ :help 'includeexpr'
+
+
+5.8. How do I reload/re-edit the current file?
+
+You can use the ":edit" command, without specifying a file name, to reload
+the current file. If you have made modifications to the file, you can use
+":edit!" to force the reload of the current file (you will lose your
+modifications).
+
+For more information, read
+
+ :help :edit
+ :help :edit!
+ :help 'confirm'
+
+
+5.9. How do I autosave a file periodically?
+
+Vim doesn't support auto-saving a file periodically.
+
+For more information, read
+
+ :help 'updatetime'
+ :help CursorHold
+ :help swap-file
+
+
+5.10. How do I open a file in read-only mode?
+
+You can open a file in read-only mode using the ":view" command:
+
+ :view <filename>
+
+This command sets the 'readonly' option for the opened buffer. You can also
+use the "-R" command-line option to open a file in read-only mode:
+
+ $ vim -R <filename>
+
+You can also use the symbolic link executable "view" to open a file in
+read-only mode from the command-line:
+
+ $ view <filename>
+
+For more information, read
+
+ :help 07.6
+ :help 'readonly'
+ :help 'modifiable'
+ :help :view
+ :help :sview
+ :help view
+ :help -R
+ :help -M
+
+
+5.11. How do I open a file for editing without saving the modifications to
+ the current file?
+
+You can open a file for editing without saving the modifications to the
+current file and without losing the changes using one of the following
+methods:
+
+ :split <new_filename>
+ :new <new_filename>
+
+You can also set the 'hidden' option and edit a new file:
+
+ :set hidden
+ : e <new_filename>
+
+If you want to discard the changes made to the current file and load
+another file for editing, then you can use the following command:
+
+ :e! <new_filename>
+
+For more information, read
+
+ :help :edit!_f
+ :help 'hidden'
+ :help :split
+ :help :new
+
+
+=============================================================================
+
+SECTION 6 - EDITING MULTIPLE FILES
+
+
+6.1. How do I open multiple files at once from within Vim?
+
+There are several ways to open multiple files at once from within Vim. You
+can use the ":next" command to specify a group of files:
+
+ :next f1.txt f2.txt
+ :next *.c
+
+You can use the :args command to specify a group of files as arguments:
+
+ :args f1.txt f2.txt
+ :args *.c
+
+After loading the files, you can use the ":next" and ":prev" command to
+switch between the files.
+
+For more information, read
+
+ :help 07.2
+ :help :next
+ :help :args_f
+ :help argument-list
+
+
+6.2. How do I switch between multiple files/buffers in Vim?
+
+There are several ways to switch between multiple files. You can use the
+":buffer" command to switch between multiple files. For example,
+
+ :buffer file1
+ :buffer file2
+
+You can also use the CTRL-^ key to switch between buffers. By specifying a
+count before pressing the key, you can edit the buffer with that number.
+Without the count, you can edit the alternate buffer by pressing CTRL-^
+
+You can also use the ":e #" command to edit a particular buffer:
+
+ :e #5
+
+For more information, read
+
+ :help edit-files
+ :help :buffer
+ :help CTRL-^
+ :help alternate-file
+ :help 22.4
+ :help 07.3
+
+
+6.3. How do I open several files in Vim, with each file in a separate
+ window?
+
+You can use the -o and -O Vim command line arguments to open multiple files
+in separate horizontally or vertically split Vim windows. For example:
+
+ $ vim -o3 f1.txt f2.txt f3.txt
+
+The above command will open the files f1.txt, f2.txt and f3.txt in three
+separate horizontally split Vim windows.
+
+ $ vim -O3 f1.txt f2.txt f3.txt
+
+The above command will open the files f1.txt, f2.txt and f3.txt in three
+separate vertically split Vim windows.
+
+For more information, read
+
+ :help -o
+ :help -O
+ :help startup-options
+
+
+6.4. How do I configure Vim to autoload several files at once similar to
+ "work-sets" or "projects"?
+
+You can use the ":mksession" and the ":mkview" commands to autoload several
+files in Vim.
+
+The ":mksession" command creates a Vim script that restores the current
+editing session. You can use the ":source" command to source the file
+produced by the mksession command.
+
+The ":mkview" command creates a Vim script that restores the contents of
+the current window. You can use the ":loadview" command to load the view
+for the current file.
+
+For more information, read
+
+ :help 21.4
+ :help 21.5
+ :help views-sessions
+ :help 'sessionoptions'
+ :help :mksession
+ :help :source
+ :help v:this_session
+ :help :mkview
+ :help :loadview
+ :help 'viewdir'
+ :help buffers
+
+
+6.5. Is it possible to open multiple top level windows in a single instance
+ of Vim similar to Nedit or emacs?
+
+No. It is currently not possible to open multiple top-level windows in a
+single instance of Vim. This feature is in the todo list.
+
+
+6.6. How do I browse/explore directories from within Vim?
+
+You can use the explorer.vim plugin, supplied with the standard Vim
+installation, to browse/explore directories from within Vim. You can start
+the file explorer using one of the following commands:
+
+ :e <directory>
+ :Explore
+ :SExplore
+
+From the file explorer, you can browse through directories, rename, delete
+and edit files.
+
+For more information, read
+
+ :help file-explorer
+ :help 22.1
+
+
+6.7. How do I edit files over a network using ftp/scp/rcp/http?
+
+You can use the netrw.vim plugin, supplied with the standard Vim package,
+to edit files over a network using ftp/scp/rcp/http. Using this plugin, Vim
+will transparently load and save the files over ftp/scp/rcp/http. For
+example, to edit a file over ftp, you can use the following command:
+
+ $ vim ftp://machine/path
+
+For more information, read
+
+ :help netrw.vim
+
+
+=============================================================================
+
+SECTION 7 - BACKUP
+
+
+7.1. When I edit and save files, Vim creates a file with the same name as
+ the original file and a "~" character at the end. How do I stop Vim
+ from creating this file? (or) How do I disable the Vim backup file
+ feature?
+
+You have set the 'backup' option, so Vim creates a backup file when saving
+the original file. You can stop Vim from creating the backup file, by
+clearing the option:
+
+ :set nobackup
+
+Note that, by default this option is turned off. You have explicitly
+enabled the 'backup' option in one of the initialization files. You may
+also have to turn off the 'writebackup' option:
+
+ :set nowritebackup
+
+For more information, read
+
+ :help 07.4
+ :help backup-table
+ :help 'backup'
+ :help 'writebackup'
+ :help 'backupskip'
+ :help 'backupdir'
+ :help 'backupext'
+ :help 'backupcopy'
+ :help backup
+
+
+7.2. How do I configure Vim to store all the backup files in a particular
+ directory?
+
+You can configure Vim to store all the backup files in a particular
+directory using the 'backupdir' option. For example, to store all the
+backup files in the ~/backup directory, you can use the following command:
+
+ :set backupdir=~/backup
+
+For more information, read
+
+ :help 07.4
+ :help 'backupdir'
+ :help backup
+
+
+7.3. When I save a file with Vim, the file permissions are changed.
+ How do I configure Vim to save a file without changing the file
+ permissions?
+
+This may happen, if the 'backupcopy' option is set to 'no' or 'auto'. Note
+that the default value for this option is set in such a way that this will
+correctly work in most of the cases. If the default doesn't work for you,
+try setting the 'backupcopy' option to 'yes' to keep the file permission
+when saving a file:
+
+ :set backupcopy=yes
+
+This applies, only if you have configured Vim to make a backup whenever
+overwriting a file. By default, Vim will not backup files.
+
+For more information, read
+
+ :help 'backupcopy'
+ :help backup
+ :help 'backup'
+ :help 'writebackup'
+
+
+=============================================================================
+
+SECTION 8 - BUFFERS
+
+
+8.1. I have made some modifications to a buffer. How do I edit another
+ buffer without saving the modified buffer and also without losing the
+ modifications?
+
+You can set the 'hidden' option to edit a file without losing modifications
+to the current file:
+
+ :set hidden
+
+By setting the 'hidden' option, you can also save the modification history
+(undo-history) for the buffer. Otherwise, as you switch between files, the
+undo-history will be lost.
+
+For more information, read
+
+ :help 'hidden'
+ :help hidden-quit
+ :help :hide
+
+
+8.2. How do I configure Vim to auto-save a modified buffer when switching
+ to another buffer?
+
+You can set the 'autowrite' option to auto-save a modified buffer when
+switching to another buffer:
+
+ :set autowrite
+
+For more information, read
+
+ :help 'autowrite'
+ :help 'autowriteall'
+ :help 'hidden'
+
+
+8.3. How do I replace the buffer in the current window with a blank buffer?
+
+You can use the ":enew" command to load an empty buffer in place of the
+buffer in the current window.
+
+For more information, read
+
+ :help :enew
+
+
+8.4. Is there a keyboard shortcut to load a buffer by the buffer number?
+
+You can use the CTRL-^ command to load a buffer by specifying the buffer
+number. For example, to load buffer number 5, you have to use the 5 CTRL-^
+command.
+
+For more information, read
+
+ :help CTRL-^
+
+
+8.5. How do I open all the current buffers in separate windows?
+
+You can use the ":ball" or ":sball" commands to open all the buffers
+in the buffer list:
+
+ :ball
+
+For more information, read
+
+ :help :ball
+
+
+8.6. How do I close (delete) a buffer without exiting Vim?
+
+You can use the ":bdelete" command to delete a buffer without exiting Vim.
+For example:
+
+ :bdelete file1
+
+For more information, read
+
+ :help :bdelete
+ :help :bwipeout
+
+
+8.7. I have several buffers opened with :e filename. How do I close one of
+ the buffers without exiting Vim?
+
+You can use the ":bdelete <buffername>" command to close the buffer.
+
+For more information, read
+
+ :help :bdelete
+ :help :bunload
+ :help :bwipeout
+
+
+8.8. When I use the command ":%bd" to delete all the buffers, not all the
+ buffers are deleted. Why?
+
+In the ":%bd" command, the '%' range will be replaced with the starting and
+ending line numbers in the current buffer. Instead of using '%' as the
+range, you should specify numbers for the range. For example, to delete all
+the buffers, you can use the command ":1,9999bd".
+
+For more information, read
+
+ :help :bd
+
+
+8.9. How do I display the buffer number of the current buffer/file?
+
+You can use 2<CTRL-G> command to display the buffer number for the current
+file/buffer. Note the use of count before the CTRL-G command. If the count
+is greater than 1, then Vim will display the buffer number.
+
+You can also use the following command to display the current buffer
+number:
+
+ :echo bufnr("%")
+
+You can also include the "%n" field to the 'statusline' option to display
+the current buffer number on the statusline.
+
+For more information read,
+
+ :help CTRL-G
+ :help bufnr()
+ :help :echo
+ :help 'statusline'
+
+
+8.10. How do I delete a buffer without closing the window in which the
+ buffer is displayed?
+
+You can use the following command to open the next buffer and delete
+the current buffer.
+
+ :bnext | bdelete #
+
+For more information read,
+
+ :help :bnext
+ :help :bdelete
+ :help :buffers
+
+
+8.11. How do I map the tab key to cycle through and open all the buffers?
+
+You can use the following two map commands, to map the CTRL-Tab key to open
+the next buffer and the CTRL-SHIFT-Tab key to open the previous buffer:
+
+ :nnoremap <C-Tab> :bnext<CR>
+ :nnoremap <S-C-Tab> :bprevious<CR>
+
+For more information read,
+
+ :help :bnext
+ :help :previous
+
+
+=============================================================================
+
+SECTION 9 - WINDOWS
+
+
+9.1. What is the difference between a Vim window and a buffer?
+
+A Vim buffer is a file loaded into memory for editing. The original file
+remains unchanged until you write the buffer to the file. A Vim window is a
+viewport onto a buffer. You can use multiple windows on one buffer or
+several windows on different buffers.
+
+For more information, read
+
+ :help usr_08.txt
+ :help 22.4
+ :help windows-intro
+ :help Q_wi
+
+
+9.2. How do I increase the width of a Vim window?
+
+You can increase the width of a Vim window using one of the following
+commands:
+
+ :vert resize +N
+ :vert resize -N
+ :vert resize N
+
+You can also use CTRL-W < or CTRL-W > or CTRL-W | commands.
+
+For more information, read
+
+ :help vertical-resize
+ :help CTRL-W_>
+ :help CTRL-W_<
+ :help window-resize
+
+
+9.3. How do I zoom into or out of a window?
+
+You can zoom into a window (close all the windows except the current
+window) using the "CTRL-W o" command or the ":only" ex command.
+
+You can use the "CTRL-W _" command or the ":resize" ex command to increase
+the current window height to the highest possible without closing other
+windows.
+
+You can use the "CTRL-W |" command or the ":vertical resize" ex command to
+increase the current window width to the highest possible without closing
+other windows.
+
+You can use the "CTRL-W =" command to make the height and width of all the
+windows equal.
+
+You can also set the following options to get better results with the above
+commands:
+
+Method 1:
+Set the 'winminheight' option to 0:
+
+ :set winminheight=0
+
+By default, this option is set to 1.
+This option controls the minimum height of an inactive window (when it is
+not the current window). When the 'winminheight' option is set to 0, only
+the status line will be displayed for inactive windows.
+
+Method 2:
+Set the 'noequalalways' option and set the 'winheight' option to a large
+value (like 99999):
+
+ :set noequalalways
+ :set winheight=99999
+
+Now, the active window will always open to its maximum size, while the
+other windows will stay present, but shrunken to just a status line.
+
+With any of the above mentioned methods, you cannot restore the window
+layout after zooming into a window. If you want to restore the Vim window
+layout after zooming into a window, you can use the ZoomWin plugin. You can
+download this plugin from the Vim online website at:
+
+http://vim.sourceforge.net/scripts/script.php?script_id=508
+
+For more information, read
+
+ :help CTRL-W_o
+ :help window-resize
+ :help 'winminheight'
+ :help 'equalalways'
+ :help 'winheight'
+ :help 08.3
+
+
+9.4. How do I execute an ex command on all the open buffers or open windows
+ or all the files in the argument list?
+
+You can use the ":bufdo" command to execute an ex command on all the open
+buffers. You can use the ":windo" command to execute an ex command on all
+the open windows. You can use the ":argdo" command to execute an ex
+command on all the files specified in the argument list.
+
+For more information, read
+
+ :help :windo
+ :help :bufdo
+ :help :argdo
+ :help 26.3
+
+
+=============================================================================
+
+SECTION 10 - MOTION
+
+
+10.1. How do I jump to the beginning (first line) or end (last line) of a
+ file?
+
+You can use 'G' command to jump to the last line in the file and the 'gg'
+command to jump to the first line in the file.
+
+For more information, read
+
+ :help G
+ :help gg
+
+
+10.2. In insert mode, when I press the <Esc> key to go to command mode, the
+ cursor moves one character to the left (except when the cursor is on
+ the first character of the line). Is it possible to change this
+ behavior to keep the cursor at the same column?
+
+No. It is not possible to change this behavior. The cursor is *always*
+positioned on a valid character (unless you have virtual-edit mode
+enabled). So, if you are appending text to the end of a line, when you
+return to command mode the cursor *must* drop back onto the last character
+you typed. For consistency sake, the cursor drops back everywhere, even if
+you are in the middle of a line.
+
+You can use the CTRL-O command in insert mode to execute a single ex
+command and return back to insert mode without moving the cursor column.
+
+For more information, read
+
+ :help 'virtual'
+ :help i_CTRL-O
+
+
+10.3. How do I configure Vim to maintain the horizontal cursor position when
+ scrolling with the <Page Up>, <Page Down>, etc keys?
+
+You can reset the 'startofline' option to keep the cursor at the same
+horizontal location when scrolling text:
+
+ :set nostartofline
+
+For more information, read
+
+ :help 'startofline'
+
+
+10.4. Some lines in a file are more than the screen width and they are all
+ wrapped. When I use the j, k keys to move from one line to the next,
+ the cursor is moved to the next line in the file instead of the next
+ line on the screen. How do I move from one screen line to the next?
+
+You can use the gj and gk commands to move from one screen line to the
+next/previous screen line. The j and k commands move the cursor from one
+file line to the next file line. You can also avoid the line wrapping by
+resetting the 'wrap' option:
+
+ :set nowrap
+
+For more information, read
+
+ :help gj
+ :help gk
+ :help 'wrap'
+
+You can use the following mappings:
+
+ :map <Up> gk
+ :imap <Up> <C-o>gk
+ :map <Down> gj
+ :imap <Down> <C-o>gj
+
+
+10.5. What is the definition of a sentence, paragraph and section in Vim?
+
+A sentence is defined as ending at a '.', '!' or '?' followed by either the
+end of a line, or by a space (or two) or tab. Which characters and the
+number of spaces needed to constitute a sentence ending is determined by
+the 'joinspaces' and 'cpoptions' options.
+
+A paragraph begins after each empty line, and also at each of a set of
+paragraph macros, specified by the pairs of characters in the 'paragraphs'
+option.
+
+A section begins after a form-feed (<C-L>) in the first column and at each
+of a set of section macros, specified by the pairs of characters in the
+'sections' option.
+
+For more information, read
+
+ :help sentence
+ :help 'joinspaces'
+ :help 'cpoptions' | /^\s*j\>
+ :help paragraph
+ :help section
+ :help word
+
+
+10.6. How do I jump to beginning or end of a sentence, paragraph or a
+ section?
+
+You can use the following motion commands to jump to the beginning or end
+of a sentence or a paragraph or a section:
+
+ motion position where
+ ( beginning current sentence
+ ) end current sentence
+ { beginning current paragraph
+ } end current paragraph
+ [] end previous section
+ [[ beginning current section
+ ][ end current section
+ ]] beginning next section
+
+Each of these motions can be preceded by a number which will extend the
+jump forward (or backward).
+
+For more information, read
+
+ :help object-motions
+
+
+10.7. I have lines in a file that extends beyond the right extent of the
+ screen. How do I move the Vim view to the right to see the text off
+ the screen?
+
+You can use one of the following commands to horizontally scroll the screen
+to the left or right:
+
+ zl - scroll to the left
+ zh - scroll to the right
+ zL - scroll half a screenwidth to the left
+ zH - scroll half a screenwidth to the right
+ zs - scroll to position the cursor at the start of the screen
+ ze - scroll to position the cursor at the end of the screen
+
+You can use the g0 command to move the cursor to the first character of the
+screen line and the g$ command to move the cursor to the last character of
+the screen line without scrolling the screen.
+
+For more information, read
+
+ :help scroll-horizontal
+
+
+10.8. How do I scroll two or more buffers simultaneously?
+
+You can set the "scrollbind" option for each of the buffer to scroll them
+simultaneously.
+
+For more information, read
+
+ :help 'scrollbind'
+ :help scroll-binding
+ :help 'scrollopt'
+
+
+10.9. When I use my arrow keys, Vim changes modes, inserts weird characters
+ in my document but doesn't move the cursor properly. What's going on?
+
+There are a couple of things that could be going on: either you are using
+Vim over a slow connection or Vim doesn't understand the key sequence that
+your keyboard is generating.
+
+If you are working over a slow connection (such as a 2400 bps modem), you
+can try to set the 'timeout' or 'ttimeout' option. These options, combined
+with the 'timeoutlen' and 'ttimeoutlen' options, may fix the problem.
+
+The preceding procedure will not work correctly if your terminal sends key
+codes that Vim does not understand. In this situation, your best option is
+to map your key sequence to a matching cursor movement command and save
+these mappings in a file. You can then ":source" the file whenever you work
+from that terminal.
+
+For more information, read
+
+ :help 'timeout'
+ :help 'ttimeout'
+ :help 'timeoutlen'
+ :help 'ttimeoutlen'
+ :help :map
+ :help vt100-cursor-keys
+
+
+10.10. How do I configure Vim to move the cursor to the end of the previous
+ line, when the left arrow key is pressed and the cursor is currently
+ at the beginning of a line?
+
+You can add the '<' flag to the 'whichwrap' option to configure Vim to move
+the cursor to the end of the previous line, when the left arrow key is
+pressed and the cursor is currently at the beginning of a line:
+
+ :set whichwrap+=<
+
+Similarly, to move the cursor the beginning of the next line, when the
+right arrow key is pressed and the cursor is currently at the end of a
+line, add the '>' flag to the 'whichwrap' option:
+
+ :set whichwrap+=>
+
+The above will work only in normal and visual modes. To use this in insert
+and replace modes, add the '[' and ']' flags respectively.
+
+For more information, read
+
+ :help 'whichwrap'
+ :help 05.7
+
+
+10.11. How do I configure Vim to stay only in insert mode (modeless
+ editing)?
+
+You can set the 'insertmode' option to configure Vim to stay only in insert
+mode:
+
+ :set insertmode
+
+By setting this option, you can use Vim as a modeless editor. If you press
+the <Esc> key, Vim will not go to the normal mode. To execute a single
+normal mode command, you can press CTRL-O followed by the normal mode
+command. To execute more than one normal command, you can use CTRL-L
+followed by the commands. To return to insert mode, press the <Esc> key. To
+disable this option, reset the 'insertmode' option:
+
+ :set noinsertmode
+
+You can also start vim using the "evim" command or you can use "vim -y" to
+use Vim as a modeless editor.
+
+You can also start Vim in insert mode using the ":startinsert" ex command.
+
+For more information, read
+
+ :help 'insertmode'
+ :help :startinsert
+ :help :stopinsert
+ :help i_CTRL-O
+ :help i_CTRL-L
+ :help evim
+ :help evim-keys
+
+
+10.12. How do I display some context lines when scrolling text?
+
+You can set the 'scrolloff' option to display a minimal number of screen
+lines (context) above and below the cursor.
+
+ :set scrolloff=10
+
+For more information, read
+
+ :help 'scrolloff'
+ :help 'sidescrolloff'
+
+
+10.13. How do I go back to previous cursor locations?
+
+You can go back to the cursor location before the latest jump using the ''
+or `` command. You can use the CTRL-O command to go back to older cursor
+positions and the CTRL-I command to go to the newer cursor positions in the
+jump list.
+
+For more information, read
+
+ :help 03.10
+ :help mark-motions
+ :help jump-motions
+
+
+=============================================================================
+
+SECTION 11 - SEARCHING TEXT
+
+
+11.1. After I searched for a text with a pattern, all the matched text
+ stays highlighted. How do I turn off the highlighting
+ temporarily/permanently?
+
+The 'hlsearch' option controls whether all the matches for the last
+searched pattern are highlighted or not. By default, this option is not
+enabled. If this option is set in a system-wide vimrc file, then you can
+turn off the search highlighting by using the following command:
+
+ :set nohlsearch
+
+To temporarily turn off the search highlighting, use
+
+ :nohlsearch
+
+You can also clear the search highlighting, by searching for a pattern that
+is not in the current file (for example, search for the pattern 'asdf').
+
+For more information, read
+
+ :help 'hlsearch'
+ :help :nohlsearch
+
+
+11.2. How do I enter a carriage return character in a search pattern?
+
+You can either use '\r' or <CTRL-V><CTRL-M> to enter a carriage return
+character in a pattern. In Vim scripts, it is better to use '\r' for the
+carriage return character.
+
+For more information, read
+
+ :help sub-replace-special
+
+
+11.3. How do I search for the character ^M?
+
+You can enter the ^M character in a search command by first pressing the
+CTRL-V key and then pressing the CTRL-M key.
+
+ /^V^M
+
+You can also use the "\r" character. In Vim scripts, "\r" is preferred.
+
+For more information, read
+
+ :help c_CTRL-V
+ :help using_CTRL-V
+ :help /\r
+
+
+11.4. How can I search/replace characters that display as '~R', '~S', etc.?
+
+You can use the 'ga' command to display the ASCII value/code for the
+special character. For example, let us say the ASCII value is 142. Then you
+can use the following command to search for the special character:
+
+ /^V142
+
+where, ^V is entered by pressing CTRL-V.
+
+For more information, read
+
+ :help ga
+ :help using_CTRL_V
+ :help 24.8
+
+
+11.5. How do I highlight all the non-printable characters in a file?
+
+You can use the following commands and search pattern to highlight all the
+non-printable characters in a file:
+
+ :set hlsearch
+ /\(\p\|$\)\@!.
+
+For more information, read
+
+ :help /\p
+ :help /bar
+ :help /$
+ :help /\(
+ :help /\@!
+ :help 'hlsearch'
+
+
+11.6. How do I search for whole words in a file?
+
+You can search for whole words in a file using the \< and \> atoms. For
+example:
+
+ /\<myword\>
+
+The \< atom matches the beginning of the word and the \> atom matches the
+end of the word.
+
+For more information, read
+
+ :help /\<
+ :help /\>
+
+
+11.7. How do I search for the current word under the cursor?
+
+You can press the * key to search forward for the current word under the
+cursor. To search backward, you can press the # key. Note that only whole
+keywords will be searched using these commands.
+
+For more information, read
+
+ :help star
+ :help #
+ :help g*
+ :help g#
+ :help 03.8
+ :help search-commands
+
+
+11.8. How do I search for a word without regard to the case (uppercase or
+ lowercase)?
+
+To always ignore case while searching for a pattern, set the 'ignorecase'
+option:
+
+ :set ignorecase
+
+To ignore case only when searching a particular pattern, use the special \c
+directive:
+
+ /\c<pattern>
+
+For more information, read
+
+ :help 'ignorecase'
+ :help /ignorecase
+ :help /\c
+
+
+11.9. How do I search for words that occur twice consecutively?
+
+You can use one of the following search commands to locate words that occur
+twice consecutively:
+
+ /\(\<\w\+\)\_s\+\1\>
+ /\(\<\k\+\)\_s\+\1\>
+
+The main difference is the use of '\w' and '\k', where the latter is based
+on the 'iskeyword' option which may include accented and other language
+specific characters.
+
+For more information, read
+
+ :help /\1
+ :help /\(
+ :help /\)
+ :help /\<
+ :help /\>
+ :help /\w
+ :help /\k
+ :help /\+
+ :help /\_x
+ :help 'iskeyword'
+
+
+11.10. How do I count the number of times a particular word occurs in a
+ buffer?
+
+You can use the following set of commands to count the number of times a
+particular word occurs in a buffer:
+
+ :let cnt=0
+ :g/\<your_word\>/let cnt=cnt+1
+ :echo cnt
+
+This only counts the number of lines where the word occurs. You can also
+use the following command:
+
+ :%s/\<word\>/&/g
+
+To count the number of alphabetic words in a file, you can use
+
+ :%s/\a\+/&/g
+
+To count the number of words made up of non-space characters, you can use
+
+ :%s/\S\+/&/g
+
+For more information, read
+
+ :help count-items
+ :help word-count
+ :help v_g_CTRL-G
+ :help 12.5
+
+
+11.11. How do I place the cursor at the end of the matched word when
+ searching for a pattern?
+
+You can use the 'e' offset to the search command to place the cursor at the
+end of the matched word. For example
+
+ /mypattern/e
+
+For more information about search offsets, read
+
+ :help search-offset
+ :help /
+
+
+11.12. How do I search for an empty line?
+
+You can search for an empty line using:
+
+ /^$
+
+ or
+
+ /^\s*$
+
+For more information, read
+
+ :help /^
+ :help /$
+ :help /\s
+ :help /*
+ :help search-commands
+
+
+11.13. How do I search for a line containing only a single character?
+
+You can search for a line containing only a single character using:
+
+ /^\s*\a\s*$
+
+For more information, read
+
+ :help /^
+ :help /\a
+ :help /\s
+ :help /*
+ :help /$
+
+
+11.14. How do I search and replace a string in multiple files?
+
+You can use the 'argdo' or 'bufdo' or 'windo' commands to execute an ex
+command on multiple files. For example:
+
+ :argdo %s/foo/bar/g
+
+For more information, read
+
+ :help :argdo
+ :help :bufdo
+ :help :windo
+
+
+11.15. I am using the ":s" substitute command in a mapping. When a search
+ for a pattern fails, the map terminates. I would like the map to
+ continue processing the next command, even if the substitute command
+ fails. How do I do this?
+
+You can use the 'e' flag to the substitute command to continue processing
+other commands in a map, when a pattern is not found.
+
+For more information, read
+
+ :help :s_flags
+
+
+11.16. How do I search for the n-th occurrence of a character in a line?
+
+To search for the n-th occurrence of a character in a line, you can prefix
+the 'f' command with a number. For example, to search for the 5th
+occurrence of the character @ in a line, you can use the command 5f@. This
+assumes the cursor is at the beginning of the line - and that this first
+character is not the one your are looking for.
+
+For more information, read
+
+ :help f
+ :help F
+ :help t
+ :help T
+ :help ;
+ :help ,
+
+
+11.17. How do I replace a tab (or any other character) with a hard return
+ (newline) character?
+
+You can replace a tab (or any other character) with a hard return (newline)
+character using the following command:
+
+ :s/\t/\r/
+
+Note that in the above command, if you use \n instead of \r, then the tab
+characters will not be replaced by a new-line character.
+
+For more information, read
+
+ :help sub-replace-special
+ :help NL-used-for-Nul
+ :help CR-used-for-NL
+
+
+11.18. How do I search for a character by its ASCII value?
+
+You can search for a character by its ASCII value by pressing CTRL-V
+followed by the decimal or hexadecimal or octal value of that character in
+the search "/" command. To determine the ASCII value of a character you
+can use the ":ascii" or the "ga" command.
+
+For more information, read
+
+ :help i_CTRL-V_digit
+ :help :ascii
+ :help ga
+
+
+11.19. How do I search for long lines?
+
+You can search for long lines or lines containing more than a specific
+number of characters using the Vim regular-expressions in the search
+command. For example, to search for all the lines containing more than 80
+characters, you can use one of the following commands:
+
+ /^.\{80}.*$
+ /^.*\%80c.*$
+
+For more information, read
+
+ :help /\{
+ :help /\%c
+
+
+11.20. How do I display all the lines in the current buffer that contain a
+ specified pattern?
+
+You can use the following command to display all the lines in the current
+buffer that contain a specified pattern:
+
+ :g/<pattern>/p
+
+For example, the following command will display all the lines in the
+current buffer that contain "vim":
+
+ :g/vim/p
+
+If you also want the corresponding line numbers, then you can use the
+following command:
+
+ :g/<pattern>/#
+
+For more information, read
+
+ :help :global
+ :help :print
+ :help :number
+
+
+11.21. How do I search for a text string that spans multiple lines?
+
+You can search for a text string that spans multiple lines using the \_x
+regular expression atom. For example, to search for the text string "Hello
+World", you can use the following search command:
+
+ /Hello\_sWorld
+
+This will match the word "Hello" followed by a newline character and then
+the word "World" at the beginning of the next line. This will also match
+the word "Hello" immediately followed by a space character and then the
+word "World". When searching for the "Hello World" string, to include the
+space characters at the end and beginning of the line, you can use the
+following search command:
+
+ /Hello\_s\+World
+
+For more information, read
+
+ :help 27.8
+ :help pattern-atoms
+ :help /\_
+ :help pattern-searches
+
+
+11.22. How do I search for a pattern within the specified range of lines
+ in a buffer?
+
+You can search for a pattern within a range of lines using the \%>l
+and \%<l regular expression atoms.
+
+For example, to search for the word 'white' between the lines 10 and 30 in
+a buffer, you can use the following command:
+
+ /white\%>10l\%<20l
+
+For more information, read
+
+ :help /\%l
+
+
+=============================================================================
+
+SECTION 12 - CHANGING TEXT
+
+
+12.1. How do I delete all the trailing white space characters (SPACE and
+ TAB) at the end of all the lines in a file?
+
+You can use the ":substitute" command on the entire file to search and
+remove all the trailing white space characters:
+
+ :%s/\s\+$//
+
+For more information, read
+
+ :help :%
+ :help :s
+ :help /\s
+ :help /\+
+ :help /$
+
+
+12.2. How do I replace all the occurrences of multiple consecutive space
+ characters to a single space?
+
+You can use the following command to replace all the occurrences of
+multiple consecutive space characters to a single space:
+
+ :%s/ \{2,}/ /g
+
+For more information, read
+
+ :help :%
+ :help :s
+ :help /\{
+ :help :s_flags
+
+
+12.3. How do I reduce a range of empty lines into one line only?
+
+You can use the following command to reduce a range of empty lines into one
+line only:
+
+ :v/./.,/./-1join
+
+The explanation for this command is below:
+
+ :v/./ Execute the following command for all lines not
+ containing a character (empty lines).
+ ., Use the current line as the start of the range of
+ lines.
+ /./ Use the line containing a character as the last line.
+ -1 Adjust the range of lines to end with the line before
+ the last line.
+ j Join the lines in the range.
+
+Note that this will give an error message if the empty lines are at the end
+of the file. To correct this, you have to add a temporary line at the end
+of the file, execute the command and then remove the temporary line.
+
+For more information, read
+
+ :help :v
+ :help :join
+ :help cmdline-ranges
+ :help collapse
+
+
+12.4. How do I delete all blank lines in a file? How do I remove all the
+ lines containing only space characters?
+
+To remove all blank lines, use the following command:
+
+ :g/^$/d
+
+To remove all lines with only whitespace (spaces or tabs) in them, use the
+following command:
+
+ :g/^\s\+$/d
+
+To remove all the lines with only whitespace, if anything, use the
+following command:
+
+ :g/^\s*$/d
+
+
+12.5. How do I copy/yank the current word?
+
+You can use the "yiw" (yank inner word without whitespace) command or the
+"yaw" (yank a word with whitespace) command to copy/yank the current
+word.
+
+For more information, read
+
+ :help 04.6
+ :help 04.8
+ :help iw
+ :help yank
+ :help text-objects
+ :help objects
+
+
+12.6. How do I yank text from one position to another position within a
+ line, without yanking the entire line?
+
+You can specify a motion command with the yank operator (y) to yank text
+from one position to another position within a line. For example, to yank
+from the current cursor position till the next letter x, use yfx or Fx or
+tx or Tx. To yank till the nth column, use n|. To yank till the next
+occurrence of a 'word', use /word. To do a yank till the nth column on
+another line, first mark the position using the 'ma' command, go to the
+start of the yank position, and then yank till the mark using y`a (note the
+direction of the quote)
+
+For more information, read
+
+ :help yank
+ :help motion.txt
+ :help 4.6
+
+
+12.7. When I yank some text into a register, how do I append the text to
+ the current contents of the register?
+
+When you specify the register for some operation, if you use the upper-case
+for the register name, then the new text will be appended to the existing
+contents. For example, if you have some text in the register "a". If you
+want to append some new text to this, you have to use the "A" register
+name. If you use the lowercase register name, then the contents of the
+register will be overwritten with the new text.
+
+For more information, read
+
+ :help quote
+ :help quote_alpha
+ :help 10.1
+
+
+12.8. How do I yank a complete sentence that spans over more than one line?
+
+To yank a complete sentence that spans over more than one line you have to
+use the yank operator followed by a motion command. For example:
+
+ y)
+
+From inside the sentence you can use 'yi)' to yank the sentence.
+
+For more information, read
+
+ :help yank
+ :help {motion}
+ :help object-motions
+ :help 4.6
+
+
+12.9. How do I yank all the lines containing a pattern into a buffer?
+
+You can use the ":global" command to yank all the lines containing the
+pattern into a register and then paste the contents of the register into
+the buffer:
+
+ :let @a=''
+ :g/mypattern/y A
+
+The first command, clears the contents of the register "a". The second
+command copies all the lines containing "mypattern" into the register "a".
+Note that the capital letter "A" is used to append the matched lines. Now
+you can paste the contents of register "a" to a buffer using "ap command.
+For more information, read
+
+ :help :g
+ :help :y
+ :help let-register
+ :help quote_alpha
+ :help put
+ :help registers
+ :help :registers
+
+
+12.10. How do I delete all the lines in a file that does not contain a
+ pattern?
+
+You can use ":v" command to delete all the lines that does not contain a
+pattern:
+
+ :v/pattern/d
+
+or
+
+ :g!/pattern/d
+
+For more information, read
+
+ :help :v
+ :help :g
+
+
+12.11. How do I add a line before each line with "pattern" in it?
+
+You can use the following command to add a line before each line with
+"pattern" in it:
+
+ :g/pattern/normal Oi<line of text goes here>
+
+Alternatively you can yank the line using the Y command and then insert the
+line using the following command:
+
+ :g/pattern/put!
+
+For more information, read
+
+ :help :g
+ :help :put
+ :help insert
+ :help 0
+
+
+12.12. Is there a way to operate on a line if the previous line contains a
+ particular pattern?
+
+You can use the ":global" command to operate on a line, if the previous
+line contains a particular pattern:
+
+ :g/<pattern>/+{cmd}
+
+For more information, read
+
+ :help :g
+ :help :range
+
+
+12.13. How do I execute a command on all the lines containing a pattern?
+
+You can use the ":global" (:g) command to execute a command on all the
+lines containing a pattern.
+
+ :g/my pattern/d
+
+If you want to use a non-Ex command, then you can use the ":normal"
+command:
+
+ :g/my pattern/normal {command}
+
+Unless you want the normal mode commands to be remapped, consider using a
+":normal!" command instead (note the "!").
+
+For more information, read
+
+ :help :global
+ :help :v
+ :help :normal
+
+
+12.14. Can I copy the character above the cursor to the current cursor
+ position?
+
+In Insert mode, you can copy the character above the cursor to the current
+cursor position by typing <Ctrl-Y>. The same can be done with the
+characters below the cursor by typing <Ctrl-E>.
+
+For more information, read
+
+ :help i_CTRL-Y
+ :help i_CTRL-E
+
+
+12.15. How do I insert a blank line above/below the current line without
+ entering insert mode?
+
+You can use the ":put" ex command to insert blank lines. For example, try
+
+ :put =''
+ :put! =''
+
+For more information, read
+
+ :help :put
+
+
+12.16. How do I insert the name of current file into the current buffer?
+
+There are several ways to insert the name of the current file into the
+current buffer. In insert mode, you can use the <C-R>% or the
+<C-R>=expand("%") command. In normal mode, you can use the ":put =@%"
+command.
+
+For more information, read
+
+ :help i_CTRL-R
+ :help expand()
+ :help !!
+
+
+12.17. How do I insert the contents of a Vim register into the current
+ buffer?
+
+In insert mode, you can use the <C-R><register> command to insert the
+contents of <register>. For example, use <C-R>a to insert the contents
+of register "a" into the current buffer.
+
+In normal mode, you can use the ":put <register>" command to insert the
+contents of <register>. For example, use the ":put d" command to insert
+the contents of register "d" into the current buffer.
+
+For more information, read
+
+ :help i_CTRL-R
+ :help :put
+
+
+12.18. How do I move the cursor past the end of line and insert some
+ characters at some columns after the end of the line?
+
+You can set the "virtualedit" option to move the cursor past the
+end-of-line and insert characters in a column after the end-of-line. To
+start the virtual mode, use
+
+ :set virtualedit=all
+
+For more information, read
+
+ :help 'virtualedit'
+
+
+12.19. How to replace the word under the cursor (say: junk) with
+ "foojunkbar" in Vim?
+
+There are several ways to do this. If the word is the first such word on
+the line, use the following command:
+
+ :exe "s/".expand("<cword>")."/foo&bar/"
+
+Too match specifically you could use a more complex substitution like this:
+
+ :exe 's/\<'.expand("<cword>").'\%>'.(col(".")-1).'c\>/foo&bar/'
+
+You can also use the command: ciwfoo<C-R>"bar<Esc>
+
+For more information, read
+
+ :help :substitute
+ :help expand()
+ :help col()
+ :help /\%c
+
+
+12.20. How do I replace a particular text in all the files in a directory?
+
+You can use the "argdo" command to execute the substitute command on all
+the files specified as arguments:
+
+ :args *
+ :argdo %s/<your_text>/<replacement_text>/ge | update
+
+For more information, read
+
+ :help :args_f
+ :help :argdo
+ :help :s_flags
+
+
+12.21. I have some numbers in a file. How do I increment or decrement the
+ numbers in the file?
+
+You can use the CTRL-A key to increment the number and the CTRL-X key to
+decrement the number. You can also specify the number to
+increment/decrement from the number by specifying a count to the key. This
+works for decimal, octal and hexadecimal numbers. You can change the base
+used by Vim for this operation by modifying the 'nrformats' option.
+
+For more information, read
+
+ :help 26.2
+ :help CTRL-A
+ :help CTRL-X
+ :help 'nrformats'
+
+
+12.22. How do I reuse the last used search pattern in a ":substitute"
+ command?
+
+To reuse the last used search pattern in a ":substitute" command, don't
+specify a new search pattern:
+
+ :s/pattern/newtext/
+ :s//sometext/
+
+In the second ":s" command, as a search pattern is not specified, the
+pattern specified in the first ":s" command 'pattern' will be used.
+
+If you want to change the search pattern but repeat the substitution
+pattern you can use the special right hand side, you can use the tilde
+character:
+
+ :s/newpattern/~/
+
+For more information, read
+
+ :help :s
+ :help :&
+ :help :~
+ :help &
+ :help sub-replace-special
+
+
+12.23. How do I change the case of a string using the ":substitute"
+ command?
+
+You can use special characters in the replacement string for a
+":substitute" command to change the case of the matched string. For
+example, to change the case of the string "MyString" to all uppercase, you
+can use the following command:
+
+ :%s/MyString/\U&/g
+
+To change the case to lowercase, you can use the following command:
+
+ :%s/MyString/\L&/g
+
+To change the case of the first character in all the words in the current
+line to uppercase, you can use the following command:
+
+ :s/\<\(.\)\(\k*\)\>/\u\1\L\2/g
+
+For more information, read
+
+ :help sub-replace-special
+ :help :substitute
+ :help \U
+ :help \L
+ :help \u
+
+
+12.24. How do I enter characters that are not present in the keyboard?
+
+You can use digraphs to enter characters that are not present in the
+keyboard. You can use the ":digraphs" command to display all the currently
+defined digraphs. You can add a new digraph to the list using the
+":digraphs" command.
+
+For more information, read
+
+ :help digraphs
+ :help 'digraphs'
+ :help 24.9
+
+
+12.25. Is there a command to remove any or all digraphs?
+
+No. The digraphs table is defined at compile time. You can only add new
+ones. Adding a command to remove digraphs is on the todo list.
+
+
+12.26. In insert mode, when I press the backspace key, it erases only the
+ characters entered in this instance of insert mode. How do I erase
+ previously entered characters in insert mode using the backspace
+ key?
+
+You can set the 'backspace' option to erase previously entered characters
+in insert mode:
+
+ :set backspace=indent,eol,start
+
+For more information, read
+
+ :help 'backspace'
+ :help i_backspacing
+
+
+12.27. I have a file which has lines longer than 72 characters terminated
+ with "+" and wrapped to the next line. How can I quickly join the
+ lines?
+
+You can use the ":global" command to search and join the lines:
+
+ :g/+$/j
+
+This will, however, only join every second line. A couple of more complex
+examples which will join all consecutive lines with a "+" at the end are:
+
+ :g/*$/,/\(^\|[^+]\)$/j
+ :g/+$/mark a | .,/\(^\|[^+]\)$/s/+$// | 'a,.j
+
+For more information, read
+
+ :help :g
+ :help :j
+ :help :mark
+
+
+12.28. How do I paste characterwise yanked text into separate lines?
+
+You can use the ":put" command to paste characterwise yanked text into new
+lines:
+
+ :put =@"
+
+For more information, read
+
+ :help :put
+ :help quote_=
+
+
+12.29. How do I change the case (uppercase, lowercase) of a word or a
+ character or a block of text?
+
+You can use the "~" command to switch the case of a character.
+
+You can change the case of the word under the cursor to uppercase using the
+"gUiw" or "viwU" command and to lowercase using the "guiw" or "viwu"
+command.
+
+You can switch the case (upper case to lower case and vice versa) of the
+word under the cursor using the "viw~" or "g~iw" command.
+
+You can use the "gUgU" command to change the current line to uppercase and
+the "gugu" command to change the current line to lowercase.
+
+You can use the "g~g~" command to switch the case of the current line. You
+can use the "g~{motion}" or "{Visual}~" commands to switch the case of a
+block of text.
+
+For more information, read
+
+ :help case
+
+
+12.30. How do I enter ASCII characters that are not present in the
+ keyboard?
+
+You can enter ASCII characters that are not present in the keyboard by
+pressing CTRL-V and then the ASCII character number. You can also use
+digraphs to enter special ASCII characters.
+
+For more information, read
+
+ :help i_CTRL-V_digit
+ :help digraphs
+ :help 45.5
+
+
+12.31. How do I replace non-printable characters in a file?
+
+To replace a non-printable character, you have to first determine the ASCII
+value for the character. You can use the ":ascii" ex command or the "ga"
+normal-mode command to display the ASCII value of the character under the
+cursor.
+
+You can enter the non-printable character by entering CTRL-V followed by
+the decimal number 1-255 (with no leading zero), or by x and a hex number
+00-FF, or by an octal number 0-0377 (with leading zero), or by u and a hex
+number 0-FFFF, or by U and a hex number 0-7FFFFFFF
+
+Another alternative is to use the ":digraphs" ex command to display the
+digraphs for all characters, together with their value in decimal and
+alpha. You can enter a non-printable character by entering CTRL-K followed
+by two alphanumeric characters (a digraph).
+
+For more information, read
+
+ :help :ascii
+ :help i_CTRL-V
+ :help i_CTRL-V_digit
+ :help :digraphs
+
+
+12.32. How do I remove duplicate lines from a buffer?
+
+You can use the following user-defined command to remove all the duplicate
+lines from a buffer:
+
+:command -range=% Uniq <line1>,<line2>g/^\%<<line2>l\(.*\)\n\1$/d
+
+Add the above command to your .vimrc file and invoke ":Uniq" to remove all
+the duplicate lines.
+
+
+12.33. How do I prefix all the lines in a file with the corresponding line
+ numbers?
+
+You can prefix the lines with the corresponding line number in several
+ways. Some of them are listed below:
+
+ :%s/^/\=line('.'). ' '
+ :%s/^/\=strpart(line(".")." ", 0, 5)
+ :g/^/exec "s/^/".strpart(line(".")." ", 0, 4)
+
+For more information, read
+
+ :help sub-replace-special
+ :help line()
+ :help expr6
+ :help strpart()
+ :help :execute
+ :help :global
+
+
+12.34. How do I exchange (swap) two characters or words or lines?
+
+You can exchange two characters with the "xp" command sequence. The 'x'
+will delete the character under the cursor and 'p' will paste the just
+deleted character after the character under the cursor. This will result
+in exchanging the two characters.
+
+You can exchange two words with the "deep" command sequence (start with the
+cursor in the blank space before the first word).
+
+You can exchange two lines with the "ddp" command sequence. The 'dd' will
+delete the current line and 'p' will paste the just deleted line after the
+current line. This will result in exchanging the two lines.
+
+All of the above operations will change the " unnamed register.
+
+You can use the ":m +" ex command to exchange two lines without changing the
+unnamed register.
+
+For more information, read
+
+ :help x
+ :help p
+ :help dd
+ :help d
+ :help e
+ :help linewise-register
+ :help quotequote
+ :help :move
+
+
+12.35. How do I change the characters used as word delimiters?
+
+Vim uses the characters specified by the 'iskeyword' option as word
+delimitiers. The default setting for this option is "@,48-57,_,192-255".
+
+For example, to add ':' as a word delimitier, you can use
+
+ :set iskeyword+=:
+
+To remove '_' as a word delimitier, you can use
+
+ :set iskeyword-=_
+
+For more information, read
+
+ :help 'iskeyword'
+ :help word
+
+
+=============================================================================
+
+SECTION 13 - COMPLETION IN INSERT MODE
+
+
+13.1. How do I complete words or lines in insert mode?
+
+In insert mode, you can complete words using the CTRL-P and CTRL-N keys.
+The CTRL-N command searches forward for the next matching keyword.
+The CTRL-P command searches backwards for the next matching keyword.
+
+In insert mode, you can use the CTRL-X CTRL-L command sequence to complete
+lines that starts with the same characters as in the current line before
+the cursor. To get the next matching line, press the CTRL-P or CTRL-N keys.
+There are a lot of other keys/ways available to complete words in insert
+mode.
+
+Vim supports completion of the following items:
+
+ CTRL-X CTRL-F file names
+ CTRL-X CTRL-L whole lines
+ CTRL-X CTRL-D macro definitions (also in included files)
+ CTRL-X CTRL-I current and included files
+ CTRL-X CTRL-K words from a dictionary
+ CTRL-X CTRL-T words from a thesaurus
+ CTRL-X CTRL-] tags
+ CTRL-X CTRL-V Vim command line
+
+For more information, read
+
+ :help 24.3
+ :help ins-completion
+
+
+13.2. How do I complete file names in insert mode?
+
+In insert mode, you can use the CTRL-X CTRL-F command sequence to complete
+filenames that start with the same characters as in the current line before
+the cursor.
+
+For more information, read
+
+ :help compl-filename
+
+
+13.3. I am using CTRL-P/CTRL-N to complete words in insert mode. How do I
+ complete words that occur after the just completed word?
+
+You can use CTRL-X CTRL-N and CTRL-X CTRL-P keys to complete words that are
+present after the just completed word.
+
+For more information, read
+
+ :help i_CTRL-X_CTRL-P
+ :help i_CTRL-X_CTRL-N
+ :help ins-completion
+
+
+=============================================================================
+
+SECTION 14 - TEXT FORMATTING
+
+
+14.1. How do I format a text paragraph so that a new line is inserted at
+ the end of each wrapped line?
+
+You can use the 'gq' command to format a paragraph. This will format the
+text according to the current 'textwidth' setting.
+
+Note that the gq operator can be used with a motion command to operate on a
+range of text. For example:
+
+ gqgq - Format the current line
+ gqap - Format current paragraph
+ gq3j - Format the current and the next 3 lines
+
+For more information, read
+
+ :help gq
+ :help formatting
+ :help usr_25.txt
+ :help motion.txt
+
+
+14.2. How do I format long lines in a file so that each line contains less
+ than 'n' characters?
+
+You can set the 'textwidth' option to control the number of characters that
+can be present in a line. For example, to set the maximum width of a line
+to 70 characters, you can use the following command:
+
+ set textwidth=70
+
+Now to break the long lines in a file to the length defined by the
+'textwidth' option, you can use
+
+ :g/./normal gqq
+
+For more information, read
+
+ :help 'textwidth'
+ :help gq
+
+
+14.3. How do I join short lines to form a paragraph?
+
+First, make sure the 'textwidth' option is set to a high value:
+
+ :set textwidth=99999
+
+Next, join the short lines to form a paragraph using the command:
+
+ 1GgqG
+
+The above command will operate on the entire file. To do the formatting on
+all paragraphs in a specific range, use:
+
+ :'a,'bg/\S/normal gq}
+
+For more information, read
+
+ :help gq
+ :help G
+ :help gqq
+
+
+14.4. How do I format bulleted and numbered lists?
+
+You can configure Vim to format bulleted and numbered lists using the
+'formatoptions' option. For example, you can format the list of the
+following format:
+
+ - this is a test. this is a test. this is a test. this is a test.
+ this is a test.
+
+into this format:
+
+ - this is a test. this is a test. this is a test. this is a test.
+ this is a test.
+
+You can use the 'n' flag in the 'formatoptions' to align the text.
+
+ :set fo+=n
+
+With this option, when formatting text, Vim will recognize numbered lists.
+For this option to work, the 'autoindent' option also must be set.
+
+For more information, read
+
+ :help 'formatoptions'
+ :help fo-table
+ :help format-comments
+
+
+14.5. How do I indent lines in insert mode?
+
+In insert mode, you can press the CTRL-T key to insert one shiftwidth of
+indent at the start of the current line. In insert mode, you can use the
+CTRL-D key to delete on shiftwidth of indent at the start of the current
+line. You can also use the CTRL-O >> and CTRL-O << commands to indent the
+current line in insert mode.
+
+For more information, read
+
+ :help i_CTRL-T
+ :help i_CTRL-D
+ :help i_0_CTRL-D
+ :help i_CTRL-O
+ :help >>
+ :help <<
+
+
+14.6. How do I format/indent an entire file?
+
+You can format/indent an entire file using the gg=G command, where
+
+ gg - Goto the beginning of the file
+ = - apply indentation
+ G - till end of file
+
+For more information, read
+
+ :help gg
+ :help =
+ :help G
+ :help 'formatprg'
+ :help C-indenting
+
+
+14.7. How do I increase or decrease the indentation of the current line?
+
+You can use the '>>' and '<<' commands to increase or decrease the
+indentation of the current line.
+
+For more information, read
+
+ :help shift-left-right
+ :help >>
+ :help <<
+ :help 'shiftwidth'
+
+
+14.8. How do I indent a block/group of lines?
+
+You can visually select the group of lines and press the > or < key to
+indent/unindent the lines. You can also use the following ex-command to
+indent the lines
+
+ :10,20>
+
+For more information, read
+
+ :help shift-left-right
+ :help v_>
+ :help v_<
+ :help :<
+ :help :>
+
+
+14.9. When I indent lines using the > or < key, the standard 8-tabstops are
+ used instead of the current 'tabstop' setting. Why?
+
+The number of spaces used when lines are indented using the ">" operator is
+controlled by the 'shiftwidth' option. The 'tabstop' setting is not used
+for indentation. To change the amount of spaces used for indentation, use
+the command:
+
+ :set shiftwidth=4
+
+For more information, read
+
+ :help 'shiftwidth'
+ :help >>
+ :help 'softtabstop'
+
+
+14.10. How do I turn off the automatic indentation of text?
+
+By default, the automatic indentation of text is not turned on. Check the
+configuration files (.vimrc, .gvimrc) for settings related to indentation.
+Make sure the ":filetype indent on" command is not present. If it is
+present, remove it. Also, depending on your preference, you may also want
+to check the value of the 'autoindent', 'smartindent', 'cindent' and
+'indentexpr' options and turn them off as needed.
+
+For more information, read
+
+ :help :filetype-indent-off
+ :help 'autoindent'
+ :help 'smartindent'
+ :help 'cindent'
+ :help 'indentexpr'
+
+
+14.11. How do I configure Vim to automatically set the 'textwidth' option
+ to a particular value when I edit mails?
+
+You can use the 'FileType' autocommand to set the 'textwidth' option:
+
+ autocmd FileType mail set tw=<your_value>
+
+For more information, read
+
+ :help :autocmd
+ :help FileType
+ :help usr_43.txt
+
+
+14.12. Is there a way to make Vim auto-magically break lines?
+
+Yes. Set the 'textwidth' option to the preferred length for a line. Then
+Vim will auto-magically break the newly entered lines. For example:
+
+ :set textwidth=75
+
+For more information, read
+
+ :help 'textwidth'
+ :help ins-textwidth
+ :help 'formatoptions'
+ :help fo-table
+ :help formatting
+
+
+14.13. I am seeing a lot of ^M symbols in my file. I tried setting the
+ 'fileformat' option to 'dos' and then 'unix' and then 'mac'. None of
+ these helped. How can I hide these symbols?
+
+When a file is loaded in Vim, the format of the file is determined as
+below:
+
+- If all the lines end with a new line (<NL>), then the fileformat is
+ 'unix'.
+- If all the lines end with a carriage return (<CR>) followed by a new line
+ (<NL>), then the fileformat is 'dos'.
+- If all the lines end with carriage return (<CR>), then the fileformat is
+ 'mac'.
+
+If the file has some lines ending with <CR> and some lines ending with <CR>
+followed by a <NL>, then the fileformat is set to 'unix'.
+
+You can change the format of the current file, by modifying the
+'fileformat' option and then saving the file:
+
+ :set fileformat=dos
+ :w
+
+To display the format of the current file, use
+
+ :set fileformat?
+
+The above behavior is also controlled by the 'fileformats' option. You can
+try the following commands:
+
+ :set fileformats+=unix
+ :e <your_file>
+ :set fileformat=unix
+ :w
+
+To remove the carriage return (<CR>) character at the end of all the lines
+in the current file, you can use the following command:
+
+ :%s/\r$//
+
+To force Vim to use a particular file format, when editing a file, you can
+use the following command:
+
+ :e ++ff=dos filename
+
+For more information, read
+
+ :help 'fileformats'
+ :help 'fileformat'
+ :help file-formats
+ :help DOS-format-write
+ :help Unix-format-write
+ :help Mac-format-write
+ :help dos-file-formats
+ :help 23.1
+ :help ++ff
+
+
+14.14. When I paste some text into a Vim buffer from another application,
+ the alignment (indentation) of the new text is messed up. How do I
+ fix this?
+
+The indentation of the text is messed up due to various Vim settings
+related to indentation (like autoindent, smartindent, textwidth etc).
+Before pasting text into Vim, you can set the 'paste' option:
+
+ :set paste
+
+After pasting the text, you can turn off the option using:
+
+ :set nopaste
+
+You can also toggle the paste option using:
+
+ :set paste!
+
+If you can access the clipboard through the * register, then you can paste
+the text without indentation using CTRL-R CTRL-O *.
+
+For more information, read
+
+ :help 'paste'
+ :help 'pastetoggle'
+ :help i_CTRL-R_CTRL_O
+ :help clipboard
+ :help xterm-clipboard
+ :help gui-clipboard
+
+
+14.15. When there is a very long wrapped line (wrap is "on") and a line
+ doesn't fit entirely on the screen it is not displayed at all. There
+ are blank lines beginning with '@' symbol instead of wrapped line. If
+ I scroll the screen to fit the line the '@' symbols disappear and the
+ line is displayed again. What Vim setting control this behavior?
+
+You can set the 'display' option to 'lastline' to display as much as
+possible of the last line in a window instead of displaying the '@'
+symbols.
+
+ :set display=lastline
+
+For more information, read
+
+ :help 'display'
+
+
+14.16. How do I convert all the tab characters in a file to space
+ characters?
+
+You can use the ":retab" command to update all the tab characters in the
+current file with the current setting of 'expandtab' and 'tabstop'. For
+example, to convert all the tabs to white spaces, use
+
+ :set expandtab
+ :retab
+
+For more information, read
+
+ :help :retab
+ :help 'expandtab'
+ :help 'tabstop'
+ :help 25.3
+
+
+14.17. What Vim options can I use to edit text that will later go to a word
+ processor?
+
+You can set the following options to edit text that will later go into a
+word processor:
+
+ :set wrap
+ :set linebreak
+ :set textwidth=0
+ :set showbreak=>>>
+
+You can use the 'gk' and 'gj' commands to move one screen line up and down.
+For more information, read
+
+ :help 'wrap'
+ :help 'linebreak'
+ :help 'textwidth'
+ :help 'showbreak'
+ :help gk
+ :help gj
+
+
+14.18. How do I join lines without adding or removing any space characters?
+
+By default, when you join lines using the "J" or ":join" command, Vim will
+replace the line break, leading white space and trailing white space with a
+single space character. If there are space characters at the end of a line
+or a line starts with the ')' character, then Vim will not add a space
+character.
+
+To join lines without adding or removing any space characters, you can use
+the gJ or ":join!" commands.
+
+For more information, read
+
+ :help gJ
+ :help :join
+ :help J
+ :hep 10.5
+ :help 'joinspaces'
+ :help 'cpoptions'
+ :help 'formatoptions'
+
+
+=============================================================================
+
+SECTION 15 - VISUAL MODE
+
+
+15.1. How do I do rectangular block copying?
+
+You can do rectangular block copying in Vim using the blockwise visual
+mode. To start blockwise visual mode use the CTRL-V key. Move the cursor
+using any of the motion commands and then use the y operator to yank to
+visually selected text.
+
+If CTRL-V does not work as expected, it may have been remapped to CTRL-Q by
+the mswin.vim script which is often sourced by a vimrc on Windows machines
+to mimic some common short cuts from other programs.
+
+For more information, read
+
+ :help 04.4
+ :help blockwise-visual
+ :help visual-mode
+ :help Q_vi
+
+
+15.2. How do I delete or change a column of text in a file?
+
+You can use the Vim block-wise visual mode to select the column of text and
+apply an operator (delete, change, copy, etc) on it.
+
+For more information, read
+
+ :help visual-block
+ :help visual-operators
+
+
+15.3. How do I apply an ex-command on a set of visually selected lines?
+
+When you select a range of lines in visual mode, the < register is set to
+the start of the visual region and the > register is set to the end of the
+visual region. You can use these registers to specify the range for an ex
+command. After visually selecting the lines, press ":" to go to the command
+mode. Vim will automatically insert the visual range '<,'>. You can run
+any ex-command on the visual range.
+
+For more information, read
+
+ :help v_:
+ :help '<
+ :help '>
+
+
+15.4. How do I execute an ex command on a column of text selected in Visual
+ block mode?
+
+All the ex commands operate on whole lines only. If you try to execute an
+ex command on a column of text selected in visual block mode, Vim will
+operate on all the selected lines (instead of the selected columns). You
+can use the vis.vim plugin script from http://vim.sourceforge.net scripts
+archive to do this.
+
+For more information, read
+
+ :help cmdline-ranges
+ :help 10.3
+ :help cmdline-lines
+
+
+15.5. How do I select the entire file in visual mode?
+
+You can select the entire file in visual mode using ggVG.
+
+ gg - go to the beginning of the file.
+ V - Start linewise visual mode
+ G - goto the end of the file.
+
+For more information, read
+
+ :help gg
+ :help linewise-visual
+ :help G
+
+
+15.6. When I visually select a set of lines and press the > key to indent
+ the selected lines, the visual mode ends. How can I reselect the
+ region for further operation? (or) How do I re-select the last
+ selected visual area again?
+
+You can use the 'gv' command to reselect the last selected visual area. You
+can also use the marks '< and '> to jump to the beginning or the end of the
+last selected visual area.
+
+For more information, read
+
+ :help gv
+ :help '<
+ :help '>
+
+
+15.7. How do I jump to the beginning/end of a visually selected region?
+
+You can use the 'o' command to jump to the beginning/end of a visually
+selected region.
+
+For more information, read
+
+ :help v_o
+
+
+15.8. When I select text with mouse and then press : to enter an ex
+ command, the selected text is replaced with the : character. How do I
+ execute an ex command on a text selected using the mouse similar to
+ the text selected using the visual mode?
+
+This will happen if you have configured Vim to use select mode instead of
+Visual mode by setting the 'selectmode' option. Check the value of this
+option:
+
+ :set selectmode?
+
+This mode is known as selectmode and is similar to the visual mode. This
+option is also automatically set when you use the "behave mswin" command.
+Select mode looks like visual mode, but it is similar to the selection mode
+in MS-Windows.
+
+For more information, read
+
+ :help Select-mode
+ :help 'selectmode'
+ :help 9.4
+ :help :behave
+
+
+15.9. When I select a block of text using the mouse, Vim goes into
+ selection mode instead of Visual mode. Why?
+
+The 'selectmode' option controls whether Select mode will be started when
+selecting a block of text using the mouse. To start Visual mode when
+selecting text using mouse, remove the 'mouse' value from the 'selectmode'
+option:
+
+ :set selectmode-=mouse
+
+Note that by default, the 'selectmode' option will be set to empty, so that
+always visual mode is used.
+
+For more information, read
+
+ :help 'selectmode'
+ :help Select-mode
+ :help :behave
+
+
+15.10. How do I visually select the last copy/pasted text?
+
+You can use the '[ and '] marks to visually select the last copy/pasted
+text. The '[ mark is set to the beginning of the last changed/yanked text
+and the '] mark is set to the end of the last changed/yanked text. To
+visually select this block of text use the command '[v']
+
+For more information, read
+
+ :help '[
+ :help ']
+ :help `a
+ :help v
+
+
+=============================================================================
+
+SECTION 16 - COMMAND-LINE MODE
+
+
+16.1. How do I use the name of the current file in the command mode or an
+ ex command line?
+
+In the command line, the '%' character represents the name of the current
+file. In some commands, you have to use expand("%") to get the filename:
+
+ :!perl %
+
+For more information, read
+
+ :help :_%
+ :help cmdline-special
+ :help expand()
+
+
+16.2. How do I edit the text in the Vim command-line effectively?
+
+You can use the command-line window for editing Vim command-line text. To
+open the Vim command-line window use the "q:" command in normal mode. In
+command-line mode, use the CTRL-F key. In this window, the command line
+history will be displayed. You can use normal Vim keys/commands to edit any
+previous/new command line. To execute a command line, press the
+enter/return key.
+
+In a similar vain, the search history can be edited with "q/" and "q?"
+commands.
+
+For more information, read
+
+ :help cmdline-window
+
+
+16.3. How do I switch from Vi mode to Ex mode?
+
+You can use the Q command to switch from Vi mode to Ex mode. To switch from
+Ex mode back to the Vi mode, use the :vi command.
+
+For more information, read
+
+ :help Q
+ :help gQ
+ :help Ex-mode
+ :help :vi
+
+
+16.4. How do I copy the output from an ex-command into a buffer?
+
+To copy the output from an ex-command into a buffer, you have to first get
+the command output into a register. You can use the ":redir" command to get
+the output into a register. For example,
+
+ :redir @a
+ :g/HelloWord/p
+ :redir END
+
+Now the register 'a' will contain the output from the ex command
+"g/HelloWord/p". Now you can paste the contents of the register 'a' into a
+buffer. You can also send or append the output of an ex-command into a file
+using the 'redir' command.
+
+You can prefix the ":global" command with ":silent", to avoid having the
+lines printed to the screen.
+
+To redirect the output from an ex-command to a file, you can use the
+following set of commands:
+
+ :redir > myfile
+ :g/HelloWord/p
+ :redir END
+
+For more information, read
+
+ :help :redir
+ :help :silent
+
+
+16.5. When I press the tab key to complete the name of a file in the
+ command mode, if there are more than one matching file names, then
+ Vim completes the first matching file name and displays a list of all
+ matching filenames. How do I configure Vim to only display the list
+ of all the matching filenames and not complete the first one?
+
+You can modify the 'wildmode' option to configure the way Vim completes
+filenames in the command mode. In this case, you can set the 'wildmode'
+option to 'list':
+
+ :set wildmode=list
+
+For more information, read
+
+ :help 'wildmode'
+
+
+16.6. How do I copy text from a buffer to the command line and from the
+ command line to a buffer?
+
+To copy text from a buffer to the command line, after yanking the text from
+the buffer, use Ctrl-R 0 in the command line to paste the text. You can
+also yank the text to a specific register and use CTRL-R <register> to
+paste the text to the command line. You can use CTRL-R CTRL-W to paste the
+word under the cursor in the command line.
+
+To copy text from the command line into a buffer, you can paste the
+contents of the : register using the ":p command. The most recently
+executed command line is stored in the : register.
+
+Another approach for copying and pasting text to and from the command line
+is to open the command line window using q: from normal mode or CTRL-F from
+the command-line mode. In the command line window you can use all the Vim
+commands to edit the command line.
+
+For more information, read
+
+ :help c_CTRL-R
+ :help quote_:
+ :help cmdline-window
+
+
+16.7. How do I put a command onto the command history without executing it?
+
+To put a command onto the command history without executing it, press the
+<Esc> key to cancel the command.
+
+For more information, read
+
+ :help c_<Esc>
+
+
+16.8. How do I increase the height of the command-line?
+
+You can increase the height of the command-line by changing the 'cmdheight'
+option:
+
+ :set cmdheight=2
+
+For more information, read
+
+ :help 'cmdheight'
+ :help hit-enter
+ :help 05.7
+
+
+=============================================================================
+
+SECTION 17 - VIMINFO
+
+
+17.1. When I invoke Vim, I get error messages about illegal characters in
+ the viminfo file. What should I do to get rid of these messages?
+
+You can remove the $HOME/.viminfo or the $HOME/_viminfo file to get rid of
+these error messages.
+
+For more information, read
+
+ :help viminfo-errors
+ :help viminfo-file-name
+ :help viminfo
+ :help 21.3
+
+
+17.2. How do I disable the viminfo feature?
+
+By default, the viminfo feature is disabled. If the viminfo feature is
+enabled by a system-wide vimrc file, then you can disable the viminfo
+feature by setting the 'viminfo' option to an empty string in your local
+.vimrc file:
+
+ :set viminfo=""
+
+For more information, read
+
+ :help 'viminfo'
+
+
+17.3. How do I save and use Vim marks across Vim sessions?
+
+You can save and restore Vim marks across Vim sessions using the viminfo
+file. To use the viminfo file, make sure the 'viminfo' option is not empty.
+To save and restore Vim marks, the 'viminfo' option should not contain the
+'f' flag or should have a value greater than zero for the 'f' option.
+
+For more information, read
+
+ :help 21.3
+ :help viminfo
+ :help 'viminfo'
+ :help :wviminfo
+ :help :rviminfo
+
+
+=============================================================================
+
+SECTION 18 - REMOTE EDITING
+
+
+18.1. How do I open a file with existing instance of gvim? What happened to
+ the Vim 5.x OpenWithVim.exe and SendToVim.exe files?
+
+Starting with Vim6, the OLE version of OpenWithVim.exe and SendToVim.exe
+Vim utilities are replaced by the new client-server feature. To open the
+file j.txt with an existing instance of Gvim (MyVim), use:
+
+ $ gvim --servername MyVim --remote-silent j.txt
+
+To list the server names of all the currently running Vim instances, use
+
+ $ vim --serverlist
+
+To get more information about client-server feature, read
+
+ :help client-server
+
+
+18.2. How do I send a command to a Vim server to write all buffers to disk?
+
+You can use the Vim remote server functionality to do this:
+
+ $ gvim --servername myVIM --remote-send "<C-\><C-N>:wall<CR>"
+
+For more information, read
+
+ :help client-server
+ :help CTRL-\_CTRL-N
+ :help :wall
+
+
+18.3. Where can I get the documentation about the Vim remote server
+ functionality?
+
+You can get more information about the Vim remote server functionality by
+reading
+
+ :help client-server
+
+
+=============================================================================
+
+SECTION 19 - OPTIONS
+
+
+19.1. How do I configure Vim in a simple way?
+
+You can use the ":options" command to open the Vim option window:
+
+ :options
+
+This window can be used for viewing and setting all the options.
+
+For more information, read
+
+ :help :options
+
+
+19.2. How do I toggle the value of an option?
+
+You can prefix the option with "inv" to toggle the value of the option:
+
+ :set invignorecase
+ :set invhlsearch
+
+You can also suffix the option with "!" to toggle the value:
+
+ :set ignorecase!
+ :set hlsearch!
+
+For more information, read
+
+ :help set-option
+
+
+19.3. How do I set an option that affects only the current buffer/window?
+
+Some of the Vim options can have a local or global value. A local value
+applies only to a specific buffer or window. A global value applies to all
+the buffers or windows.
+
+When a Vim option is modified using the ":set" command, both the global and
+local values for the option are changed. You can use the ":setlocal"
+command to modify only the local value for the option and the ":setglobal"
+command to modify only the global value.
+
+You can use the ":setlocal" command to set an option that will affect only
+the current file/buffer:
+
+ :setlocal textwidth=70
+
+Note that not all options can have a local value. You can use ":setlocal"
+command to set an option locally to a buffer/window only if the option is
+allowed to have a local value.
+
+You can also use the following command to set a option locally:
+
+ :let &l:{option-name} = <value>
+
+For more information, read
+
+ :help :setlocal
+ :help local-options
+
+
+19.4. How do I use space characters for a Vim option value?
+
+To use space characters in a Vim option value, you have to escape the space
+character. For example:
+
+ :set tags=tags\ /usr/tags
+
+For more information, read
+
+ :help option-backslash
+
+
+19.5. Can I add (embed) Vim option settings to the contents of a file?
+
+You can use modelines to add Vim option settings to the contents of a file.
+For example, in a C file, you can add the following line to the top or the
+bottom of the file:
+
+ /* vim:sw=4: */
+
+This will set the 'shiftwidth' option to 4, when editing that C file.
+For this to work, the 'modeline' option should be set. By default, the
+'modeline' option is not set, for security reasons, in Debian. The
+'modelines' settings specifies the number of lines that will be checked for
+the Vim set commands.
+
+For more information, read
+
+ :help 21.6
+ :help modeline
+ :help auto-setting
+ :help 'modeline'
+ :help 'modelines'
+
+
+19.6. How do I display the line numbers of all the lines in a file?
+
+You can set the 'number' option to display the line numbers for all the
+lines.
+
+ :set number
+
+For more information, read
+
+ :help 'number'
+
+
+19.7. How do I change the width of the line numbers displayed using the
+ "number" option?
+
+The width used for displaying the line numbers for the 'number' option is
+hard-coded in Vim. It is not possible to change this width by setting some
+option.
+
+The request and the patch to add an option to change the number of columns
+used for the 'number' option is in the Vim todo list:
+
+ "Add an option to set the width of the 'number' column. Eight
+ positions is often more than needed. Or adjust the width to the length
+ of the file?
+ Add patch that adds 'numberlen' option. (James Harvey)
+ Other patch with min and max from Emmanuel Renieris (2002 Jul 24)
+ Other patch without an option by Gilles Roy (2002 Jul 25)"
+
+
+19.8. How do I display (view) all the invisible characters like space, tabs
+ and newlines in a file?
+
+You can set the 'list' option to see all the invisible characters in your
+file.
+
+ :set list
+
+With this option set, you can view space characters, tabs, newlines,
+trailing space characters and wrapped lines.
+
+To not display the invisible characters (which is the default), you have to
+reset the 'list' option:
+
+ :set nolist
+ (or)
+ :set list!
+
+The ":set list!" command will toggle the current setting of the boolean
+'list' option.
+
+You can modify the 'listchars' option to configure how and which invisible
+characters are displayed. For example, with the following command all the
+trailing space characters will be displayed with a '.' character.
+
+ :set listchars=trail:.
+
+For more information, read
+
+ :help 'listchars'
+ :help 'list'
+
+
+19.9. How do I configure Vim to always display the current line and column
+ number?
+
+You can set the 'ruler' option to display current column and line number in
+the status line:
+
+ :set ruler
+
+For more information, read
+
+ :help 'ruler'
+
+
+19.10. How do I display the current Vim mode?
+
+You can set the 'showmode' option to display the current Vim mode. In
+Insert, Replace and Visual modes, Vim will display the current mode on the
+last line.
+
+ :set showmode
+
+For more information, read
+
+ :help 'showmode'
+
+
+19.11. How do I configure Vim to show pending/partial commands on the
+ status line?
+
+You can set the 'showcmd' option to display pending/partial commands in the
+status line:
+
+ :set showcmd
+
+For more information, read
+
+ :help 'showcmd'
+
+
+19.12. How do I configure the Vim status line to display different
+ settings/values?
+
+You can set the 'statusline' option to display different values/settings in
+the Vim status line.
+
+For more information, read
+
+ :help 'statusline'
+ :help 'laststatus'
+ :help 'rulerformat'
+ :help 'ruler'
+
+
+19.13. How do I configure Vim to display status line always?
+
+You can set the 'laststatus' option to 2 to display the status line always.
+
+ :set laststatus=2
+
+For more information, read
+
+ :help 'laststatus'
+
+
+19.14. How do I make a Vim setting persistent across different Vim
+ invocations/instances/sessions?
+
+To make a Vim option setting persistent across different Vim instances, add
+your setting to the .vimrc or .gvimrc file. You can also use the ":mkvimrc"
+command to generate a vimrc file for the current settings.
+
+For more information, read
+
+ :help save-settings
+ :help vimrc
+ :help gvimrc
+ :help vimrc-intro
+ :help :mkvimrc
+ :help initialization
+
+
+19.15. Why do I hear a beep (why does my window flash) about 1 second after
+ I hit the Escape key?
+
+This is normal behavior. If your window flashes, then you've got the visual
+bell on. Otherwise, you should hear a beep.
+
+Vim needs a timeout to tell the difference between a simple escape and,
+say, a cursor key sequence. When you press a key in normal mode (and even
+in insert mode) and that key is the beginning of a mapping, Vim waits a
+certain amount of time to see if the rest of the mapping sequence follows.
+If the mapping sequence is completed before a given timeout period, the
+mapping for that sequence of keys is applied. If you interrupt the mapping,
+the normal actions associated with the keys are executed.
+
+For example, if you have a mapping defined as ":imap vvv Vim is great!!"
+and you type "vvv" quickly, the "Vim is great!!" will be inserted into your
+text. But if you type "vv v" then that is what will put into your text.
+This is also true if you type "vvv" too slowly where "too slowly" is longer
+than the value for the timeout option. Setting the timeout option to a
+larger value can help alleviate problems that appear when using function
+keys over a slow line.
+
+For more information, read
+
+ :help ttimeout
+
+
+19.16. How do I make the 'c' and 's' commands display a '$' instead of
+ deleting the characters I'm changing?
+
+To make the 'c' and 's' commands display a '$' instead of deleting the
+characters, add the $ flag to the 'cpoptions' option:
+
+ :set cpoptions+=$
+
+For more information, read
+
+ :help 'cpoptions'
+
+
+19.17. How do I remove more than one flag using a single ":set" command
+ from a Vim option?
+
+You can remove more than one flag from a Vim option using a single ":set"
+command, by specifying the flags in exactly the same order as they appear
+in the option. For example, if you use the following command to remove the
+'t' and 'n' flags from the 'formatoptions' option:
+
+ :set formatoptions-=tn
+
+The 't' and 'n' flags will be removed from the 'formatoptions' option, only
+if the 'formatoptions' option contains these flags in this order: 'tn'.
+Otherwise, it will not remove the flags. To avoid this problem, you can
+remove the flags one by one:
+
+ :set formatoptions-=t formatoptions-=n
+
+For more information, read
+
+ :help :set-=
+
+
+=============================================================================
+
+SECTION 20 - MAPPING KEYS
+
+
+20.1. How do I know what a key is mapped to?
+
+To see what a key is mapped to, use the following commands:
+
+ :map <key>
+ :map! <key>
+
+You can also check the mappings in a particular mode using one of the
+":cmap", ":nmap", ":vmap", ":imap", ":omap", etc commands.
+
+For more information, read
+
+ :help map-listing
+ :help map-overview
+
+
+20.2. How do list all the user-defined key mappings?
+
+You can list all the user-defined key mappings using:
+
+ :map
+
+For more information, read
+
+ :help map-listing
+
+
+20.3. How do I unmap a previously mapped key?
+
+You can unmap a previously mapped key using the ":unmap" command:
+
+ :unmap <key>
+ :unmap! <key>
+
+For mode specific mappings, you can use one of the
+":nunmap/:vunmap/:ounmap/:iunmap/:lunmap/:cunmap" commands.
+
+The following command will fail to unmap a buffer-local mapped key:
+
+ :unmap <key>
+
+To unmap a buffer-local mapped key, you have to use the <buffer> keyword in
+the unmap command:
+
+ :unmap <buffer> <key>
+ :unmap! <buffer> <key>
+
+For more information, read
+
+ :help :unmap
+ :help map-modes
+ :help map-local
+ :help 'mapleader'
+
+
+20.4. I am not able to create a mapping for the <xxx> key. What is wrong?
+
+First make sure that the key is passed to Vim. In insert mode, press CTRL-V
+followed by the desired key. You should see the keycode corresponding to
+the key . If you do see the keycode, then you can create a mapping for the
+key using the following command:
+
+ :map <C-V><xxx> <your_command_to_be_mapped>
+
+For more information, read
+
+ :help map-keys-fails
+ :help :map-special-keys
+ :help key-codes
+
+
+20.5. How do I map the numeric keypad keys?
+
+First make sure that the numeric keypad keys are passed to Vim. Next, you
+can use the following command to map the numeric keypad keys:
+
+ :map <kSomething> <your_command>
+
+where, <kSomething> can be kHome, kEnd, kPageUp, kPageDown, kPlus, kMinus,
+kDivide, kMultiply, kEnter, etc.
+
+For more information, read
+
+ :help key-codes
+ :help terminal-options
+
+
+20.6. How do I create a mapping that works only in visual mode?
+
+You can create mappings that work only in specific mode (normal, command,
+insert, visual, etc). To create a mapping that works only in the visual
+mode, use the ":vmap" command:
+
+ :vmap <F3> <your mapping here>
+
+For more information, read
+
+ :help :vmap
+ :help map-modes
+ :help 40.1
+
+
+20.7. In a Vim script, how do I know which keys to use for my mappings, so
+ that the mapped key will not collide with an already used key?
+
+Vim uses most of the keys in the keyboard. You can use the <leader> prefix
+in maps to define keys which will not overlap with Vim keys. For example:
+
+ :map <leader>S <C-W>s
+ :map <leader>j <C-W>j
+ :map <leader>k <C-W>k
+
+where by default <leader> gets substituted with a backslash (\), so the
+user would enter
+
+ \s
+ \j
+ \k
+
+to invoke the above map commands. The user can change the mapleader
+variable to be whatever they wanted:
+
+ :let mapleader = ","
+
+When writing a plugin or other script, more often than not, it is advisable
+to use :noremap instead of :map to avoid side effects from user defined
+mappings.
+
+For more information, read
+
+ :help <Leader>
+ :help <LocalLeader>
+ :help write-plugin
+
+
+20.8. How do I map the escape key?
+
+You can map the Escape key to some other key using the ":map" command. For
+example, the following command maps the escape key to CTRL-O.
+
+ :map <C-O> <Esc>
+
+
+20.9. How do I map a key to perform nothing?
+
+You can map a key to <Nop> to perform nothing when the key is pressed. For
+example, with the following mappings, the <F7> key will do nothing when
+pressed.
+
+ :map <F7> <Nop>
+ :map! <F7> <Nop>
+
+For more information, read
+
+ :help <Nop>
+ :help :map
+ :help :map!
+ :help map-modes
+
+
+20.10. I want to use the Tab key to indent a block of text and Shift-Tab
+ key to unindent a block of text. How do I map the keys to do this?
+ This behavior is similar to textpad, visual studio, etc.
+
+Use the following mapping:
+
+ :inoremap <S-Tab> <C-O><LT><LT>
+ :nnoremap <Tab> >>
+ :nnoremap <S-Tab> <LT><LT>
+ :vnoremap <Tab> >
+ :vnoremap <S-Tab> <LT>
+
+Note that, the <S-Tab> mapping will work only if Vim receives the correct
+key sequence. This is mostly the case with GUI Vim.
+
+For more information, read
+
+ :help :inoremap
+ :help :nnoremap
+ :help :vnoremap
+ :help <S-Tab>
+ :help i_CTRL-O
+ :help >>
+ :help <<
+ :help <LT>
+
+
+20.11. In my mappings the special characters like <CR> are not recognized.
+ How can I configure Vim to recognize special characters?
+
+Check the value of the 'cpoptions' option:
+
+ :set cpoptions?
+
+If this option contains the '<' flag, then special characters will not be
+recognized in mappings. Remove the '<' flag from 'cpoptions' option:
+
+ :set cpo-=<
+
+Also, check the value of the 'compatible' option:
+
+ :se compatible?
+
+The 'compatible' option must be reset:
+
+ :se nocompatible
+
+For more information, read
+
+ :help 'cpoptions'
+ :help 'compatible'
+
+
+20.12. How do I use the '|' to separate multiple commands in a map?
+
+You can escape the '|' character using backslash (\) to use '|' in a map.
+
+ :map _l :!ls \| more<CR>
+
+You can also try the following command:
+
+ :map _l :!ls <bar> more<CR>
+
+There are also other ways to do this.
+
+For more information, read
+
+ :help map_bar
+
+
+20.13. If I have a mapping/abbreviation whose ending is the beginning of
+ another mapping/abbreviation, how do I keep the first from expanding
+ into the second one?
+
+Instead of using the ":map lhs rhs" command, use the ":noremap lhs rhs"
+command. For abbreviations, use "noreabbrev lhs rhs". The "nore" prefix
+prevents the mapping or abbreviation from being expanded again.
+
+For more information, read
+
+ :help :noremap
+ :help :noreabbrev
+
+
+20.14. Why does it take a second or more for Vim to process a key,
+ sometimes when I press a key?
+
+Make sure you have not defined a mapping for this key using the following
+command:
+
+ :map <key>
+
+If a mapping is defined for this key and the mapped key contains more than
+one character, then Vim will wait for the next character to be pressed to
+determine whether it is the mapped key or not. For example, if you have
+mapped "ab", then if you press "a", Vim will wait for the next key to be
+pressed. If the next key is "b", Vim will execute the mapped sequence.
+Otherwise, Vim will proceed with the normal processing of "a" followed by
+the next key. If the 'timeout' option is set (which is the default), then
+Vim will timeout after waiting for the period specified with the
+'timeoutlen' option (default is 1 second).
+
+For more information, read
+
+ :help map-typing
+ :help 'timeoutlen'
+ :help 'ttimeoutlen'
+ :help 'timeout'
+ :help 'ttimeout'
+ :help vt100-cursor-keys
+ :help slow-fast-terminal
+
+
+20.15. How do I map a key to run an external command using a visually
+ selected text?
+
+You can the ":vmap" command to map a key in the visual mode. In the mapped
+command sequence, you have to first yank the text. The yanked text is
+available in the '"' register. Now, you can use the contents of this
+register to run the external command. For example, to run the external
+command "perldoc" on a visually selected text, you can use the following
+mapping:
+
+ :vmap <F7> y:!exec "!perldoc '" . @" . "'"<CR>
+
+If you want the mapping to work in the visual mode, but not with the
+highlighted text, you can use the following command:
+
+ :vmap <F7> :<C-U>!perldoc <cword><CR>
+
+The above mapping will use the word under the cursor instead of the
+highlighted text. Note the use of the <C-U> before invoking the "perldoc"
+external command. The <C-U> is used to erase the range of text selected in
+the visual mode and displayed on the command line. If the visual range is
+not removed using <C-U>, then the output from the external command will
+replace the visually selected text.
+
+For more information, read
+
+ :help :vmap
+ :help quote_quote
+ :help let-register
+ :help c_CTRL-U
+ :help :!cmd
+
+
+20.16. How do I map the Ctrl-I key while still retaining the functionality
+ of the <Tab> key?
+
+The Ctrl-I key and the <Tab> key produce the same keycode, so Vim cannot
+distinguish between the Ctrl-I and the <Tab> key. When you map the Ctrl-I
+key, the <Tab> key is also mapped (and vice versa). The same restriction
+applies for the Ctrl-[ key and the <Esc> key.
+
+For more information, read
+
+ :help keycodes
+
+
+=============================================================================
+
+SECTION 21 - ABBREVIATIONS
+
+
+21.1. How do I auto correct misspelled words?
+
+You can auto correct misspelled words using abbreviations. For example, the
+following abbreviation can be used to correct "teh" with "the":
+
+ :abbreviate teh the
+
+Vim supports abbreviations in insert mode, replace mode and command-line
+mode.
+
+For more information, read
+
+ :help 24.7
+ :help abbreviations
+ :help Q_ab
+
+
+21.2. How do I create multi-line abbreviations?
+
+You can create multi-line abbreviations by embedding the "<CR>"
+key code in the text:
+
+ iabbrev #c --------------<CR>-- Date:<CR>--<CR>---------
+
+With the above abbreviation, when you type #c, it will be expanded to
+the following text:
+
+--------------
+-- Date:
+--
+---------
+
+For more information, read
+
+ :help abbreviations
+
+
+21.3. When my abbreviations are expanded, an additional space character is
+ added at the end of the expanded text. How do I avoid this character?
+
+To avoid an additional space character at the end of the expanded text, you
+can expand the abbreviation by pressing the CTRL-] key. The abbreviation
+will be expanded without adding a space character at the end.
+
+Another alternative is to use the following function and command:
+
+function! Eatchar(pat)
+ let c = nr2char(getchar())
+ return (c =~ a:pat) ? '' : c
+endfunction
+command! -nargs=+ Iabbr execute "iabbr" <q-args> . "<C-R>=Eatchar('\\s')<CR>"
+
+Now, define your abbreviations using the new "Iabbr" command instead of the
+builtin "iabbrev" command. With this command, after expanding the
+abbreviated text, the next typed space character will be discarded.
+
+For more information, read
+
+ :help abbreviations
+
+
+21.4. How do I insert the current date/time stamp into the file?
+
+You can use the strftime() function to insert the current data/time stamp
+in a file. For example, you can use the following abbreviation:
+
+ iabbrev dts <C-R>=strftime("%y/%m/%d %H:%M")<CR>
+
+With this abbreviation, when you type dts in insert mode, it will be
+expanded to the date/time stamp.
+
+Some other forms of the above abbreviation are listed below:
+
+ iabbrev mdyl <C-R>=strftime("%a %d %b %Y")<CR>
+ iabbrev mdys <C-R>=strftime("%y%m%d")<CR>
+ iabbrev mdyc <C-R>=strftime("%c")<CR>
+ iabbrev hml <C-R>=strftime("%d/%m/%y %H:%M:%S")<CR>
+ iabbrev hms <C-R>=strftime("%H:%M:%S")<CR>
+
+For more information, read
+
+ :help strftime()
+ :help i_CTRL-R
+
+
+21.5. How do I prevent an abbreviation from expanding in insert mode?
+
+You can prevent an abbreviation from expanding in insert mode by typing
+CTRL-V before the character after the abrreviated word.
+
+For more information, read
+
+ :help abbreviations
+
+
+=============================================================================
+
+SECTION 22 - RECORD AND PLAYBACK
+
+
+22.1. How do I repeat an editing operation (insertion, deletion, paste,
+ etc)?
+
+You can repeat the last editing operation using the '.' command. This will
+repeat the last simple change like a insert, delete, change, paste, etc.
+
+For more information, read
+
+ :help 04.3
+ :help single-repeat
+ :help Q_re
+
+
+22.2. How I record and repeat a set of key sequences?
+
+You can use the 'q' command in normal mode to record a set of key sequences
+and store it in a register. For example, in the normal mode you can press q
+followed by a register name {0-9a-bA-Z"} to start the recording. To
+end/stop the recording press q again. You can playback/repeat the recorded
+key sequences by pressing @ followed by the register name. e.g. @a.
+
+Another approach is to start Vim with the "-w" command-line argument.
+
+ $ vim -w <file_name>
+
+Vim will record all the characters typed in the session in the
+specified file "file_name". You can use the recorded file with the "-s"
+command line argument to play it back:
+
+ $ vim -s <file_name>
+
+For more information, read
+
+ :help 10.1
+ :help recording
+ :help -w
+ :help -s
+
+
+22.3. How do I edit/modify a recorded set of key sequences?
+
+The recorded key sequences are stored in a register. You can paste the
+contents of the register into a Vim buffer, edit the pasted text and again
+yank the text into the register. You can also use the ":let" command to
+modify the register. For example:
+
+ :let @a = "iHello World\<Esc>"
+
+For more information, read
+
+ :help recording
+ :help 10.1
+ :help let-register
+ :help <>
+ :help 'cpoptions'
+
+
+22.4. How do I write recorded key sequences to a file?
+
+The recorded key sequences are stored in a register. You can paste the
+contents of the register into a Vim buffer. Now you can save the buffer
+into a file. You can also modify the pasted text and again yank into the
+register to modify the recorded key sequence. For example, if you record a
+set of key sequences using qa ..... q. The recorded key sequences are
+stored in the register 'a'. You can paste the contents of register 'a'
+using "ap.
+
+For more information, read
+
+ :help recording
+ :help 10.1
+
+
+22.5. I am using register 0 to record my key sequences (i.e. q0 .... q).
+ In the recorded key sequences, I am yanking some text. After the
+ first replay of the recorded key sequence, I am no longer able to
+ play it back.
+
+Register 0 contains the text from the last yank operation. In your recorded
+key sequence, when the yank is performed, register 0 is overwritten with
+the yanked text. So your recording stored in register 0 is lost. You have
+to use some other register.
+
+For more information, read
+
+ :help registers
+
+
+=============================================================================
+
+SECTION 23 - AUTOCOMMANDS
+
+
+23.1. How do I execute a command when I try to modify a read-only file?
+
+You can use the FileChangedRO autocommand event to execute a command when a
+read-only file modified. For example, you can use this event to checkout a
+read-only file:
+
+ :autocmd FileChangedRO * call MyCheckoutFunction()
+
+For more information, read
+
+ :help FileChangedRO
+
+
+23.2. How do I execute a command every time when entering a buffer?
+
+You can use the BufEnter autocommand event to execute a command every time
+when entering a buffer. For example:
+
+ :autocmd BufEnter *.c set formatoptions=croqt
+
+For more information, read
+
+ :help BufEnter
+
+
+23.3. How do I execute a command every time when entering a window?
+
+You can use the WinEnter autocommand event to execute a command every time
+when entering a window. For example:
+
+ :autocmd WinEnter *.c call MyFunction()
+
+For more information, read
+
+ :help WinEnter
+
+
+23.4. From an autocmd, how can I determine the name of the file or the
+ buffer number for which the autocommand is executed?
+
+You can use the special words <afile> or <abuf> in an autocmd to get the
+name of the file or the buffer number for which the autocommand is
+executed.
+
+For more information, read
+
+ :help :<afile>
+ :help :<abuf>
+ :help :<amatch>
+
+
+23.5. How do I automatically save all the changed buffers whenever Vim
+ loses focus?
+
+You can define an autocommand for the FocusLost event which will save all
+the modified buffers whenever Vim loses focus:
+
+ :autocmd FocusLost * wall
+
+For more information, read
+
+ :help FocusLost
+ :help :wall
+
+
+23.6. How do I execute/run a function when Vim exits to do some cleanup?
+
+You can use VimLeave autocmd event to execute a function just before Vim
+exists. For example,
+
+ :autocmd VimLeave * call MyCleanupFunction()
+
+For more information, read
+
+ :help VimLeave
+
+
+=============================================================================
+
+SECTION 24 - SYNTAX HIGHLIGHT
+
+
+24.1. How do I turn off/on syntax highlighting?
+
+By default, the Vim syntax highlighting is turned off. To enable the syntax
+highlighting, you can use one of the following commands:
+
+ :syntax enable
+
+ or
+
+ :syntax on
+
+To disable the syntax highlighting, you can use the following command:
+
+ :syntax off
+
+For more information, read
+
+ :help 06.1
+ :help 06.4
+ :help :syntax-enable
+ :help :syntax-on
+ :help :syn-clear
+
+
+24.2. How do I change the background and foreground colors used by Vim?
+
+Vim uses the "Normal" highlight group for the background and foreground
+colors. To change the foreground/background colors, you have to modify the
+"Normal" highlight group. For example, to set the background color to blue
+and foreground color to white, you can use
+
+ :highlight Normal ctermbg=blue ctermfg=white guibg=blue guifg=white
+
+If you are using the Motif or the Athena version of the GUI Vim, then you
+can modify the foreground and background resource names in the .Xdefaults
+files to change the colors:
+
+ Vim.foreground: Black
+ Vim.backround: Wheat
+
+You can also use the "-foreground" and "-background" command-line arguments
+to specify the foreground and background colors. These arguments are
+supported only in the Motif or Athena versions:
+
+ $ gvim -foreground Black -background Wheat
+
+For more information, read
+
+ :help :highlight
+ :help .Xdefaults
+ :help -gui
+
+
+24.3. How do I change the highlight colors to suit a dark/light background?
+
+You can set the 'background' option to either 'dark' or 'light' to change
+the highlight colors to suit a dark/light background:
+
+ :set background=dark
+
+For more information, read
+
+ :help 'background'
+ :help 6.2
+
+
+24.4. How do I change the color of the line numbers displayed when the
+ ":set number" command is used?
+
+The line numbers displayed use the LineNr highlighting group. To display
+the current colors used, use
+
+ :hi LineNr
+
+To change the color modify the LineNr highlight group. For example:
+
+ :hi linenr guifg=red guibg=black
+
+This will give red numbers on a black background in GVIM.
+
+For more information, read
+
+ :help :highlight
+
+
+24.5. How do I change the background color used for a Visually selected
+ block?
+
+You can modify the 'Visual' highlight group to change the color used for a
+visually selected block:
+
+ :highlight Visual guibg=red
+
+For more information, read
+
+ :help :highlight
+ :help hl-Visual
+
+
+24.6. How do I highlight the special characters (tabs, trailing spaces, end
+ of line, etc) displayed by the 'list' option?
+
+You can modify the "NonText" and "SpecialKey" highlight groups to highlight
+the special characters displayed by the 'list' option:
+
+ :highlight NonText guibg=red
+ :highlight SpecialKey guibg=green
+
+The "NonText" highlighting group is used for "eol", "extends" and
+"precedes" settings in the "listchars" option. The "SpecialKey"
+highlighting group is used for the "tab" and "trail" settings.
+
+For more information, read
+
+ :help 'listchars'
+ :help hl-NonText
+ :help hl-SpecialKey
+
+
+24.7. How do I specify a colorscheme in my .vimrc/.gvimrc file, so that Vim
+ uses the specified colorscheme everytime?
+
+You can specify the color scheme using the ":colorscheme" command in your
+.vimrc or .gvimrc file:
+
+ colorschme evening
+
+For more information, read
+
+ :help :colorscheme
+
+
+24.8. Vim syntax highlighting is broken. When I am editing a file, some
+ parts of the file is not syntax highlighted or syntax highlighted
+ incorrectly.
+
+Vim doesn't read the whole file to parse the text for syntax highlighting.
+It starts parsing wherever you are viewing the file. That saves a lot of
+time, but sometimes the colors are wrong. A simple fix is refreshing the
+screen using the CTRL-L key. Or scroll back a bit and then forward again.
+You can also use the command:
+
+ :syntax sync fromstart
+
+Note that this might considerably slow down the screen refreshing.
+
+For more information, read
+
+ :help :syn-sync
+ :help :syn-sync-first
+
+
+24.9. Is there a built-in function to syntax-highlight the corresponding
+ matching bracket?
+
+No. Vim doesn't support syntax-highlighting matching brackets. You can try
+using the plugin developed by Charles Campbell:
+
+ http://vim.sourceforge.net/tips/tip.php?tip_id=177
+
+You can jump to a matching bracket using the '%' key. You can set the
+'showmatch' option to temporarily jump to a matching bracket when in insert
+mode.
+
+For more information, read
+
+ :help %
+ :help 'showmatch'
+ :help 'matchtime'
+ :help 'matchpairs'
+
+
+24.10. How do I turn off the C comment syntax highlighting?
+
+You can use the following command to turn off C comment syntax
+highlighting:
+
+ :highlight clear comment
+
+For more information, read
+
+ :help c-syntax
+
+
+24.11. How do I add my own syntax extensions to the standard syntax files
+ supplied with Vim?
+
+You should not modify the syntax files supplied with Vim to add your
+extensions. When you install the next version of Vim, you will lose your
+changes. Instead you should create a file under the ~/.vim/after/syntax
+directory with the same name as the original syntax file and add your
+additions to this file.
+
+For more information, read
+
+ :help mysyntaxfile-add
+ :help 'runtimepath'
+
+
+24.12. How do I replace a standard syntax file that comes with the Vim
+ distribution with my own syntax file?
+
+You can replace a standary syntax file that comes with the Vim distribution
+by creating a file with the same name as the original syntax file and
+placing it in the vim runtime syntax (~/.vim/syntax) directory. For
+example, to replace the c.vim syntax file in a Unix system, place the new
+c.vim in the ~/.vim/syntax directory. In a MS-Windows system, place the new
+syntax file in the $HOME/vimfiles/syntax or $VIM/vimfiles/syntax directory.
+
+For more information, read
+
+ :help mysyntaxfile-replace
+ :help 44.11
+ :help mysyntaxfile
+
+
+24.13. How do I highlight all the characters after a particular column?
+
+You can use the ":match" command to highlight all the characters after a
+particular column:
+
+ :match Todo '\%>75v.\+'
+
+This will highlight all the characters after the 75th column.
+
+For more information, read
+
+ :help :match
+ :help /\%v
+ :help /\+
+ :help /.
+
+
+24.14. How do I convert a source file (.c, .h, etc) with the Vim syntax
+ highlighting into a HTML file?
+
+You can use the 2html.vim script to convert a source file into a HTML file
+with the Vim syntax highlighting. Use the following command:
+
+ :runtime! syntax/2html.vim
+
+For more information, read
+
+ :help convert-to-HTML
+
+
+24.15. How do I list the definition of all the current highlight groups?
+
+You can list the definition of all the current highlight groups using the
+":highlight" (without any arguments) ex command.
+
+For more information, read
+
+ :help :highlight
+
+
+=============================================================================
+
+SECTION 25 - VIM SCRIPT WRITING
+
+
+25.1. How do I list the names of all the scripts sourced by Vim?
+
+You can use the ":scriptnames" command to list the names of all the scripts
+sourced by Vim:
+
+ :scriptnames
+
+For more information, read
+
+ :help :scriptnames
+
+
+25.2. How do I debug Vim scripts?
+
+Vim has built-in support for a primitive debugger to debug Vim plugins and
+scripts. Using this debugger you can set breakpoints and step through the
+plugin functions.
+
+For more information, read
+
+ :help debug-scripts
+ :help -D
+
+
+25.3. How do I locate the script/plugin which sets a Vim option?
+
+You can use the ":verbose" command to locate the plugin/script which last
+modified a Vim option. For example:
+
+ :verbose set textwidth?
+
+For more information, read
+
+ :help :set-verbose
+ :help :verbose
+
+
+25.4. I am getting some error/informational messages from Vim (possibly
+ when running a script), the messages are cleared immediately. How do
+ I display the messages again?
+
+You can use the ":messages" command to display the previous messages.
+
+ :messages
+
+For more information, read
+
+ :help :messages
+ :help :echoerr
+ :help :echomsg
+ :help message-history
+
+
+25.5. How do I save and restore a plugin specific information across Vim
+ invocations?
+
+Vim will save and restore global variables that start with an uppercase
+letter and don't contain a lower case letter. For this to work, the
+'viminfo' option must contain the '!' flag. Vim will store the variables in
+the viminfo file.
+
+For more information, read
+
+ :help 'viminfo'
+ :help viminfo-file
+ :help variables
+
+
+25.6. How do I start insert mode from a Vim function?
+
+You can use the ":startinsert" command to start the insert mode from inside
+a Vim function.
+
+For more information, read
+
+ :help :startinsert
+
+
+25.7. How do I change the cursor position from within a Vim function?
+
+You can use the cursor() function to position the cursor.
+
+ call cursor(lnum, col)
+
+You can also use the following command to change the cursor position:
+
+ exe "normal! " . lnum . "G" . col . "|"
+
+For more information, read
+
+ :help cursor()
+ :help bar
+
+
+25.8. How do I check the value of an environment variable in the .vimrc
+ file?
+
+You can use prefix the environment variable name with the '$' character to
+use it from a Vim script/function. You can refer to the value of an
+environment variable using the $env_var syntax:
+
+ if $EDITOR == 'vi'
+ endif
+
+For more information, read
+
+ :help expr-env
+
+
+25.9. How do I check whether an environment variable is set or not from a
+ Vim function?
+
+You can use the exists() function to check for the existence of a
+environment variable.
+
+ if exists("$MY_ENV_VAR")
+ endif
+
+For more information, read
+
+ :help exists()
+ :help expr-env
+
+
+25.10. How do I call/use the Vim built-in functions?
+
+You can use the ":call" command to invoke a Vim built-in function:
+
+ :call cursor(10,20)
+
+You can use the ":echo" command to echo the value returned by a function:
+
+ :echo char2nr('a')
+
+You can use the ":let" command to assign the value returned by a function
+to a variable:
+
+ :let a = getline('.')
+
+To store the return value from a function into a Vim register, you can use
+the following command:
+
+ :let @a = system('ls')
+
+The above command will store the return value from the 'ls' command into
+the register 'a'.
+
+For more information, read
+
+ :help :call
+ :help :echo
+ :help :let
+ :help :let-register
+ :help user-functions
+ :help usr_41.txt
+
+
+25.11. I am using some normal mode commands in my Vim script. How do I
+ avoid using the user-defined mappings for these normal mode commands
+ and use the standard Vim functionality for these normal mode
+ commands?
+
+You can use the "normal!" command in your script to invoke a normal-mode
+command. This will use the standard functionality of the normal mode
+command and will not use the user-defined mapping.
+
+For more information, read
+
+ :help :normal
+
+
+25.12. How do I get the current visually selected text into a Vim variable
+ or register?
+
+You can get the current visually selected text into a Vim variable by
+yanking the text into Vim register and then assigning the contents of the
+register into the variable:
+
+ :normal! gvy
+ :let myvar = @"
+
+The above command copies the visually selected text into the variable
+"myvar".
+
+You can also use the command:
+
+ :normal! gv"*y
+
+In the above command, gv reselects the last visually selected text and the
+rest of the command copies the selected text into the * (clipboard)
+register. Alternatively, you can set the 'a' flag in the 'guioptions'
+option to automatically copy a visually selected text into the * register.
+To do this as part of a visual map, you can use a command similar to the
+one shown below:
+
+ :vmap <F3> "*y:call ...
+
+For more information, read
+
+ :help gv
+ :help :normal
+ :help let-@
+ :help quotestar
+ :help clipboard
+ :help registers
+
+
+25.13. I have some text in a Vim variable 'myvar'. I would like to use this
+ variable in a ":s" substitute command to replace a text 'mytext'.
+ How do I do this?
+
+You can use the 'execute' command to evaluate the variable:
+
+ :execute '%s/mytext/' . myvar . '/'
+
+For more information, read
+
+ :help :execute
+
+You can also use "\=" in the substitute command to evaluate the variable:
+
+ :%s/mytext/\=myvar/
+
+For more information, read
+
+ :help sub-replace-special
+
+
+25.14. A Vim variable (bno) contains a buffer number. How do I use this
+ variable to open the corresponding buffer?
+
+The :buffer command will not accept a variable name. It accepts only a
+buffer number or buffer name. You have to use the ":execute" command to
+evaluate the variable into the corresponding value. For example:
+
+ :execute "buffer " . bno
+
+For more information, read
+
+ :help :execute
+
+
+25.15. How do I store the value of a Vim option into a Vim variable?
+
+You can prefix the option name with the '&' character and assign the option
+value to a Vim variable using the "let" command. For example, to store the
+value of the 'textwidth' option into the Vim variable "old_tw", you can use
+the following command:
+
+ :let old_tw = &tw
+
+To do the opposite, to set the 'textwidth' option with the value stored in
+the 'old_tw' variable, you can use the following command:
+
+ :let &tw = old_tw
+
+For more information, read
+
+ :help expr-option
+ :help let-option
+
+
+25.16. I have copied and inserted some text into a buffer from a Vim
+ function. How do I indent the inserted text from the Vim function?
+
+You can use the following command to format the just inserted text:
+
+ :normal '[=']
+
+For more information, read
+
+ :help '[
+ :help ']
+ :help =
+ :help :normal
+
+
+25.17. How do I get the character under the cursor from a Vim script?
+
+You can use the getline() function and use string index [] to get the
+character:
+
+ :echo getline(".")[col(".") - 1]
+
+In the above command, getline(".") returns the text in the current line.
+The indexing of the string starts at zero, and you can get a single
+character in a string by its index with the "string[index]" notation. The
+col(".") returns the column of the cursor position; the adjustment is to
+get the right character of the string.
+
+Alternatively, you can use the following sequence of commands to get the
+character under the cursor:
+
+ normal! vy
+ let ch=@"
+
+Note that the above commands will change the '< and '> marks.
+
+For more information, read
+
+ :help getline()
+ :help col()
+ :help expr-[]
+
+
+25.18. How do I get the name of the current file without the extension?
+
+You can get the name of the current file without the extension using:
+
+ :echo expand("%:r")
+
+With some commands, you can use the file name modifiers directly:
+
+ :cd %:p:h
+ :!gcc -o %:r.o %
+
+For more information, read
+
+ :help filename-modifiers
+ :help expand()
+ :help cmdline-special
+ :help fnamemodify()
+
+
+25.19. How do I get the basename of the current file?
+
+You can use the :t filename modifier to get the basename of the current
+file:
+
+ :echo expand("%:t")
+
+For more information, read
+
+ :help filename-modifiers
+
+
+25.20. How do I get the output from a Vim function into the current buffer?
+
+You can insert the return value from a function using the following command
+in insert mode:
+
+ <C-R>=MyFunc()
+
+Note that this will only insert the return value of the function.
+
+For more information, read
+
+ :help i_CTRL-R
+ :help i_CTRL-R_CTRL-R
+ :help i_CTRL-R_CTRL-O
+ :help expression
+
+
+25.21. How do I call external programs from a Vim function?
+
+There are several ways to call external programs from a Vim function. You
+can use the builtin system() function to invoke external programs and get
+the result:
+
+ :let output = system("ls")
+
+You can also use "!" ex-command to run an external command.
+
+For more information, read
+
+ :help system()
+ :help :!
+ :help 10.9
+
+
+25.22. How do I get the return status of a program executed using the ":!"
+ command?
+
+You can use the predefined Vim v:shell_error variable to get the return
+status of the last run shell command.
+
+For more information, read
+
+ :help v:shell_error
+
+
+25.23. How do I determine whether the current buffer is modified or not?
+
+You can check the value of the 'modified' option to determine whether the
+current buffer is modified:
+
+ :set modified?
+
+From a Vim script, you can check the value of the 'modified' option:
+
+ if &modified
+ echo "File is modified"
+ endif
+
+For more information, read
+
+ :help 'modified'
+
+
+25.24. I would like to use the carriage return character in a normal
+ command from a Vim script. How do I specify the carriage return
+ character?
+
+You can use the ":execute" command to specify the special (control)
+character in a normal mode command:
+
+ :execute "normal \<CR>"
+ :execute "normal ixxx\<Esc>"
+
+For more information, read
+
+ :help :execute
+ :help expr-quote
+
+
+25.25. How do I split long lines in a Vim script?
+
+You can split long lines in a Vim script by inserting the backslash
+character ("\") at the start of the next line. For example,
+
+For more information, read
+
+ :help line-continuation
+
+
+25.26. When I try to "execute" my function using the "execute 'echo
+ Myfunc()'" command, the cursor is moved to the top of the current
+ buffer. Why?
+
+The ":execute" command runs the normal mode command specified by the
+argument. In the case of the following command:
+
+ :execute "echo Myfunc()"
+
+The call to "echo Myfunc()" will return 0. The ":execute" command will run
+the normal mode command "0", which moves the cursor to the top of the file.
+To call a Vim function, you should use the ":call" command instead of the
+":execute" command:
+
+ :call Myfunc()
+
+For more information, read
+
+ :help :call
+ :help :execute
+ :help :echo
+ :help user-functions
+ :help 41.5
+ :help 41.6
+
+
+25.27. How do I source/execute the contents of a register?
+
+If you have yanked a set of Vim commands into a Vim register (for example
+register 'a'), then you can source the contents of the register using one
+of the following commands:
+
+ :@a
+or
+ :exe @a
+
+For more information, read
+
+ :help :@
+
+
+25.28. After calling a Vim function or a mapping, when I press the 'u'
+ key to undo the last change, Vim undoes all the changes made by
+ the mapping/function. Why?
+
+When you call a function or a mapping, all the operations performed by the
+function/mapping are treated as one single operation. When you undo the
+last operation by pressing 'u', all the changes made by the
+function/mapping are reversed.
+
+For more information, read
+
+ :help undo-redo
+ :help map-undo
+
+
+25.29. How can I call a function defined with s: (script local function)
+ from another script/plugin?
+
+The s: prefix for a Vim function name is used to create a script local
+function. A script local function can be called only from within that
+script and cannot be called from other scripts. To define a function in a
+script/plugin, so that it can be called from other plugins/scripts, define
+the function without the s: prefix.
+
+For more information, read
+
+ :help script-variable
+ :help script-local
+ :help :scriptnames
+
+
+25.30. Is it possible to un-source a sourced script? In otherwords, reverse
+ all the commands executed by sourcing a script.
+
+No. It is not possible to reverse or undo all the commands executed by
+sourcing a script.
+
+For more information, read
+
+ :help :source
+
+
+=============================================================================
+
+SECTION 26 - PLUGINS
+
+
+26.1. How do I set different options for different types of files?
+
+You can create filetype plugins to set different options for different
+types of files. You should first enable filetype plugins using the command:
+
+ :filetype plugin on
+
+A filetype plugin is a vim script that is loaded whenever Vim opens or
+creates a file of that type. For example, to ensure that the 'textwidth'
+option is set to 80 when editing a C program (filetype 'c'), create one of
+the following files:
+
+ ~/.vim/ftplugin/c.vim (Unix)
+ %HOME%\vimfiles\ftplugin\c.vim (Windows)
+
+with the following text in it:
+
+ setlocal textwidth=80
+
+You can also use autocommands to set specific options when editing specific
+type of files. For example, to set the 'textwidth' option to 75 for only
+*.txt files, you can use the following autocmd:
+
+ autocmd BufRead *.txt setlocal textwidth=80
+
+For more information, read
+
+ :help filetype-plugin
+ :help add-filetype-plugin
+ :help autocmd
+ :help 40.3
+
+
+26.2. I have downloaded a Vim plugin or a syntax file or a indent file, or
+ a color scheme or a filetype plugin from the web. Where should I copy
+ these files so that Vim will find them?
+
+You can place the Vim runtime files (plugins, syntax files, indent files,
+color schemes, filetype plugins, etc) under one of the directories
+specified in the 'runtimepath' option. To determine the current value of
+the 'runtimepath' option, use the following command:
+
+ :set runtimepath
+
+For Unix systems, this is usally the "$HOME/.vim" directory. For MS-Windows
+systems, this is usually the $VIM\vimfiles or $HOME\vimfiles directory.
+Depending on the type of the runtime file, you have to place it under a
+specific directory under the above runtime directory. The names of the
+directories are listed below:
+
+ colors/ - color scheme files
+ compiler/ - compiler files
+ doc/ - documentation
+ ftplugin/ - filetype plugins
+ indent/ - indent scripts
+ keymap/ - key mapping files
+ lang/ - menu translations
+ plugin/ - plugin scripts
+ syntax/ - syntax files
+ tutor/ - files for vimtutor
+
+For more information, read
+
+ :help your-runtime-dir
+ :help 'runtimepath'
+ :help :runtime
+
+
+26.3. How do I extend an existing filetype plugin?
+
+You can extend an existing filetype plugin by creating a file under either
+the $VIMRTUNTIME/after/ftplugin or the $VIMRTUNTIME/ftplugin directory. The
+name of the file should be the same as the name of the existing filetype
+plugin file. You can place your additions to the new file.
+
+If you placed the file in the after/ftplugin runtime directory, then Vim
+will first source the existing filetype plugin file and then will source
+the new file. If you placed the file in the $VIMRTUNTIME/ftplugin runtime
+directory, then Vim will first source the new file and then will source the
+existing filetype plugin file.
+
+For more information, read
+
+ :help ftplugin-overrule
+ :help filetype-plugin
+ :help add-filetype-plugin
+ :help 'runtimepath'
+
+
+26.4. How do I turn off loading the Vim plugins?
+
+You can reset the 'loadplugins' option to turn off loading the plugins:
+
+ :set noloadplugins
+
+You can also specify the "--noplugin" command line argument to stop loading
+the plugins:
+
+ $ vim --noplugin
+
+For more information, read
+
+ :help 'loadplugins'
+ :help --noplugin
+ :help load-plugins
+
+
+26.5. How do I turn on/off loading the filetype plugins?
+
+By default, Vim will not load the filetype plugins. You can configure Vim
+to load filetype plugins using the command:
+
+ filetype plugin on
+
+You can turn off loading the filetype plugins using:
+
+ filetype plugin off
+
+For more information, read
+
+ :help filetype-plugin-on
+ :help filetype-plugin-off
+ :help :filetype
+
+
+26.6. How do I override settings made in a file type plugin in the global
+ ftplugin directory for all the file types?
+
+You can use an autocommand triggered on the FileType event:
+
+ au Filetype * set formatoptions=xyz
+
+This should at least be after "filetype on" in your vimrc. Best is to put
+it in your "myfiletypefile" file, so that it's always last.
+
+If you want to override a setting for a particular filetype, then create a
+file with the same name as the original filetype plugin in the
+~/.vim/after/ftplugin directory For example, to override a setting in the
+c.vim filetype plugin, create a c.vim file in the ~/.vim/after/ftplugin
+directory and add your preferences in this file.
+
+For more information, read
+
+ :help ftplugin-overrule
+ :help ftplugins
+ :help myfiletypefile
+
+
+26.7. How do I disable the Vim directory browser plugin?
+
+To disable the directory browsing Vim plugin, add the following line to
+your .vimrc file:
+
+ let loaded_explorer = 1
+
+For more information, read
+
+ :help file-explorer
+
+
+26.8. How do I set the filetype option for files with names matching a
+ particular pattern or depending on the file extension?
+
+You can set the 'filetype' option for files with names matching a
+particular pattern using an autocmd. For example, to set the 'filetype'
+option to 'c' for all files with extension '.x', you can use the following
+autocmd:
+
+ autocmd! BufRead,BufNewFile *.x setfiletype c
+
+A better alternative to the above approach is to create a filetype.vim file
+in the ~/.vim directory (or in one of the directories specified in the
+'runtimepath' option) and add the following lines:
+
+ " my filetype file
+ if exists("did_load_filetypes")
+ finish
+ endif
+ augroup filetypedetect
+ au! BufRead,BufNewFile *.x setfiletype c
+ augroup END
+
+For more information, read
+
+ :help new-filetype
+ :help 43.2
+ :help :setfiletype
+
+
+=============================================================================
+
+SECTION 27 - EDITING PROGRAM FILES
+
+
+27.1. How do I enable automatic indentation for C/C++ files?
+
+You can enable file-type based indentation using:
+
+ :filetype indent on
+
+If you want to only enable automatic C indentation, then use:
+
+ :set cindent
+
+For more information, read
+
+ :help 'cindent'
+ :help C-indenting
+ :help filetype
+
+
+27.2. How do I configure the indentation used for C/C++ files?
+
+You can configure the Vim C indentation by modifying the value of the
+'cinoptions', 'cinkeys' and 'cinwords' options.
+
+For more information, read
+
+ :help 'cindent'
+ :help 'cinoptions'
+ :help 'cinkeys'
+ :help 'cinwords'
+ :help C-indenting
+ :help cinoptions-values
+ :help 'smartindent'
+
+
+27.3. How do I turn off the automatic indentation feature?
+
+By default, the automatic indentation is not turned on. You must have
+configured Vim to do automatic indentation in either .vimrc or .gvimrc
+files. You can disable automatic indentation using either,
+
+ :filetype indent off
+
+or
+
+ :set nocindent
+
+Also, check the setting for the following options:
+
+ :set autoindent?
+ :set smartindent?
+ :set indentexpr?
+
+For more information, read
+
+ :help 'cindent'
+ :help filetype-indent-off
+ :help 'autoindent'
+ :help 'smartindent'
+ :help 'indentexpr'
+
+
+27.4. How do I change the number of space characters used for the automatic
+ indentation?
+
+You can modify the 'shiftwidth' option to change the number of space
+characters used for the automatic indentation:
+
+ :set shiftwidth=4
+
+For more information, read
+
+ :help 'shiftwidth'
+
+
+27.5. I am editing a C program using Vim. How do I display the definition
+ of a macro or a variable?
+
+You can use the [d command to display the definition of a macro and the [i
+command to display the definition of a variable.
+
+For more information, read
+
+ :help [d
+ :help [i
+ :help include-search
+ :help 29.4
+ :help 29.5
+
+
+27.6. I am editing a C program using Vim. How do I jump to the beginning or
+ end of a code block from within the block?
+
+You can use '[{' command to jump to the beginning of the code block and ']}
+to jump to the end of the code block from inside the block.
+
+For more information, read
+
+ :help [{
+ :help ]}
+ :help various-motions
+
+
+27.7. Is there a way to turn off the "//" comment auto-insertion behavior
+ for C++ files? If I'm sitting on a line beginning with "//", then I
+ open a new line above or below it, Vim automatically inserts new "//"
+ chars.
+
+You can modify the value of the 'comments' option to stop Vim from
+inserting the C++ comment character ("//") automatically. For example:
+
+ :set comments=sr:/*,mb:*,el:*/
+
+For more information, read
+
+ :help 'comments'
+ :help format-comments
+
+
+27.8. How do I add the comment character '#' to a set of lines at the
+ beginning of each line?
+
+First, select the first character in all the lines using visual block mode
+(CTRL-V). Press 'I' to start inserting characters at the beginning of the
+line. Enter the comment character and then stop the insert mode by pressing
+<Esc>. Vim will automatically insert the entered characters at the
+beginning of all the selected lines.
+
+For more information, read
+
+ :help visual-block
+ :help blockwise-operators
+ :help v_b_I
+
+
+27.9. How do I edit a header file with the same name as the corresponding C
+ source file?
+
+You can use the following command to edit a header file with the same name
+as the corresponding C source file:
+
+ :e %:t:r.h
+
+You can use the following command to edit the file in a new split window:
+
+ :sp %:t:r.h
+
+In the above commands, the percent sign expands to the name of the current
+file. The ":t" modifier extracts the tail (last component) of the
+filename. The ":r" modifier extracts the root of the filename. The .h is
+appended to the resulting name to get the header filename.
+
+Another approach is to use the following command:
+
+ :sfind %:t:r.h
+
+This command will search for the header file in the directories specified
+in the 'path' option.
+
+For more information, read
+
+ :help cmdline-special
+ :help filename-modifiers
+ :help :sfind
+ :help 'path'
+
+
+27.10. How do I automatically insert comment leaders while typing comments?
+
+To automatically insert comment leaders while typing comments, add the 'r'
+and 'o' flags to the 'formatoptions' option.
+
+ :set formatoptions+=ro
+
+You may also want to add the 'c' flag to auto-wrap comments using the
+'textwidth' option setting and the 'q' flag to format comments with the
+"gq" command:
+
+ :set formatoptions=croq
+
+For more information, read
+
+ :help 30.6
+ :help format-comments
+ :help 'comments'
+ :help fo-table
+
+
+=============================================================================
+
+SECTION 28 - QUICKFIX
+
+
+28.1. How do I build programs from Vim?
+
+You can use the ":make" command to build programs from Vim. The ":make"
+command runs the program specified by the 'makeprg' option.
+
+For more information, read
+
+ :help 30.1
+ :help make_makeprg
+ :help 'makeprg'
+ :help 'makeef'
+ :help :make
+ :help quickfix
+
+
+28.2. When I run the make command in Vim I get the errors listed as the
+ compiler compiles the program. When it finishes this list disappears
+ and I have to use the :clist command to see the error message again.
+ Is there any other way to see these error messages?
+
+You can use the ":copen" or ":cwindow" command to open the quickfix window
+that contains the compiler output. You can select different error lines
+from this window and jump to the corresponding line in the source code.
+
+For more information, read
+
+ :help :copen
+ :help :cwindow
+ :help quickfix
+
+
+=============================================================================
+
+SECTION 29 - FOLDING
+
+
+29.1. How do I extend the Vim folding support?
+
+You can use the 'foldexpr' option to fold using an user specified function.
+For example, to fold subroutines of the following form into a single line:
+
+ sub foo {
+ my $barf;
+ $barf = 3;
+ return $barf;
+ }
+
+You can use the following commands:
+
+ set foldmethod=expr
+ set foldexpr=MyFoldExpr(v:lnum)
+ fun! MyFoldExpr(line)
+ let str = getline(a:line)
+ if str =~ '^sub\>'
+ return '1'
+ elseif str =~ '^}'
+ return '<1'
+ else
+ return foldlevel(a:line - 1)
+ endif
+ endfun
+
+For more information, read
+
+ :help 'foldexpr'
+ :help fold-expr
+
+
+29.2. When I enable folding by setting the 'foldmethod' option, all the
+ folds are closed. How do I prevent this?
+
+You can set the 'foldlevelstart' option to a particular value to close only
+folds above the specified value.
+
+ :set foldlevelstart=99
+
+For more information, read
+
+ :help 'foldlevelstart'
+ :help 'foldlevel'
+ :help fold-foldlevel
+
+
+29.3. How do I control how many folds will be opened when I start editing a
+ file?
+
+You can modify the 'foldlevelstart' option to control the number of folds
+that will be opened when you start editing a file. To start editing with
+all the folds closed:
+
+ :set foldlevelstart=0
+
+To start editing with all the folds opened, you can use
+
+ :set foldlevelstart=999
+
+For more information, read
+
+ :help 'foldlevelstart'
+
+
+29.4. How do I open and close folds using the mouse?
+
+You can click on the + and - characters displayed at the leftmost column to
+open and close fold. For this to work, you have to set the 'foldcolumn'
+to a value greater than zero:
+
+ :set foldcolumn=2
+
+For more information, read
+
+ :help 'foldcolumn'
+
+
+29.5. How do I change the text displayed for a closed fold?
+
+You can use the 'foldtext' option to change the text displayed for a closed
+fold.
+
+For more information, read
+
+ :help 'foldtext'
+ :help fold-foldtext
+ :help 'fillchars'
+
+
+29.6. How do I store and restore manually created folds across different
+ Vim invocations?
+
+You can use the ":mkview" command to store manually created folds. Later,
+you can use the ":loadview" command to restore the folds. For this to work,
+the 'viewoptions' must contain "folds".
+
+For more information, read
+
+ :help 28.4
+ :help :mkview
+ :help :loadview
+ :help 'viewoptions'
+ :help 'viewdir'
+ :help :mksession
+ :help 'sessionoptions'
+
+
+=============================================================================
+
+SECTION 30 - VIM WITH EXTERNAL APPLICATIONS
+
+
+30.1. Can I run a shell inside a Vim window?
+
+Currently Vim doesn't have support for running shell and other external
+commands inside a Vim window.
+
+For more information, read
+
+ :help shell-window
+
+Alternatively, you can try using the Unix "screen" utility or the 'splitvt'
+program.
+
+You can also use the vimsh plugin by Brian Sturk to run a shell in a Vim
+window. To use this you need to have Vim built with python support. For
+more information visit the following URL:
+
+ http://vim.sourceforge.net/scripts/script.php?script_id=165
+
+
+30.2. How do I pass the word under the cursor to an external command?
+
+You can use the special keyword <cword> to pass the word under the cursor
+to an external command. For example:
+
+ :!dict <cword>
+
+For more information, read
+
+ :help <cword>
+
+
+30.3. How do I get the output of a shell command into a Vim buffer?
+
+You can use the ":r !" command to get the output of a shell command into a
+Vim buffer. For example, to insert the output of the "ls" shell command,
+you can use the following command:
+
+ :r !ls
+
+To insert the output of the shell command above the first line use the
+following command:
+
+ :0r !ls
+
+For more information, read
+
+ :help :r!
+
+
+30.4. How do I pipe the contents of the current buffer to an external
+ command and replace the contents of the buffer with the output from
+ the command?
+
+You can use the :! command to pipe the contents of the current buffer to a
+external command and replace the contents of the buffer with the output
+from the command. For example, to sort the contents of the current buffer,
+using the Unix sort command, you can use the following command:
+
+ :%!sort
+
+To sort only lines 10-20, you can use the following command
+
+ :10,20!sort
+
+Also, if you want to pipe a buffer to an external command but not put the
+results back in the buffer, you can use
+
+ :w !sort
+
+The above command will pipe the entire buffer to the sort command. Note
+that the space between the 'w' and the '!' is critical. To pipe only a
+range of lines, you can use
+
+ :10,20w !sort
+
+The above command will pipe the lines 10-20 to the sort command.
+
+For more information, read
+
+ :help :range!
+ :help 10.9
+ :help :w_c
+
+
+30.5. How do I sort a section of my file?
+
+You can pipe a section of the file to the Unix "sort" utility to sort the
+file. For example:
+
+ :5,100!sort
+
+You can also use a visual block, and use the "!sort" command on the
+selected block.
+
+To sort using visual blocks (sort based on a column or sort just the column
+itself), read the following tip from the Vim online web page:
+
+http://vim.sourceforge.net/tips/tip.php?tip_id=588
+
+
+30.6. Is there a step-by-step guide for using Vim with slrn?
+
+Visit the following link to get information about using Vim with Slrn:
+
+ http://thingy.apana.org.au/~fun/slrn/
+
+
+30.7. How do I use Vim as a pager?
+
+You can use Vim as a pager using the $VIMRUNTIME/macros/less.sh shell
+script, supplied as part of the standard Vim distribution. This shell
+script uses the $VIMRUNTIME/macros/less.vim Vim script to provide less like
+key bindings.
+
+For more information, read
+
+ :help less
+
+
+30.8. How do I view Unix man pages from inside Vim?
+
+You can view Unix man pages, inside Vim, using the man.vim plugin supplied
+as part of the standard Vim distribution. To use this plugin, add the
+following line to your startup vimrc file:
+
+ runtime ftplugin/man.vim
+
+You can also press the K key to run the program specified by the
+'keywordprg' option with the keyword under the cursor. By default,
+'keywordprg' is set to run man on the keyword under the cursor.
+
+For more information, read
+
+ :help man-plugin
+ :help K
+ :help 'keywordprg'
+
+
+30.9. How do I change the diff command used by the Vim diff support?
+
+By default, the Vim diff support uses the 'diff' command. You can change
+this by changing the 'diffexpr' option.
+
+For more information, read
+
+ :help diff-diffexpr
+ :help 'diffexpr'
+
+
+30.10. How do I use the Vim diff mode without folding?
+
+You can use the following command-line to start Vim with two filenames
+and use the diff mode without folding:
+
+ $ vim -o file1 file2 "+windo set diff scrollbind scrollopt+=hor nowrap"
+
+If you like vertically split windows, then replace "-o" with "-O".
+
+For more information, read
+
+ :help vimdiff
+
+
+=============================================================================
+
+SECTION 31 - GUI VIM
+
+
+31.1. How do I create buffer specific menus?
+
+Adding support for buffer specific menus is in the Vim TODO list. In the
+mean time, you can try Michael Geddes's plugin, buffermenu.vim:
+
+ http://vim.sourceforge.net/scripts/script.php?script_id=246
+
+
+31.2. How do I change the font used by GUI Vim?
+
+You can change the 'guifont' option to change the font used by GUI Vim. To
+display the current value of this option, you can use
+
+ :set guifont?
+
+You can add the displayed font name to the .vimrc file to use the font
+across Vim sessions. For example, add the following line to the .vimrc file
+to use Andale Mono font.
+
+ set guifont=Andale_Mono:h10:cANSI
+
+For Win32, GTK and Photon version of Vim, you can use the following command
+to bringup a dialog which will help you in changing the guifont:
+
+ :set guifont=*
+
+You can also use the -font Vim command line option to specify the font used
+for normal text.
+
+For more information, read
+
+ :help 'guifont'
+ :help 'guifontset'
+ :help 'guifontwide'
+ :help font-sizes
+ :help -font
+ :help -boldfont
+ :help -italicfont
+ :help -menufont
+ :help -menufontset
+
+
+31.3. When starting GUI Vim, how do I specify the location of the GVIM
+ window?
+
+You can use the "-geometry" command line argument to specify the location
+of the GUI Vim window. For example:
+
+ $ gvim -geometry 80x25+100+300
+
+For more information, read
+
+ :help 31.4
+ :help -geom
+
+
+31.4. How do I add a horizontal scrollbar in GVim?
+
+You can enable the horizontal scrollbar by modifying the 'guioptions'
+option:
+
+ :set guioptions+=b
+
+For more information, read
+
+ :help 'guioptions'
+ :help gui-horiz-scroll
+
+
+31.5. How do I make the scrollbar appear in the left side by default?
+
+You can add the 'l' flag to the 'guioptions' option to make the scrollbar
+appear in the left side.
+
+ :set guioptions+=l
+ :set guioptions-=r
+
+For more information, read
+
+ :help 'guioptions'
+ :help gui-scrollbars
+
+
+31.6. How do I remove the Vim menubar?
+
+You can remove the Vim menubar by removing the 'm' flag from the
+'guioptions' option:
+
+ :set guioptions-=m
+
+For more information, read
+
+ :help 'guioptions'
+
+
+31.7. I am using GUI Vim. When I press the ALT key and a letter, the menu
+ starting with that letter is selected. I don't want this behavior as
+ I want to map the ALT-<key> combination. How do I do this?
+
+You can use the 'winaltkeys' option to disable the use of the ALT key to
+select a menu item:
+
+ :set winaltkeys=no
+
+For more information, read
+
+ :help 'winaltkeys'
+ :help :simalt
+
+
+31.8. Is it possible to scroll the text by dragging the scrollbar so that
+ the cursor stays in the original location?
+
+The way Vim is designed, the cursor position has to be in a visible spot in
+normal, visual, select and insert mode. This cannot be changed without
+modifying Vim. When the scrollbar is used, the cursor will be moved so that
+it is always visible. Another approach to solving this problem is to use
+the Vim marks. You can mark the current cursor position using ma. Then
+scroll to a different part of the text and jump back to the old position
+using `a. You can also try the following suggestion from the Vim Online
+website:
+
+ http://www.vim.org/tip_view.php?tip_id=320
+
+For more information, read
+
+ :help mark-motions
+
+
+31.9. How do I get gvim to start browsing files in a particular directory
+ when using the ":browse" command?
+
+You can set the 'browsedir' option to the default directory to use for the
+":browse" command.
+
+ :set browsedir='<your_dir>'
+
+For more information, read
+
+ :help 'browsedir'
+
+
+31.10. For some questions, like when a file is changed outside of Vim, Vim
+ displays a GUI dialog box. How do I replace this GUI dialog box with
+ a console dialog box?
+
+You can set the 'c' flag in the 'guioptions' option to configure Vim to use
+console dialogs instead of GUI dialogs:
+
+ :set guioptions+=c
+
+For more information, read
+
+ :help 'guioptions'
+
+
+31.11. I am trying to use GUI Vim as the editor for my xxx application.
+ When the xxx application launches GUI Vim to edit a file, the
+ control immediately returns to the xxx application. How do I start
+ GUI Vim, so that the control returns to the xxx application only
+ after I quit Vim?
+
+You have to start GUI Vim with the '-f' (foreground) command line option:
+
+ $ gvim -f
+
+By default, GUI Vim will disconnect from the program that started Vim. With
+the '-f' option, GUI Vim will not disconnect from the program that started
+it.
+
+For more information, read
+
+ :help gui-fork
+ :help -f
+
+
+31.12. Why does the "Select Font" dialog doesn't show all the fonts
+ installed in my system?
+
+Vim supports only fixed width (mono-spaced) fonts. Proportional fonts are
+not supported. In the "Select Font" dialog, only fixed width fonts will be
+displayed.
+
+For more information, read
+
+ :help font-sizes
+ :help 'guifont'
+
+
+31.13. How do I use the mouse in Vim command-line mode?
+
+You can set the 'c' flag in the 'mouse' option to use mouse in the Vim
+command-line mode:
+
+ :set mouse+=c
+
+For more information, read
+
+ :help mouse-using
+ :help gui-mouse
+ :help 09.2
+
+
+31.14. When I use the middle mouse button to scroll text, it pastes the
+ last copied text. How do I disable this behavior?
+
+You can map the middle mouse button to <Nop> to disable the middle mouse
+button:
+
+ :map <MiddleMouse> <Nop>
+ :map! <MiddleMouse> <Nop>
+
+For more information, read
+
+ :help gui-mouse-mapping
+ :help <Nop>
+
+
+31.15. How do I change the location and size of a GUI Vim window?
+
+You can use the "winpos" command to change the Vim window position. To
+change the size of the window, you can modify the "lines" and "columns"
+options.
+
+For example, the following commands will position the GUI Vim window at the
+X,Y co-ordinates 50,50 and set the number of lines to 50 and the number of
+columsn to 80.
+
+ :winpos 50 50
+ :set lines=50
+ :set columns=80
+
+The arguments to the 'winpos' command specify the pixel co-ordinates of the
+Vim window. The 'lines' and 'columns' options specify the number of lines
+and characters to use for the height and the width of the window
+respectively.
+
+For more information, read
+
+ :help 31.4
+ :help :winpos
+ :help 'lines'
+ :help 'columns'
+ :help GUIEnter
+
+
+=============================================================================
+
+SECTION 32 - VIM ON UNIX
+
+
+32.1. I am running Vim in a xterm. When I press the CTRL-S key, Vim
+ freezes. What should I do now?
+
+Many terminal emulators and real terminal drivers use the CTRL-S key to
+stop the data from arriving so that you can stop a fast scrolling display
+to look at it (also allowed older terminals to slow down the computer so
+that it did not get buffer overflows). You can start the output again by
+pressing the CTRL-Q key.
+
+When you press the CTRL-S key, the terminal driver will stop sending the
+output data. As a result of this, it will look like Vim is hung. If you
+press the CTRL-Q key, then everything will be back to normal.
+
+You can turn off the terminal driver flow control using the 'stty' command:
+
+ $ stty -ixon -ixoff
+
+or, you can change the keys used for the terminal flow control, using the
+following commands:
+
+ $ stty stop <char>
+ $ stty start <char>
+
+
+32.2. I am seeing weird screen update problems in Vim. What can I do to
+ solve this screen/display update problems?
+
+You have to use a proper terminal emulator like xterm with correct TERM
+settings (TERM=xterm) and a correct terminfo/termcap file.
+For more information, read
+
+ :help 'term'
+
+
+32.3. I am using the terminal/console version of Vim. In insertmode, When I
+ press the backspace key, the character before the cursor is not
+ erased. How do I configure Vim to do this?
+
+You have to make sure that Vim gets the correct keycode for the backpspace
+key. You can try using the command:
+
+ :fixdel
+
+Make sure the TERM environment variable is set to the correct terminal
+name. You can try using the 'stty' command:
+
+ $ stty erase ^H
+
+where, you have to enter the ^H character by pressing the CTRL-V key and
+then the CTRL-H key.
+
+For more information, read
+
+ :help :fixdel
+ :help Linux-backspace
+ :help NetBSD-backspace
+
+
+32.4. I am using Vim in a xterm. When I quit Vim, the screen contents are
+ restored back to the original contents. How do I disable this?
+
+The xterm has a capability called "alternate screen". If this capability
+is present, vim switches to that alternate screen upon startup and back on
+exit, thus restoring the original screen contents. To disable this
+feature, add the following line to your .vimrc file:
+
+ :set t_ti= t_te=
+
+For more information, read
+
+ :help restorescreen
+ :help xterm-screens
+
+
+32.5. When I start Vim, it takes quite a few seconds to start. How do I
+ minimize the startup time?
+
+This may be related to Vim opening the X display for setting the xterm
+title and using the X clipboard. Make sure the DISPLAY variable is set to
+point to the correct host. Try using the command line:
+
+ $ vim -X
+
+This will prevent Vim from opening the X display. With this command-line
+option, the X clipboard cannot be used and also Vim will not be able to
+change the xterm title.
+
+You can also set the 'clipboard' option to
+
+ :set clipboard=exclude:.*
+
+This has the same effect as using the -X command-line argument.
+
+For more information, read
+
+ :help -X
+ :help 'clipboard'
+
+
+32.6. How can I make the cursor in gvim in unix stop blinking?
+
+You can modify the 'guicursor' option, to stop the cursor from blinking.
+For example:
+
+ :set guicursor=a:blinkon0
+
+For more information, read
+
+ :help 'guicursor'
+
+
+32.7. How do I change the menu font on GTK Vim?
+
+You can modify the ~/.gtkrc file to change the menu font on GTK Vim. For
+example:
+
+ style "default"
+ { font ="smooth09" }
+ class "*" style "default"
+
+The last line changes the font of all widgets.
+
+For more information, read
+
+ :help gui-gtk
+
+
+32.8. How do I prevent <Ctrl-Z> from suspending Vim?
+
+You can map <Ctrl-Z> to prevent the suspending. Here are some suggestions:
+
+- Make <Ctrl-Z> do nothing:
+
+ :map <C-Z> <Nop>
+
+- Make <Ctrl-Z> start a shell:
+
+ :map <C-Z> :shell<CR>
+
+- Make <Ctrl-Z> give an error message:
+
+ :map <C-Z> :"suspending disabled<CR>
+
+For the last example, the double quote is necessary in order to keep the
+message on the status line.
+
+
+32.9. When I kill the xterm running Vim, the Vim process continues to run
+ and takes up a lot of CPU (99%) time. Why is this happening?
+
+When Vim is built with support for Python interface, you will have this
+problem. This is a known problem with the python thread library and Vim. To
+solve this problem, use a Vim binary built without the Python interface.
+
+For more information, read
+
+ :help +python
+ :help python
+
+
+32.10. How do I get the Vim syntax highlighting to work in a Unix terminal?
+
+The easiest and simplest way to get Vim syntax highlighting is to use the
+GUI version of Vim (GVIM). To get syntax highlighting to work in the
+console/terminal version of Vim, you have to run a terminal emulator (like
+Xfree86 xterm or rxvt or dtterm) that supports color. Note that if a
+terminal emulator supports changing the background and foreground colors,
+that does not mean that it also supports ANSI escape sequences for changing
+the color. You can download the latest version of Xfree86 xterm from
+http://dickey.his.com/xterm/xterm.html. You can download the latest version
+of rxvt from http://www.rxvt.org. You have to install the terminfo/termcap
+file that supports colors for the terminal emulator. Also, set the TERM
+environment variable to the correct name of the term that supports colors.
+
+You can use the colortest.vim script supplied with the Vim runtime
+package to test the color setup. To use this script, follow these steps:
+
+ :e $VIMRUNTIME/syntax/colortest.vim
+ :source %
+
+For more information, read
+
+ :help 06.2
+ :help terminal-colors
+ :help termcap-colors
+ :help startup-terminal
+ :help xterm-color
+ :help colortest.vim
+
+
+=============================================================================
+
+SECTION 33 - VIM ON MS-WINDOWS
+
+
+33.1. In MS-Windows, CTRL-V doesn't start the blockwise visual mode. What
+ happened?
+
+The mswin.vim script provides key mappings and options to make Vim behave
+like a MS-Windows application. One of the keys mapped is CTRL-V which is
+used for pasting text in MS-Windows applications. This will disable the use
+of CTRL-V to start the blockwise visual mode. The mswin.vim script maps
+CTRL-Q for staring the blockwise visual mode. So you can use CTRL-Q instead
+of CTRL-V.
+
+For more information, read
+
+ :help CTRL-V
+ :help CTRl-V-alternative
+ :help CTRL-Q
+ :help 10.5
+
+
+33.2. When I press the CTRL-Y key, it acts like the CTRL-R key. How do I
+ configure Vim to treat CTRL-Y as CTRL-Y?
+
+The mapping of the CTRL-Y key to the CTRL-R key is done by the mswin.vim
+script. The mswin.vim script maps CTRL-Y to make Vim behave like a standard
+MS-Windows application. This is explained in ":help CTRL-Y". You can either
+comment out the line in mswin.vim that maps the CTRL-Y key or you can
+remove the line in your .vimrc file that sources the mswin.vim script.
+
+
+33.3. How do I start GUI Vim in a maximized window always?
+
+You can use the "simalt" command to maximize the Vim window. You can use
+the GUIEnter autocmd to maximize the Vim window on startup:
+
+ autocmd GUIEnter * simalt ~x
+
+For more information, read
+
+ :help :simalt
+ :help GUIEnter
+ :help gui-win32-maximized
+
+
+33.4. After doing some editing operations, Vim freezes. The cursor becomes
+ an empty rectangle. I am not able enter any characters. What is
+ happening?
+
+Most probably, you used the mouse wheel to scroll the text in Vim. There is
+a known problem in using intellimouse mouse wheel with Vim. To avoid this
+problem, disable Universal scrolling support for Vim.
+
+For more information, read
+
+ :help intellimouse-wheel-problems
+
+
+33.5. I am using Windows XP, the display speed of maximized GVim is very
+ slow. What can I do to speed the display updates?
+
+This may be due to the fact that you have enabled 'Smooth edges of screen
+fonts' in the display properties. Try turning off font smoothing or try
+changing the smoothing method to "Standard".
+
+
+33.6. What are the recommended settings for using Vim with cygwin?
+
+You may want to set the following shell related Vim settings:
+
+ :set shellcmdflag=-c
+ :set shellquote=
+ :set shellslash " Use the forward slash for expansion.
+ :set shellxquote=\"
+ :set shell=d:\cygwin\bin\bash.exe " Use the bash shell
+ :set shellpipe=2>&1| tee
+ :set shellredir=>%s 2>&1
+
+
+33.7. I am trying to use GNU diff with Vim diff mode. When I run the diff
+ from command line, it works. When I try to use the diff with Vim it
+ doesn't work. What should I do now?
+
+There is a problem with using GNU diff with Vim. You can try using the
+GNU diff.exe built by Ron Aaron from the following link:
+
+ http://www.mossbayeng.com/~ron/vim/builds.html
+
+
+33.8. Is it possible to use Vim as an external editor for MS-Windows
+ Outlook email client?
+
+You can use the "cubiclevim" COM Add-In to use Vim as an external editor
+for MS-Windows Outlook email client. Visit the following URL for more
+information:
+
+ http://sourceforge.net/projects/cubiclevim
+
+Note that currently this works only with MS-Office 2000 and XP.
+
+
+33.9. I am using Vim to edit HTML files. How do I start internet explorer
+ with the current file to preview the HTML file?
+
+You can use the following command:
+
+ :!start c:\progra~1\intern~1\iexplore.exe file://%:p<CR>
+
+
+33.10. I would like to use Vim with Microsoft Visual Studio. How do I do
+ this?
+
+You have to download and use the OLE version of Vim (for example:
+gvim61ole.zip). This file also contains instructions on how to use Vim with
+Visual Studio.
+
+For more information, read
+
+ :help MSVisualStudio
+
+
+33.11. Where do I place the _vimrc and _gvimrc files?
+
+You can place the _vimrc and _gvimrc files under the directory pointed to
+by the VIM environment variable. If you are sharing this system with other
+users, then you can place the files in a directory and set the HOME
+environment variable to this directory.
+
+For more information, read
+
+ :help $HOME-use
+ :help _vimrc
+
+
+33.12. Everytime I save a file, Vim warns about the file being changed
+ outside of Vim. Why?
+
+If you get the following warning message, everytime you save a file:
+
+ WARNING: The file has been changed since reading it!!!
+ Do you really want to write to it (y/n)?
+
+then this problem could be related to a bug in MS-Windows on the day
+daylight saving time starts. Vim remembers the timestamp of the file after
+it was written. Just before the next write the timestamp is obtained again
+to check if the file was changed outside of Vim. This works correctly,
+except on the day daylight saving time starts.
+
+This problem will go away the next day after the day the daylight saving
+time starts.
+
+For more information, read
+
+ :help W11
+
+
+=============================================================================
+
+SECTION 34 - PRINTING
+
+
+34.1. How do I print a file along with line numbers for all the lines?
+
+You can set the 'printoptions' option and use the ":hardcopy" command to
+print your file:
+
+ :set printoptions=number:y
+ :hardcopy
+
+For more information, read
+
+ :help 'printoptions'
+ :help :hardcopy
+
+
+34.2. How do I print a file with the Vim syntax highlighting colors?
+
+You can use the ":hardcopy" command to print a file with the Vim syntax
+highlighting colors. You can also convert your file to a HTML file using
+the 2html.vim script and print the HTML file.
+
+For more information, read
+
+ :help syntax-printing
+ :help 2html.vim
+ :help :hardcopy
+ :help printing
+
+
+=============================================================================
+
+SECTION 35 - BUILDING VIM FROM SOURCE
+
+
+35.1. How do I build Vim from the sources on a Unix system?
+
+For a Unix system, follow these steps to build Vim from the sources:
+
+- Download the source and run-time files archive (vim-##.tar.bz2) from the
+ ftp://ftp.vim.org/pub/vim/unix directory.
+- Extract the archive using the bzip2 and tar utilities using the command:
+
+ $ bunzip2 -c <filename> | tar -xf -
+
+- Run the 'make' command to configure and build Vim with the default
+ configuration.
+- Run 'make install' command to install Vim in the default directory.
+
+To enable/disable various Vim features, before running the 'make' command
+you can run the 'configure' command with different flags to include/exclude
+the various Vim features. To list all the available options for the
+'configure' command, use:
+
+ $ configure -help
+
+For more information, read
+
+ :help install
+
+
+35.2. How do I install Vim in my home directory or a directory other
+ than the default installation directory in Unix?
+
+To install Vim in a directory other than the default installation
+directory, you have to specify the directory using the --prefix option
+while running the configure script.
+
+ $ ./configure --prefix=/users/xyz
+
+You can enable/disable various Vim feature by supplying different arguments
+to the configure script. For more information about all these options, run
+
+ $ ./configure --help
+
+For more information, read
+
+ :help install-home
+ :help install
+
+
+35.3. How do I build Vim from the sources on a MS-Windows system?
+
+For a MS-Windows system, Vim can be built using either the Visual C++
+compiler or the Borland C++ compiler or the Ming GCC compiler or the cygwin
+gcc compiler. Follow these steps to build Vim from the sources for
+MS-Windows:
+
+- Download the source (vim##src.zip), runtime (vim##rt.zip) and the extra
+ (vim-##-extra.tar.gz) archives from the ftp://ftp.vim.org/pub/vim/pc
+ directory.
+- Extract the archives into a directory (for example, c:\vimsrc)
+- Depending on the installed compiler, you can use the corresponding
+ makefile to build the Vim sources. For Visual C++ use the Make_mvc.mak
+ makefile, for borland C++ use the Make_bc5.mak makefile, for ming GCC use
+ the Make_ming.mak makefile, for cygwin gcc use the Make_cyg.mak makefile.
+
+Depending on whether you want to build the GUI version of Vim or the
+console version of Vim, you have to pass different arguments to the
+makefiles. After successfully building the sources, you can copy the
+vim.exe or gvim.exe file to the desired directory along with the files from
+the runtime archive.
+
+You can visit the following site for extensive information about building
+Vim on a MS-Windows system using the various compilers:
+
+ http://mywebpage.netscape.com/SharpPeople/vim/howto/index.html
+
+For more information, read
+
+ :help install
+
+
+35.4. The Vim help, syntax, indent files are missing from my Vim
+ installation. How do I install these files?
+
+The Vim help, syntax, indent and other runtime files are part of the Vim
+runtime package. You need to download and install the Vim runtime package.
+For example, for MS-Windows, the name of the Vim 6.1 runtime package is
+vim61rt.zip.
+
+For more information, read
+
+ :help install
+
+
+35.5. I have built Vim from the source and installed the Vim package using
+ "make install". Do I need to keep the Vim source directory?
+
+No. Once you have built and installed Vim in some directory other than the
+original source directory (for example, /usr/bin or /usr/local/bin), then
+you can remove the source directory.
+
+
+35.6. How do I determine the Vim features which are enabled at compile
+ time?
+
+You can use the ":version" command to determine the Vim features that are
+enabled at compile time. The features that are enabled will be prefixed
+with a "+". The features that are not enabled will be prefixed with a "-".
+
+If you want to test for a feature in a script, you can use the has()
+function:
+
+ if has("menu")
+ " Set up some menus
+ endif
+
+For more information, read
+
+ :help :version
+ :help +feature-list
+ :help has()
+
+
+35.7. Can I build Vim without the GUI support?
+
+Yes. You can build Vim by optionally enabling/disabling many of the
+features including GUI.
+
+For more information, read
+
+ :help install
+
+
+35.8. When building Vim on a Unix system, I am getting "undefined reference
+ to term_set_winsize' error. How do I resolve this error?
+
+You will get this error when the build process is not able to locate the
+termlib, termcap or ncurses library. You have to install the ncurses-dev
+package to resolve this error.
+
+
+35.9. Vim configure keeps complaining about the lack of gtk-config while
+ trying to use GTK 2.03. This is correct, since in GTK 2 they moved to
+ using the generic pkg-config. I can get pkg-config to list the
+ various includes and libs for gtk, but for some reason the configure
+ script still isn't picking this up.
+
+Use the following shell script named gtk-config:
+
+ #!/bin/sh
+ pkg-config gtk+-2.0 $1 $2
+
+
+=============================================================================
+
+SECTION 36 - VARIOUS
+
+
+36.1. How do I edit binary files with Vim?
+
+You can set the following options to edit binary files in Vim:
+
+ :set binary
+ :set display=uhex
+
+You can also use the "-b" command-line option to edit a binary file:
+
+ $ vim -b <binary_file_name>
+
+You can also use the xxd utility (part of the Vim distribution) to edit
+binary files.
+
+For more information, read
+
+ :help 23.4
+ :help edit-binary
+ :help hex-editing
+ :help -b
+ :help 'binary'
+ :help 'endofline'
+ :help 'display'
+
+
+36.2. How do I disable the visual error flash and the error beep?
+
+You can disable both the visual error flash and the error beep using the
+following command:
+
+ :set visualbell t_vb=
+
+For more information, read
+
+ :help 'visualbell'
+ :help 'errorbells'
+ :help t_vb
+
+
+36.3. How do I display the ascii value of a character displayed in a
+ buffer?
+
+You can use the 'ga' command to display the ascii value of a displayed
+character.
+
+For more information, read
+
+ :help ga
+ :help :ascii
+
+
+36.4. Can I use zero as a count for a Vim command?
+
+You cannot use zero as a count for a Vim command, as "0" is a command on
+its own, moving to the first column of the line.
+
+For more information, read
+
+ :help 0
+ :help count
+
+
+36.5. How do I disable the Vim welcome screen?
+
+You can disable the Vim welcome screen, by adding the 'I' flag to the
+'shortmess' option:
+
+ :set shortmess+=I
+
+For more information, read
+
+ :help :intro
+ :help 'shortmess'
+
+
+36.6. How do I avoid the "hit enter to continue" prompt?
+
+Vim will prompt you with the "hit enter to continue" prompt, if there are
+some messages on the screen for you to read and the screen is about to be
+redrawn. You can add the 'T' flag to the 'shortmess' option to truncate
+all messages. This will help in avoiding the hit-enter prompt:
+
+ :set shortmess+=T
+
+You can also increase the command height by setting the 'cmdheight' option:
+
+ :set cmdheight=2
+
+For more information, read
+
+ :help hit-enter
+ :help avoid-hit-enter
+ :help 'shortmess'
+ :help 'cmdheight'
+
+
+36.7. How do I invoke Vim from command line to run a group of commands on a
+ group of files?
+
+There are several ways to invoke Vim from command line to run a group of
+commands on a group of files. You can use a set of "-c" command line
+options to specify a group of commands:
+
+ $ vim -c "<ex_command_1>" -c "<ex_command_2>" *.txt
+
+Each of the ex-command specified with the "-c" command line option is
+executed one by one sequentially. You can also use a single "-c" command
+line option and the "|" character to separate the ex commands:
+
+ $ vim -c "<ex_command_1> | <ex_command_2>" *.txt
+
+In the above command, if an ex command fails, then all the remaining ex
+commands will not be executed.
+
+For example, to replace "ABC" with "DEF" in a file from the command-line,
+you can use the following command:
+
+ $ vim -c "%s/ABC/DEF/ge | update" myfile.txt
+
+To replace "ABC" with "DEF" in multiple files from the command-line,
+you can use the following command:
+
+ $ vim -c "argdo %s/ABC/DEF/ge | update" *.txt
+
+You can store the group of commands into a file and use the "-s" command
+line option to run the commands on a set of files. For example, if the
+group of commands are stored in the file mycmds.txt, then you can use the
+following command:
+
+ $ vim -s mycmds.txt *.pl
+
+For more information, read
+
+ :help -c
+ :help -s
+
+
+36.8. How do I use a normal mode command from insert mode without leaving
+ the insert mode?
+
+You can use a normal command from insert mode, without leaving the insert
+mode, by first pressing the CTRL-O key and then follow that with a single
+normal mode command.
+
+To execute more than one normal mode command, press the CTRL-L key,
+followed by any number of normal mode commands and then press <Esc> to get
+back to the insert mode.
+
+For more information, read
+
+ :help i_CTRL-O
+ :help i_CTRL-L
+
+
+36.9. How do I start Vim in insert mode?
+
+You can start Vim in insert mode using the ":startinsert" ex command.
+
+ $ vim +startinsert myfile.txt
+
+The above command will open the file "myfile.txt" and start insert mode
+with the cursor in front of the first character on the first line. To open
+the file and start appending after the last character on the last line,
+you can use the following command:
+
+ $ vim + +startinsert! myfile.txt
+
+For more information, read
+
+ :help :startinsert
+
+
+=============================================================================
+
+SECTION 37 - UNICODE
+Author: Tony Mechelynck <antoine.mechelynck AT belgacom.net>
+
+
+37.1. Is it possible to create Unicode files using Vim?
+
+Yes. It may be more or less complicated depending on the keyboard and fonts
+available to you, but it is always possible to encode any possible Unicode
+codepoint (and some illegal ones) into a file. To create a Unicode file
+using Vim, you should have compiled Vim with the "+multi_byte" compile-time
+option. You can get more information about Unicode from the following
+sites:
+
+ http://www.unicode.org
+ http://www.cl.cam.ac.uk/~mgk25/unicode.html
+
+For more information, read
+
+ :help multibyte
+ :help usr_45.txt
+
+
+37.2. Which Vim settings are particularly important for editing Unicode
+ files?
+
+The most important are the various "encoding" options, i.e., 'encoding',
+'fileencoding', 'fileencodings' and 'termencoding'. The boolean option
+'bomb' is also significant.
+
+For more information, read
+
+ :help 'encoding'
+ :help 'fileencoding'
+ :help 'fileencodings'
+ :help 'termencoding'
+ :help 'bomb'
+
+
+37.3. What is the 'encoding' option?
+
+Basically, the 'encoding' option defines how Vim will represent your data
+internally. However, all Unicode encodings are represented internally as
+utf-8 and converted (if necessary) when reading and writing.
+
+For more information, read
+
+ :help 'encoding'
+
+
+37.4. How does Vim name the various Unicode encodings?
+
+Utf-8 is called utf-8 or utf8; utf-16 is called ucs-2 or ucs2; utf-32 is
+called ucs-4 or ucs4. Also, you may specify endianness (except for utf-8
+which does not vary for endianness) by appending le for little-endian or be
+for big-endian. If you create a file with an encoding of ucs-2 or ucs-4
+without specifying endianness, Vim will use what is typical of your
+machine.
+
+For more information, read
+
+ :help encoding-names
+ :help encoding-values
+ :help encoding-table
+
+
+37.5. How does Vim specify the presence or absence of a byte-order mark?
+
+When reading a file, if the 'fileencodings' option includes "ucs-bom", Vim
+will check for a byte-order mark. When writing a file, if the 'bomb' option
+is set, Vim will write a byte-order mark on files whose encoding warrants
+it.
+
+For more information, read
+
+ :help 'fileencodings'
+ :help 'bomb'
+
+
+37.6. What is the 'fileencoding' option?
+
+The 'fileencoding' option defines the particular encoding which Vim will
+use to write a file. If empty, then the value of the 'encoding' option is
+the default.
+
+For more information, read
+
+ :help 'fileencoding'
+
+
+37.7. What is the 'fileencodings' option?
+
+The 'fileencodings' option defines the heuristics used by Vim when opening
+an existing file. It is a comma separated list of encodings. A special
+name, "ucs-bom" is used to indicate that Vim should check for the presence
+of a byte-order mark; however, it will not be recognised if it comes after
+"utf-8". Normally, "ucs-bom" (if present) should be first in the list.
+
+When Vim opens a file, it checks it against the encodings listed in
+'fileencodings'. The first one that matches is used. If there is no match,
+then Vim sets 'fileencoding' to the null string, i.e., the value of
+'encoding' will be used.
+
+For more information, read
+
+ :help 'fileencodings'
+ :help 'encoding'
+
+
+37.8. What is the 'termencoding' option?
+
+The 'termencoding' option defines how your keyboard encodes the data you
+type. If empty, Vim assumes that it has the same value as 'encoding'.
+Usually it should be set to something that matches your locale.
+
+For more information, read
+
+ :help 'termencoding'
+ :help locale
+
+
+37.9. What is the 'bomb' option?
+
+When reading a file with "ucs-bom" present in the 'fileencodings' option,
+Vim will set the 'bomb' option on or off depending on the presence or
+absence of a byte-order mark at the start of the file. When writing, Vim
+will write a byte-order mark if the 'bomb' option is set. You may set or
+unset it manually do make Vim write, or not write, the b.o.m.
+
+For more information, read
+
+ :help 'bomb'
+
+
+37.10. Where can I find an example of a typical use of all these options?
+
+There is a "tip", with explains them in different words with an example, at
+http://vim.sourceforge.net/tip_view.php?tip_id=246 .
+
+
+37.11. How can I insert Unicode characters into a file using Vim?
+
+Several methods are available:
+
+- Characters present on your keyboard can be typed in the usual way, even
+ those which require a "dead-key" prefix, like (for instance) the
+ circumflex on French keyboards.
+- Characters for which a digraph is defined can be typed as two characters
+ prefixed by <Ctrl-K>.
+- If you have set the 'digraph' option, you can enter the characters for
+ which a digrph is defined as <char1><BS><char2>.
+- Any character can be entered by using a <Ctrl-V> prefix (or <Ctrl-Q> if
+ <Ctrl-V> is remapped to paste from the clipboard).
+
+For more information, read
+
+ :help digraphs
+ :help 'digraph'
+ :help i_CTRL-V_digit
+
+
+37.12. How can I know which digraphs are defined and for which characters?
+
+First set the 'encoding' option properly (for instance, to utf-8), then use
+the :digraphs command to list the currently defined digraphs.
+
+For more information, read
+
+ :help :digraphs
+ :help 'encoding'
+
+
+=============================================================================
+
+Current Maintainer: Yegappan Lakshmanan
+Last updated on: 2 January 2005
+
diff --git a/debian/NEWS b/debian/NEWS
new file mode 100644
index 0000000..99b2800
--- /dev/null
+++ b/debian/NEWS
@@ -0,0 +1,85 @@
+vim (2:8.0.0022-1) unstable; urgency=medium
+
+ Vim now ships with a defaults.vim file which, when the user has no vimrc,
+ enables some options that have historically been disabled by default. This
+ is described in more detail at ":help defaults.vim".
+
+ Since defaults.vim is loaded when the user's vimrc would typically be
+ loaded, it will override any settings in /etc/vim/vimrc(.local). In order
+ to disable the loading of defaults.vim, add
+
+ let g:skip_defaults_vim = 1
+
+ to /etc/vim/vimrc(.local).
+
+ -- James McCoy <jamessan@debian.org> Tue, 04 Oct 2016 20:28:02 -0400
+
+vim (2:7.4.2330-1) unstable; urgency=medium
+
+ The Python language bindings have been switched from python2 to python3.
+ If you have plugins/addons that use Python, they may need to be updated to
+ support python3.
+
+ Similarly, python3 specific packages may need to be installed to re-enable
+ plugins (e.g., python-powerline is replaced by python3-powerline) or plugin
+ features.
+
+ -- James McCoy <jamessan@debian.org> Wed, 07 Sep 2016 22:12:11 -0400
+
+vim (2:7.3.154+hg~74503f6ee649-1) unstable; urgency=low
+
+ The vim-lesstif package has been removed in favor of the new vim-athena
+ package. The intent behind both packages is to provide a lighter-weight GUI
+ package as well as one that allows using XFLD fonts. The Athena toolkit,
+ however, has broader usage and reduces divergences with downstream
+ distributions.
+
+ -- James Vega <jamessan@debian.org> Sun, 27 Feb 2011 12:45:40 -0500
+
+vim (2:7.2c.000-1) experimental; urgency=low
+
+ The autoindent option is no longer enabled by default because:
+ - 'autoindent' is rather naïve and turning on filetype-specific indentation
+ (via "filetype indent on") is usually a better choice.
+ - not having any automatic indenting enabled by default prevents new users
+ from encountering the bad indentation issue when pasting text.
+
+ Filetype plugins are no longer enabled by default because certain actions
+ (like preventing the loading of the default menus) *must* occur before
+ filetype detection is enabled. By enabling filetype plugins (and detection)
+ in debian.vim, we are preventing the user from being able to make changes to
+ Vim's behavior. Filetype plugins can be re-enabled via
+ "filetype plugin on".
+
+ -- James Vega <jamessan@debian.org> Thu, 07 Aug 2008 12:25:39 -0400
+
+vim (1:7.1.285-1) unstable; urgency=low
+
+ Due to popular demand (and general conformity with other filetype plugins),
+ the debchangelog and debcontrol filetype plugins no longer enable folding by
+ default. If you wish to enable their folding, you can add the following
+ commands to your ~/.vimrc for debchangelog and debcontrol, respectively:
+
+ let g:debchangelog_fold_enable = 1
+ let g:debcontrol_fold_enable = 1
+
+ -- James Vega <jamessan@debian.org> Sun, 30 Mar 2008 12:42:35 -0400
+
+vim (1:7.1-022+1) unstable; urgency=low
+
+ * /usr/share/vim/addons/ is no longer in the vim runtimepath
+
+ This is intended to avoid arbitrarly clashes among addons installed
+ system-wide and enabled by default, and to set up a common ground for Vim
+ extensions of various kinds. From now on vim addons won't be enabled by
+ default upon installation but will need to be enabled on a per-addon basis
+ either in a system-wide manner (affecting all users of the system) or by
+ each user who wants to use them. A tool exists for helping with addon
+ management: it is called "vim-addons" and is shipped by the package
+ "vim-addon-manager"; all vim addon packages should recommend it.
+
+ For more information see the VIM packaging policy (available on the web at
+ http://pkg-vim.alioth.debian.org/vim-policy.html/index.html) and the
+ manual page of vim-addons, available in the vim-addon-manager package.
+
+ -- Stefano Zacchiroli <zack@debian.org> Thu, 19 Jul 2007 23:28:44 +0200
diff --git a/debian/README.Debian b/debian/README.Debian
new file mode 100644
index 0000000..75f433a
--- /dev/null
+++ b/debian/README.Debian
@@ -0,0 +1,49 @@
+Vim for Debian
+---------------
+
+1. The current Debian Vim scripts policy can be found in the vim-doc package
+ under /usr/share/doc/vim-common and
+ <http://pkg-vim.alioth.debian.org/vim-policy.html/>.
+
+2. Before reporting bugs, check if the bug also exists if you run vim
+ with "vim -u NONE -U NONE". If not, make sure that the "bug" is not
+ a result of a setting in your ~/.vimrc before reporting it.
+
+ -- Stefano Zacchiroli <zack@debian.org> Mon, 10 Apr 2006 09:59:41 -0400
+
+MzScheme Vim variant
+--------------------
+
+As requested by the current MzScheme maintainer (Ari Pollak <ari@debian.org>),
+a vim-mzscheme variant is not being built. The reasons stated are as follows:
+
+ 1) MzScheme does not build on many of Debian's supported architectures.
+
+ 2) The MzScheme package is not versioned based on the library.
+
+ 3) The MzScheme ABI changes with every upstream version.
+
+ -- James Vega <jamessan@debian.org> Mon, 10 Apr 2006 09:48:25 -0400
+
+Modeline support disabled by default
+------------------------------------
+
+Modelines have historically been a source of security/resource vulnerabilities
+and are therefore disabled by default in $VIMRUNTIME/debian.vim.
+
+You can enable them in ~/.vimrc or /etc/vim/vimrc with "set modeline".
+
+In order to mimic Vim's default setting (modelines disabled when root, enabled
+otherwise), you may instead want to use the following snippet:
+
+ if $USER != 'root'
+ set modeline
+ else
+ set nomodeline
+ endif
+
+The securemodelines script from vim.org (and in the vim-scripts package) may
+also be of interest as it provides a way to whitelist exactly which options
+may be set from a modeline.
+
+ -- James Vega <jamessan@debian.org> Sun, 04 May 2008 03:11:51 -0400
diff --git a/debian/README.source b/debian/README.source
new file mode 100644
index 0000000..f4d85a1
--- /dev/null
+++ b/debian/README.source
@@ -0,0 +1,41 @@
+If you are reading this from a Debian source package, you can stop now;
+this package should build normally after extracting with dpkg-source -x.
+The rest of this file gives some hints about generating source packages
+from the packaging git repository.
+
+This repository maintains patches to upstream source using gbp-pq. These
+patches are serialized to debian/patches/.
+
+In order to modify an existing patch, simply run “gbp pq import”. This will
+create a local branch with the commits that were used to create the patches.
+Edit or amend the commits as necessary.
+
+In order to create a new patch, switch to the patch using “gbp pq import” as
+before. If a patch file exists, use “gbp pg apply --topic={upstream,debian}
+patchfile” to apply the patch (works like “git am”). If the patch is intended
+to be upstreamed, it should be applied before any Debian-specific patches and
+use the "upstream" topic. Alternatively, if the patch is not intended to be
+upstreamed, it should use the "debian" topic and be applied after any upstream
+patches.
+
+When updating to a new version of upstream code, the patches need to be rebased
+on the new upstream code. The process is
+
+* Create the patch-queue branch -- gbp pq import
+* Switch back to the packaging branch -- gbp pq switch
+* Merge the upstream tag -- git merge vX.Y.ZZZZ
+* Rebase the patches -- gbp pq rebase
+ * Make any adjustments/fixups, as necessary
+* Switch back to the packaging branch -- gbp pq switch
+* Export the patches -- gbp pq export
+
+Whenever the patch queue branch is modified, those changes need to be exported
+back to the packaging branch. “gbp pq switch” will change from the patch queue
+branch to the packaging branch. At that point, “gbp pq export” will update
+debian/patches/ with the current state of the patch queue. This needs to be
+commited just like any other change.
+
+There are hooks setup in the git repo to avoid pushing the patch queue
+branches, but it's also wise to remove the local branch when done with the
+changes. The repository's configuration is set to delete the branch
+automatically after running “gbp pq export” in order to help enforce this.
diff --git a/debian/bug-presubj b/debian/bug-presubj
new file mode 100644
index 0000000..be9069f
--- /dev/null
+++ b/debian/bug-presubj
@@ -0,0 +1,15 @@
+Before filing a bug, please ensure that your configuration is not the cause of
+the bug. At the very least, this can help narrow down exactly where the bug
+exists or what option is causing the behavior.
+
+If the potential bug is part of Vim's basic functionality, run
+
+ (g)vim -u NONE -U NONE -N
+
+If the potential bug is part of Vim's plugins, run
+
+ (g)vim -u NORC -U NORC -N
+
+If the potential bug is part of Vim's filetype-specific functionality, run
+
+ (g)vim -u NORC -U NORC --cmd 'filetype plugin indent on' -N
diff --git a/debian/bug-script b/debian/bug-script
new file mode 100644
index 0000000..58911de
--- /dev/null
+++ b/debian/bug-script
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+printf "\n--- real paths of main Vim binaries ---\n" >&3
+for f in vi vim gvim; do
+ if [ -L "/usr/bin/$f" ]; then
+ printf "/usr/bin/$f is $(readlink -f /usr/bin/$f)\n" >&3
+ fi
+done
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..d771fb0
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,6850 @@
+vim (2:8.1.0875-5+deb10u2) buster; urgency=medium
+
+ * Revert unintentional inclusion of v8.2.3489, which is only relevant to Vim
+ 8.2.3110 and later.
+
+ -- James McCoy <jamessan@debian.org> Sat, 25 Dec 2021 10:48:51 -0500
+
+vim (2:8.1.0875-5+deb10u1) buster; urgency=medium
+
+ * Change gbp.conf and salsa config to use buster
+ * Backport 8.1.0881 and 8.1.0883 to fix CVE-2019-20807
+ + 8.1.0881: can execute shell commands in rvim through interfaces
+ + 8.1.0883: missing some changes for Ex commands
+ * Backport patches 8.1.0936, 8.2.3402, and 8.2.3403 to fix CVE-2021-3770
+ (Closes: #994076)
+ + 8.1.0936: may leak memory when using 'vartabstop'
+ + 8.2.3402: invalid memory access when using :retab with large value
+ + 8.2.3403: memory leak for :retab with invalid argument
+ * Backport v8.2.3409 to fix CVE-2021-3778 (Closes: #994498)
+ + 8.2.3409: reading beyond end of line with invalid utf-8 character
+ * Backport v8.2.3428 to fix CVE-2021-3796 (Closes: #994497)
+ + 8.2.3428: using freed memory when replacing
+
+ -- James McCoy <jamessan@debian.org> Sun, 26 Sep 2021 09:29:21 -0400
+
+vim (2:8.1.0875-5) unstable; urgency=medium
+
+ * gbp.conf: Set debian-tag to debian/%(version)s
+ * Backport 'modelineexpr' patches to further restrict modelines
+ + 8.1.1366: Using expressions in a modeline is unsafe
+ + 8.1.1367: can set 'modelineexpr' in modeline
+ + 8.1.1368: Modeline test fails with python but without pythonhome
+ + 8.1.1382: Error when editing test file
+ + 8.1.1401: misspelled mkspellmem as makespellmem (test fix)
+
+ -- James McCoy <jamessan@debian.org> Sat, 15 Jun 2019 12:41:15 -0400
+
+vim (2:8.1.0875-4) unstable; urgency=high
+
+ * Backport 8.1.1046 and 8.1.1365 to fix CVE-2019-12735 (Closes: #930020)
+ + 8.1.1365: source command doesn't check for the sandbox
+
+ -- James McCoy <jamessan@debian.org> Fri, 07 Jun 2019 06:49:19 -0400
+
+vim (2:8.1.0875-3) unstable; urgency=medium
+
+ * syntax/deb{changelog,sources}: Update release names for Debian/Ubuntu
+ (Closes: #927167)
+
+ -- James McCoy <jamessan@debian.org> Sun, 05 May 2019 23:41:10 -0400
+
+vim (2:8.1.0875-2) unstable; urgency=medium
+
+ * Backport 8.1.0878 and 8.1.0884 to fix test failures on kFreeBSD.
+ * Backport 8.1.0948 to avoid enabling filetype detection when the +eval
+ feature isn't present. (Closes: #922106)
+
+ -- James McCoy <jamessan@debian.org> Fri, 22 Feb 2019 07:55:04 -0500
+
+vim (2:8.1.0875-1) unstable; urgency=medium
+
+ * Merge upstream patch v8.1.0875
+ + "autocmd", "multi_byte", "virtualedit", and "visualextra" features are
+ now always enabled.
+ + New Blob type, for working with raw bytes.
+ + Support a 3rd character for the "tab" setting in the 'listchars' option.
+ + *.com files under /etc/apache2/sites-* are properly recognized as apache
+ filetype. (Closes: #740387)
+ + syntax/debchangelog.vim: Recognize "emergency" as a valid urgency.
+ (Closes: #920522)
+ + Support 64-bit offsets for xxd. (Closes: #771456)
+ * rules:
+ + Remove --enable-multibyte since it is always enabled
+ * debian.vim:
+ + Remove has('autocmd') checks since it is always enabled
+ * gvimrc:
+ + Adapt gui check to work for gtk2/gtk3
+
+ -- James McCoy <jamessan@debian.org> Mon, 04 Feb 2019 23:11:09 -0500
+
+vim (2:8.1.0693-2) unstable; urgency=medium
+
+ * Separate /etc/vim and /usr/share/vim/vimfiles. The former should be for
+ the sysadmin, while the latter is used by packages.
+ + Make /usr/share/vim/vimfiles a directory, not a symlink to /etc/vim
+ + Add /etc/vim to the default 'runtimepath'
+
+ -- James McCoy <jamessan@debian.org> Sat, 05 Jan 2019 15:53:12 -0500
+
+vim (2:8.1.0693-1) unstable; urgency=medium
+
+ * Merge upstream tag v8.1.0693
+ * control:
+ + Remove obsolete vim-gnome package
+ + Remove ${shlibs:Depends} from vim-common, since it is Arch: all
+ + Build-Depend on libtool-bin to run libterm tests
+ + Replace libtinfo-dev Build-Depends with libncurses-dev
+ + Change Homepage to https://www.vim.org/
+ * Use debian/clean to cleanup files/directories
+ * rules:
+ + Rename stamp files so dh_clean deletes them automatically
+ + Ensure helptags are generated before running tests
+ * Declare compliance with Policy 4.3.0, no changes needed
+
+ -- James McCoy <jamessan@debian.org> Sat, 05 Jan 2019 12:34:12 -0500
+
+vim (2:8.1.0549-1) unstable; urgency=medium
+
+ * Merge upstream tag v8.1.0549
+ + Built-in support for performing diffs, via the libxdiff library, which
+ allows setting the diff algorithm (:help 'diffopt').
+ + Fix formatting of example output in translated xxd man pages. (Closes:
+ #909217)
+ * gitlab-ci.yml: Run build as non-root user
+ * Mark vim-common Multi-Arch: foreign (Closes: #910732)
+
+ -- James McCoy <jamessan@debian.org> Tue, 27 Nov 2018 20:38:28 -0500
+
+vim (2:8.1.0320-1) unstable; urgency=medium
+
+ * Merge upstream tag v8.1.0320
+ - syntax/debcontrol.vim:
+ + Recognize riscv64 as an architecture (Closes: #905435)
+ - syntax/sh.vim:
+ + Fix syntax highlighting of curly braces inside parameter expansion
+ (Closes: #904875)
+ * rules:
+ + Stop using --dbgsym-migration
+ + Stop overriding default dpkg-deb compression
+ * Declare compliance with Policy 4.2.0, no changes needed
+ * control: Add cscope to Build-Depends to test cscope integration
+
+ -- James McCoy <jamessan@debian.org> Wed, 22 Aug 2018 19:46:39 -0400
+
+vim (2:8.1.0229-1) unstable; urgency=medium
+
+ [ upstream ]
+ * Unicode 11 support
+ * New options ('vartabstop'/'varsofttabstop') to define variable width tab
+ stops.
+ * Danish translation
+
+ [ James McCoy ]
+ * Change "Compiled by" string to team+vim@tracker.d.o
+ * rules:
+ + Only run scratch target, not distclean, in autoconf-stamp to avoid FTBFS
+ with parallel builds.
+ + Allow defining VARIANT from the environment. Thanks to Guillem Jover
+ for the suggestion (Closes: #903927)
+ * Change vim-python Provides to vim-python3. While Vim only supports py2 or
+ py3, Neovim supports both so the change in provides allows
+ python(3)-neovim to differentiate the supported Python version.
+
+ -- James McCoy <jamessan@debian.org> Thu, 02 Aug 2018 21:44:43 -0400
+
+vim (2:8.1.0089-1) unstable; urgency=medium
+
+ * New upstream release
+ + New syntax highlighting for machine-readable debian/copyright files.
+ (Closes: #869965)
+ + Fix mis-highlighting of architectures in debian/control files. (Closes:
+ #900476)
+ * Change Maintainer to team+vim@tracker.debian.org
+ * Add wildcard to binaries-have-file-conflict override between
+ vim-tiny/vim-runtime to account for upstream releases.
+
+ -- James McCoy <jamessan@debian.org> Tue, 19 Jun 2018 22:44:05 -0400
+
+vim (2:8.0.1766-1) unstable; urgency=medium
+
+ [ David Rabel ]
+ * d/copyright: Fix path to tee.c
+
+ [ upstream ]
+ * 8.0.1477: Avoid cursor flicker when changing (de)focusing the terminal.
+ (Closes: #890642)
+ * 8.0.1491: New 'pumwidth' option allows controlling the width of the popup
+ menu. (Closes: #450481)
+ * 8.0.1744: Skip Test_writefile_sync_dev_stdout when /dev/stdout isn't
+ writable. (Closes: #894565)
+ * syntax/config.vim: Fix highlighting matching paren for AC_MSG_* syntax
+ items. (Closes: #881654)
+ * syntax/debcontrol.vim: Recognize Testsuite and Testsuite-Triggers fields.
+ (Closes: #886230)
+ * syntax/sh.vim: Do not highlight substring processing as an error for POSIX
+ sh. (Closes: #885938)
+
+ [ James McCoy ]
+ * watch: Track git tags instead of major releases
+ * Declare compliance with Policy 4.1.4, no changes needed
+ * control: Use 11~ for minimum debhelper version to ease backporting
+ * rules:
+ + Fold config.mk handling into autoconf-stamp target
+ + Use C.UTF-8 locale when running tests to avoid an upstream bug in the
+ tests. When not run in a UTF-8 locale, a child Vim used by the tests
+ displays some unicode characters incorrectly, breaking the test.
+
+ -- James McCoy <jamessan@debian.org> Thu, 26 Apr 2018 22:08:08 -0400
+
+vim (2:8.0.1453-1) unstable; urgency=medium
+
+ [ upstream ]
+ * 8.0.1452: terminal test fails on some systems
+ + This should fix the massive FTBFS on the buildds
+ * 8.0.1453: terminal test fails on some slow terminals
+
+ -- James McCoy <jamessan@debian.org> Fri, 02 Feb 2018 15:37:32 -0500
+
+vim (2:8.0.1451-1) unstable; urgency=medium
+
+ [ David Rabel ]
+ * Update Standards-Version to 4.1.3
+
+ [ upstream ]
+ * 8.0.1444: missing -D_FILE_OFFSET_BITS=64 may cause problems
+ This should work around the inconsistent handling of large file support in
+ glibc (#888566), which closes: #827319.
+
+ [ James McCoy ]
+ * Re-enable Perl bindings on kFreeBSD
+ * Change Vcs-* to salsa.d.o
+ * Bump debhelper compat to 11
+ * Set R³ to no
+ * d/control: Use https URL for Homepage
+ * vim-doc: Move documentation under /usr/share/doc/vim, per §12.3
+ * Remove doc/<arch pkg> → doc/<all pkg> symlinks
+ * d/rules: Set .NOTPARALLEL to avoid dh_prep clobbering each other
+
+ -- James McCoy <jamessan@debian.org> Thu, 01 Feb 2018 19:07:29 -0500
+
+vim (2:8.0.1401-2) unstable; urgency=medium
+
+ * debian.vim: Move a function definition inside an :if so it doesn't cause
+ vim-tiny to spew lots of errors. (Closes: #885073)
+
+ -- James McCoy <jamessan@debian.org> Sun, 24 Dec 2017 08:21:33 -0500
+
+vim (2:8.0.1401-1) unstable; urgency=medium
+
+ [ upstream ]
+ * syntax/sh.vim:
+ + Fix syntax highlighting of $() when the /bin/sh is detected as
+ POSIX-compliant. (Closes: #848663)
+ + Correctly highlight escaped single-quotes inside test expressions.
+ (Closes: #761064)
+
+ [ James McCoy ]
+ * runtime/debian.vim:
+ + Fix mechanism used to check for <S-Insert> mappings, since maparg()
+ doesn't understand multiple modes in the {mode} argument. Thanks to
+ Sergey Vlasov for the patch! (Closes: #883422)
+ * syntax/debcontrol.vim:
+ + Fix highlighting of "Section: javascript" … again. (Closes: #884495)
+
+ -- James McCoy <jamessan@debian.org> Sun, 17 Dec 2017 22:32:25 -0500
+
+vim (2:8.0.1257-2) unstable; urgency=medium
+
+ * Add patch to fix flakiness in test_search.vim
+ * syntax/debcontrol.vim:
+ + Recognize golang section. Thanks to Guillem Jover. (Closes: #880698)
+
+ -- James McCoy <jamessan@debian.org> Sat, 04 Nov 2017 00:17:46 -0400
+
+vim (2:8.0.1257-1) unstable; urgency=medium
+
+ [ upstream ]
+ * 8.0.1246: Fix flaky popup test, which should fix the various FTBFS from
+ the last upload.
+
+ [ James McCoy ]
+ * syntax/debsources.vim:
+ + Fix syntax error in definition of unsupported releases. Thanks to Josh
+ Triplett. (Closes: #879986)
+ * Declare compliance with Policy 4.1.1, no changes needed.
+
+ -- James McCoy <jamessan@debian.org> Thu, 02 Nov 2017 21:27:13 -0400
+
+vim (2:8.0.1226-1) unstable; urgency=medium
+
+ [ upstream ]
+ * 8.0.1154: Fix indentation when 'indentkeys' is in use. (Closes: #877262)
+
+ [ James McCoy ]
+ * syntax/debcontrol.vim:
+ + Add support for all fields in deb-src-control(5). (Closes: #878970)
+ * syntax/deb{sources,changelog}.vim:
+ + Add bionic release and mark yakkety & squeeze unsupported.
+
+ -- James McCoy <jamessan@debian.org> Fri, 27 Oct 2017 08:27:27 -0400
+
+vim (2:8.0.1144-1) unstable; urgency=medium
+
+ [ upstream ]
+ * Fix detection/enabling of cursor blink state. (Closes: #872302)
+ * ftplugin/perl.vim: Set 'iskeyword' local to the buffer so it doesn't
+ affect subsequently opened buffers. (Closes: #873755)
+ * syntax/mason.vim: Correctly highlight mason files again. (Closes:
+ #700016)
+
+ [ James McCoy ]
+ * debcontrol.vim:
+ + Recognize Testsuite field (Closes: #872360)
+ + Treat tabs as valid whitespace (Closes: #872557)
+ * Declare compliance with Policy 4.1.0, no changes needed
+ * Add basic autopkgtests
+ * Add missing postrm for symlink_to_dir maintscripts
+
+ -- James McCoy <jamessan@debian.org> Sun, 24 Sep 2017 22:02:28 -0400
+
+vim (2:8.0.0946-1) unstable; urgency=medium
+
+ [ upstream ]
+ * 8.0.0939, 8.0.0940: Handle flakiness in terminal tests. (Closes: #872164)
+ * 8.0.0944: test_profile: Accept a match when self and total time are the
+ same.
+ * 8.0.0946: Don't rely on PATH_MAX. Fixes FTBFS on hurd.
+
+ -- James McCoy <jamessan@debian.org> Mon, 14 Aug 2017 22:41:29 -0400
+
+vim (2:8.0.0937-1) unstable; urgency=medium
+
+ [ upstream ]
+ * 8.0.0210 et.al.: Add support for bracketed paste. (Closes: #504244)
+ * 8.0.0421: Fix display in diff mode when adding a line at the end of a
+ buffer. (Closes: #846993)
+ * 8.0.0693 et.al.: Implement a terminal emulator.
+ * 8.0.0698: Fix a crash on exit when using a Python function from a timer.
+ (Closes: #868767)
+ * 8.0.0737: Crash when X11 selection is very big (Closes: #606957)
+
+ [ James McCoy ]
+ * vim-policy:
+ + Specify the "addon", not "name", field is used to declare the addon.
+ Thanks to Reiner Herrmann.
+ * Merge changes from Ubuntu, dependent on DEB_VENDOR=Ubuntu:
+ + Remove --disable-python3interp on Ubuntu for vim-basic
+ + Disable ruby for vim-gtk3
+ * d/rules:
+ + Remove src/po/vim.pot and *.pyc during clean
+ + Remove explicit setting of SOURCE_DATE_EPOCH since dpkg's pkg-info.mk
+ provides it.
+ * debcontrol.vim:
+ + Add highlighting for Build-(Depends|Conflicts)-Arch
+ + Fix syntax highlighting of "javascript" section. (Closes: #867307)
+ * Rewrite d/copyright in machine readable format. (Closes: #819734)
+ + Properly document xxd's license. (Closes: #776191)
+ * Mark vim-doc and xxd Multi-Arch: foreign. Thanks to Helmut Grohne for the
+ patch. (Closes: #852722)
+ * Declare compliance with policy 4.0.1
+ + Change Priority: extra packages to optional
+ * Reference Python 3 instead of Python in long descriptions. (Closes:
+ #868020)
+ * Bump debhelper compat to 10.
+ * debian/control:
+ + Remove version constraints that are satisifed in oldstable.
+
+ -- James McCoy <jamessan@debian.org> Sun, 13 Aug 2017 16:06:37 -0400
+
+vim (2:8.0.0197-5) unstable; urgency=high
+
+ * Backport upstream patches to fix CVE-2017-11109 (Closes: #867720)
+ + 8.0.0703: Illegal memory access with empty :doau command
+ + 8.0.0706: Crash when cancelling the cmdline window in Ex mode
+ + 8.0.0707: Freeing wrong memory when manipulating buffers in autocommands
+
+ -- James McCoy <jamessan@debian.org> Tue, 11 Jul 2017 23:11:25 -0400
+
+vim (2:8.0.0197-4) unstable; urgency=medium
+
+ * Backport upstream patch v8.0.0550 to fix a regression in tag lookups for
+ ctags-generated emacs style tags files. (Closes: #859426)
+ * Add Artful Aardvark, jessie-backports-sloppy, and
+ stretch-backports/security to deb{changelog,sources} syntax files.
+ * debsources.vim: Require word boundaries around distribution name.
+ (Closes: #859247)
+ * Set $TERM to a known sane value when running tests to avoid test failures
+ due to an unknown $TERM.
+
+ -- James McCoy <jamessan@debian.org> Sun, 23 Apr 2017 08:10:29 -0400
+
+vim (2:8.0.0197-3) unstable; urgency=high
+
+ * Backport upstream patches v8.0.0377 & v8.0.0378, to fix buffer overflows
+ when reading corrupted undo files. (Closes: #856266, CVE-2017-6349,
+ CVE-2017-6350)
+
+ -- James McCoy <jamessan@debian.org> Mon, 06 Mar 2017 22:33:23 -0500
+
+vim (2:8.0.0197-2) unstable; urgency=high
+
+ * Backport upstream patch v8.0.0322, to fix buffer overflow if a spellfile
+ has an invalid length in it. (Closes: #854969, CVE-2017-5953)
+
+ -- James McCoy <jamessan@debian.org> Sun, 12 Feb 2017 19:56:16 -0500
+
+vim (2:8.0.0197-1) unstable; urgency=medium
+
+ [ upstream ]
+ * 8.0.0190: Improve performance of tag lookup (Closes: #673130)
+
+ -- James McCoy <jamessan@debian.org> Mon, 16 Jan 2017 20:26:10 -0500
+
+vim (2:8.0.0134-1) unstable; urgency=medium
+
+ * Merge upstream tag v8.0.0134
+ * Bump minimum version of debhelper for --dbgsym-migration option. (Closes:
+ #846183)
+ * debian/rules: Remove '=' from "define" directive to maintain compatibility
+ with make < 3.82. (Closes: #846312)
+ * syntax/debcontrol.vim: Add sections for Rust and JavaScript. Thanks to
+ Josh Triplett for the patch! (Closes: #847539)
+ * Add an (old) NEWS.Debian entry describing the switch from py2 -> py3 for
+ Vim's python language bindings.
+
+ -- James McCoy <jamessan@debian.org> Wed, 14 Dec 2016 22:33:53 -0500
+
+vim (2:8.0.0095-1) unstable; urgency=high
+
+ * Merge upstream tag v8.0.0095
+ + 8.0.0056: Only allow valid characters in 'filetype', 'syntax' and
+ 'keymap'. (CVE-2016-1248)
+ + 8.0.0089: Fix problems with Gtk 3.22.2. This replaces the proposed
+ patches applied earlier. (#842070)
+
+ -- James McCoy <jamessan@debian.org> Tue, 22 Nov 2016 13:23:07 -0500
+
+vim (2:8.0.0049-1) unstable; urgency=medium
+
+ * Merge upstream tag v8.0.0049
+ + 8.0.0038: Define OPEN_CHR_FILES for kFreeBSD to fix Test_read_fifo_utf8
+ test failure. (Part of #827319)
+ * Disable Perl bindings for kfreebsd-* until #827319 is resolved since the
+ FTBFS was blocking bootstrapping of kfreebsd systems.
+ * Add Zesty Zapus to deb{changelog,sources} syntax files
+ * Cherry-pick two proposed patches to fix vim-gtk3's widget sizing, while
+ upstream Vim and Gtk figure out what the right fix is. (Related to
+ #842070)
+
+ -- James McCoy <jamessan@debian.org> Sat, 12 Nov 2016 13:17:06 -0500
+
+vim (2:8.0.0022-1) unstable; urgency=medium
+
+ * syntax/debsources: Recognize https URLs. Thanks to Joe Stein for the
+ patch!
+ * Add information about defaults.vim to NEWS.Debian and /etc/vim/vimrc.
+ (Closes: #837761)
+ * Update vim-tiny patch to not source defaults.vim when vim.tiny is invoked
+ as vi.
+ * Bump priority of vim-tiny's vi alternative, so it's higher than e3vi.
+ (Closes: #839265)
+
+ -- James McCoy <jamessan@debian.org> Tue, 04 Oct 2016 23:34:23 -0400
+
+vim (2:8.0.0003-1) unstable; urgency=medium
+
+ [ upstream ]
+ * Vim 8 released!
+ * v8.0.0003: Fix test failures on big-endian architectures.
+
+ -- James McCoy <jamessan@debian.org> Mon, 12 Sep 2016 21:54:12 -0400
+
+vim (2:7.4.2347-1) unstable; urgency=medium
+
+ [ upstream ]
+ * Fix test failure due to relying on modelines. (Closes: #837130)
+
+ [ James McCoy ]
+ * Move xxd into its own package. This allows other packages to express a
+ relationship on xxd itself, rather than vim-common, and also enables
+ turning vim-common into an Arch: all package.
+ * Remove dpkg-dev Build-Depends, since the version is satisifed prior to
+ oldstable.
+
+ -- James McCoy <jamessan@debian.org> Sat, 10 Sep 2016 23:35:08 -0400
+
+vim (2:7.4.2330-1) unstable; urgency=medium
+
+ [ upstream ]
+ * Highlighted changes:
+ + 7.4.1976: Support 64-bit number variables in VimL. Use has('num64') to
+ test for presence of the functionality. (Closes: #788055)
+ + runtime/ftplugin/man.vim:
+ - Use the width of the current window when formatting a man page.
+ (Closes: #827634)
+ + runtime/syntax/rst.vim:
+ - Use underline for emphasized text. (Closes: #547537)
+ + runtime/tutor/tutor.es:
+ - Fix misspelling of seguido. (Closes: #834336)
+
+ [ James McCoy ]
+ * Switch from Python2 to Python3 language bindings. All packaged
+ addons which use Python support both 2 & 3. (Closes: #729924)
+ * Add mips64el as a recognized architecture in debcontrol files. Thanks to
+ Reiner Herrmann for the patch. (Closes: #830545)
+ * Update supported Ubuntu releases in debsources files.
+ * Remove vim-gnome (which uses deprecated gnome2 libraries) in favor of
+ vim-gtk3. (Closes: #820239)
+ * Run tests during build targets to avoid test failures related to running
+ as (fake)root.
+
+ -- James McCoy <jamessan@debian.org> Wed, 07 Sep 2016 22:12:11 -0400
+
+vim (2:7.4.1829-1) unstable; urgency=medium
+
+ * Merge upstream tag v7.4.1829
+ + 7.4.1713: Force use of X11 backend under Wayland. (Closes: #819954)
+ + 7.4.1802: Improve handling of long lines in quickfix lists. (Closes:
+ #815976)
+ + LogiPat plugin's :ELP command renamed to :LPE, so it doesn't shadow :E.
+ (Closes: #796075)
+
+ -- James McCoy <jamessan@debian.org> Mon, 09 May 2016 23:06:14 -0400
+
+vim (2:7.4.1689-3) unstable; urgency=medium
+
+ * helpztags: Fix regression in previous upload where the doc file isn't
+ opened, so no tags file is generated. (Closes: #820313)
+
+ -- James McCoy <jamessan@debian.org> Thu, 07 Apr 2016 22:37:20 -0400
+
+vim (2:7.4.1689-2) unstable; urgency=medium
+
+ * Stop installing a dangling symlink at
+ /usr/share/vim/addons/doc/matchit.txt. (Closes: #819796)
+ * Lintian:
+ + Provide more details in vim-doc's long description. Thanks to Elimar
+ Riesebieter for the patch. (Closes: #819733)
+ * helpztags:
+ + Don't try to read a file if it can't be opened. (Closes: #819764)
+ + Don't error if the specified directory doesn't exist. (Closes: #819809)
+ * Generate vim-policy in a consistent locale.
+
+ -- James McCoy <jamessan@debian.org> Sun, 03 Apr 2016 09:25:18 -0400
+
+vim (2:7.4.1689-1) unstable; urgency=medium
+
+ * Merge upstream tag v7.4.1689.
+ + Highlighted changes:
+ - 7.4.1142: “:syn iskeyword” command to define the set of keyword
+ characters for syntax highlighting, rather than changing the buffer's
+ 'iskeyword' option.
+ - 7.4.1154 et.al.: Support converting between JSON
+ and VimL. See json_decode(), json_encode(), js_decode(), and
+ js_encode().
+ - 7.4.1169 et.al.: Support async communication with external processes
+ using the new channel and job features.
+ - 7.4.1384 et.al.: Provide native support for managing Vim
+ addons/packages with the :packadd command and 'packpath' option.
+ - 7.4.1402: GTK3 GUI support
+ - 7.4.1578: Support running a function on a periodic basis with the
+ timer_start()/timer_start() functions.
+ - runtime/syntax/sh.vim
+ + Fix incorrect highlighting when case/esac are embedded in a word.
+ (Closes: #818137)
+ - runtime/syntax/sshdconfig.vim
+ + Update with recent keywords, including VersionAddendum. (Closes:
+ #776834)
+ * Add a vim-gtk3 package. (Closes: #815750)
+ * Improve reproducibility of Vim builds. (Closes: #787327)
+ + Use $SOURCE_DATE_EPOCH to set the compilation time displayed in :version
+ + Set a static value for configure's --with-compiledby argument
+ * Migrate to automatic -dbgsym packages
+ * Declare compliance with Policy 3.9.7, no changes needed.
+ * Stop installing empty icon directories in vim-common. Thanks to Elimar
+ Riesebieter for the patch. (Closes: #819653)
+
+ -- James McCoy <jamessan@debian.org> Thu, 31 Mar 2016 21:57:48 -0400
+
+vim (2:7.4.963-1) unstable; urgency=medium
+
+ * Merge upstream tag v7.4.963.
+ + Remove merged patches:
+ - Typo in Spanish translation of swapfile recovery.
+ + Highlighted changes:
+ - 7.4.849: New Insert mode command to maintain the undo sequence across
+ cursor movements (c.f., :help i_CTRL-G_U).
+ - 7.4.858: New quickfix-related commands (:ldo, :lfdo, :cdo, and :cfdo).
+ - indent/yaml.vim: Maintain indent of mapping key when mapping is
+ contained in a list. (Closes: #713066)
+ - 7.4.941: New 'tagcase' option to control whether tag searches are case
+ insensitive.
+ * Rewrite vim-tiny's help.txt.
+ + Clarify the reasoning for the package and why the help isn't available.
+ + Explicitly mention what the more featureful Vim packages are.
+ + Point to vimhelp.appspot.com for online help, since it is better kept
+ updated.
+ * Update Vcs-* URLs to point to Git.
+ * Install upstream's patchlist as the changelog. (Closes: #622827)
+ * Fix a typo in vim-policy. Thanks to Jakuyo Friel for the patch. (Closes:
+ #773531)
+ * Fix FTBFS when running “dpkg-buildpackage -A”. (Closes: #806875)
+ * Stop installing menu files.
+ * Install upstream's desktop files and drop the ones from debian/.
+ * Mark vim-runtime/vim-gui-common as Multi-Arch: foreign. (Closes: #806535)
+
+ -- James McCoy <jamessan@debian.org> Wed, 09 Dec 2015 23:31:36 -0500
+
+vim (2:7.4.826-1) unstable; urgency=medium
+
+ * Merge upstream tag v7-4-826. Remove merged patches.
+ + Recognize bash completion files for syntax highlighting. (Closes:
+ #628494)
+ + Update declared license for xxd. (Closes: #776191)
+ * Enable <S-Insert> mappings when gvim is started via “:gui”. Based on a
+ patch from Daniel Shahaf. (Closes: #793781)
+
+ -- James McCoy <jamessan@debian.org> Sun, 16 Aug 2015 22:17:45 -0400
+
+vim (2:7.4.712-3) unstable; urgency=medium
+
+ * Change Suggests: ttf-dejavu → fonts-dejavu. (Closes: #783969)
+ * Welcome, wily werewolf.
+ * Remove vim-lesstif transitional package.
+ * Remove obsolete Breaks/Replaces from vim-gui-common.
+ * Lintian:
+ + Add override to vim-common for desktop-command-not-in-package, since vim
+ is provided by the other binary packages.
+ + Remove spelling-error-in-binary overrides for tEH
+ + Remove empty /usr/share/pixmaps directory from vim-gui-common
+ * Declare compliance with policy 3.9.6
+ * Fix FTBFS with newer ghostscript by using ps2write device. (Closes:
+ #785221)
+ * Make build resilient to changes in the default tcl version.
+ * Update description of vim-tiny to clarify it only exists to provide the vi
+ binary for the base install. (Closes: #784268)
+
+ -- James McCoy <jamessan@debian.org> Sat, 13 Jun 2015 01:16:02 -0400
+
+vim (2:7.4.712-2) unstable; urgency=medium
+
+ * Add stretch to Debian syntax files. (Closes: #783506)
+ * syntax/debsources.vim: Recognize all Debian/Ubuntu releases, but highlight
+ unsupported releases differently.
+ * Add patch upstream/lcs_space-overflow.patch, which fixes an integer
+ overflow when determining whether to apply listchar's space setting. This
+ fixes the test_listchars failure on certain architectures when PIE is
+ enabled.
+
+ -- James McCoy <jamessan@debian.org> Thu, 30 Apr 2015 20:25:42 -0400
+
+vim (2:7.4.712-1) unstable; urgency=medium
+
+ * Merge upstream tag v7-4-712
+ + 7.4.586: Remove a cyclic dependency when generating documentation, which
+ results in unreproducible builds. (Closes: #775562)
+ + 7.4.609: Use a stack of dicts and lists to be marked for garbage
+ collection, thus making it iterative instead of recursive. Fixes crash
+ with some plugins written in other languages (e.g., lua). (Closes:
+ #778821)
+ + runtime/syntax/registry.vim: Correct highlighting of comments. (Closes:
+ #687199)
+ + runtime/syntax/strace.vim: Highlight 2-digit escape sequences the same
+ as 1 or 3-digit escape sequences. (Closes: #775113)
+ * Remove backported patches upstream/v7-4-576.patch and
+ upstream/netrwSavePosn.patch.
+ * Add a Build-Conflict for autoconf2.13 to avoid a FTBFS if it's installed.
+ (Closes: #781031)
+
+ -- James McCoy <jamessan@debian.org> Sat, 25 Apr 2015 09:00:09 -0400
+
+vim (2:7.4.488-7) unstable; urgency=medium
+
+ * Backport patch 7.4.576 to fix jarring toggling of 'linebreak' option when
+ using the c command to change the buffer. (Closes: #774492)
+ * Backport upstream fix for call to unknown function in NetRW plugin.
+ (Closes: #768467)
+
+ -- James McCoy <jamessan@debian.org> Tue, 31 Mar 2015 19:30:17 -0400
+
+vim (2:7.4.488-6) unstable; urgency=medium
+
+ * Build vim logo from the eps instead of pdf so the svg has the correct
+ bounding box. Thanks to Simon McVittie for the idea! (Closes: #778477)
+ * syntax/debchangelog.vim:
+ + Recognize jessie, jessie-backports, and sid targets
+ + Recognize binary-only=yes key value in debchangelogHeader
+
+ -- James McCoy <jamessan@debian.org> Sat, 21 Mar 2015 14:24:01 -0400
+
+vim (2:7.4.488-5) unstable; urgency=medium
+
+ * Install icons to the proper directory. dh_install doesn't rename files,
+ even though the last upload pretended it does.
+ - Use upstream's icons and remove the ones in debian/
+ - Add Build-Depends: pdf2svg to create a scalable icon
+
+ -- James McCoy <jamessan@debian.org> Wed, 11 Feb 2015 21:38:10 -0500
+
+vim (2:7.4.488-4) unstable; urgency=medium
+
+ * Move vim icon from vim-gui-common to vim-common since both vim.desktop and
+ gvim.desktop use it. (Closes: #773930)
+
+ -- James McCoy <jamessan@debian.org> Mon, 29 Dec 2014 23:13:17 -0500
+
+vim (2:7.4.488-3) unstable; urgency=medium
+
+ * Install icons to /usr/share/icons/hicolor to work around #765069.
+ (Closes: #768256)
+
+ -- James McCoy <jamessan@debian.org> Sun, 30 Nov 2014 15:08:09 -0500
+
+vim (2:7.4.488-2) unstable; urgency=medium
+
+ * Actually fix the Name in vim.desktop. (Closes: #769575)
+
+ -- James McCoy <jamessan@debian.org> Fri, 14 Nov 2014 21:06:27 -0500
+
+vim (2:7.4.488-1) unstable; urgency=medium
+
+ * Merge upstream tag v7-4-488
+ * Fix the Name in vim.desktop.
+
+ -- James McCoy <jamessan@debian.org> Wed, 22 Oct 2014 21:07:59 -0400
+
+vim (2:7.4.481-1) unstable; urgency=medium
+
+ * Merge upstream tag v7-4-481
+ + Updated Russian translation of vimtutor. (Closes: #722673)
+ * syntax/debcontrol.vim: Recognize https URLs for Vcs-Git. (Closes:
+ #763553)
+ * debian/rules: Request all hardening features, other than fortify, from
+ dpkg-buildflags.
+ * Add codename for Ubuntu's next release, vivid.
+ * Install a .desktop file for terminal vim. (Closes: #760512)
+
+ -- James McCoy <jamessan@debian.org> Mon, 20 Oct 2014 23:26:20 -0400
+
+vim (2:7.4.430-1) unstable; urgency=medium
+
+ * Merge upstream tag v7-4-430
+ + 7.4.397: Fix paren matching in zsh scripts. (Closes: #754507)
+ + Runtime updates:
+ - Improve highlighting of Python's \N{…} sequences. (Closes: #749175)
+ * Add jessie release and remove EOLed saucy release from Debian runtime
+ files. (Closes: #753823)
+
+ -- James McCoy <jamessan@debian.org> Mon, 01 Sep 2014 04:11:24 -0400
+
+vim (2:7.4.335-1) unstable; urgency=medium
+
+ * Merge upstream tag v7-4-335
+ + Avoid setting buftype=nofile for scp buffers. (Closes: #743136)
+ + Properly handle scp://user@host/ URLs (Closes: #744111)
+ * Remove EOLed Quantal release from Debian runtime files.
+ * Transition from Lua 5.1 to Lua 5.2
+
+ -- James McCoy <jamessan@debian.org> Thu, 19 Jun 2014 23:02:17 -0400
+
+vim (2:7.4.273-2) unstable; urgency=medium
+
+ * syntax/debcontrol.vim:
+ + Fix architecture orders to work with left-most regex matching.
+
+ -- James McCoy <jamessan@debian.org> Fri, 02 May 2014 00:17:48 -0400
+
+vim (2:7.4.273-1) unstable; urgency=medium
+
+ * Merge upstream tag v7-4-273
+ * syntax/debcontrol.vim:
+ + Correctly highlight any-x32 in Architecture field
+ + Add ppc64el architecture
+ * syntax/deb{changelog,sources}.vim:
+ + Add codenames for Ubuntu's development release (devel, utopic)
+
+ -- James McCoy <jamessan@debian.org> Thu, 01 May 2014 21:50:24 -0400
+
+vim (2:7.4.253-1) unstable; urgency=medium
+
+ * Merge upstream tag v7-4-253
+ + 7.4.252: Clear blink timer after removing it to avoid GLib-CRITICAL
+ error. (Closes: #743668)
+ * rules: Explicitly disable SMACK on Linux, in favor of SELinux.
+
+ -- James McCoy <jamessan@debian.org> Mon, 07 Apr 2014 22:47:57 -0400
+
+vim (2:7.4.225-1) unstable; urgency=medium
+
+ * Merge upstream tag v7-4-225
+ + Patches merged upstream:
+ - upstream/python-ftplugin-include.patch and
+ upstream/shadowdir-tests.diff
+ + netrw: Don't try to access the clipboard when support isn't enabled.
+ (Closes: #737530)
+ + 7.4.209: Escape a repeated command when storing it for redo. (Closes:
+ #739656)
+ + 7.4.222: Use RbConfig::CONFIG['rubyarchhdrdir'] to allow building Vim
+ against Ruby 2.x. (Closes: #739125)
+
+ -- James McCoy <jamessan@debian.org> Thu, 27 Mar 2014 22:13:31 -0400
+
+vim (2:7.4.161-1) unstable; urgency=medium
+
+ * Merge upstream tag v7-4-161
+ + Fix loading of NetRW when editing a directory. (Closes: #732091)
+ * Update Ubuntu releases in Debian syntax files.
+ * Add more debian-ports architectures to debcontrol syntax file. (Closes:
+ #722313)
+ * ftplugin/debchangelog: Allow changing distribution from UNRELEASED.
+ (Closes: #734267)
+ * control: Bump Standards-Version to 3.9.5, no changes needed.
+ * Add shadowdir-tests.diff to fix building in a shadow build directory.
+
+ -- James McCoy <jamessan@debian.org> Sun, 02 Feb 2014 19:27:58 -0500
+
+vim (2:7.4.052-1) unstable; urgency=low
+
+ * Merge upstream tag v7-4-052
+ - Remove upstream/python-ftplugin-keywordprg.patch, merged upstream
+ * debian/watch: Use the pasv option.
+ * debian/control: Version the ruby1.8{,-dev} Build-Conflicts now that the
+ Provides: have been dropped.
+
+ -- James McCoy <jamessan@debian.org> Wed, 09 Oct 2013 00:06:41 -0400
+
+vim (2:7.4.027-1) unstable; urgency=low
+
+ * Merge upstream tag v7-4-027
+ + 7.4.003: Refresh a stale pointer in new regex engine to avoid
+ dereferencing a freed pointer. (Closes: #722081)
+ + 7.4.024: Read an undo file owned by the current user, even if that
+ differs from the owner of the edited file. (Closes: #721944)
+ + Use old regex engine for yamlBlockMappingKey highlighting to workaround
+ performance problem with new engine. (Closes: #719510)
+
+ -- James McCoy <jamessan@debian.org> Tue, 17 Sep 2013 20:29:24 -0400
+
+vim (2:7.4.000-1) unstable; urgency=low
+
+ * New upstream release.
+ * Upload to unstable.
+ * Stop providing /usr/share/vim/vimcurrent. It shouldn't be used by
+ anything, since it's Debian specific, and the Vim packaging hasn't used it
+ (other than documenting the location of debian.vim) for years.
+ * Override spelling-error-in-binary … tEH the.
+
+ -- James McCoy <jamessan@debian.org> Sat, 10 Aug 2013 21:24:02 -0400
+
+vim (2:7.4b.004-1) experimental; urgency=low
+
+ * Merge upstream tag v7-4b-004
+ + 7.4a.044: Clear window from b_wininfo in win_free(). (Closes: #717529)
+ * debian/rules: Install Japanese translations of man pages.
+ * Update path in binaries-have-file-conflict lintian override.
+ * Use canonical URI for Vcs-*.
+
+ -- James McCoy <jamessan@debian.org> Fri, 02 Aug 2013 22:58:04 -0400
+
+vim (2:7.4a.012-1) experimental; urgency=low
+
+ * Merge upstream tag v7-4a-012
+ + New NFA regex engine. Vim automatically determines whether to use the
+ new or old engine based on the pattern. A specific engine can be
+ forced with the 'regexengine' option or within a pattern using the \%#=
+ atom.
+ + Updated Perl syntax files
+ - Adds support for Perl 5.10 syntax. (Closes: #681606)
+ - Fixes syntax highlighting when qq{} contains a } character. (Closes:
+ #598197)
+ + Fix display of an empty entry in NetRW directory listing. (Closes:
+ #709101)
+ + Recognize Ikiwiki's *.mdwn as markdown filetype. (Closes: #672597)
+ + 7.3.985: Call g_set_prgname() on startup to set a proper WM_CLASS.
+ (Closes: #639925)
+ + Source ~/.vim/vimrc or ~/.vim/gvimrc in favor of ~/.vimrc or ~/.gvimrc.
+ + Update sh syntax file
+ - Recognize when sh is dash and change the default behavior highlighting
+ to be POSIX instead of Bourne. (Closes: #712657, #699172)
+ - Correctly highlight text after a "--". (Closes: #713922)
+ * debian/rules: Simplify version handling and bump for the pre-release.
+ * Add shadowdir-fixes.patch, to fix test failures when building in a
+ shadow directory.
+
+ -- James McCoy <jamessan@debian.org> Fri, 12 Jul 2013 22:30:28 -0400
+
+vim (2:7.3.923-3) unstable; urgency=low
+
+ * Build-Conflict against ruby1.8{,-dev} to work around incorrect ruby{,-dev}
+ Provides (c.f., #710022).
+
+ -- James McCoy <jamessan@debian.org> Sun, 23 Jun 2013 22:12:29 -0400
+
+vim (2:7.3.923-2) unstable; urgency=low
+
+ * Fix FTBFS with M-A Python. (Closes: #701513)
+
+ -- James McCoy <jamessan@debian.org> Sun, 26 May 2013 22:18:36 -0400
+
+vim (2:7.3.923-1) unstable; urgency=low
+
+ * Merge upstream tag v7-3-923
+ + Updated documentation for Python syntax file. (Closes: #613038)
+ + NetRW no longer creates files in ~/.vim (or ~/.vim itself) if
+ g:netrw_dirhistmax <= 0. (Closes: #635984)
+ * Remove EOLed Oneiric and Hardy releases from Debian runtime files. Add
+ Saucy and wheezy-backports.
+ * Bump Standards-Version to 3.9.4, no changes needed.
+ * Recognize “-b $branch” as part of a Vcs-Git field. (Closes: #702751)
+
+ -- James McCoy <jamessan@debian.org> Sun, 05 May 2013 23:07:27 -0400
+
+vim (2:7.3.831-1) experimental; urgency=low
+
+ * Merge upstream tag v7-3-831
+ + Merged patches:
+ - upstream/debian-runtime-spell.patch, upstream/if_py-crash.patch,
+ upstream/netrw-syntax-fix.patch, upstream/remove-py_config.patch
+ + 7.3.607: Swap fg and bg colors for completion menu. (Closes: #680772)
+ + 7.3.750: Fix off-by-one error in justify macro. (Closes: #620106)
+ + 7.3.751: Retry test61 once if it fails.
+ - Remove the explicit ignoring of test61 failures in debian/rules
+ * Mark "DM-Upload-Allowed" in debian/control files as an "Error", since the
+ field is no longer supported by the Debian archives.
+ * Re-enable vim-gnome on m68k.
+ * Update Ubuntu release names in Debian runtime files.
+
+ -- James McCoy <jamessan@debian.org> Thu, 21 Feb 2013 22:13:43 -0500
+
+vim (2:7.3.547-7) unstable; urgency=low
+
+ * Add vim-lesstif.preinst to handle transitioning /usr/share/doc/vim-lesstif
+ from a symlink to a directory. (Closes: #700069)
+ * Add clarification to short description of vim-nox. (Closes: #699780)
+
+ -- James McCoy <jamessan@debian.org> Sat, 09 Feb 2013 18:43:57 -0500
+
+vim (2:7.3.547-6) unstable; urgency=low
+
+ * Always enable ACL support. (Closes: #693462)
+
+ -- James McCoy <jamessan@debian.org> Thu, 22 Nov 2012 09:37:52 -0500
+
+vim (2:7.3.547-5) unstable; urgency=low
+
+ * Use xz compression for all binary packages. (Closes: #687265)
+ * Backport patches 7.3.652 and 7.3.661 to fix crash in Python bindings when
+ GCC 4.7 is used to build Vim. (Closes: #678122)
+
+ -- James McCoy <jamessan@debian.org> Sat, 15 Sep 2012 23:59:18 -0400
+
+vim (2:7.3.547-4) unstable; urgency=low
+
+ * Add remove-py_config.patch, removing the dependence on Python's config.c.
+ (Closes: #681599)
+
+ -- James McCoy <jamessan@debian.org> Mon, 23 Jul 2012 22:55:51 -0400
+
+vim (2:7.3.547-3) unstable; urgency=low
+
+ * Add netrw-syntax-fix.patch to fix a syntax error in NetRead's ftp
+ handling. (Closes: #678513)
+
+ -- James McCoy <jamessan@debian.org> Tue, 26 Jun 2012 19:14:28 -0400
+
+vim (2:7.3.547-2) unstable; urgency=low
+
+ * Work around GCC 4.7 optimization bug, #678122, by explicitly using gcc-4.6
+
+ -- James McCoy <jamessan@debian.org> Thu, 21 Jun 2012 22:28:51 -0400
+
+vim (2:7.3.547-1) unstable; urgency=low
+
+ * Merge upstream tag v7-3-547
+ * Change ruby(-dev) Build-Depends to use unversioned package names in order
+ to build with the default ruby version.
+ * Add spell-check support to Debian control syntax file.
+
+ -- James McCoy <jamessan@debian.org> Wed, 06 Jun 2012 20:20:05 -0400
+
+vim (2:7.3.524-1) unstable; urgency=low
+
+ * Merge upstream tag v7-3-524
+ + Recognize git commit files in submodules. (Closes: #663735)
+ + Fix NetRW's munging of options when opening files. (Closes: #661720)
+ + 7.3.485: Use environment's LDFLAGS when building xxd. (Closes: #663605)
+ + Update recognized keywords for dircolors syntax. (Closes: #660632)
+ * Exclude the tools directory from the install.
+ + Stop shipping scripts which use Perl4 functionality. (Closes: #659431)
+ + Remove lintian overrides for csh scripts.
+ + Remove patch debian/awk-shebang.patch
+ * Remove EOLed Lenny/Maverick releases, add Quantal release to runtime
+ files.
+ * Remove upstream/po-syntax-cpo.patch, merged upstream.
+ * Remove upstream/debian-runtime-*.patch, merged upstream.
+ * Remove upstream/fr-manpage-fixes.patch, merged upstream.
+ * Remove upstream/xdefaults-syntax-define.patch, merged upstream.
+ * Add lintian override for binaries-have-file-conflict. vim-runtime diverts
+ vim-tiny's doc/help.txt and doc/tags.
+ * Remove unused menu-icon-missing override.
+
+ -- James McCoy <jamessan@debian.org> Thu, 24 May 2012 21:37:40 -0400
+
+vim (2:7.3.429-2) unstable; urgency=low
+
+ * Ignore failures in test61 since it is highly sensitive to timing.
+ Slow/heavily loaded systems will cause the test to fail. (Closes:
+ #625941)
+ * Install bug scripts with correct permissions.
+ + Use dh_bugfiles to simplify process
+ + Bump debhelper B-D to >= 7.2.3~
+
+ -- James McCoy <jamessan@debian.org> Fri, 10 Feb 2012 22:47:19 -0500
+
+vim (2:7.3.429-1) unstable; urgency=low
+
+ * Pull upstream tag v7-3-429
+ + Updated sshconfig syntax file. (Closes: #594296)
+ + 7.3.365: Fix crash when using a large Unicode character with syntax
+ highlighting. (Closes: #657777)
+ + Updated java indent file handles indentation of annotations. (Closes:
+ #519240)
+ * Add new education and introspection sections to debcontrol syntax file.
+ (Closes: #651381)
+ * Update vim-common's mime information to handle only having vim-tiny
+ installed. (Closes: #654674)
+ + Add test -x /usr/bin/vim for the vim entries.
+ + Add lower-priority vi entries.
+ * Use new --enable-fail-if-missing flag to make configure fail if an
+ interpreter is enabled but configure test fails.
+ * Add bug script to show what binaries the vi/vim/gvim symlinks point to.
+ * Only use /u/s/dpkg/default.mk when available.
+ + Reduce versioned B-D on dpkg-dev
+ + Manually set relevant makefile variables if file isn't present
+ * Add alternate libncurses5-dev B-D to ease backporting.
+
+ -- James McCoy <jamessan@debian.org> Sat, 04 Feb 2012 22:04:06 -0500
+
+vim (2:7.3.363-1) unstable; urgency=low
+
+ * Pull upstream tag v7-3-363
+ + 7.3.358: Fix mouse handling since urxvt support. (Closes: #647055)
+ * Set vim-lesstif's section to oldlibs, as suggested by
+ transitional-package-should-be-oldlibs-extra.
+
+ -- James McCoy <jamessan@debian.org> Wed, 30 Nov 2011 21:53:43 -0500
+
+vim (2:7.3.346-1) unstable; urgency=low
+
+ * Pull upstream tag v7-3-346
+ + 7.3.337: Redraw the screen after resizing the terminal. (Closes:
+ #644668)
+ + 7.3.343: Add mouse support for urxvt.
+ + 7.3.344: Use read()/write() instead of fputs()/fread() to detect when
+ the child GUI process has started. (Closes: #644639)
+ * Don't build vim-gnome on m68k, since the dependencies aren't available.
+ * Update Debian runtime files for Precise Pangolin. (Closes: #644489)
+ * Use correct DEB_VERSION_* make variable for update-orig target.
+ * Also use CPPFLAGS and LDFLAGS from /u/s/dpkg/buildflags.mk
+ * Change libncurses5-dev B-D to libtinfo-dev.
+ * Remove patch de.po-lesen.patch, merged upstream.
+ * Set DEB_BUILD_MAINT_OPTIONS=hardening=-fortify so we don't override
+ upstream's handling.
+ * Bump Standards-Version to 3.9.2, no changes needed.
+
+ -- James McCoy <jamessan@debian.org> Thu, 20 Oct 2011 22:17:16 -0400
+
+vim (2:7.3.333-1) unstable; urgency=low
+
+ * Pull upstream tag v7-3-333
+ + 7.3.318: Fix behavior of C on empty last line. (Closes: #642432)
+ + 7.3.323: Recognize a few more patterns for GCC error messages. (Closes:
+ #621693)
+ + 7.3.333: Handle multi-byte characters when using `.' to repeat a
+ command. (Closes: #632542)
+ * debian/rules: Remove debian/lintian/vim in clean-vim-basic
+ * debian/rules: Include makefiles from dpkg-dev.
+ + Bump dpkg-dev versioned B-D >= 1.16.1
+
+ -- James Vega <jamessan@debian.org> Tue, 04 Oct 2011 21:48:44 -0400
+
+vim (2:7.3.315-1) unstable; urgency=low
+
+ * Pull upstream tag v7-3-315.
+ + 7.3.295: When select() is interrupted loop and try again. (Closes:
+ #627376)
+ + 7.3.300: Python doesn't parse multi-byte argument correctly. (Closes:
+ #638375)
+ * Recognize armhf as an architecture in debcontrol files. (Closes: #638873)
+ * Fix typo in vim policy. Thanks to Jakub Wilk for the patch. (Closes:
+ #640042)
+ * Add GenericName field to desktop file. (Closes: #641037)
+ * Use versioned ruby binary name to ensure we're getting the correct build
+ flags.
+
+ -- James Vega <jamessan@debian.org> Sun, 18 Sep 2011 22:17:17 -0400
+
+vim (2:7.3.280-1) unstable; urgency=low
+
+ * Pull upstream tag v7-3-280.
+ + Remove patches/crontab-syntax-case-ignore, merged upstream.
+ + Remove patches/debcontrol-syntax-multiarch, merged upstream
+ + Remove patches/dosini-syntax-hash, merged upstream
+ + 7.3.261: Parse GCC 4.5+ "In file included from" messages correctly when
+ using quickfix. (Closes: #621693)
+ * debian/control:
+ + Add vim-lua Provides to packages which are built with lua bindings.
+ + Add Lua to long description for the packages which provide the bindings.
+ * Drop +hg~$hash from the version string now that upstream is tagging the
+ minor updates.
+ * Update Debian/Ubuntu codenames in debchangelog/debsources syntax files.
+ (Closes: #624686)
+ * Add support for architecture wildcards in debcontrol syntax file. Thanks
+ to Jakub Wilk for the patch. (Closes: #624805)
+ * Remove path and extension from Icon key in the desktop file. Thanks to
+ Michael Bienia for the patch. (Closes: #624688, LP: #740842)
+ * debian/watch: Change dversionmangle to just drop the patch version.
+ * Make the leading XC- optional for the Package-Type header in debcontrol
+ syntax file. Thanks to Guillem Jover for the patch. (Closes: #628763)
+ * Improve syntax highlighting for automake files. Based on a patch by
+ Guillem Jover. (Closes: #628759)
+
+ -- James Vega <jamessan@debian.org> Mon, 15 Aug 2011 06:35:08 -0400
+
+vim (2:7.3.154+hg~74503f6ee649-2) unstable; urgency=low
+
+ * Remove upstream/Makefile-parallel.patch as many parallel invocations of
+ upstream's Makefile may result in multiple instances of cp trying to
+ exclusively open src/auto/config.mk.
+ * debian/rules: Add a src/auto/config.mk target which all configure-*
+ targets have as a pre-requisite.
+
+ -- James Vega <jamessan@debian.org> Sun, 10 Apr 2011 17:43:21 -0400
+
+vim (2:7.3.154+hg~74503f6ee649-1) unstable; urgency=low
+
+ * Pull patches 036 - 154. (Closes: #608390)
+ + 7.3.042: Clear the spell checking info only when clearing the options
+ for a buffer. (Closes: #600688)
+ + 7.3.088: Fix a sporadic crash when using Ruby bindings. (Closes:
+ #614336)
+ + 7.3.091: Don't write special K_IGNORE codes when recording a Vim
+ session. (Closes: #608242)
+ * debian/watch: Adjust dversionmangle to handle the hg naming.
+ * Add upstream/es.po-recover.patch, which corrects the translation of the
+ swap file recovery prompt. Thanks to Vicente Couce Díaz for the patch.
+ (Closes: #606947)
+ * debian/rules:
+ + Remove -Wl,--as-needed since upstream now uses that when available.
+ + Disable dynamic loading of language bindings until a more robust method
+ of handling their dependencies is determined. (Closes: #611573)
+ * Remove vim-lesstif package in favor of the new vim-athena package.
+ * Add upstream/pythoncomplete-autoload-init.patch, which ensures PyParser's
+ parserline variable is initialized. Thanks to John Eikenberry for the
+ patch. (Closes: #608420)
+ * Bump debhelper compatibility to 7.
+ + Use dh_prep instead of dh_clean -k.
+ + Bump debhelper Build-Depends to >= 7.
+ * debian.vim: Remove BufRead autocmd which was incorrectly setting
+ filetype=mail for reportbug.conf. Reportbug's temp files are always
+ reportbug-*. (Closes: #621798)
+ * Add upstream/debcontrol-syntax-multiarch.patch, which adds syntax
+ highlighting of Multi-Arch fields in debian/control. Thanks to Thomas
+ Preud'homme for the patch. (Closes: #621098)
+ * debian/control:
+ + Remove python3-dev Build-Depends since python3interp can only be enabled
+ if dynamically loading the language binding libraries.
+ + Change ruby Build-Depends to ruby1.8 since the unversioned packages are
+ going away.
+ * Add upstream/Makefile-parallel.patch, which adds the "shadow" target to
+ the top-level Makefile so src/config.mk.dist is properly copied to
+ src/auto/config.mk before invoking src/Makefile. This fixes parallel
+ builds since config.mk.dist was introduced.
+ + Update Lintian overrides for the consistent path names in 2.5.0.
+
+ -- James Vega <jamessan@debian.org> Sat, 09 Apr 2011 19:18:27 -0400
+
+vim (2:7.3.035+hg~8fdc12103333-1) unstable; urgency=low
+
+ * Pull patches 001 - 035.
+ + More robust YAML highlighting. (Closes: #535682)
+ * debian/rules:
+ + Stop overriding CFLAGS on the command-line when invoking make. Upstream
+ enforces an upper-limit of 1 for _FORTIFY_SOURCE due to the use of
+ flexible arrays in nested structs, which improperly cause Vim to crash
+ with _FORTIFY_SOURCE=2.
+ + Use DEB_HOST_ARCH_OS instead of DEB_HOST_GNU_SYSTEM to determine whether
+ Linux-specific functionality is enabled.
+ + Use dpkg-vendor to change build configuration when building on Ubuntu.
+ Thanks to Michael Bienia for the patch.
+ * Make helpztags capable of generating tags files for non-English help
+ files. (Closes: #600248)
+ * Debian runtime:
+ + Add natty as a recognized distribution. (Closes: #600560)
+ + Add metapackages as a recognized section. (Closes: #600562)
+ + Remove etch as a recognized distribution.
+ * debian/control: Add dpkg-dev (>= 1.15.1) Build-Depends for dpkg-vendor.
+
+ -- James Vega <jamessan@debian.org> Mon, 25 Oct 2010 00:48:58 -0400
+
+vim (2:7.3.000+hg~ee53a39d5896-1) unstable; urgency=low
+
+ * New upstream release.
+ * debian/rules:
+ + Explicitly use the dynamic loading Python interfaces.
+ + Remove cleanup from clean target which are now properly handled by
+ upstream's Makefile.
+ * Update version information in documentation.
+
+ -- James Vega <jamessan@debian.org> Sun, 15 Aug 2010 17:34:02 -0400
+
+vim (2:7.3f.20100812+hg~20e83abf88b1-1) experimental; urgency=low
+
+ * Merge latest 7.3f pre-release.
+ + Correctly restore multi-byte terminal titles when exiting Vim. (Closes:
+ #558153)
+ + Highlight text inside math zones correctly for tex files. (Closes:
+ #509908)
+ + Recognize nested cite regions in tex files. (Closes: #444288)
+ + Support syntax highlighting of bash's $"". (Closes: #473736)
+ * Patches merged upstream:
+ + perl-indent-block.patch
+ + logcheck-ftplugin.patch
+ + tex-syntax-verbatim-spell.patch
+ * Enable Lua scripting.
+ + Add liblua5.1-0-dev and lua5.1 to Build-Depends.
+ + Enable lua interface via dynamic loading.
+ * Switch Perl interface to dynamic loading.
+ * debian/rules: Prefer running tests with the vim-nox binary if it's
+ available.
+ * Bump Standards-Version to 3.9.1.0 -- no changes needed.
+
+ -- James Vega <jamessan@debian.org> Thu, 12 Aug 2010 20:01:43 -0400
+
+vim (2:7.3b.20100720+hg~7b7508ee56f1-1) experimental; urgency=low
+
+ * Merge 7.3b pre-release.
+ + Don't run autocommands when being killed to avoid overrunning the stack.
+ (Closes: #580961)
+ + Detect when the recovered buffer matches the on-disk file and notify the
+ user. (Closes: #89359)
+ + Update CMake runtime files. (Closes: #463715)
+ + Correctly set timestamp for X selection transfers. (Closes: #577035)
+ + Improve 'cindent's handling of javascript. (Closes: #588875)
+ + Correctly displays characters inserted via digraph sequences which wrap
+ to a new line. (Closes: #442184)
+ * Patches merged upstream:
+ + it-manpage-fixes.patch
+ + lang-breaks-floating-point.patch
+ + python-modlibs.patch:
+ - Remove autoconf Build-Depends as configure.in isn't being patched
+ anymore.
+ - Remove autoconf-stamp pre-requisite for configure-stamp-% target.
+ * Update debian/rules to handle the snapshot versioning.
+ * Enable Python3 language interface.
+ + Add python3-dev to Build-Depends.
+ + Pass --enable-python3interp to configure when building variants with
+ language interfaces enabled.
+
+ -- James Vega <jamessan@debian.org> Wed, 21 Jul 2010 00:12:19 -0400
+
+vim (2:7.2.445+hg~cb94c42c0e1a-1) unstable; urgency=low
+
+ * debian/control:
+ + Use Breaks instead of Conflicts for the gvimtutor move.
+ + Use linux-any wildcards for linux-specific Build-Depends. (Closes:
+ #587866)
+ + Bump Standards-Version to 3.9.0.0.
+ * Pull patches 439 - 445.
+ * runtime/ftplugin/debchangelog.vim: Use “silent!” to avoid errors when
+ disabling the menu. Thanks to Jan Christoph Ebersbach for the patch.
+
+ -- James Vega <jamessan@debian.org> Sun, 11 Jul 2010 22:14:53 -0400
+
+vim (2:7.2.438+hg~d44112feb815-5) unstable; urgency=low
+
+ * Rework the diversion handling again.
+ + vim-runtime.preinst: Add diversion on major version upgrades.
+ + vim-runtime.postrm: Remove old diversion on major version upgrades.
+ + vim-runtime Breaks vim-tiny less than the current source version.
+
+ -- James Vega <jamessan@debian.org> Sun, 13 Jun 2010 21:40:37 -0400
+
+vim (2:7.2.438+hg~d44112feb815-4) unstable; urgency=low
+
+ * vim-runtime.preinst: Use the right function name for removing diversions
+ when upgrading across major versions.
+
+ -- James Vega <jamessan@debian.org> Sat, 12 Jun 2010 17:46:32 -0400
+
+vim (2:7.2.438+hg~d44112feb815-3) unstable; urgency=low
+
+ * vim-runtime.preinst:
+ + Remove code handling the Etch->Lenny diversion fixup.
+ + Add handling of diversions when upgrading across major versions.
+ * vim-runtime.postrm: Remove diversions on abort-install and disappear.
+ * Move gvimtutor to vim-gui-common from vim-runtime. (LP: #484851)
+ * debian/control: Remove versioned relationships which are satisified in
+ Lenny.
+
+ -- James Vega <jamessan@debian.org> Sat, 12 Jun 2010 10:09:56 -0400
+
+vim (2:7.2.438+hg~d44112feb815-2) unstable; urgency=low
+
+ * Fix FTBFS with parallel builds and using the autoconf target to update the
+ configure script.
+
+ -- James Vega <jamessan@debian.org> Sat, 29 May 2010 00:14:01 -0400
+
+vim (2:7.2.438+hg~d44112feb815-1) unstable; urgency=low
+
+ * Pull patches 437 - 438.
+ + 7.2.438: Fix crash when running “vim -r”. (Closes: #583122)
+ * Cherry-pick upstream/lang-breaks-floating-point.patch from upstream to
+ prevent floating point functionality from breaking when the :lang command
+ is issued. (Closes: #582421)
+ * Fix building against Debian's Python 2.6 package. (Closes: #566842)
+ + Cherry-pick upstream/python-modlibs.patch from upstream.
+ + debian/control: Add autoconf to Build-Depends.
+ + debian/rules: Re-generate configure at build time and remove on clean.
+
+ -- James Vega <jamessan@debian.org> Wed, 26 May 2010 19:34:27 -0400
+
+vim (2:7.2.436+hg~e12b9d992389-1) unstable; urgency=low
+
+ * Pull patches 331 - 436.
+ + 7.2.367: Make xxd follow documented behavior when using “-r -p”.
+ (Closes: #567041)
+ + 7.2.405: Re-enable default value for IncSearch to allow highlighting of
+ matched text when using :substitute's c flag. (Closes: #572994)
+ + 7.2.413: Largefile support for all Vim packages. (LP: #128494)
+ + 7.2.426: Require literal commas be escaped in 'langmap'. (Fixes
+ #233008, obviating upstream/langmap-comma-parsing.patch)
+ + 7.2.429: Specifically check for ENOENT to decide a file doesn't exist.
+ Also fixes the check for EFBIG/EOVERFLOW. (Closes: #430205, #139510)
+ + Updated runtime files:
+ - Fix sqlcomplete's <Left>/<Right> maps so they don't interfere with
+ normal usage. (Closes: #560083)
+ - Recognize Perl 5.10's “state” keyword. (Closes: #499644)
+ - Handle a wider variety of quoting operators in Perl. (Closes:
+ #561080)
+ * debian/control:
+ + Update Vcs-* to point to the Mercurial repository.
+ + Bump Standards-Version to 3.8.4, no changes needed.
+ * vim-policy: Update links to package descriptions and repository.
+ * Reword presubj to provide a few methods for narrowing down the bug's
+ cause.
+ * debian/rules:
+ + Specify STRIP=: when running upstream's install targets to prevent
+ upstream's automatic stripping.
+ + Pass the --with-modified-by to the Debian Vim maintainers list.
+ + Remove git helper targets.
+ + Remove get-orig-source target and related variables, since we're just
+ using the upstream Mercurial repository.
+ * debian/source/format: Switch to “3.0 (quilt)”.
+ * debian/README.source: Update description according to the change to
+ Mercurial and use of “3.0 (quilt)” source format.
+ * runtime/ftplugin/debchangelog.vim: Update completion of Ubuntu bugs based
+ on a patch from Michael Bienia. (Closes: #566841)
+ * runtime/syntax/{debchangelog,debsources}.vim: Remove intrepid and add
+ maverick to the set of Ubuntu releases.
+ * Use case-insensitive matching for month and day of week names in crontab's
+ syntax file. Thanks to Chris Butler for the patch. (Closes: #568378)
+
+ -- James Vega <jamessan@debian.org> Tue, 18 May 2010 18:40:17 -0400
+
+vim (2:7.2.330-1) unstable; urgency=low
+
+ * [34a85b6] Update README for patches 285 - 330
+ - [1aee41b] [7.2.294] when using TEMPDIRS dir name could get too long
+ (Closes: #544682)
+ - [f3ea2c2] [7.2.300] file descriptors not closed when executing external
+ command (Closes: #290507)
+ - [f3ce928] [7.2.324] a negative column argument in setpos() may cause a
+ crash (Closes: #563071)
+ * [fd76420] Sync runtime files
+ - NetRW updated to handle 'equalalways' being set, but window sizes not
+ being equal. (Closes: #346089)
+ * debian/control:
+ - [49f131e] Add Depends: ${misc:Depends} to all binary stanzas.
+ - [8973628] Bump Standards-Version, no changes required
+ - [12ac9a3] Remove Pierre Habouzit from Uploaders.
+
+ -- James Vega <jamessan@debian.org> Thu, 14 Jan 2010 00:21:04 -0500
+
+vim (2:7.2.284-1) unstable; urgency=low
+
+ * syntax/debcontrol.vim:
+ - [b997413] Add highlighting of Breaks field (Closes: #541989)
+ - [05a38bf] Recognize lpia and kopensolaris-i386. (Closes: #543207)
+ * [a85b832] Update README for patches 246 - 259
+ - [669e098] [7.2.256] GTK font dialog doesn't have a default when
+ 'guifont' not set (Closes: #307158)
+ - [f4ed8fc] [7.2.257] GTK 2.17: lots of assertion error messages (Closes:
+ #545168)
+ * [83583c3] Add Ubuntu's next release, lucid, to the Debian-related runtime
+ files.
+ * [87f3b00] update-runtime: Use -A option for git-add so deleted files
+ are committed.
+ * [60cbb45] Sync runtime files
+ - Updated remind.vim syntax file. (Closes: #536770)
+ - Fix typos in Japanese vimtutor. (Closes: #539577)
+ * [96dca67] Move html docs from /u/s/d/vim-common/html to /u/s/d/vim-
+ doc/html.
+ * [9fec1cd] Use usr_toc.html for the usermanual Index page.
+ * [fbacb18] Update README for patches 268 - 284
+ - [76d3dad] [7.2.283] GTK: changing font doesn't keep the window maximized
+ (Closes: #466088)
+ * [6e51684] debsources.vim: Recognize rc-buggy (alias for experimental).
+ (Closes: #553525)
+
+ -- James Vega <jamessan@debian.org> Sun, 08 Nov 2009 16:51:59 -0500
+
+vim (2:7.2.245-2) unstable; urgency=low
+
+ * [5263ec7] Add Suggests: indent to vim-tiny since it will invoke indent
+ when the user tries to re-indent text without 'equalprg' set. (Closes:
+ #531647)
+ * [f24fadd] Restore previous behavior of Vim looking for its (g)vimrc in
+ $VIM for non vim-tiny packages. Only vim-tiny will look in /etc/vimrc.
+
+ -- James Vega <jamessan@debian.org> Thu, 30 Jul 2009 16:14:44 +0200
+
+vim (2:7.2.245-1) unstable; urgency=low
+
+ [ James Vega ]
+ * debian/rules:
+ - [b131ea4] Remove SHELL=/bin/bash (again) along with the bashisms
+ - [ac8c907] Build Vim to look for its (g)vimrc at /etc/vim/(g)vimrc, not
+ in $VIM. This allows Vim to find the files even if /usr isn't mounted,
+ in preparation for moving vim-tiny to /bin.
+ - [24ab3e8] Remove calls to dh_desktop since desktop files are now handled
+ by triggers.
+ - [67f3b5b] Only install the UTF-8 versions of the man pages (Closes:
+ #527744)
+ * Debian-related runtime files:
+ - [3071077] Remove gutsy as a valid distribution -- EOLed.
+ - [be3e3b7] Add avr32 as a valid architecture. (Closes: #528438)
+ - [1e21fa5] Fix the upload target highlighting so experimental isn't
+ flagged as an error. (Closes: #532027)
+ - [9ed9ffd] Syntax highlight X[SB]-Python-Version and
+ XSBC-Original-Maintainer. (Closes: #536657)
+ - [ab86bac] Properly highlight comments in multi-line fields in
+ debian/control.
+ * [ea1da8a] Update README for patches 149 - 191
+ * [f0b6a54] Update README for patches 192 - 196
+ * [6c7d809] Update README for patches 197 - 209
+ * [7489ef5] vim-variant.prerm: Cleanup of mis-handled alternatives is
+ no longer needed
+ * [7be3c83] vim-variant.postinst: Remove directory->symlink code from
+ Etch
+ * Lintian cleanups:
+ - [0be1067] debian/control: Remove Priority fields from binary package
+ stanzas if they're the same as the source package stanza.
+ - [bfba0d4] debian/control: Add version for debhelper Build-Depends
+ - [6fb245c] debian/control: Remove version for make Build-Depends
+ - [d62624b] debian/control: Drop make from Build-Depends since we the
+ version we were Build-Depending on is available in Lenny and it is a
+ build-essential package.
+ - [2fd98ed] Use “set -e” instead of passing -e on the shebang line for
+ maintainer scripts.
+ - [1759cb6] Fix hyphen-used-as-minus-sign in French man pages
+ - [a749e25] Fix hyphen-used-as-minus-sign/manpage-has-errors-from-man in
+ Russian man pages
+ - [b9533d9] Fix hyphen-used-as-minus-sign in English man pages
+ - [64aeabe] Fix manpage-has-errors-from-man in Polish man pages
+ - [7125002] Fix hyphen-used-as-minus-sign in Italian man page
+ - [4f9d282] Install upstream's README file which describes the patches
+ made since the last major upstream release as the upstream changelog.
+ * [fe81bdf] Restrict spell checking in matlab filetype to
+ strings/comments (Closes: #509123)
+ * [567c06a] Add debian/update-runtime script to automate syncing the latest
+ runtime files from upstream's ftp site.
+ * [6082754] Update README for patches 210 - 239
+ - [ef67fb5] [7.2.221] X cut_buffer0 text may be used in the wrong encoding
+ (Closes: #531372)
+ * [f8033cf] Sync runtime files from upstream's ftp
+ - Support automatically reading/writing lzma files (Closes: #535665)
+ * [8132670] Make NRead's behavior for HTTP consistent across backends. They
+ will all download source by default but some can be configured to download
+ rendered text. (Closes: #525422)
+ * [cb968f3] Update README for patches 240 - 245
+ * [e1e7abe] Sync runtime files from upstream's ftp
+ - Add LocalCommand keyword to sshconfig.vim (Closes: #536299)
+
+ [ Stefano Zacchiroli ]
+ * [5f48b8d] Removing myself from Uploaders list.
+
+ -- James Vega <jamessan@debian.org> Wed, 29 Jul 2009 20:18:17 +0200
+
+vim (2:7.2.148-2) unstable; urgency=low
+
+ * [0657c8d] debian/rules: SHELL really does need to be bash...
+
+ -- James Vega <jamessan@debian.org> Sat, 18 Apr 2009 21:21:30 -0400
+
+vim (2:7.2.148-1) unstable; urgency=low
+
+ * [a97ec6d] Remove transitional vim-{full,perl,python,ruby,tcl}
+ packages as they were simply needed for Etch -> Lenny transitions.
+ * debian/control:
+ - [d92f9ec] Set vim-dbg to Section: debug to match the override.
+ - [5677315] Bump S-V to 3.8.1.0; no changes needed.
+ * syntax/debcontrol.vim:
+ - [8089fae] Update list of valid sections. (Closes: #520041)
+ - [2301bbd] Add kfreebsd-amd64 to architecture list.
+ * [5474b86] syntax/debsources.vim: Enable spell-checking only for
+ comments
+ * [33a8ff5] helpztags: Sanity check filenames being processed.
+ (Closes: #523963)
+ * [502102f] Update README for patches 131 - 148
+ - [f4547c6] [7.2.147] cursor in wrong position after Tab for small version
+ (Closes: #506658)
+ * [ab97c3c] Sync runtime files from upstream.
+ - Correct checks which determine whether to use the c filetype for header
+ files. (Closes: #524338)
+ - Properly escape filenames when deleting a file from NetRW.
+ (CVE-2008-6235)
+ * [1baf458] Add karmic as a valid distribution for Debian-related
+ runtime files.
+ * debian/rules:
+ - [e8715d6] Remove stale comment and unnecessary use of bash as $SHELL
+ - [b11bf9f] Build vim.pot for translations.
+ - [665588f] update-orig will tag/archive either the upstream or
+ upstream-runtime branch as the upstream source based on whether there
+ are differences between the two.
+ * [fd87319] compiler/javac.vim: Remove automatic appending of filename
+ to compiler command as that removes flexibility from the user. Re-opens
+ #408338.
+ * [5ef47fb] README.source: Update text to match current practice regarding
+ generating the orig.tar.gz and branch merging.
+
+ -- James Vega <jamessan@debian.org> Sat, 18 Apr 2009 15:40:09 -0400
+
+vim (2:7.2.130-1) unstable; urgency=low
+
+ * [3694d28] Update README for patches 80 - 093
+ * [7a0baa7] update-patches: Redirect `which' output to /dev/null
+ * [6313a2e] Remove sarge and add squeeze to the Debian syntax files
+ * [5623ecb] Update README for patches 94 - 108
+ * [a80edd8] syntax/fstab.vim: Recognize ext4 related options (Closes:
+ #512550)
+ * [813748e] Update README for patches 109 - 130
+ - [9cff935] [7.2.130] Vim may haing until CTRL-C is typed when using
+ CTRL-Z (Closes: #516580)
+
+ -- James Vega <jamessan@debian.org> Thu, 05 Mar 2009 08:58:23 -0500
+
+vim (2:7.2.079-1) unstable; urgency=low
+
+ * [4d191a4] Update README for patches 50 - 065
+ * [37bd8e4] Update README for patches 66 - 079
+ - [43035e4] [7.2.068] error when Emacs tags file line is too long (Closes:
+ #507116)
+ * debian/update-patches:
+ - [38e4f12] die if lftp isn't installed
+ - [fe1a8f1] Set GIT_AUTHOR_DATE when committing upstream patches
+ * [b5182c2] Fix a few typos in the French translation (Closes:
+ #511002)
+ * [75a19d8] vim-runtime: Remove old version diversions in postinst
+ (Closes: #503757)
+ * [b170d58] debian/rules: Call dh_desktop for vim-gui-common
+
+ -- James Vega <jamessan@debian.org> Sun, 11 Jan 2009 13:25:53 -0500
+
+vim (2:7.2.049-2) unstable; urgency=low
+
+ * [444b68d] syntax/python.vim: Add missing contained keyword for
+ pythonDecoratorName (Closes: #504510)
+
+ -- James Vega <jamessan@debian.org> Sun, 30 Nov 2008 12:42:01 -0500
+
+vim (2:7.2.049-1) unstable; urgency=low
+
+ [ James Vega ]
+ * [9525410] Remove EOLd feisty and add jaunty to
+ syntax/{debchangelog,debsources}.vim
+ * [c154fa3,606fc00] Update README for patches 026 - 049
+ * [233b1c9] Add recognition of PRUNENAMES variable to syntax/updatedb.vim
+ (Closes: #504084)
+ * [f7bfa57] Don't install vim alternatives for vim-tiny. vim-tiny is built
+ to act like vi, so the vim alternative just causes more confusion than
+ it's worth (by default).
+ * [f0116b4] Make vim-runtime Conflict vim-tiny << ${source:Version} to
+ ensure diversions don't cause problems when upgrading to a new major
+ upstream version. (Closes: #503757)
+ * [401c913] Include rgb.txt in vim-runtime (Closes: #505069)
+ * [045810d] Fix a typo in ftplugin/gitcommit.vim's comments... (Closes:
+ #505165)
+ * [b4fe540,3454e66] Correctly highlight Python decorator names. (Closes:
+ #504510)
+
+ [ Stefano Zacchiroli ]
+ * [64d3690] policy: bump version and copyright year
+
+ -- James Vega <jamessan@debian.org> Tue, 25 Nov 2008 23:38:38 -0500
+
+vim (2:7.2.025-2) unstable; urgency=low
+
+ * Remove "deprecated" warnings about (g)vimrc.local from /etc/vim/(g)vimrc.
+ * src/if_python.c: Strip empty directories from Python's sys.path to prevent
+ Vim from using its current working directory as a module import path.
+ (Closes: #493937)
+ * debian/rules: Do not run tests in parallel as that may interfere with
+ their results.
+
+ -- James Vega <jamessan@debian.org> Mon, 20 Oct 2008 12:13:42 -0400
+
+vim (2:7.2.025-1) unstable; urgency=low
+
+ [ James Vega ]
+ * New upstream patches (011 - 025), see README for details.
+ * debian/update-patches:
+ - Clear $snapshot since 7.2 was released
+ - Handle the -- arg that git-sh-setup adds.
+ - Adjust git-sh-setup usage for git 1.6.
+ * Add logcheck ftplugin/detection to set tw=0. (Closes: #382986)
+ * Fix a typo in the Spanish vimtutor. (Closes: #495298)
+ * Lintian fixes:
+ - Remove gvim.desktop's "Encoding" key.
+ - Add #DEBHELPER# to vim-common.preinst.
+ - Add "set -e" to the maintainer scripts which were lacking it.
+ * debian/rules: Remove the phony install-stamp target. Thanks to Bernhard
+ Link for pointing this out.
+ * debian/control: Remove unnecessary lynx Build-Depends.
+ * debian/policy/Makefile: Use $(INSTALL_STUFF) to refer to the generated
+ files in all targets.
+ * debian/runtime/vimrc.in:
+ - Use lastest last-position-jump snippet and keep it on one line
+ - Remove the "in terminals" qualification of the 'mouse' option
+ * debian/runtime/debian.vim: Set the papersize without using the shell.
+ Thanks to Matt Wozniski for the idea.
+ * debian/vim-runtime.preinst.in: Actually populate $inst and compare it
+ against a valid state.
+ * runtime/ftplugin/perl.vim: Remove Debian-specific keywordprg setting since
+ upstream added their own.
+
+ -- James Vega <jamessan@debian.org> Sun, 12 Oct 2008 15:16:18 -0400
+
+vim (2:7.2.010-2) unstable; urgency=low
+
+ * src/normal.c: Only use the word under the cursor when constructing the
+ 'keywordprg' command.
+ * debian/control: Remove unnecessary lynx Build-Depends.
+ * Add missing "set -e" to vim-common and vim-runtime maintainer scripts.
+
+ -- James Vega <jamessan@debian.org> Fri, 03 Oct 2008 12:03:03 -0400
+
+vim (2:7.2.010-1) unstable; urgency=low
+
+ * New upstream patches (1 - 10), see README.gz for details.
+ - 7.2.010 correctly escapes the visually selected text used by the K
+ command. (CVE-2008-4101, Closes: #500381)
+ * Add note to NEWS about how to re-enable filetype plugins.
+
+ -- James Vega <jamessan@debian.org> Sat, 27 Sep 2008 14:56:03 -0400
+
+vim (2:7.2.000-3) unstable; urgency=low
+
+ * Add vim-runtime.preinst to handle removing /etc/vim/vimrc.tiny when
+ upgrading to 1:7.1.293-2 or later. The conffile was moved to vim-tiny and
+ therefore needs to be removed before the new vim-tiny is installed so dpkg
+ forgets about it. (Closes: #499451)
+
+ -- James Vega <jamessan@debian.org> Mon, 22 Sep 2008 02:01:47 -0400
+
+vim (2:7.2.000-2) unstable; urgency=low
+
+ * src/main.c: After further discussion with upstream, revert behavior of
+ -N/-C causing (no)compatible to be set after all startup files/plugins are
+ sourced, c.f. #438560.
+ * debian/NEWS: Remove entry from a test build
+ * debian.vim: Remove commented out settings since this isn't meant to be
+ modified by users.
+ * /etc/vim/vimrc: Update filetype plugin comment to correctly state that
+ filetype plugins aren't enabled by default.
+
+ -- James Vega <jamessan@debian.org> Wed, 13 Aug 2008 21:09:06 -0400
+
+vim (2:7.2.000-1) unstable; urgency=low
+
+ * New upstream release (7.2)
+ * debian/vim-runtime.preinst: Handle a couple of cases where files are
+ left-behind or diversions setup incorrectly if vim-tiny was currently
+ installed during the transition to vim-runtime Replacing vim-tiny.
+ (Closes: #492450)
+
+ -- James Vega <jamessan@debian.org> Sun, 10 Aug 2008 20:22:02 -0400
+
+vim (2:7.2c.000-1) experimental; urgency=low
+
+ * New upstream release candidate.
+ - 7.2b.026 fixes continuous disk activity after using GTK2's "Recent
+ Files" selector. (Closes: #456897)
+ - runtime/syntax/zsh.vim: Fixed highlighting of "here-string" redirection.
+ (Closes: #482373)
+ * runtime/filetype.vim: Remove duplicate apache filetype detection.
+ * runtime/autoload/netrw.vim: Fix deletion of incorrect file in wide display
+ listing. Using Jan Minář's patch from the vim-dev list. (Closes:
+ #492519)
+ * debian.vim: Do not enable 'autoindent' and filetype plugins by default.
+ * vim-runtime.preinst: Use proper invocation of dpkg-divert when removing
+ diversions.
+ * README.Debian: Note that securemodelines is in vim-scripts.
+ * runtime/syntax/tex.vim: Revert diversions from upstream for packages
+ upstream author doesn't support.
+ * debian/rules: Instruct configure not to look at /usr/local for
+ includes/libs.
+
+ -- James Vega <jamessan@debian.org> Thu, 07 Aug 2008 12:25:41 -0400
+
+vim (2:7.2b.001-1) experimental; urgency=low
+
+ [ James Vega ]
+ * New upstream release candidate and patch (001), see README.gz for details.
+ - 7.2a.004 use wget/curl/fetch if available for downloading spellfiles.
+ (Closes: #487221)
+ - runtime/autoload/netrw.vim:
+ + No longer creates an "undeletable" buffer when 'hidden' is set.
+ (Closes: #482776)
+ + Screen is redrawn after invoking external file handler. (Closes:
+ #487120)
+ + Hidden files are correctly opened when using NetRW's wide listing.
+ (Closes: #487385)
+ + Escaping of filenames cleaned-up which allows opening BTS attachments
+ again. (Closes: #488557)
+ - runtime/autoload/netrwsettings.vim: Remove use of non-existent
+ variables. (Closes: #488881)
+ - runtime/syntax/sh.vim
+ + Use stricter matches for shell loop control. (Closes: #486114)
+ * Bump epoch and use a saner format for the snapshot versioning.
+ * runtime/syntax/debcontrol.vim: Hilight DM-Upload-Allowed in control files
+ (Closes: #485119)
+ * runtime/filetype.vim:
+ - Udev filetype detection should match /etc/udev/*.rules not /etc/udev.d
+ - Remove duplicate debcontrol detection
+ - Detect .ptl files as python. Thanks to Santiago Ruano Rincón for the
+ patch. (Closes: #399784)
+ * debian/control:
+ - Add libxt-dev Build-Depends.
+ - vim-runtime Depends dpkg (>= 1.14.20) for sane dpkg-divert behavior.
+ * debian/rules:
+ - Update handling of DEB_BUILD_OPTIONS according to policy 3.8.0
+ - Explicitly call upstream's installgtutorbin target
+ - Add a manpage for gvimtutor by symlinking to the vimtutor manpage.
+ - Remove needless branch checkouts from update-orig target.
+ * debian/update-patches:
+ - Update for 7.2b beta. Cleanup some code.
+ - Redirect git-show's stderr to /dev/null.
+ - Remove an erroneous comment.
+ - Include the patch number in the summary.
+ - Use git add debian/README instead of specifying the file to git-commit
+ - Fix syntax of an if block.
+ - Ignore leading 0's in patch numbers so they aren't treated as octal.
+ - Improve handling when fetching the first patch to a new release.
+ * debian/vim-runtime.links: Add gvimtutor.1 symlink.
+ * debian/vim-runtime.install: Use the upstream-installed gvimtutor instead
+ of the one from the src directory.
+ * debian/vim-common.install: Explicitly list which manpages are installed to
+ vim-common instead of installing all of /usr/share/man and sorting it out
+ in debian/rules.
+ * debian/vim-common.links: Remove listed symlinks which are generated by
+ debian/rules.
+ * runtime/syntax/debcontrol.vim: Accept http URIs as valid for Vcs-Git.
+ Thanks to martin krafft for the patch. (Closes: #489853)
+ * runtime/tools/vimm: Use printf instead of echo to avoid bashisms.
+ (Closes: 489667)
+ * src/ui.c: Remove "#if defined" checks around check_col/check_row
+ definitions to fix a compile error when building vim-tiny.
+ * debian/vim-runtime.preinst, debian/vim-runtime.postrm:
+ - Remove special handling of adding/removing diversions now that
+ dpkg-divert behavior is fixed (and migrated).
+ - Add vim72a to the list of previous diversions to remove on upgrade (if
+ only dpkg handled diversions internally...)
+
+ [ Gerfried Fuchs ]
+ * runtime/syntax/debchangelog.vim: package names are allowed to start off
+ with alphanumeric, not only alpha.
+
+ -- James Vega <jamessan@debian.org> Mon, 14 Jul 2008 10:38:52 -0400
+
+vim (1:7.2.0~a-1) experimental; urgency=low
+
+ * New upstream release candidate.
+ - Setting 'pastetoggle' to a multi-key string works again. (Closes:
+ #424033)
+ - Match offsets work correctly with multi-byte characters. (Closes:
+ #441785)
+ - GNU Screen is detected as supporting xterm mouse codes.
+ * Merged upstream:
+ - src/spell.c: Check for EOF while reading the spelllang file in case it
+ is a corrupt file.
+ * debian/README:
+ - Removed until upstream adds one for 7.2
+ * debian/rules:
+ - Update upstream version to 7.2a snapshot
+ * debian/vim-runtime.preinst:
+ - The diversions we use are under a versioned directory based on the major
+ upstream version. Need to remove the diversions for the vim71
+ directory.
+ * Change the shebang lines in all maintainer scripts back to #!/bin/sh since
+ we no longer use bashisms.
+ * debian/lintian/vim-runtime:
+ - Generate this file in debian/rules so the override always has the right
+ versioned directory.
+
+ -- James Vega <jamessan@debian.org> Thu, 26 Jun 2008 12:49:16 -0400
+
+vim (1:7.1.314-3) unstable; urgency=high
+
+ * Update runtime files affected by the filename escape vulnerability.
+ (CVE 2008-2712, Closes: #486502)
+ * debian/vim-runtime.preinst:
+ - Only add the diversions if the preinst is called with the "install" or
+ "upgrade" (to handle the previous mishandling in postrm) arguments.
+ * debian/vim-runtime.postrm:
+ - Only remove the diversions if the postrm is called with the "remove"
+ argument. (Closes: #486446)
+ * runtime/menu.vim:
+ - Escape the buffer name when using the "Window -> Split File Explorer"
+ menu item. (Closes: #486417)
+
+ -- James Vega <jamessan@debian.org> Tue, 17 Jun 2008 11:12:18 -0400
+
+vim (1:7.1.314-2) unstable; urgency=low
+
+ * debian/rules:
+ - Tell configure to only check the GUI toolkit specific to the variant
+ being built. (Closes: #486319, #486336)
+ * runtime/ftplugin/debchangelog.vim:
+ - Merge Launchpad bug completion from Ubuntu.
+ - Specify the full path when calling apt-listbugs instead of relying on
+ /usr/sbin being in the user's path.
+ - Improve error handling for Launchpad bug completion.
+
+ -- James Vega <jamessan@debian.org> Sun, 15 Jun 2008 12:42:38 -0400
+
+vim (1:7.1.314-1) unstable; urgency=low
+
+ * New upstream patches (294 - 314), see README.gz for details.
+ - SELinux support merged upstream
+ * Update NetRW to version 125n (pre-release).
+ - Calculate length of multi-byte strings properly. (Closes: #474609)
+ - Display/navigate symlinks to directories properly. (Closes: #474980)
+ * Update vim-git runtime files.
+ * debian/update-patches:
+ - Fix determination of patch level from last commit.
+ - Use debian:debian/README to determine current patch level.
+ - Don't exit on error since that prevents correcting merges.
+ - Use a standard commit message for debian/README.
+ * runtime/ftplugin/debchangelog.vim:
+ - NewVersion() should only call foldopen if folding is enabled.
+ * runtime/macros/justify.vim:
+ - Calculate strlen for multi-byte strings properly. (Closes: #481115)
+ * debian/rules:
+ - Make use of upstream's "shadow" directories so the variants can be built
+ in parallel.
+ - Remove .NOTPARALLEL to allow parallel building.
+ - Remove useless dh_shlibdeps call in the binary-indep target.
+ - Remove autoconf-stamp target since we're no longer patching configure.
+ * debian/vim-runtime.install:
+ - Add new gvimtutor to vim-runtime package.
+ * Very carefully divert vim-tiny's help.txt and helptags so they will still
+ be in place if vim-runtime is removed.
+ * debian/control:
+ - Remove vim-runtime's Replaces of vim-tiny since the conflicting files
+ are now handled by diversions.
+
+ -- James Vega <jamessan@debian.org> Tue, 10 Jun 2008 22:28:10 -0400
+
+vim (1:7.1.293-3) unstable; urgency=low
+
+ * runtime/syntax/debchangelog.vim,debsources.vim:
+ - Update the list of supported Ubuntu releases.
+ * debian/policy/vim-policy.xml:
+ - Remove svn keywords since it's not being stored in svn anymore.
+ * debian/vim-variant.postinst:
+ - Remove switching on $1 since it's safe to always add the alternatives.
+ * debian/vim-variants.prerm:
+ - Add removal of alternatives during deconfigure. (Closes: #411697)
+ * debian/README.Debian:
+ - Add information about mimicing Vim's default modeline behavior and the
+ securemodelines plugin. (Closes: #479060)
+ * debian/rules:
+ - Separate build-arch and build-indep targets so Vim's policy document
+ aren't built on the buildd's (thus avoiding the openjade segfault on
+ arm).
+ * debian/control:
+ - Move docbook-utils and docbook-xml to Build-Depends-Indep
+ * src/if_python.c:
+ - If building against Python 2.5, use ssize_t instead of int according to
+ PEP 353.
+
+ -- James Vega <jamessan@debian.org> Sun, 04 May 2008 14:11:17 -0400
+
+vim (1:7.1.293-2) unstable; urgency=low
+
+ * debian/rules:
+ - Fix expansion of @VIMCUR@ in vimrc.tiny. Based off a patch by Daniel
+ Hahler. (Closes: #477379)
+ - Create a separate install-stamp-vim-tiny target.
+ - Add the proper lines for vimrc.tiny to vim-tiny.{install,links} in the
+ install-stamp-vim-tiny target.
+ * debian/control:
+ - Correct the vim-common and vim-runtime descriptions with regard to
+ vimtutor.
+ - Add Conflicts/Replaces to vim-tiny against vim-common since
+ /etc/vim/vimrc.tiny is moving to the vim-tiny package.
+ * runtime/syntax/messages.vim:
+ - Support highlighting of RFC3339 timestamps. (Closes: #475568)
+ * runtime/scripts.vim:
+ - Detect Mozilla Thunderbird's mbox file as mail filetype. Thanks to
+ Kevin B. McCarty for the patch. (Closes: #475300)
+ * runtime/filetype.vim:
+ - Add detection of more passwd/shadow related files. Based on a patch by
+ Jarek Kamiński. (Closes: #420304)
+ - Improve filetype detection of strace logs. Thanks to Philipp Marek for
+ the patch. (Closes: #473967)
+ - Add filetype detection of more Apache config files. Thanks to Josh
+ Triplett and Xavier Guimard for the patch. (Closes: #421312)
+ - Fix a missing comma in the cron filetype detection.
+
+ -- James Vega <jamessan@debian.org> Wed, 23 Apr 2008 13:46:26 -0400
+
+vim (1:7.1.293-1) unstable; urgency=low
+
+ * debian/control:
+ - Add Provides for vim-{ruby,python,perl,tcl} to any variant that supports
+ those language bindings since some packages benefit from being able to
+ specify a Depends on a vim package with support for a specific language.
+ - Only Build-Depend on libselinux1-dev for linux systems.
+ - Remove Provides from the transition packages.
+ * runtime/filetype.vim:
+ - Use "setf" instead of "set ft" when setting the filetype to git so that
+ we don't override another filetype which may have been set during
+ filetype detection.
+ * runtime/syntax/debchangelog.vim:
+ - Cleanup the list of recognized releases and add
+ oldstable-proposed-updates/proposed-updates.
+
+ -- James Vega <jamessan@debian.org> Tue, 15 Apr 2008 22:19:36 -0400
+
+vim (1:7.1.291-1) unstable; urgency=low
+
+ * Lintian cleanups
+ - Change doc-base section to Editors.
+ - Remove Encoding key from desktop entry.
+ * New upstream patches (286 - 291), see README.gz for details.
+ * Add SELinux support (Closes: #474102)
+ - Vim patch taken from Fedora's Vim packaging
+ - Thanks to Vaclav Ovsik for the patch to the Debian packaging.
+ * Fix indentation of Perl files when folding is enabled. Thanks to Gregory
+ Hainaut for the patch. (Closes: #473660)
+ * debian/control:
+ - Add libselinux1-dev and autoconf Build-Depends.
+ * debian/rules:
+ - Rule & dependency added for rebuilding src/auto/configure.
+ - Add update-orig target to prep a new upstream+patches orig.tar.gz for
+ release.
+
+ -- James Vega <jamessan@debian.org> Tue, 08 Apr 2008 02:24:11 -0400
+
+vim (1:7.1.285-1) unstable; urgency=low
+
+ * Repack upstream tarball so we're no longer using tarball(s)-in-tarball.
+ * New upstream patches (267 - 285), see README.gz for details.
+ - 7.1.277 adds recognition of a few extra groff macros (TP, HP, Pp, Lp,
+ and It) in the default 'paragraphs' option. (Closes: #468924)
+ * Updated runtime files:
+ - syntax/sh.vim:
+ + No longer mishighlight parenthetical expressions inside arithmetic
+ expansions. (Closes: #468366)
+ - syntax/debcontrol.vim:
+ + Fix syntax highlighting for Vcs-Svn field to accept svn+ssh and remove
+ the leading "svn+" from http URLs. (Closes: #472201)
+ - syntax/debsource.vim:
+ + Add lenny as a recognized distribution.
+ + Add debtorrent, ssh, rsh, cdrom, and copy URIs. (Closes: #471556)
+ - filetype.vim
+ + Add .dpkg-{old,dist} to the list of extensions which are ignored
+ when determining filetype. (Closes: #421314)
+ + Recognize /etc/cron.d/* as crontab filetype. (Closes: #472375)
+ - Change the debchangelog and debcontrol ftplugins to require enabling of
+ folding instead of folding by default.
+ * Make debian/tiny/vimrc.tiny.diff a proper patch that is always applied and
+ update it to only be enabled when TINY_VIMRC is defined.
+ * debian/rules:
+ - Remove the special-case targets for vim-tiny and add -DTINY_VIMRC to the
+ CFLAGS used when building vim-tiny.
+ - Cleanup dead/useless code from the makefile.
+ - Restrict 'make test' from running unless build and host types are the
+ same.
+ - Allow vim-gnome to build on non-linux-gnu systems.
+ - Only enable gpm on linux-gnu systems.
+ - Automatically specify the Vim version when generating helpztags.1.
+ - Add .NOTPARALLEL target.
+ - Only run 'make distclean' if configure has already been run.
+ - Remove patch, unpatch, extract targets/prerequisites now that the
+ upstream source is directly unpacked in the tarball.
+ - Simplify get-orig-source so there's only one set of commands that
+ are run regardless of whether it's a normal or snapshot release.
+ * debian/control:
+ - Remove the [!hurd-i386] qualifier from libgnomeui-dev Build-Depend.
+ - Remove quilt from Build-Depends.
+ - Change Vcs-* fields to point at the git repo.
+ * Adjust 'modeline' help to indicate that Debian defaults it to off.
+ * Update README.Debian and FAQ to reflect the deviation from
+ upstream's 'modeline' default. (Closes: #472522)
+ * Remove NEWS entries relevant to stable or earlier releases.
+
+ -- James Vega <jamessan@debian.org> Sun, 30 Mar 2008 12:39:51 -0400
+
+vim (1:7.1-266+1) unstable; urgency=low
+
+ [ James Vega ]
+ * New upstream patches (246 - 266), see README.gz for details.
+ - 7.1.265 fixes an infinite loop when <Space> is included in 'isfname' and
+ the user tries to complete a filename. (Closes: #465163)
+ - 7.1.266 fixes an issue where Vim would stop parsing a terminal response
+ early, causing the rest of the response to be interpreted as key presses
+ from the user. (Closes: #466789)
+ * debian/control:
+ - Build-Depend on tcl-dev instead of tcl8.4-dev per Tcl/Tk policy.
+ * Added patches:
+ - make.vim-syntax.diff:
+ + Add recognition of more function names. (Closes: #465912)
+ * Removed patches:
+ - configure-tcl_detection.diff:
+ + Accepted upstream and merged as 7.1.257
+ * Add debian/watch file.
+ * debian/rules:
+ - Add a get-orig-source target.
+
+ [ martin f. krafft ]
+ * add Tim Pope's vim-git integration (v1.1, commit a53cabb) to vim-runtime.
+
+ [ James Vega ]
+ * Correct a typo in /etc/vim/vimrc's (Closes: #467057) and eval.txt's (via
+ new last-position-jump.diff patch) 'last-position-jump' code snippet which
+ would cause it to fail if the g key were remapped.
+ * runtime/syntax/debcontrol.vim:
+ - Ignore case for control file keys
+ - Match case for control file values
+ - Improve syntax matching for Vcs-Svn, Vcs-Git, and Vcs-Cvs field values.
+ - Match URLs for Vcs-Arch, Vcs-Bzr, Vcs-Darcs, Vcs-Hg.
+ - Recognize more fields as multi-line.
+ - Use the 'keepend' qualifier for the Vcs-* syntax regions to prevent
+ mishighlighting of debcontrolHTTPUrl matches. (Closes: #466338)
+ * debian/control:
+ - Add "Provides: vim" to all vim variant packages. (Closes: #447714)
+
+ -- James Vega <jamessan@debian.org> Wed, 27 Feb 2008 12:12:26 -0500
+
+vim (1:7.1-245+1) unstable; urgency=low
+
+ * New upstream patches (242 - 245), see README.gz for details.
+ - 7.1.244 fixes an issue where a maximized gvim window would size itself
+ larger than the size of the workspace, cutting off part of the
+ command-line. (Closes: #378311)
+ * debian/control:
+ - Add libacl1-dev to Build-Depends so it actually builds with acl support.
+ Thanks to Lucas Nussbaum's dirty chroot builds for noticing this.
+ - Change TCL to Tcl in the package descriptions.
+ * New patches:
+ - option.c-langmap_comma.diff:
+ + Improves parsing of 'langmap' to follow the behavior specified in the
+ help. Commas need to be escaped if they're being used literally
+ instead of as a list separator. (Closes: #233008)
+ - commandline-compatible.diff:
+ + If either -N/-C options are given on the command line, set
+ 'nocompatible'/'compatible' after sourcing of the startup files
+ finishes. (Closes: #438560)
+ * Refreshed patches:
+ - vimrc.tiny.diff
+ * Register the justify and editexisting plugins for use with
+ vim-addons-manager.
+ - justify.vim right and left aligns text by inserting extra spaces into
+ the specified text. (Closes: #431945)
+ - editexisting.vim will attempt to bring a running gvim to the foreground
+ if 1) only one filename was given when invoking Vim and another Vim
+ instance is editing it or 2) a swapfile for a file exists. (Closes:
+ #316541)
+ * debian/rules:
+ - Add patch/unpatch targets.
+ - Fix how quilt is invoked so it doesn't use the local user's settings.
+ Thanks to Teemu Likonen for the patch. (Closes: #463775)
+ * debian/copyright:
+ - Adjust copyright string (capitalize the C) so it's recognized by
+ Lintian.
+
+ -- James Vega <jamessan@debian.org> Mon, 11 Feb 2008 10:27:17 -0500
+
+vim (1:7.1-241+1) unstable; urgency=low
+
+ * New upstream patches (232 - 241), see README.gz for details.
+ * Remove vim-gui-common.menu and provide one menu file for each gvim
+ package. (Closes: #461805)
+ * debian/control:
+ - Re-add ruby1.8 Build-Depends since that's required for Vim to detect
+ that it can build with Ruby support. (Closes: #462284)
+ * Updated patches:
+ - netrwPlugin.vim-bwipe.diff:
+ + Do a full refresh of NetRW since the functionality is spread out among
+ multiple files.
+ - python.vim-ftplugin_include.diff:
+ + Fix an unescaped backslash so the option correctly matches whitespace
+ instead of the letter s.
+ * Removed patches:
+ - patches/ruby.vim-ftplugin_ri.diff:
+ + The ruby.vim in 7.1 already handles what the feature the patch was
+ adding. (Closes: #462418)
+
+ -- James Vega <jamessan@debian.org> Thu, 24 Jan 2008 16:54:49 -0500
+
+vim (1:7.1-231+1) unstable; urgency=low
+
+ [ Debian Vim Maintainers ]
+ * New upstream patches (176 - 231), see README.gz for details.
+ - 7.1.227 fixes an issue where syntax highlighting could cause Vim to
+ hang. (Closes: #400771)
+
+ [ James Vega ]
+ * debian/control:
+ - Bump policy version to 3.7.3.0 - no changes needed.
+ - Drop Build-Conflicts on old version of libperl-dev.
+ - Drop versioning from Build-Depends that are available in Sarge.
+ - Drop unnecessary ruby and perl Build-Depends.
+ - Suggest ttf-dejavu instead of ttf-bitstream-vera for the gvim packages.
+ (Closes: #461295)
+ - Remove dpkg Pre-Depends now that dak is accepting data.tar.bz2.
+ * runtime/syntax/debchangelog.vim:
+ - Adjust the "Closes" syntax highlighting to allow newlines as part of the
+ whitespace. (Closes: #460074)
+ - Recognize lenny-backports/lenny-volatile. (Closes: #461059)
+ * runtime/syntax/debcontrol.vim: Add s390x, sh3, sh3eb, sh4, sh4eb to the
+ list of recognized architectures. (Closes: #455993)
+ * Added patches:
+ - configure-tcl_detection.diff:
+ + Update Vim's configure script to detect Tcl again after the Tcl
+ maintainers' decision to move /usr/lib/tcl8.4/ to
+ /usr/share/tcltk/tcl8.4/.
+ - tex.vim-syntax_additions.diff:
+ + Disable spell checking for verbatim sections. (Closes: #445295)
+ - netrwPlugin.vim-bwipe.diff:
+ + Call bwipe when opening file:// URLs to remove the extra buffers that
+ get created. Their creation is inevitable but this will clean up the
+ buffer list. (Closes: #370082)
+ - filetype.vim-udev.d.diff:
+ + Detect /etc/udev.d/*.rules files as 'udevrules' instead of 'hog'
+ filetype. (Closes: #437434)
+ - vimspell.sh-typo.diff:
+ + Fix a missing end-quote in tools/vimspell.sh.
+ - mve.awk-interpreter.diff:
+ + Adjust the #! line to use awk instead of nawk.
+ * Updated patches:
+ - fstab.vim-syntax.diff:
+ + Added more sshfs support based on feedback from upstream.
+ * Removed patches:
+ - gui_gtk_x11.c_g_thread_init.diff:
+ + This patch was initially added to silence a GLib warning (#428854)
+ which isn't occurring anymore.
+ * Stop removing vimspell, vim132, and maze from the runtime tools/
+ directory. The issues leading to their removal should be addressed
+ instead of removing them from the package.
+ - vimspell - The tempfile vulnerability (CAN-2005-0069) has been fixed
+ upstream for some time now.
+ - vim132 - Add lintian overrides for "csh is harmful" and not having a
+ Depends/Recommends/Suggests on tcsh | csh. This is the only file in the
+ package that would use the shell and its an example script.
+ - maze - maze.c doesn't work properly and its README suggests this may be
+ the case on newer compilers and to use mazeansi.c, which does work.
+
+ -- James Vega <jamessan@debian.org> Thu, 17 Jan 2008 13:50:30 -0500
+
+vim (1:7.1-175+2) unstable; urgency=low
+
+ * runtime/syntax/debcontrol.vim:
+ - Reworked the URL regex so that it should properly match any non-local
+ domain name as specified in RFC 1738.
+ * debian/rules:
+ - Use bzip2 to compress the vim-runtime package.
+ * Add tex.vim-update.diff, which syncs from upstream to fix some folding
+ issues. (Closes: #456168)
+ * debian/control:
+ - Add Pre-Depends on dpkg (>= 1.10.24) for vim-runtime to please dak even
+ though Sarge has a newer dpkg.
+
+ -- James Vega <jamessan@debian.org> Tue, 18 Dec 2007 09:13:59 -0500
+
+vim (1:7.1-175+1) unstable; urgency=low
+
+ [ James Vega ]
+ * debian/rules:
+ - Add LDFLAGS="-Wl,--as-needed" when calling configure.
+ * Fix a typo in debsources.vim-syntax.diff. (Closes: #454672)
+
+ [ Debian Vim Maintainers ]
+ * New upstream patches (168 - 175), see README.gz for details.
+
+ [ James Vega ]
+ * Add spellfile.vim-doc.diff, which explains that a writable spell directory
+ must exist for the plugin to download spell files. (Closes: #421045)
+ * Lintian cleanup:
+ - Remove /usr/share/vim/addons/plugins/ from vim-common.dirs.
+ - Remove /usr/share/vim/vim71/tools/vim132 to silence a warning and error
+ about csh.
+ - Remove /usr/share/consolefonts/ from vim-runtime.dirs.
+ - Remove /usr/share/doc/vim-common/html/policy/ from vim-doc.dirs.
+ - Override the "desktop-command-not-in-package" warning for
+ vim-gui-common. We make use of TryExec which should prevent the menu
+ entry from showing up if none of the gvim-providing packages are
+ installed.
+ * Move Vim's policy documentation to /usr/share/doc/vim-common/ instead of
+ being under a separate policy/ directory.
+ * runtime/ftplugin/debcontrol.vim: Correct a function definition to use !.
+ (Closes: #454933)
+ * runtime/syntax/debcontrol.vim: Don't require a three part domain for the
+ Homepage field. (Closes: #455341)
+ * Install the presubj file under /usr/share/bug/ for every vim variant, not
+ just vim.
+ * Add versioned Conflicts/Replaces on vim-common for the vim package since
+ it contains /usr/share/bug/vim/presubj now.
+
+ -- James Vega <jamessan@debian.org> Sun, 09 Dec 2007 17:42:17 -0500
+
+vim (1:7.1-167+1) unstable; urgency=low
+
+ [ Debian Vim Maintainers ]
+ * New upstream patches (139 - 167), see README.gz for details.
+ - 7.1.147 fixes a crash when tab completing a user's home directory.
+ (Closes: #453049)
+ - 7.1.167 fixes a crash with large values for the -c option of xxd
+ (Closes: #452789)
+
+ [ James Vega ]
+ * runtime/ftplugin/debchangelog.vim:
+ - Fix NewVersion() to use the distribution from the previous changelog
+ entry. (Closes: #446728)
+ - Fix NewVersion() to increment the version of the first changelog entry
+ regardless of how 'startofline' is set.
+ * runtime/syntax/debchangelog.vim:
+ - Recognize oldstable* upload targets.
+ * Refreshed patches:
+ - vimrc.tiny.diff
+ * Added patches:
+ - sh.vim_syntax.diff, which fixes the syntax highlighting of escaped
+ single-quotes and comments. (Closes: #425443, #425797)
+ - gnuada.diff, which updates the ada runtime files so they gracefully
+ handle the user not having certain variables defined. (Closes: #440221)
+ * syntax/debcontrol.vim:
+ - Add syntax highlighting for Vcs-* control fields. (Closes: #448543)
+ * Bump debhelper compat to 5.
+ * debian/vim-runtime.install:
+ - Remove usr/share/consolefonts/* since that's not shipped any more.
+ * debian/control:
+ - Add vim-dbg package to supply debugging symbols for the various vim
+ packages.
+ - Fix a typo in the long description for the vim package.
+ - Make use of multi-line (Build-)Depends support.
+ * debian/rules:
+ - Add binary-arch target for the vim-dbg package.
+ * debian/gvim.desktop:
+ - Add TryExec key so the menu entry is only shown if the gvim alternative
+ has been setup.
+ * Merges from Ubuntu:
+ - runtime/syntax/debcontrol.vim:
+ + Recognize restricted, universe, multiverse as part of the Section
+ field.
+ + Recognize XSBC-Original-Maintainer as a legal field.
+ - runtime/syntax/debchangelog.vim:
+ + Recognize Ubuntu releases as upload targets.
+ + Recognize syntax for closing Launchpad bugs.
+ - Add debsources.vim-syntax.diff:
+ + Recognize restricted, universe, multiverse Sections.
+ + Add more recent Ubuntu releases as recognized distributions.
+
+ [ Stefano Zacchiroli ]
+ * debian/README.Debian
+ - fix typo in vim policy URL (Closes: #452555)
+
+ [ James Vega ]
+ * Add lhaskell.vim-syntax.diff, which restricts the matching of % to the
+ beginning of the line when determining if the file is a TeX document.
+ Thanks to Chung-chieh Shan for the patch. (Closes: #451440)
+ * Add fstab.vim-syntax.diff, which adds support for sshfs syntax.
+ (Closes: #451754)
+ * Add filetype.vim-debfiles.diff, which improves detection of debcontrol and
+ debsources files. Thanks to Loïc Minier for the debsources part of the
+ patch. (Closes: #435552)
+ * debian/control:
+ - Remove Norbert Tretowski from Uploaders with his permission. Thanks for
+ all your work.
+
+ -- James Vega <jamessan@debian.org> Mon, 03 Dec 2007 15:53:27 -0500
+
+vim (1:7.1-138+1) unstable; urgency=medium
+
+ [ Debian Vim Maintainers ]
+ * New upstream patches (136 - 138), see README.gz for details.
+
+ [ James Vega ]
+ * Fix the lintian override files to match Lintian's output.
+ * debian/rules
+ - Remove a useless command from the variant clean target
+ - Clean vim-tiny's generated debhelper files
+ - Clean generated vim-policy files
+ * Brown-paper bag bug in vim-full.preinst. Need to grep for bin/vim.full
+ not vim/vim.full. (Closes: #446462)
+
+ -- James Vega <jamessan@debian.org> Sat, 13 Oct 2007 12:45:04 -0400
+
+vim (1:7.1-135+1) unstable; urgency=low
+
+ [ Debian Vim Maintainers ]
+ * New upstream patches (057 - 135), see README.gz for details.
+ - Patch 125 corrects Vim's TermResponse autocmd behavior.
+ (Closes: #436452)
+
+ [ Stefano Zacchiroli ]
+ * debian/control
+ - removing idle contributors from the Uploaders field
+
+ [ James Vega ]
+ * Add a slave link for gnome-text-editor.1.gz when we add the
+ gnome-text-editor alternative. (Closes: #439549)
+ * Update debcontrol.vim.diff to recognize "Homepage:" (Closes: #443444) and
+ "XS-Vcs-*:" fields.
+ * Update patches/filetype.vim-better_tex_vs_plaintex.diff so it properly
+ escapes the pattern alternator (|) when determining whether the file is
+ latex. Thanks Martin Krafft. (Closes: #444346)
+ * Update patches/debchangelog-ftplugin.vim.diff to remove an extra
+ "foldopen" command. (Closes: #441315)
+ * Add de.po.diff to fix the translation of "Load File". Thanks Torsten
+ Werner. (Closes: #443529)
+ * Add samba.vim.diff which fixes the highlighting for "smb ports". Thanks
+ Alberto Reyes. (Closes: #386064)
+ * Add tex.vim-syntax_additions.diff, which adds syntax highlighting for
+ acronyms, URLs, and citetest. (Closes: #444411, #444408, #444301)
+ * Update menu file to use Applications instead of Apps and to require the
+ gvim package to be installed in order to display the entry.
+ * Update desktop file to remove legacy category.
+ * debian/rules:
+ - Remove vim-{python,perl,tcl,ruby,full} variants.
+ - Add vim-nox which has all language bindings but no X requirement.
+ - Include all language bindings when building vim-gtk.
+ * debian/control:
+ - Add Homepage field.
+ - Remove Build-Depends on dpkg and dpkg-dev since the specific versions we
+ need are older than what's in stable.
+ - Make vim-full a transition package Depending on vim-gnome.
+ - Make vim-{python,perl,tcl,ruby} transition packages Depending on
+ vim-gtk.
+
+ -- James Vega <jamessan@debian.org> Sun, 07 Oct 2007 15:47:26 -0400
+
+vim (1:7.1-056+2) unstable; urgency=low
+
+ * Brown paper bag release -- vimrc.tiny should not be calling :let since
+ vim.tiny doesn't support that command. Copy the 'runtimepath' setting to
+ vimrc.tiny since that was the only reason we needed the :let and
+ "runtime! debian.vim" commands. (Closes: #436925)
+
+ -- James Vega <jamessan@debian.org> Thu, 09 Aug 2007 10:57:51 -0400
+
+vim (1:7.1-056+1) unstable; urgency=low
+
+ [ Debian Vim Maintainers ]
+ * New upstream patches (023 - 056), see README.gz for details.
+
+ [ Pierre Habouzit ]
+ * Make sure reportbug vim/presubj is named that way, without a `vim.` prefix
+ making reporbug skip it.
+
+ [ Stefano Zacchiroli ]
+ * Add a entry to debian/NEWS describing why /usr/share/vim/addons/ is no
+ longer in the runtimepath and pointing to the appropriate documentation
+
+ [ James Vega ]
+ * Add verilog.vim_ftplugin-cpoptions.diff, which locally enables line
+ continuations for the ftplugin in order to prevent an error when being run
+ in vi-compatible mode. (Closes: #430372)
+ * Build vim with the huge feature set to pull in +profile (the only
+ difference between the big and huge feature sets).
+ * Remove the !hurd-i386 restriction from the tcl8.4-dev Build-Depends now
+ that the package exists on hurd-i386. This allows building the vim-tcl
+ package for hurd-i386. (Closes: #434435)
+ * Remove the hacks we were doing to try and build vim-tiny with extra
+ features. Simply build vim-tiny using Vim's "small" feature set. This
+ removes a number of features but allows the package to build with the
+ current upstream patches. This also lessens the maintenance burden since
+ we no longer have to figure out which features to enable via trial and
+ error.
+ * debian/rules:
+ - Separate out {clean,configure,build}-stamp-vim-tiny targets
+ - Move the handling of the vimrc.tiny patch to the new *-vim-tiny targets.
+ - Remove configure-stamp* files in the clean target.
+ - Move the fake help files for vim-tiny from /usr/share/vim/doc to
+ /usr/share/vim/$VIMCUR so the user can actually see them when invoking
+ :help.
+ * Add ruby.vim_indent.diff, which fixes some improper indenting for Ruby
+ files. (Closes: #431212)
+ * Refresh vimrc.tiny.diff
+ * Add index.txt.diff, which adds some missing cross-references to the index
+ of Vim commands. (Closes: #434447)
+ * debian/control:
+ - Remove Conflicts/Replaces on packages that are older than Etch.
+ - Add a Replaces to vim-runtime since it ships files that overwrite files
+ in vim-tiny.
+ - Add a Conflicts to vim-tiny for earlier versions of vim-runtime to make
+ sure we don't attempt to overwrite files in versions of vim-runtime that
+ don't Replace vim-tiny.
+
+ -- James Vega <jamessan@debian.org> Wed, 08 Aug 2007 00:18:16 -0400
+
+vim (1:7.1-022+1) unstable; urgency=low
+
+ [ Debian Vim Maintainers ]
+ * New upstream patches (001 - 022), see README.gz for details.
+ + Load all matching files in $VIMRUNTIME when using ":syn include"
+ (Closes: #395517)
+
+ [ James Vega ]
+ * Add changelog.vim-date_end_entry.diff, which fixes a variable name which
+ is let in changelog.vim. (Closes: #424224)
+ * Remove 'viminfo' and 'textwidth' settings from $VIMRUNTIME/debian.vim. We
+ were uselessly setting 'textwidth' to the default value and 'viminfo' to
+ an almost-default but less useful value.
+ * Add Makefile_no-strip.diff, which removes the calls to strip in upstream's
+ makefile. We'll handle that in debian/rules.
+ * gvim.desktop should be using %F instead of %U to specify the filename.
+ (Closes: #406586)
+ * Remove debian/vim-{doc,variant,gui-common,common}.preinst,
+ debian/vim-common.postinst as they all handled special procedures for
+ upgrading from Sarge.
+ * debian/control
+ - Clarify the package description for the vim package to indicate it does
+ not provide a GUI version of Vim.
+ * debian/rules
+ - Update the extract and clean targets to not fail if quilt exits with
+ $? == 2. Also, remove the .pc directory in the clean target.
+ - Remove preinst from the list of per-variant files
+ * Add spell.c_getc-eof.diff, which causes Vim to stop reading a truncated
+ spellfile when it reaches EOF.
+ * debian/runtime/debian.vim.in
+ - set 'nomodeline' by default since modelines have historically been a
+ source of security/resource vulnerabilities. Users should have to
+ explicitly enable the option to assume the associated risks.
+ * Add gui_gtk_x11.c_g_thread_init.diff, which prevents a glib warning
+ related to glib 2.10's Memory Slices and threads. (Closes: #428854)
+
+ [ Stefano Zacchiroli ]
+ * Add javac_cmdline-vim.diff, which fixes the invocation of the javac
+ compiler. (Closes: #408338)
+ * Add debchangelog-closes_omni.vim.diff, which add omni completion support
+ for "Closes: #..." retrieving data from the BTS via apt-listbugs
+ * Added the new Debian Vim Policy to the "vim-doc" package, overriding the
+ old unenforced one
+ * debian/runtime/debian.vim.in
+ - removing /usr/share/vim/addons/{,after/} from the vim runtimepath:
+ according to the VIM policy addons should not be enabled per default,
+ but manually using vim-addon-manager
+ * debian/control
+ - added build deps on docbook stuff to build the policy (note that this
+ includes lynx, due to #387035)
+ * Add map.vim-syntax.diff which ships syntax file for UMN map server
+ (Closes: #355900)
+
+ -- James Vega <jamessan@debian.org> Sat, 07 Jul 2007 15:04:57 -0400
+
+vim (1:7.1-000+1) unstable; urgency=low
+
+ [ Debian Vim Maintainers ]
+ * New upstream release (7.1)
+
+ [ James Vega ]
+ * debian/rules:
+ + Remove extraneous update-snapshot target since snapshots are being
+ handled similar to normal releases, but in a different directory on the
+ ftp server.
+ * upstream/patches:
+ + Remove all the 7.0 patches
+ * Removed patches:
+ + de.po.diff, applied upstream.
+ + zsh.vim-nested_quotes.diff, New upstream rewrite fixes the same problem
+ as our patch.
+ + mp.vim-cmd_check.diff, applied upstream.
+ + html.vim-syntax_spell.diff, applied upstream.
+ + changelog.vim-ftplugin_buffer-split.diff, applied upstream.
+ + netrw.vim-tmpfile_suffix_escape.diff, applied upstream.
+ * Refreshed patches:
+ + php.vim.diff, simple rediff against new upstream.
+ + dosini.vim-hash_comment.diff, simple rediff against new upstream.
+ * Updated patches:
+ + debchangelog-ftplugin.diff
+ - Call foldopen silently so Vim doesn't error if there are no folds.
+ (Closes: #416184)
+ - Allow users to "let g:debchangelog_fold_disabled" to disable automatic
+ folding of debchangelogs. 'foldexpr' and 'foldtext' will still be set
+ but 'foldmethod' will not be set to 'expr'.
+
+ -- James Vega <jamessan@debian.org> Sat, 12 May 2007 13:24:27 -0400
+
+vim (1:7.0-219+1) unstable; urgency=low
+
+ [ Debian Vim Maintainers ]
+ * New upstream patches (165 - 219), see README.gz for details.
+
+ [ Stefano Zacchiroli ]
+ * vim-addons support:
+ - converted to YAML the registry entry for matchit
+ * debian/control
+ - added XS-Vcs-Browser field
+
+ [ James Vega ]
+ * Fix the file test for deciding whether we need to remove alternatives to
+ properly transition the Russian manpage alternatives.
+ * Fix the handling of the stale diversion when /usr/bin/vim.org is already
+ missing.
+ * Fix the handling of alternatives which pointed at the stale alternative so
+ the alternative isn't changed from auto to manual.
+ * Remove the 'iskeyword' setting in Ruby's ftplugin as suggested by Tim
+ Pope in #389332.
+ * Add patches/netrw.vim-tmpfile_suffix_escape.diff, which escapes the suffix
+ of the tmpfile filename.
+
+ -- James Vega <jamessan@debian.org> Tue, 20 Mar 2007 18:27:27 -0400
+
+vim (1:7.0-164+3) unstable; urgency=low
+
+ [ James Vega ]
+ * Remove the patch notes for patches after 164 in debian/README. Forgot
+ about those when removing the patches from svn to prepare the last upload.
+
+ -- James Vega <jamessan@debian.org> Sun, 14 Jan 2007 10:13:00 -0500
+
+vim (1:7.0-164+2) unstable; urgency=medium
+
+ [ James Vega ]
+ * debian/vim-variant.preinst:
+ + Move diversion removal here from vim-variant.postinst. Manually remove
+ /usr/bin/vim in order to be able to remove the diversion. Fixes
+ upgrades from Sarge leaving behind stale binaries. (closes: #401000)
+ + Remove the alternatives for ru.{UTF-8,KOI8-R} manpages so the
+ alternatives system doesn't attempt to keep the links around after the
+ upgrade. Fixes upgrades from Etch. (closes: #399024)
+
+ -- James Vega <jamessan@debian.org> Thu, 4 Jan 2007 01:50:25 -0500
+
+vim (1:7.0-164+1) unstable; urgency=low
+
+ [ Debian Vim Maintainers ]
+ * New upstream patches (159 - 164), see README.gz for details.
+
+ [ James Vega ]
+ * Shipped tags file was being regenerated (closes: #397837)
+ - Do not pre-generate tags file, vim-runtime's postinst is already
+ handling tag generation
+ - Remove tags file in vim-runtime's postrm
+ * Add Provides: editor to the gvim variants. (closes: #398572)
+ * Remove the empty vim-variant.postrm.
+ * Move the Russian KOI8-R man pages to /usr/share/man/ru/man1 and remove the
+ utf8 man pages. man will handle the conversion. (closes: #368754)
+
+ -- James Vega <jamessan@debian.org> Wed, 15 Nov 2006 08:48:51 -0500
+
+vim (1:7.0-158+1) unstable; urgency=medium
+
+ [ Debian Vim Maintainers ]
+ * New upstream patches (153 - 158), see README.gz for details.
+ - Do not let the fold level become negative. (closes: #395413)
+ * Urgency medium since #396934 affects other packages.
+
+ [ James Vega ]
+ * Add vim-runtime.postinst which runs helpztags so that we don't break the
+ help for other Vim addons everytime vim-runtime is upgraded.
+ (closes: #396934)
+ * Update the vim-basic install target in debian/rules to not rely on the
+ vimcurrent symlink before it has been setup.
+
+ -- James Vega <jamessan@debian.org> Mon, 6 Nov 2006 22:41:59 -0500
+
+vim (1:7.0-152+1) unstable; urgency=low
+
+ [ Debian Vim Maintainers ]
+ * New upstream patches (123 - 152), see README.gz for details.
+ - Correct the button order in the GTK+ file chooser dialog so that it
+ matches the GNOME Human Interface Guidelines. (closes: #367639)
+
+ [ James Vega ]
+ * Bump vim-common's priority to important to match the override.
+ * Remove patch gui_gtk.c-abs_path.diff, merged upstream.
+ * Remove patch gui_xmebw.c-lesstif_crash.diff, merged upstream.
+ * Add patch html.vim-syntax_spell.diff, which adds support for highlighting
+ of spelling mistakes. (closes: #393347)
+ * Add patch changelog.vim-ftplugin_split-buffer.diff, which corrects an
+ invalid command used for opening the changelog in a split window.
+ (closes: #392840)
+
+ [ Stefano Zacchiroli ]
+ * Added patch dosini.vim-hash_comment.diff which adds support for # comments
+ in dosini syntax highlighting, thanks to Adeodato Simó. (closes: #378952)
+ * Added patch zh_TW.po-swap_recovery_typo.diff which fixes a typo in a
+ traditional Chinese message when editing a file for which a swap file
+ already exists. (closes: #347420)
+ * debian/control
+ - renamed svn info field to XS-Vcs-Svn, to match the forthcoming official
+ name
+
+ -- Stefano Zacchiroli <zack@debian.org> Wed, 25 Oct 2006 17:07:37 +0200
+
+vim (1:7.0-122+1) unstable; urgency=medium
+
+ [ Debian Vim Maintainers ]
+ * New upstream patches (095 - 122), see README.gz for details.
+ * Urgency medium for RC bug fixes.
+
+ [ James Vega ]
+ * Since vim-gui-common no longer depends on vim-common (to allow for
+ binNMUing), make /usr/share/doc/vim-gui-common a directory instead of a
+ symlink to /usr/share/doc/vim-common. (closes: #387794)
+ * Add versioned Conflicts/Replaces against vim-doc for vim to allow proper
+ upgrades from Sarge. (closes: #381526)
+ * Update debian/copyright with the license information for the user and
+ reference manuals.
+ * Add patch zsh.vim-nested_quotes.diff, which fixes handling of single
+ quotes nested inside double quotes. (closes: #390911)
+ * Add a gnome-icon-theme Suggests for the packages which use a GTK/Gnome
+ GUI.
+ * Build vim-tiny with multibyte support. (closes: #361378)
+ * Add patch gui_gtk.c-abs_path.diff, which ensures the GTK file selection
+ dialog remembers the previously used directory. (closes: #368668)
+ * Add mp.vim-cmd_check.diff, which fixes an incorrect boolean check.
+ (closes: #384154)
+
+ [ Stefano Zacchiroli ]
+ * Added patches perl.vim-ftplugin_perldoc.diff,
+ perl.vim-ftplugin_pydoc.diff, and ruby.vim-ftplugin_ri.diff, which trigger
+ usage of perldoc/pydoc/ri for keyword lookup on perl/python/ruby files.
+ (closes: #389332)
+
+ -- James Vega <jamessan@debian.org> Mon, 9 Oct 2006 19:37:58 -0400
+
+vim (1:7.0-094+1) unstable; urgency=medium
+
+ [ Debian Vim Maintainers ]
+ * New upstream patches (036 - 094), see README.gz for details.
+ * Urgency medium because of the fix to vim-lesstif's crash bug.
+
+ [ James Vega ]
+ * Add patches/de.po.diff, which differentiates between "Delete" and
+ "Readonly" swap recovery messages for the German translation.
+ (closes: #379507)
+ * Update patches/scripts.vim.diff to add recognition of rst (including
+ rest2web) files as the filetype 'rst'. (closes: #382541)
+ * Update debian/rules to generate helptags for the plugins that are in
+ /usr/share/vim/addons.
+ * Add patches/gui_xmebw.c-lesstif_crash.diff, which fixes the crash bug when
+ invoking gvim from the vim-lesstif variant. Thanks Ben Hutchings!
+ (closes: #378721)
+
+ [ Stefano Zacchiroli ]
+ * Modified patches/debchangelog.vim.diff so that when opening a changelog
+ the entry the cursor is on gets (recursively) unfolded.
+ * Added patches/filetype.vim-better_tex_vs_plaintex.diff, implementing
+ better recognition of tex vs plaintex filetype (namely it recognizes as
+ latex files containing sectioning commands). (closes: #384479)
+ * Added script upstream/patches/get_patches.py to automate downloading of
+ latest upstream patches.
+ * debian/control
+ - bumped Standards-Version to 3.7.2 (no changes needed)
+ - added X-Vcs-Svn field to source package
+
+ -- Stefano Zacchiroli <zack@debian.org> Sun, 10 Sep 2006 11:59:14 +0200
+
+vim (1:7.0-035+1) unstable; urgency=low
+
+ [ Debian Vim Maintainers ]
+ * New upstream patches (018 - 035), see README.gz for details.
+
+ [ James Vega ]
+ * debian/control: Make Vim binNMUable.
+ * Rename the augroup in $VIMRUNTIME/debian.vim so it doesn't conflict with
+ Vim's FileType autocmd event.
+ * Update patches/debcontrol.vim.diff to fix the package name regexp.
+ (closes: #375848)
+ * Update patches/debcontrol.vim.diff to include XS-Python-Version and
+ XB-Python-Version. (closes: #373661)
+ * Add patches/php.vim.diff, which removes the 'delete' keyword from PHP's
+ syntax highlighting. (closes: #368089)
+
+ [ Stefano Zacchiroli ]
+ * Removed patch edit.c.diff, no longer needed after upstream patch 023
+
+ -- James Vega <jamessan@debian.org> Mon, 3 Jul 2006 01:43:11 -0400
+
+vim (1:7.0-017+8) unstable; urgency=medium
+
+ * Rebuild with fixed libruby1.8. Urgency medium since vim-full and vim-ruby
+ can now be properly configured.
+ (closes: #373696, #373762, #373890, #374060)
+
+ -- James Vega <jamessan@debian.org> Sat, 17 Jun 2006 22:18:20 -0400
+
+vim (1:7.0-017+7) unstable; urgency=low
+
+ * Update $VIMRUNTIME/debian.vim and /etc/vim/vimrc.tiny to properly set
+ 'compatible' when vim-tiny is invoked as vi. (closes: #373680)
+
+ -- James Vega <jamessan@debian.org> Wed, 14 Jun 2006 23:18:11 -0400
+
+vim (1:7.0-017+6) unstable; urgency=low
+
+ [ Pierre Habouzit ]
+ * Add a Replace: vim-runtime to vim-common because of the vimcurrent mess,
+ that may prevent vim upgrade. (closes: #370012, #373117).
+
+ [ James Vega ]
+ * Add vim-variant.preinst to remove any cruft left behind in
+ /usr/share/doc/vim{,-$variant}, which is now a symlink to
+ /usr/share/vim/vim-common. (closes: #369740)
+ * Update the build process so only vim-tiny starts in 'compatible' mode when
+ invoked as vi.
+ + Move patches/virc.c.diff to debian/tiny/vimrc.tiny.diff and apply only
+ when building vim-tiny.
+ + Rename /etc/vim/virc to /etc/vim/vimrc.tiny and add
+ vim-common.{post,pre}inst code to handle the conffile renaming.
+ * Update README.Debian to specify which package contains the vim policy and
+ the correct directory that holds vim policy.
+ * Add debchangelog.vim.diff which fixes an inifinite loop bug in the
+ debchangelog filetype plugin. (closes: #367566)
+ * Add scripts.vim.diff which adds recognition of ltrace output and sets the
+ filetype to 'strace'. (closes: #372926)
+
+ -- James Vega <jamessan@debian.org> Tue, 13 Jun 2006 11:06:59 -0400
+
+vim (1:7.0-017+5) unstable; urgency=low
+
+ [ James Vega ]
+ * Added po.vim.diff which locally enables line continuations while sourcing
+ the po.vim syntax file. (closes: #368589)
+ * Re-add /usr/share/vim/vimcurrent as a convenience symlink.
+ (closes: #369124)
+ * Add python.vim-ftplugin_include.diff which sets the 'include' option to a
+ stricter value to reduce the chance of mis-highlights. (closes: #367259)
+ * Add mysql.vim-syntax_comment.diff which corrects a syntax pattern for
+ MySQL comments. (closes: #367777)
+
+ -- James Vega <jamessan@debian.org> Wed, 31 May 2006 12:39:44 -0400
+
+vim (1:7.0-017+4) unstable; urgency=low
+
+ [ James Vega ]
+ * Added edit.c.diff which fixes a crash when exiting insert mode spell
+ completion.
+ * Revert changes to alternative handling in vim-variant.prerm. They should
+ only be removed during a remove, not an upgrade. (closes: #368175)
+ * Move the removal of stale alternatives to vim-variant.prerm where it
+ should've been to begin with. Also, tighten the matching done when
+ deciding which alternatives are removed. Only alternatives pointing to
+ /usr/bin/vim should be removed since those are the known stale
+ alternatives.
+ * Remove support for building spellfiles as will be moved to another set of
+ packages.
+ + debian/control: Remove Build-Depends-Indep which was only used for
+ spellfile building.
+ + debian/rules: Remove build-spell* and build-locales* targets.
+ + Remove debian/locale-gen
+ + Remove bg_BG.diff.diff and spell-locales.diff.
+
+ -- James Vega <jamessan@debian.org> Sat, 20 May 2006 21:57:31 -0400
+
+vim (1:7.0-017+3) unstable; urgency=low
+
+ [ James Vega ]
+ * Add support for building l10n spellfiles.
+ + Added unzip, aap, and locales to Build-Depends-Indep.
+ + Added debian/locale-gen to build the locale info.
+ + Update debian/rules to build spellfiles (temporarly disabled).
+ - Added a check for 'nospell' in DEB_BUILD_OPTIONS to prevent building
+ the spellfiles.
+ + Added spell-locales.diff patch which updates the aap recipes to set the
+ LC_ALL environment variable instead of LANG.
+ + Added bg_BG.diff.diff patch which fixes the line-endings in the
+ bg_BG.diff patch, allowing it to apply cleanly.
+ * Add /usr/share/vim/virc symlink, with this fix invoking vim as "vi" will
+ actually enable vim to behave differently than when invoked as "vim".
+ (closes: #367818)
+
+ -- James Vega <jamessan@debian.org> Thu, 18 May 2006 08:11:15 -0400
+
+vim (1:7.0-017+2) unstable; urgency=low
+
+ [ Debian Vim Maintainers ]
+ * Upload to unstable
+
+ [ James Vega ]
+ * Update debian/vim-variant.prerm to remove alternative also during
+ upgrades.
+ * Add debian/vim-variant.preinst to cleanup alternatives left behind from
+ previous vim-variant.prerm scripts.
+
+ -- Stefano Zacchiroli <zack@debian.org> Tue, 16 May 2006 22:10:49 -0500
+
+vim (1:7.0-017+1) experimental; urgency=low
+
+ [ Debian Vim Maintainers ]
+ * New upstream patches (011 - 017), see README.gz for details.
+
+ [ Stefano Zacchiroli ]
+ * Preliminary support for add-on infrastructure
+ + added symlinks from /usr/share/vim/addons/ to $VIMRUNTIME for the
+ matchit plugin, so that they are no longer version dependent
+ + added dir /var/lib/vim/addons/, now in the runtimepath
+ + added vim add-on registry entry for the matchit plugin
+ * Differentiated behaviour of Vim when invoked as "vi"
+ + added patch patches/virc.c.diff which source /etc/vim/virc when invoked
+ as such
+ + added debian/runtime/virc; it creates a vi-like environment setting
+ 'compatible' and nothing else
+ * Raised the alternative priority of vim.basic from 20 to 30. Rationale: the
+ relative order we want to achieve is vim.tiny < nvi < vim.basic
+ * vim-tiny is ready to enter the base system
+ + set vim-tiny priority to Important
+
+ [ Norbert Tretkowski ]
+ * Removed outdated runtime files from package.
+ * Added s390x to debcontrolArchitecture in debcontrol.vim. (closes: #361281)
+
+ -- Norbert Tretkowski <nobse@debian.org> Sat, 13 May 2006 13:23:35 -0500
+
+vim (1:7.0-010+1) experimental; urgency=low
+
+ [ Debian Vim Maintainers ]
+ * New upstream release (7.0) and patches (001 - 010), see README.gz for
+ details. (closes: #366396)
+ + CSS syntax highlighting properly handles non-UTF-8 aware environments.
+ (closes: #358734)
+ + crontab syntax highlighting recognizes % as starting stdin to the
+ cronjob. (closes: #363558)
+ + non-ASCII characters are properly handled when changing case in
+ :substitute commands. (closes: #266256)
+
+ [ James Vega ]
+ * Massage the packaging back into "stable upstream releases" mode.
+ + Remove debian/watch since it isn't useful with Vim's method of releasing
+ stable updates.
+ + Swap out the unzip Build-Depends for bzip2.
+ + Update debian/rules to use the src/lang/extra tarballs instead of one
+ zip file.
+
+ [ Stefano Zacchiroli ]
+ * handle debian/*.in files as autoconf files filling the @VIMCUR@
+ placeholder with the appropriate vim<version> string
+ * got rid of the /usr/share/vim/vimcurrent symlink, no longer needed now we
+ source debian.vim (closes: #366504)
+ * source vimrc.local/gvimrc.local from system-wide vimrc/gvimrc since a lot
+ of users have it, added a comment about that file being deprecated
+ * added a comment to system-wide gvimrc about how to obtain a reversed video
+ vim gui
+
+ -- James Vega <jamessan@debian.org> Thu, 11 May 2006 08:54:38 -0400
+
+vim (1:6.4+7.0g01-1) experimental; urgency=low
+
+ [ Debian Vim Maintainers ]
+ * New upstream snapshot (7.0g01).
+ + Remove 161_cmake-support.diff, merged upstream.
+ + Recognize zsh-beta as a shell that supports '2>&1| tee' for the
+ 'shellpipe' option. (closes: #362999)
+ + Assign filetype=php to any .php<digit> filename. (closes: #365055)
+ + Recognition in debcontrol's syntax file of all architectures listed at
+ http://www.debian.org/ports/ (closes: 364824)
+
+ [ Stefano Zacchiroli ]
+ * Screening of patches no longer needed with vim7 & pushing upstream
+ of as many debian-specific patches as possible. Results:
+ + removed patches: 102_pythoncomplete.vim.diff, 104_debchangelog.vim.diff,
+ 106_fstab.vim.diff, 108_automake.vim.diff, 109_xdefaults.vim.diff,
+ 111_fstab.vim.diff, 119_php.vim.diff, 130_fstab.vim.diff,
+ 133_resolv.vim.diff, 136_muttrc.vim.diff, 140_muttrc.vim.diff,
+ 148_debchangelog.vim.diff, 157_slrnrc.vim.diff, 201_fr.po.diff,
+ 203_zh_TW.UTF8.po.diff
+ + The following runtime and translation files are now maintained upstream
+ in a best effort fashion (i.e. they are looking for a new maintainer) by
+ Debian VIM Maintainers: syntax/muttrc.vim, syntax/automake.vim,
+ syntax/php.vim, syntax/slrnrc.vim, lang/po/zh_TW.UTF-8.po.
+ + syntax/debchangelog.vim, syntax/debcontrol.vim, and syntax/tpp.vim are
+ now officially co-maintained upstream by Debian Vim Maintainers
+ * Improved comments and added more commented settings in /etc/vim/vimrc
+
+ [ James Vega ]
+ * Add Replaces against manpages-it and manpages-pl since upstream now
+ provides i10n manpages. (closes: #364299)
+ * Moved Debian specific settings out from /etc/vim/{,g}vimrc, so that the
+ file can be (more) freely modified by sysadmins without risking merge
+ problems with maintainer updates.
+
+ -- James Vega <jamessan@debian.org> Wed, 3 May 2006 12:34:14 -0400
+
+vim (1:6.4+7.0d03-1) experimental; urgency=low
+
+ [ Debian Vim Maintainers ]
+ * New upstream snapshot (7.0d03).
+ + A lot of new features have been added, most notably: spell checking,
+ omni completion, tabs, undo branches, internal grep, location lists,
+ list/dictionary/funcref types for scripting.
+ See ":help version7" for more information.
+ + bugfixes affecting Debian's BTS:
+ - new version of sh.vim syntax highlighting (closes: #355273, #361813)
+ - respect LC_MESSAGES in menus (closes: #147757, #217217)
+ - consistent behaviour of 'gq' when an external formatter is used
+ (closes: #177735)
+ - improved wildcard expansion of filename patterns
+ (closes: #262645, #258150)
+ - german tutorial now shows instruction on how to proceed in the first
+ page (closes: #289115)
+ - fixed encoding of slovak translation (closes: #257342)
+ - proper escaping of characters in URLs (closes: #353076, #361317)
+ - added g:is_posix flag to sh.vim to enable highlighting of POSIX shell
+ scripts (closes: #361177)
+
+ [ Stefano Zacchiroli ]
+ * Screening of patches no longer needed with vim7 & pushing upstream
+ of as many debian-specific patches as possible. Results:
+ + removed patches: 101_make.vim.diff, 103_sh.vim.diff,
+ 117_fortram.vim.diff, 122_html_indent.vim.diff, 135_debsources.vim.diff,
+ 145_fortran.vim.diff, 155_rst.vim.diff
+ + removed updates: debian/updates/debsources.vim
+
+ -- James Vega <jamessan@debian.org> Fri, 14 Apr 2006 13:29:49 -0400
+
+vim (1:6.4+7.0c05-1) experimental; urgency=low
+
+ [ Debian Vim Maintainers ]
+ * New upstream snapshot (7.0c05).
+ + Added support for bzr diffs in scripts.vim, thanks to Adeodato Simó.
+ (closes: #355922)
+ + Support python `as' keyword. (closes: #352885)
+
+ [ James Vega ]
+ * Sync with the work that's been done on the 6.4 vim package.
+ * Add a missing quote in /etc/vim/vimrc's last-position-jump example.
+ (closes: #347597)
+ * Move vimtutor.1 to the same package (vim-runtime) as vimtutor.
+ Fixes a lintian warning.
+ * Add debian/watch.
+ * Cleanup handling of manpages and alternatives. (closes: 361845)
+ * debian/control:
+ + Remove references to obsolete packages.
+ + Move vim-doc to Section: doc.
+ + Update vim-common to Recommend all the vim variants.
+ + Add Build-Depends on libxpm-dev and unzip.
+ * debian/rules:
+ + Added support for running upstream's tests during the build process.
+ + Automatically generate the necessary .install/.links/.postinst settings
+ for installing the localized manpages.
+
+ [ Pierre Habouzit ]
+ * Add support for cmake (from cmake.org). (closes: #357705)
+ * debcontrol.vim: add kfreebsd-amd64 to the ports list.
+
+ [ Stefano Zacchiroli ]
+ * Screening of patches no longer needed with vim7 & pushing upstream
+ of as many debian-specific patches as possible. Results:
+ + removed patches: 102_filetype.vim.diff, 107_vim.1.diff, 107_xxd.1.diff,
+ 105_recognize-gnumakefile-am.diff, 123_accents.diff,
+ 133_filetype.vim.diff, 142_filetype.vim.diff, 153_filetype.vim.diff,
+ 154_svn.vim.diff, 156_scripts.vim.diff, 158_python.vim.diff,
+ 301_xxd.c.diff, 303_option.c.diff, 305_term.c.diff
+ * Added patch 102_pycomplete.vim: fixes a python omnicompletion bug when the
+ cursor is on an empty line
+
+ [ Matthijs Mohlmann ]
+ * Updated debsources syntax file.
+ + Use debsources instead of sources.
+ + Make a regexpression of deb, deb-src, main, contrib and non-free.
+ + Remove setlocal iskeyword.
+ + Remove compatibility with vim 5.x.
+
+ -- James Vega <jamessan@debian.org> Fri, 31 Mar 2006 17:50:11 -0500
+
+vim (1:6.4-007+1) unstable; urgency=low
+
+ [ Debian VIM Maintainers ]
+ * New upstream patch (007), see README.gz for details.
+
+ [ Stefano Zacchiroli ]
+ * Handle /usr/bin/gvim with alternatives, so that it can be configured
+ to a vim executable with gui support when /usr/bin/vim is configured
+ to one with no such support. (closes: #345765)
+
+ [ Pierre Habouzit ]
+ * vim's syntax coloring mode should consider .sce extension.
+ (Closes: #338771)
+ * subversion commit log syntax and l10n. (Closes: #341288)
+ * dh_install bug #349070 triggerd our svn.vim problem.
+ (rebuild Closes: #348955).
+ * enhances syntax/rst.vim. (Closes: #323044)
+
+ [ James Vega ]
+ * Move alternatives handling out of vim-common so that we aren't modifying
+ alternatives when the targets don't yet exist. (closes: #348233)
+ * Add 'armeb' to debcontrol syntax file. (closes: #350513)
+ * debian/rules: Remove all binaries except xxd from vim-common. Handle the
+ rest with alternatives in the variant packages.
+ * debian/control: Changed vim-gui-common to Arch: all
+ * Added patch 156_scripts.vim.diff which adds detection of svk diffs as diff
+ filetype. (closes: #349764)
+ * Added patch 157_slrnrc.vim.diff which adds a few more functions to the
+ slrnrc syntax file. (closes: #347801)
+ * Added commented out example autocmd for last-position-jump to
+ /etc/vim/vimrc. (closes: #347597)
+ * Lintian cleanup:
+ + debian/control: Added a Depends line for vim-common.
+ + debian/rules: Use proper permissions when installing the console font in
+ vim-runtime
+ + debian/rules: Create a symlink to /usr/share/doc/vim-gui-common for each
+ GUI variant package. This fixes a usr-doc-symlink-without-dependency
+ warning.
+
+ -- James Vega <jamessan@debian.org> Wed, 8 Feb 2006 15:11:37 -0500
+
+vim (1:6.4-006+2) unstable; urgency=low
+
+ [ Norbert Tretkowski ]
+ * debian/README.Debian: fixed typos (closes: #344608)
+ * patches/148_debchangelog.vim.diff: added sarge-{backports|volatile} to
+ debchangelog hilighting
+ * debian/control: removed build-dependencies added for woody backport
+ * debian/control: build-depend on make (>= 3.80+3.81.b4)
+
+ [ Matthijs Mohlmann and Stefano Zacchiroli ]
+ * debian/rules: moved "export DH_OPTIONS" back to the beginning of the
+ file since old versions of make can't cope with it on
+ target-specific variables. Fixes FTBFS on some archs.
+ (closes: #344658)
+
+ [ Stefano Zacchiroli ]
+ * debian/rules: added 'export' target to generate source package
+ * debian/rules: uses quilt to manage debian-specific patches, changed
+ build-deps accordingly
+ * Added patch 152_javascript.vim which fixes JavaScript syntax
+ highlighting (closes: #343402)
+
+ [ Pierre Habouzit ]
+ * debian/control: fix vim-gui-common description. (closes: #347912)
+ * 304_memline.c.diff causes FTBFS on Hurd, fix it. (closes: #348170)
+
+ -- Norbert Tretkowski <nobse@debian.org> Sun, 15 Jan 2006 19:41:58 +0100
+
+vim (1:6.4-006+1) unstable; urgency=low
+
+ [ Debian VIM Maintainers ]
+ * New upstream patches (005 and 006), see README.gz for details.
+
+ [ Stefano Zacchiroli ]
+ * Epoched all 6.4 versioned relationships in debian/control, they were
+ erroneously non-epoched. (closes: #344368, #344414)
+
+ -- Norbert Tretkowski <nobse@debian.org> Fri, 23 Dec 2005 00:30:20 +0100
+
+vim (1:6.4-004+2) unstable; urgency=low
+
+ [ Norbert Tretkowski ]
+ * Applied patch from Adeodato Simó to fix broken syntax hilighting
+ of urgency in debchangelog.vim. (closes: #338557, #343136, #344228)
+ * No longer lists a mailinglist as uploader in changelog, until a consensus
+ about policy items 4.4 and 5.6.4 is found. (closes: #343073)
+
+ [ Stefano Zacchiroli ]
+ * Fixed typo in vim-gui-common description. (closes: #343152)
+ * Remove old /usr/share/doc/vim-common symlink during vim-doc and
+ vim-common preinst phase. (closes: #343289)
+ * debian/rules: finally found the karma of target-specific variables,
+ hopefully the file is clearer now ... Fixes FTBFS on hppa.
+ (closes: #344150)
+ * Fixed dangling manpage symlinks in vim-gui-common.
+ (closes: #344179, #343195, #343171)
+ * Moved vimtutor from vim-common to vim-runtime
+ * Added patch 151_sed.vim which improves sed's syntax highlighting.
+ (closes: #336125)
+ * Added patch 305_term.c which fixes 'pastetoggle' for working
+ properly with F1-F4 keys on Debian xterm's. (closes: #342220)
+
+ -- Norbert Tretkowski <nobse@debian.org> Wed, 21 Dec 2005 10:09:37 +0100
+
+vim (1:6.4-004+1) unstable; urgency=low
+
+ [ Debian VIM Maintainers ]
+ * New upstream patches (002 to 004), see README.gz for details.
+
+ [ Stefano Zacchiroli ]
+ * Added back vim-tiny package. (closes: #222138)
+ * Reshaped vim packaging as follows:
+ - vim-common -> arch-dependent common files (variants w/o GUI)
+ - vim-gui-common -> arch-dependent common files (variants w GUI)
+ (closes: #338027)
+ - vim-runtime -> vim runtime (arch-independent)
+ - vim -> default variant
+ - vim-* -> other variants
+ - vim-tiny -> tiny variant, no vim-runtime dependency
+ - the above changes additionally got rid of circular dependency
+ vim -> vim-common -> vim (closes: #340037)
+ * Added symlink /usr/share/vim/vimcurrent -> vim64, will be kept
+ proper in future releases. /etc/vim/vimrc no longer version-aware.
+ * Removed duplicate /usr/share/vim/vimfiles entry in vimrc.
+ (closes: #337825)
+ * (Re-)Fixed debian/runtime/vimrc, last version inhibit /usr/bin/ex.
+ * au commands in vimrc executed only if has("autocmd").
+ * No longer try to move configuration files from /etc to /etc/vim
+ (ancient preinst, no longer needed to support upgrades from sarge).
+ * Updated Description-s in debian/control.
+ * Check for and removal of old vim.org diversion in postinst instead
+ of postrm (closes: #341081)
+ * Adds gvim, when compiled with gnome support, as an alternative for
+ gnome-text-editor, with priority lower than gedit (closes: #287202)
+ * Substituted @PKG@ in menu entry for package name (closes: #342074)
+
+ [ James Vega ]
+ * Added patch 148_debchangelog, update syntax/debchangelog.vim to
+ recognize infrequently used but policy compliant syntax.
+ (closes: #338557)
+ * Fixed patch 304_memline.c.diff to avoid inifinte loops resolving
+ symlinks. (closes: #336560)
+ * Remove the 'p' vmap in /etc/vim/vimrc since it has various bad
+ side-effects such as not being able to paste from a register while
+ in visual mode.
+
+ [ Matthijs Mohlmann ]
+ * Updated syntax for sshd_config and ssh_config.
+ * Updated syntax highlighting for asterisk.vim (Closes: #338256)
+
+ -- Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org> Wed, 7 Dec 2005 22:02:34 +0100
+
+vim (1:6.4-001+2) unstable; urgency=low
+
+ [ Stefano Zacchiroli ]
+ * Fixed debian/runtime/vimrc, last version broke some plugins behaviour
+ (e.g. gzip, netrw) on files specified on cmdline.
+
+ -- Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org> Sun, 23 Oct 2005 16:03:43 +0200
+
+vim (1:6.4-001+1) unstable; urgency=low
+
+ [ Debian VIM Maintainers ]
+ * New upstream patch (001), see README.gz for details.
+
+ [ Stefano Zacchiroli ]
+ * Got rid of conflicts among vim-* packages (aka variants) using
+ alternatives for /usr/bin/vim. (closes: #67823, #123959, #280934)
+ * Got rid of removal of /usr/doc/* symlinks.
+ * Added "sources" debian/rules target which downloads upstream tarballs.
+ * Added patch 146_netrw.vim.diff, fixes some issues of netrw.vim with
+ file://* URLs. (closes: #334868)
+ * Added patch 303_option.c.diff, which fixes 'system()' behaviour when
+ $SHELL is empty. (closes: #219386)
+ * Added patch 304_memline.c.diff, which fixes swap file locking wrt
+ symlinks. (closes: #329826)
+ * Changed debian/runtime/vimrc so that /etc/papersize is read without using
+ system(), fixes issues with exotic shells. (closes: #271338)
+
+ [ James Vega ]
+ * Added patch 147_perl.vim.diff, new upstream syntax file which supersedes
+ 120_perl.vim.diff.
+
+ -- Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org> Sun, 23 Oct 2005 11:21:35 +0200
+
+vim (1:6.4-000+1) unstable; urgency=low
+
+ [ Debian VIM Maintainers ]
+ * New major upstream release (6.4).
+ + Fixed typo in /usr/share/vim/vim63/doc/usr_04.txt. (closes: #328664)
+
+ [ Norbert Tretkowski ]
+ * Removed patches merged upstream:
+ + 118_ocaml.vim.diff
+
+ -- Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org> Sat, 15 Oct 2005 18:40:22 +0200
+
+vim (1:6.3+6.4b-003+1) experimental; urgency=low
+
+ [ Debian VIM Maintainers ]
+ * New upstream patch (003), see README.gz for details.
+
+ -- Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org> Fri, 14 Oct 2005 18:09:56 +0200
+
+vim (1:6.3+6.4b-002+2) experimental; urgency=low
+
+ [ Stefano Zacchiroli ]
+ * Updated patches for new release:
+ + 118_ocaml.vim.diff
+ + 124_errorformat.vim.diff
+ + 203_zh_TW.UTF8.po.diff
+
+ -- Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org> Thu, 13 Oct 2005 13:09:25 +0200
+
+vim (1:6.3+6.4b-002+1) experimental; urgency=low
+
+ [ Debian VIM Maintainers ]
+ * New upstream patch (002), see README.gz for details.
+
+ -- Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org> Wed, 12 Oct 2005 21:11:22 +0200
+
+vim (1:6.3+6.4b-001+1) experimental; urgency=low
+
+ [ Debian VIM Maintainers ]
+ * New major upstream beta release (6.4b).
+ * New upstream patch (001), see README.gz for details.
+
+ [ Norbert Tretkowski ]
+ * Removed patches merged upstream:
+ + 110_php.vim.diff
+ + 112_prolog.vim.diff
+ + 113_xml.vim.diff
+ + 114_texinfo.vim.diff
+ + 116_sh.vim.diff
+ + 121_perl.vim.diff
+ + 126_filetype.vim.diff
+ + 128_vimdiff.1.diff
+ + 132_bib.vim.diff
+ + 139_perl.vim.diff
+ + 143_eruby.vim.diff
+ + 401_doc_exrc.diff
+ + 403_usr_04.txt.diff
+
+ [ James Vega ]
+ * Updated patches for new release:
+ + 102_filetype.vim.diff
+ + 120_perl.vim.diff
+ + 142_filetype.vim.diff
+
+ -- Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org> Wed, 12 Oct 2005 09:41:28 +0200
+
+vim (1:6.3-090+2) unstable; urgency=low
+
+ * Stefano Zacchiroli <zack@debian.org>:
+ + Fixed %ld typo in debian/patches/203_zh_TW.UTF8.po.diff
+ + Added patch debian/patches/403_usr_04.txt.diff, which fixes a
+ typo in usr_04.txt. (closes: #328664)
+
+ -- Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org> Sat, 8 Oct 2005 16:09:41 +0200
+
+vim (1:6.3-090+1) unstable; urgency=low
+
+ * New upstream patches (087 to 090), see README.gz for details.
+
+ * Norbert Tretkowski <nobse@debian.org>:
+ + Updated Standards-Version to 3.6.2 (no changes needed).
+ + Exec vim with -f parameter in .desktop file. (closes: #329292)
+
+ * Stefano Zacchiroli <zack@debian.org>:
+ + Set SHELL=/bin/bash in debian/rules since we use bashisms.
+ (closes: #310974)
+ + Added patch 140_muttrc.vim.diff, which improves muttrc
+ highlighting. (closes: #327074)
+ + Added patch 141_asterisk.vim.diff, which adds support for Asterisk
+ configuration files sytnax highlighting. (closes: #322850)
+ + Added patch 142_filetype.vim.diff, which extends dch highlighting
+ to Debian NEWS files. (closes: #328081)
+ + Added patch 143_eruby.vim.diff, which adds support for eruby
+ highlighting. (closes: #315902)
+ + Added patch 144_scripts.vim.diff, which adds support for
+ highlighting tla diffs. (closes: #305677)
+ + Added patch 145_fortran.vim.diff, which fixes a matchit bug with
+ Fortran's "module procedure". (closes: #308865)
+ + Added patch 203_zh_TW.UTF8.po.diff, which fixes a translation
+ error in locale zh_TW.UTF-8. (closes: #319420)
+
+ -- Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org> Fri, 30 Sep 2005 17:08:36 +0200
+
+vim (1:6.3-086+1) unstable; urgency=low
+
+ * New upstream patch (086), see README.gz for details.
+
+ * Norbert Tretkowski <nobse@debian.org>:
+ + Corrected wrong capitalization of menu entry. (closes: #320602)
+
+ * Stefano Zacchiroli <zack@debian.org>:
+ + Added patch 132_bib.vim.diff, which fixes highlighting of bibtex
+ comments. (closes: #316184)
+ + Added patch 133_filetype.vim.diff, which adds filetype recognition
+ for several Zope related file kinds. (closes: #311007)
+
+ * Matthijs Mohlmann <matthijs@cacholong.nl>:
+ + Added patch 133_resolv.vim.diff, which fixes highlighting of resolv.conf
+ search entries. (closes: #321081)
+ + Added patch 134_sshconfig.vim.diff, added HashKnownHosts to syn keyword
+ sshconfigKeyword. (closes: #321119)
+ + Added debsources.vim to debian/updates to add syntax highlighting for
+ /etc/apt/sources.list and added this to filetype.vim. (closes: #308947)
+ + Added patch 136_muttrc.vim.diff, added crypt_autosign, crypt_autoencrypt
+ and xterm_set_titles to syn keyword. (closes: #323278)
+
+ * Pierre Habouzit <madcoder@debian.org>:
+ + Fix patch 105_xmodmap.vim.diff: wrt XF86_ClearGrab. (closes: #322355)
+ + Fix typo in doc/editing.txt. (closes: #322254)
+
+ * James Vega <jamessan@jamessan.com>:
+ + Added patch 137_filetype.vim.diff, recognize mutt-ng rc/temp files as
+ muttrc/mail filetypes. (closes: #307946)
+ + Added patch 138_filetype.txt.diff, fix a typo in the changelog-plugin
+ section of filetype.txt. (closes: #314595)
+ + Added patch 139_perl.vim.diff, fix recognition of regular expression
+ quantifiers.
+
+ -- Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org> Thu, 1 Sep 2005 18:40:41 +0200
+
+vim (1:6.3-085+1) unstable; urgency=high
+
+ * New upstream patches (079 to 085), see README.gz for details.
+ + 6.3.081, 6.3.082: Fix arbitrary shell commands execution by wrapping
+ them in glob() or expand() function calls in modelines. (CAN-2005-2368)
+ (closes: #320017)
+
+ * James Vega <jamessan@jamessan.com>:
+ + Added patch 129_filetype.vim.diff, which sets the filetype to perl for
+ *.plx files. (closes: #314309)
+
+ * Matthijs Mohlmann <matthijs@cacholong.nl>:
+ + Added patch 130_fstab.vim.diff, added bind as option. (closes: #308890)
+ + Added patch 131_xxd.1.diff, fixes typo in xxd manpage. (closes: #311234)
+
+ -- Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org> Thu, 28 Jul 2005 12:16:06 +0200
+
+vim (1:6.3-078+1) unstable; urgency=low
+
+ * New upstream patches (073 to 078), see README.gz for details.
+
+ * James Vega <jamessan@jamessan.com>:
+ + Added patch 128_vimdiff.1.diff, which fixes a typo in the vimdiff
+ manpage. (closes: #310331)
+
+ -- Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org> Tue, 14 Jun 2005 21:25:00 +0200
+
+vim (1:6.3-072+1) unstable; urgency=high
+
+ * New upstream patch (072), see README.gz for details.
+
+ * James Vega <jamessan@jamessan.com>:
+ + Updated patch 125_gzip.vim.diff to match upstream's vim7 patch.
+ Removed compression detection for FileAppendPre since there's no good
+ way to retrieve the necessary information.
+ + Added patch 127_scripts.vim.diff, makes Vim automatically set the proper
+ filetype when editing lua scripts. The patch also enables recognition
+ of "#!/usr/bin/env xxx" hashbang lines. (closes: #309859)
+
+ -- Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org> Fri, 20 May 2005 20:41:35 +0200
+
+vim (1:6.3-071+2) unstable; urgency=low
+
+ * Stefano Zacchiroli <zack@debian.org>:
+ + Modifications on debian/rules:
+ - Do not invoke dh_installdirs before creating .dirs file for current
+ variant (fixes non-installation of gvim.desktop in all variants).
+ - Optional cmdline parameter PATCH_NAME for make_patch target.
+ - Invoke dh_desktop to register gvim.desktop on postinst.
+ + Modifications on debian/vim-variant.desktop:
+ - Internationalized comment (inspired from gedit's one).
+ - Added MimeType entry.
+ - Uses svg icon.
+ + Added svg icon /usr/share/icons/vim.svg, thanks to
+ Paul Ortman <ortm8574@uidaho.edu>. (closes: #258669)
+ + Updated patch 118_ocaml.vim.diff (new upstream).
+ + Added patch 124_errorformat.vim.diff, makes vim follow error directories
+ on "make -C". (closes: #276005)
+ + Added patch 126_filetype.vim.diff, set tex filetype on .cls TeX classes,
+ distinguishing them from smalltalk sources. (closes: #169716)
+
+ * Norbert Tretkowski <nobse@debian.org>:
+ + Build-Depend on debhelper (>= 4.2.21), required for dh_desktop call.
+ + Reverted value of backupcopy to default.
+
+ * Matthijs Mohlmann <matthijs@cacholong.nl>:
+ + Added patch for german accents. (closes: #307807)
+
+ * James Vega <jamessan@jamessan.com>:
+ + Added patch 125_gzip.vim.diff, maintain "max speed" and "max compression"
+ compression levels when editing gzip files. (closes: #280388)
+
+ -- Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org> Sun, 15 May 2005 19:12:57 +0200
+
+vim (1:6.3-071+1sarge1) stable; urgency=high
+
+ * New upstream patches (081 and 082), see README.gz for details.
+ + 6.3.081, 6.3.082: Fix arbitrary shell commands execution by wrapping
+ them in glob() or expand() function calls in modelines. (CAN-2005-2368)
+ (closes: #320017)
+
+ -- Norbert Tretkowski <nobse@debian.org> Sat, 30 Jul 2005 12:16:45 +0200
+
+vim (1:6.3-071+1) unstable; urgency=medium
+
+ * New upstream patches (069 to 071), see README.gz for details.
+
+ * Norbert Tretkowski <nobse@debian.org>:
+ + Re-add dh_installdirs to vim-variant part in debian/rules, so copying
+ the desktop file no longer fails. (closes: #302830)
+ + Enabled backupcopy in global vimrc. (closes: #158657)
+
+ * Stefano Zacchiroli <zack@debian.org>:
+ + Added vim-full variant with support for gnome and all interpreters.
+ (closes: #149077)
+ + Added /usr/share/common-licenses/ reference to debian/copyright.
+ + Remove debian/helpztags.1 on debian/rules clean (generated file).
+ + Updated patch 118_ocaml.vim.diff (new upstream).
+ + Added patch 122_html_indent.vim.diff, remove <bs> from indentkeys for
+ html. (closes: #280386)
+ + Added patch 401_doc_exrc.diff, fixes starting doc about "_exrc".
+ (closes: #279378)
+ + Suggests vim-scripts in debian/control.
+
+ * Matthijs Mohlmann <matthijs@cacholong.nl>:
+ + Fixes menu entry with icon (wrong syntax used in menu file), thanks to
+ Alexis Sukrieh <sukria@sukria.net>.
+
+ * James Vega <jamessan@jamessan.com>:
+ + Added patch 120_perl.vim.diff, update $VIMRUNTIME/syntax/perl.vim from
+ the author which fixes block indentation in packages. (closes: #220969)
+ + Added patch 121_perl.vim.diff, which adds syntax recognition for
+ CHECK/INIT blocks (similar to BEGIN/END).
+
+ -- Norbert Tretkowski <nobse@debian.org> Sun, 24 Apr 2005 17:26:49 +0200
+
+vim (1:6.3-068+4) unstable; urgency=medium
+
+ * Norbert Tretkowski <nobse@debian.org>:
+ + Removed all kvim related packages, the code is no longer maintained.
+ Sorry. (closes: #234455, #237385, #283765, #293110, #194449, #205586,
+ #266431, #272621, #294848, #245006, #194964)
+ + Removed patch 401_gcc4.diff, it modified kvim code which is no longer
+ available.
+ + Added NEWS file, so people upgrading to this version getting informed
+ about the kvim removal.
+
+ * Matthijs Mohlmann <matthijs@cacholong.nl>:
+ + Fixed up a patch for xml.vim.
+
+ -- Norbert Tretkowski <nobse@debian.org> Sat, 2 Apr 2005 18:31:19 +0200
+
+vim (1:6.3-068+3) unstable; urgency=medium
+
+ * Norbert Tretkowski <nobse@debian.org>:
+ + Add a replaces: vim (<= 1:6.3-068+1) to every (k)vim-* package, required
+ for menu-icon-missing fix from 1:6.3-068+2. (closes: #301866)
+ + Urgency medium because above modification fixes regular upgrade with
+ apt-get.
+ + Fixed broken rgvim manpage. (closes: #301881)
+
+ -- Norbert Tretkowski <nobse@debian.org> Tue, 29 Mar 2005 01:00:23 +0200
+
+vim (1:6.3-068+2) unstable; urgency=low
+
+ * Pierre Habouzit <pierre.habouzit@m4x.org>:
+ + Enhance the es.po. (closes: #206782)
+
+ * Matthijs Mohlmann <matthijs@cacholong.nl>:
+ + Modified patch 113_xml.vim.diff that fixes #196001 has introduced
+ another syntax error. (closes: #301736)
+ + Fixed menu-icon-missing on vim-* packages.
+
+ -- Norbert Tretkowski <nobse@debian.org> Mon, 28 Mar 2005 19:26:35 +0200
+
+vim (1:6.3-068+1) unstable; urgency=low
+
+ * New upstream patch (068), see README.gz for details.
+ + 6.3.068: When editing a compressed file xxx.gz which is a symbolic link
+ to the actual file a ":write" no longer renames the link (patch by James
+ Vega). (closes: #281630)
+
+ * Norbert Tretkowski <nobse@debian.org>:
+ + Added James Vega <jamessan@jamessan.com> to uploaders.
+ + Fixed wrong executable registration in /usr/lib/mime/packages/kvim,
+ thanks to Robin Verduijn for the patch. (closes: #295471)
+ + Fixed synchronisation of syntax highlighting in fortran 90 programs.
+ (closes: #301452)
+ + Removed vim-doc's dependency on vim, so it's possible to install vim-doc
+ without also installing vim.
+
+ * Pierre Habouzit <pierre.habouzit@m4x.org>:
+ + Fix php indent plugin, thanks to the ITLab at MUSC. (closes: #282135)
+ + Fix prolog syntax file. (closes: #269692)
+ + Fix xml syntax ('\' has no special meaning for xml). (closes: #196001)
+ + Fix texinfo syntax file warning. (closes: #286763)
+
+ * Matthijs Mohlmann <matthijs@cacholong.nl>:
+ + Fix lintian warning packages-installs-file-to-usr-x11r6:
+ - Moving xpm files to /usr/share/pixmaps.
+ - Edited the menu files.
+ + Removed prerm-does-not-call-installdocs from lintian/vim.
+ + Added patch 111_fstab.vim.diff to fix highlighting in fstab.
+ (closes: #300108)
+ + Removed Suggests: vim from vim-doc in debian/control.
+ + Fixed binary-without-manpage for several packages.
+ + Fixed pkg-not-in-package-test in kvim-tcl, kvim-ruby, kvim-python and
+ kvim-perl.
+ + Fixed the errors postinst-does-not-call-updatemenus and
+ postrm-does-not-call-updatemenus.
+
+ * James Vega <jamessan@jamessan.com>:
+ + Fixed wrong highlighting of comments in syntax/sh.vim when comments
+ occur between switches of case. (closes: #269325)
+
+ * Stefano Zacchiroli <zack@debian.org>:
+ + Added patch 302_message.c.diff to fix CTRL-C quit loops in range commands.
+ (closes: #295639)
+ + Added patch 118_ocaml.vim.diff to ship latest version of ocaml runtime
+ support files: {syntax,ftplugin,ident}/ocaml.vim.
+ + Modifications on debian/rules:
+ - Uses debian/compat in place of debian/rules' DH_COMPAT.
+ - Ignores diff error in "make_patch" target since diff usually returns 1.
+ - Added support for command line VARIANT variable to override VARIANTS.
+
+ * Pepijn de Langen <pepijn@ce.et.tudelft.nl>:
+ + Added patch 119_php.vim.diff to php syntax highlighting backticks.
+ (closes: #144754)
+
+ -- Norbert Tretkowski <nobse@debian.org> Sat, 26 Mar 2005 16:32:25 +0100
+
+vim (1:6.3-067+2) unstable; urgency=medium
+
+ * Norbert Tretkowski <nobse@debian.org>:
+ + Disabled dh_installchangelogs and dh_installdocs for vim-doc.
+ + Raised urgency to medium because of upstream patch 6.3.066.
+
+ -- Norbert Tretkowski <nobse@debian.org> Sun, 20 Mar 2005 22:05:36 +0100
+
+vim (1:6.3-067+1) unstable; urgency=low
+
+ * New upstream patches (065 to 067), see README.gz for details.
+ + 6.3.065: Entering Euro char via digraph doesn't always work.
+ (closes: #298162)
+
+ * Norbert Tretkowski <nobse@debian.org>:
+ + Added Pierre Habouzit, Torsten Landschoff, Matthijs Mohlmann, Stefano
+ Zacchiroli, Alexis Sukrieh and Pepijn de Langen to uploaders.
+ (closes: #299446)
+ + Added a new patch from Christian Hammers which adds additional keywords
+ to /etc/fstab syntax hilighting. (closes: #299704)
+ + Modified --with-compiledby value to use $DEBFULLNAME and $DEBEMAIL.
+ + Updated tpp syntax file, thanks to Gerfried Fuchs.
+ + Changed priority of vim-common package from extra to optional.
+
+ * Pierre Habouzit <pierre.habouzit@m4x.org>:
+ + Documented the /etc/vim/{g,}vimrc.local files in README.Debian.
+ + Fixed some debcontrol.vim issues:
+ - Don't search emails in fields that have not one. (closes: #114508)
+ - Fix debcontrolName according to Policy. (closes: #148144)
+ + Fixed tutor.vim to use usual locale envvars semantics. (closes: #289113)
+ + Added a 16px icon for menu entries too
+ (taken from http://www.vim.org/images/vim16x16.xpm). (closes: #39250)
+ + Fixed changelog.Debian.gz detection. (closes: #263740)
+ + Manpages various fixes:
+ - Escape some dashes in vim(1). (closes: #279606)
+ - Various fixes for xxd(1). (closes: #281124)
+ + Fixed french translation. (closes: #277502)
+
+ * Matthijs Mohlmann <matthijs@cacholong.nl>:
+ + Add syntax highlighting for xmodmap. (closes: #296759)
+ + Fixed lintian warning unquoted-string-in-menu-item in kvim.menu.
+ + Fixed lintian warning spelling-error-in-readme-debian (adviced should
+ be advised).
+ + Changed current maintainer in copyright file.
+ + Fixed lintian warning package-relation-with-self in kvim.
+ + Fixed lintian warning binary-has-unneeded-section in vim (added
+ dh_strip).
+ + Added depends on vim in vim-doc.
+
+ * Alexis Sukrieh <sukria@sukria.net>:
+ + Added a note about UTF-8 related issues in README.Debian.
+ + Added debian/patches/108_automake.vim.diff (thanks to Alexander Kogan)
+ which enables highlighting of _CPPFLAGS in automake files.
+ (closes: #196212)
+ + Added debian/patches/109_xdefaults.vim.diff (thanks to Peter De Wachter)
+ which fixes bad highlighting when putting a FONT directive in xdefaults.
+ (closes: #264284)
+
+ * Stefano Zacchiroli <zack@debian.org>:
+ + Added #DEBHELPER# tag to debian/vim-{doc,common}.preinst.
+ + Minor cleanup of debian/rules so vim-{doc,common} uses dh_install
+ instead of dh_movefiles ("binary" target could now be invoked twice
+ after a single "install" invocation), let dh_compress compress README.
+
+ -- Norbert Tretkowski <nobse@debian.org> Sun, 20 Mar 2005 10:56:11 +0100
+
+vim (1:6.3-064+1) unstable; urgency=low
+
+ * Norbert Tretkowski <nobse@debian.org>:
+ + New upstream patches (062 to 064), see README.gz for details.
+ + Set maintainer address to project mailinglist on alioth and added myself to
+ uploaders.
+ + Added a new patch which sets automake syntax recognition for files named
+ GNUmakefile.am. (closes: #277596)
+ + Added a new patch which adds testing-proposed-updates to debchangelog
+ syntax hilighting.
+
+ -- Norbert Tretkowski <nobse@debian.org> Mon, 14 Mar 2005 14:58:49 +0100
+
+vim (1:6.3-061+1) unstable; urgency=high
+
+ * New upstream patches (059 to 061), see README.gz for details.
+ * Kudos to Javier Fernandez-Sanguino Pena, he discovered the usage of
+ insecure $$ constructs in vimspell.sh and tcltags.sh which have been
+ fixed with the last upload.
+ * Removed vimspell.sh and tcltags.sh, these scripts are no longer supported
+ upstream.
+ * Removed patch which was added in 1:6.3-058+1, it's no longer required.
+
+ -- Norbert Tretkowski <nobse@debian.org> Tue, 01 Feb 2005 22:39:26 +0100
+
+vim (1:6.3-058+1) unstable; urgency=high
+
+ * New upstream patches (055 to 058), see README.gz for details.
+ * Added a new patch (stolen from Ubuntu) which modifies vimspell.sh and
+ tcltags.sh so they use mktemp instead of insecure $$ construction to
+ create temporary files. (CAN-2005-0069) (closes: #289560)
+
+ -- Norbert Tretkowski <nobse@debian.org> Tue, 18 Jan 2005 20:12:25 +0100
+
+vim (1:6.3-054+1) unstable; urgency=low
+
+ * New upstream patches (047 to 054), see README.gz for details.
+ * Source /etc/vim/gvimrc.local if available. (closes: #272001)
+ * Added a new patch which fixes ftbfs on amd64 with gcc-4.0, thanks to
+ Andreas Jochens. (closes: #288731)
+
+ -- Norbert Tretkowski <nobse@debian.org> Wed, 05 Jan 2005 20:51:36 +0100
+
+vim (1:6.3-046+0sarge1) testing-proposed-updates; urgency=high
+
+ * Built on testing for testing-proposed-updates because patch 045 fixes
+ several vulnerabilities found by Ciaran McCreesh related to the use of
+ options in modelines. (CAN-2004-1138)
+
+ -- Norbert Tretkowski <nobse@debian.org> Sun, 19 Dec 2004 20:06:53 +0100
+
+vim (1:6.3-046+1) unstable; urgency=low
+
+ * New upstream patches (032 to 046), see README.gz for details.
+ * Added a desktop entry under /usr/share/applications/ for all variants.
+ (closes: #285065)
+ * Added farsi fonts to vim-common package. (closes: #258773)
+
+ -- Norbert Tretkowski <nobse@debian.org> Sun, 12 Dec 2004 02:36:11 +0100
+
+vim (1:6.3-031+3) unstable; urgency=low
+
+ * Really add Brandens patch which adds XXX and FIXME comment hilighting
+ to sh.vim. (closes: #280471)
+ * Updated debcontrol.vim syntax file, which adds debcontrolArchitecture
+ for s390, thanks to Gerfried Fuchs. (closes: #281127)
+
+ -- Norbert Tretkowski <nobse@debian.org> Sun, 14 Nov 2004 01:14:35 +0100
+
+vim (1:6.3-031+2) unstable; urgency=low
+
+ * Fixed broken vim-doc.preinst. (closes: #280824, #280825)
+
+ -- Norbert Tretkowski <nobse@debian.org> Thu, 11 Nov 2004 23:56:12 +0100
+
+vim (1:6.3-031+1) unstable; urgency=low
+
+ * New upstream patches (026 to 031), see README.gz for details.
+ * Add symlink replacing from vim-common also to vim-doc. (closes: #279058)
+ * Added a new patch which adds XXX and FIXME comment hilighting to sh.vim,
+ thanks to Branden Robinson. (closes: #280471)
+ * Added a new patch which allows multiple spaces as arguments for xxd,
+ thanks to Glyn Kennington. (closes: #279709)
+ * Updated tpp and debcontrol syntax files, thanks to Gerfried Fuchs.
+
+ -- Norbert Tretkowski <nobse@debian.org> Tue, 09 Nov 2004 18:56:42 +0100
+
+vim (1:6.3-025+1) unstable; urgency=low
+
+ * New upstream patches (020 to 025), see README.gz for details.
+
+ -- Norbert Tretkowski <nobse@debian.org> Sun, 05 Sep 2004 21:13:04 +0200
+
+vim (1:6.3-019+1) unstable; urgency=medium
+
+ * New upstream patches (016 to 019), see README.gz for details.
+ * Added a new patch which adds some more sections to debcontrol.vim,
+ thanks to Branden Robinson. (closes: #258547)
+ * Removed setting the guifont in gvimrc. (closes: #267399, #268253)
+ * Compress README file. (closes: #267532)
+
+ -- Norbert Tretkowski <nobse@debian.org> Mon, 30 Aug 2004 21:06:01 +0200
+
+vim (1:6.3-015+1) unstable; urgency=medium
+
+ * New upstream patches (014 and 015), see README.gz for details.
+ * Removed Luca from Uploaders, thanks for your work! (closes: #266476)
+ * Added a workaround for setting papersize when running vim in restricted
+ mode, thanks to Alexey Marinichev. (closes: #260452, #265227)
+ * Added a new patch which fixes broken else syntax hilighting in make.vim,
+ thanks to Steinar H. Gunderson. (closes: #260473, #259819)
+ * Fixed spelling error in vim-common description. (closes: #264279)
+ * Added a patch from 1:6.2-532+1 which got lost with the update to 6.3
+ and fixes svn commit file highlighting.
+ * Added a new patch which adds s390 and amd64 to debcontrol.vim.
+
+ -- Norbert Tretkowski <nobse@debian.org> Wed, 17 Aug 2004 19:34:13 +0200
+
+vim (1:6.3-013+2) unstable; urgency=low
+
+ * Empty vim-common directory before rmdir it. (closes: #258809)
+ * Add symlink replacing from vim-common also to vim-variant.
+
+ -- Norbert Tretkowski <nobse@debian.org> Sun, 11 Jul 2004 18:11:45 +0200
+
+vim (1:6.3-013+1) unstable; urgency=low
+
+ * New upstream patches (012 and 013), see README.gz for details.
+ * More modifications on /usr/share/doc/vim-common symlink detection.
+ (closes: #257810)
+ * Source /etc/vim/vimrc.local if available. (closes: #257779)
+ * Added a virtual package gvim.
+
+ -- Norbert Tretkowski <nobse@debian.org> Fri, 09 Jul 2004 22:56:33 +0200
+
+vim (1:6.3-011+2) unstable; urgency=low
+
+ * Modify detection of /usr/share/doc/vim-common symlink. (closes: #257623)
+
+ -- Norbert Tretkowski <nobse@debian.org> Sun, 04 Jul 2004 19:35:16 +0200
+
+vim (1:6.3-011+1) unstable; urgency=low
+
+ * New upstream patch (011), see README.gz for details
+ * Disabled libgpm-dev build-dependency for kfreebsd-i386 (closes: #257230)
+ * Fixed vim-common's dependency on vim (closes: #257359, #257428, #257547)
+ * No longer compress version6.txt in documentation. (closes: #257338, #257445)
+ * Force replacing empty directories in /usr/share/doc with a symlink.
+ (closes: #257449)
+
+ -- Norbert Tretkowski <nobse@debian.org> Sun, 04 Jul 2004 11:21:36 +0200
+
+vim (1:6.3-010+1) unstable; urgency=low
+
+ * Norbert Tretkowski <nobse@debian.org>:
+ + new upstream patches (005 to 010), see README.gz for details
+ + temporary disabled vim-tiny package, will be re-added with the next
+ upload
+
+ * Mickael Marchand <marchand@kde.org>:
+ + updated kvim patch to apply without conflicts to new vim upstream
+ patches
+
+ -- Norbert Tretkowski <nobse@debian.org> Thu, 30 Jun 2004 18:35:26 +0200
+
+vim (1:6.3-004+1) unstable; urgency=low
+
+ * Norbert Tretkowski <nobse@debian.org>:
+ + new major upstream release (6.3)
+ + new upstream patches (001 to 004), see README.gz for details
+ + merged changes from 1:6.2-532+6
+ + fixed broken changelog symlink (closes: #253319)
+
+ -- Norbert Tretkowski <nobse@debian.org> Fri, 11 Jun 2004 21:31:25 +0200
+
+vim (1:6.2+6.3b-016+1) experimental; urgency=low
+
+ * Norbert Tretkowski <nobse@debian.org>:
+ + new upstream patches (008 to 016), see README.gz for details
+ + made vim depend on vim-common in the same upstream version, so upgrading
+ to experimental vim will also install new vim-common (closes: #251736)
+ + merged changes from 1:6.2-532+5
+
+ -- Norbert Tretkowski <nobse@debian.org> Sun, 30 May 2004 16:45:02 -0300
+
+vim (1:6.2+6.3b-007+1) experimental; urgency=low
+
+ * Norbert Tretkowski <nobse@debian.org>:
+ + new upstream patches (002 to 007), see README.gz for details
+ + applied patch from Thomas de Grenier de Latour which fixes problems with
+ non-builtin icons and gtk+ 2.4
+
+ -- Norbert Tretkowski <nobse@debian.org> Wed, 26 May 2004 19:09:21 -0300
+
+vim (1:6.2+6.3b-001+1) experimental; urgency=low
+
+ * Norbert Tretkowski <nobse@debian.org>:
+ + new major upstream beta release (6.3b)
+ + new upstream patch (001), see README.gz for details
+ + modified runtime path in global vimrc
+ + merged changes from 1:6.2-532+3 and 1:6.2-532+4
+
+ -- Norbert Tretkowski <nobse@debian.org> Wed, 19 May 2004 19:19:26 +0200
+
+vim (1:6.2+6.3a-018+1) experimental; urgency=low
+
+ * Norbert Tretkowski <nobse@debian.org>:
+ + new upstream patches (007 to 018), see README.gz for details
+ + merged changes from 1:6.2-532+2
+
+ -- Norbert Tretkowski <nobse@debian.org> Wed, 12 May 2004 22:05:31 +0200
+
+vim (1:6.2+6.3a-006+1) experimental; urgency=low
+
+ * Norbert Tretkowski <nobse@debian.org>:
+ + new major upstream beta release (6.3a)
+ - removed second -X option from vim(1) (closes: #231504)
+ - added evim to executables in vim(1) (closes: #223866)
+ - fixed typo in man.vim plugin (closes: #256951)
+ + new upstream patches (001 to 006), see README.gz for details
+ + removed most debian specific patches, because they got merged upstream
+ now
+ + modified runtime path in global vimrc
+ + modified directories in vim.links and vim.install
+
+ * Mickael Marchand <marchand@kde.org>:
+ + updated kvim patch to apply without conflicts to new vim upstream
+ beta release
+
+ -- Norbert Tretkowski <nobse@debian.org> Sat, 08 May 2004 23:29:31 +0200
+
+vim (1:6.2-532+6) unstable; urgency=low
+
+ * Norbert Tretkowski <nobse@debian.org>:
+ + applied a patch from Eduard Bloch which makes gvim load the UTF-8
+ version of fixed font when the $LANG or $LC_CTYPE environment variables
+ are set for the Unicode environment (closes: #177599)
+ + added a patch which enhances detection of html files (closes: #211263)
+ + removed c part from maze macro, looks like it doesn't work any longer
+ (closes: #121837)
+ + updated perl syntax file (closes: #232660)
+ + suggest 'ssh' instead of 'rsh' in tagsrch.txt (closes: #229634)
+ + capitalized 'unicode' string in description (closes: #172065)
+ + fixed broken removal of vim-gnome diversion (closes: #252248)
+ + fixed small typo in kvim mime files (closes: #250585)
+ + fixed small mistake in global vimrc (closes: #165964)
+ + added /usr/share/bug/vim/presubj file with some informations for
+ submitters of bugs
+
+ -- Norbert Tretkowski <nobse@debian.org> Sat, 05 Jun 2004 16:42:42 +0200
+
+vim (1:6.2-532+5) unstable; urgency=low
+
+ * Norbert Tretkowski <nobse@debian.org>:
+ + re-added a vim-tiny package, looks like it got lost somewhere between
+ potato and woody (closes: #222138)
+ + added a patch which adds 'UsePAM' directive to sshdconfig.vim syntax file
+ (closes: #250064)
+ + added a patch from Doug Winter which add recognition of 'as' keyword in
+ python syntax file (closes: #247326)
+ + added a patch from Dirk Proesdorf which corrects new 'alternates' keyword
+ behaviour in mutt syntax file (closes: #247098)
+ + added a patch which adds syntax highlighting for whitespace files
+ (closes: #226352)
+ + added a patch from Brian M. Carlson which adds highlighting for 'lldiv_t'
+ in c syntax file (closes: #202316)
+ + added a patch which fixes a typo in map.txt (closes: #198667)
+ + modified gvim and kvim menu entry, so they are started with -f now
+ (closes: #153112)
+ + added -f to mailcap view rules (closes: #101377)
+
+ -- Norbert Tretkowski <nobse@debian.org> Sat, 29 May 2004 22:43:11 -0300
+
+vim (1:6.2-532+4) unstable; urgency=low
+
+ * Norbert Tretkowski <nobse@debian.org>:
+ + used --with-features=big also for vim-basic variant (closes: #228485)
+ + binaries now including debugging information (closes: #249602)
+ + added support for "nostrip" in $DEB_BUILD_OPTIONS
+ + removed patch from Uli Martens introduced in 1:6.2-214+1 which modifies
+ runtime path in macros/less.sh, it's no longer needed since 1:6.2-532+3
+ + modified link to upstream changelog, it's no longer gzipped since
+ 1:6.2-532+1
+ + added version (>= 2.2) to libgtk2.0-dev build-dependency
+ + added priority to kvim package in control file
+
+ -- Norbert Tretkowski <nobse@debian.org> Wed, 19 May 2004 16:30:25 +0200
+
+vim (1:6.2-532+3) unstable; urgency=low
+
+ * Norbert Tretkowski <nobse@debian.org>:
+ + added a patch from Peter Jay Salzman which fixes a typo in
+ hebrewp_utf-8.vim (closes: #197932)
+ + added a syntax file from Luca De Vitis which adds support for debconf
+ templates (closes: #168731)
+ + moved macros and tools back into runtime directory (closes: #190181)
+ + moved runtimepath above inclusion of filetype.vim in /etc/vim/vimrc
+ (closes: #248402)
+ + really added a patch from Jeff Layton with a syntax correction for
+ quoted here-documents (closes: #248562)
+ + less.sh is now executable (closes: #244599)
+ + modified new versioned dependencies from 1:6.2-532+2 so the dependency
+ is only on upstream release (closes: #248949)
+ + corrected version number in kvim conflicts/replaces, the epoche was
+ missing
+ + made /usr/share/doc/vim-common a symlink to /usr/share/doc/vim
+ + modified some overrides to shut up installer at ftp-master
+
+ -- Norbert Tretkowski <nobse@debian.org> Sat, 15 May 2004 16:22:56 +0200
+
+vim (1:6.2-532+2) unstable; urgency=low
+
+ * Norbert Tretkowski <nobse@debian.org>:
+ + changes in debian/control from Michaels patch for hurd-i386 build got
+ lost (really closes: #244769)
+ + reenabled python package build for hurd-i386 build
+ + added versioned dependency on vim to vim-common and vice versa
+ (closes: #248423, #248563)
+ + build-conflict with libperl-dev (= 5.8.4-1) because it's broken
+ (see #247291 for details)
+ + added a patch from Jeff Layton with a syntax correction for quoted
+ here-documents (closes: #248562)
+ + updated netrw plugin (closes: #248623)
+ + updated squid syntax file (closes: #247810)
+ + added menu hints (closes: #82322)
+ + added background for syntax highlighting in vimrc (closes: #99762)
+ + disabled regenerating of tags file (closes: #244852)
+ + case-insensitive field names in debcontrol.vim (closes: #102232)
+ + added some notes about reporting bugs against this package to
+ README.Debian
+ + removed note about modelines from README.Debian
+
+ -- Norbert Tretkowski <nobse@debian.org> Wed, 12 May 2004 20:42:56 +0200
+
+vim (1:6.2-532+1) unstable; urgency=low
+
+ * Norbert Tretkowski <nobse@debian.org>:
+ + new upstream patches (427 to 532), see README.gz for details
+ + no longer compress helpfiles, it breaks :helpg (closes: #244114)
+ + added a patch which fixes svn commit file highlighting
+ (closes: #239320, #242286)
+ + added a patch from Jan Minar which fixes a documentation error in
+ cmdline.txt (closes: #241907)
+ + added a patch from Roland Stigge which adds "Enhances" keyword to
+ debcontrol syntax highlighting (closes: #235524)
+ + added a patch from Domenico Andreoli which adds "reiserfs4" keyword to
+ fstab syntax highlighting (closes: #236571)
+ + applied a patch from Michael Bank which adds some exceptions for
+ hurd-i386 build (closes: #244769)
+ + added alternative for gnome-text-editor to vim-gnome (closes: #243443)
+ + added alternative for gvim.1.gz to vim.1.gz (closes: #231503, #238181)
+ + added vim-policy.txt to vim package (closes: #246174)
+ + cleaned up debian/rules file and files in debian/patches a bit
+
+ * Mickael Marchand <marchand@kde.org>:
+ + updated kvim patch to apply without conflicts to new vim upstream
+ patches
+
+ -- Norbert Tretkowski <nobse@debian.org> Sat, 08 May 2004 22:42:16 +0200
+
+vim (1:6.2-426+1) unstable; urgency=low
+
+ * Norbert Tretkowski <nobse@debian.org>:
+ + new upstream patches (365 to 426), see README.gz for details
+ + updated 01ruby_mkmf.diff to apply without conflicts to new vim upstream
+ patches
+
+ * Mickael Marchand <marchand@kde.org>:
+ + updated kvim patch to apply without conflicts to new vim upstream
+ patches
+
+ -- Norbert Tretkowski <nobse@debian.org> Thu, 01 Apr 2004 17:14:13 +0200
+
+vim (1:6.2-364+1) unstable; urgency=low
+
+ * Norbert Tretkowski <nobse@debian.org>:
+ + new upstream patches (354 to 364), see README.gz for details
+ + reenabled modelines in default vimrc (closes: #205501)
+
+ -- Norbert Tretkowski <nobse@debian.org> Tue, 16 Mar 2004 19:09:35 +0100
+
+vim (1:6.2-353+1) unstable; urgency=low
+
+ * Norbert Tretkowski <nobse@debian.org>:
+ + new upstream patches (317 to 353), see README.gz for details
+ (closes: #188640)
+ + removed second /etc/vim from global runtime patch (closes: #237197)
+ + added vimrc_example.vim to $VIMRUNTIME (closes: #127141)
+
+ -- Norbert Tretkowski <nobse@debian.org> Sat, 13 Mar 2004 16:25:06 +0100
+
+vim (1:6.2-316+1) unstable; urgency=low
+
+ * Norbert Tretkowski <nobse@debian.org>:
+ + new upstream patches (295 to 316), see README.gz for details
+
+ -- Norbert Tretkowski <nobse@debian.org> Thu, 04 Mar 2004 22:27:35 +0100
+
+vim (1:6.2-294+1) unstable; urgency=low
+
+ * Norbert Tretkowski <nobse@debian.org>:
+ + new upstream patches (271 to 294), see README.gz for details
+ + moved arch independant data in a separate vim-common package
+ (closes: #233454)
+ + added a patch to recognize new keywords for java 1.5 in java syntax
+ file, thanks to Seneca Cunningham (closes: #231916)
+ + added a provides: kvim to kvim-packages (closes: #234690)
+
+ * Mickael Marchand <marchand@kde.org>:
+ + updated kvim patch to apply without conflicts to new vim upstream
+ patches
+
+ -- Norbert Tretkowski <nobse@debian.org> Sun, 29 Feb 2004 14:48:45 +0100
+
+vim (1:6.2-270+1) unstable; urgency=low
+
+ * Norbert Tretkowski <nobse@debian.org>:
+ + new upstream patches (215 to 270), see README.gz for details
+ + updated 01ruby_mkmf.diff and 11allow-threaded-perl.diff to apply without
+ conflicts to new vim upstream patches
+
+ * Mickael Marchand <marchand@kde.org>:
+ + updated kvim patch to apply without conflicts to new vim upstream
+ patches
+
+ -- Norbert Tretkowski <nobse@debian.org> Wed, 18 Feb 2004 00:22:01 +0100
+
+vim (1:6.2-214+2) unstable; urgency=low
+
+ * Mickael Marchand <marchand@kde.org>:
+ + add support for kvim-python, kvim-perl, kvim-tcl and kvim-ruby
+ (closes: #228865)
+ + add /etc/vim/gvimrc to kvim* packages
+
+ -- Mickael Marchand <marchand@kde.org> Fri, 30 Jan 2004 00:52:11 +0100
+
+vim (1:6.2-214+1) unstable; urgency=low
+
+ * Norbert Tretkowski <nobse@debian.org>:
+ + new Co-Maintainer Mickael Marchand <marchand@kde.org>
+ + new upstream patches (182 to 214), see README.gz for details
+ + added a patch which adds sysfs to fstab keywords, thanks to Iain
+ Broadfoot (closes: #228475)
+ + added a patch which modifies runtime path in macros/less.sh, thanks
+ to Uli Martens (closes: #228779)
+
+ * Mickael Marchand <marchand@kde.org>:
+ + updated kvim patch to apply without conflicts to new vim upstream
+ patches
+
+ -- Norbert Tretkowski <nobse@debian.org> Wed, 28 Jan 2004 20:18:52 +0100
+
+vim (1:6.2-181+1) unstable; urgency=low
+
+ * new upstream patches (174 to 181), see README.gz for details
+ * added gvim to GNOME application menu, thanks to Lee Maguire
+ (closes: #226848)
+
+ -- Norbert Tretkowski <nobse@debian.org> Fri, 16 Jan 2004 01:48:32 +0100
+
+vim (1:6.2-173+1) unstable; urgency=low
+
+ * new upstream patches (171 to 173), see README.gz for details
+ * added some more replaces to vim and kvim to avoid problems when upgrading
+ from older kvim (closes: #226735)
+ * added a patch which adds usbdevfs to fstab keywords, thanks to Ludovit
+ Hamaj (closes: #226714)
+
+ -- Norbert Tretkowski <nobse@debian.org> Thu, 08 Jan 2004 19:19:01 +0100
+
+vim (1:6.2-170+1) unstable; urgency=low
+
+ * new upstream patches (155 to 170), see README.gz for details
+ * updated kvim patch to apply without conflicts to new vim upstream patches,
+ thanks to Mickael Marchand
+ * updated 01ruby_mkmf.diff and 11allow-threaded-perl.diff to apply without
+ conflicts to new vim upstream patches
+ * new Maintainer: Norbert Tretkowski <nobse@debian.org>
+ * new Co-Maintainer: Luca Filipozzi <lfilipoz@debian.org>
+ * added FAQ.gz to vim package (closes: #221909)
+ * added additional php keywords to syntax file, thanks to Tobias Olsson and
+ Jill Vogel (closes: #148757, #176448)
+ * added german umlauts to keymap file, thanks to Marco Herrn
+ (closes: #217633)
+ * added filetypes for php4
+
+ -- Norbert Tretkowski <nobse@debian.org> Tue, 30 Dec 2003 14:48:31 +0100
+
+vim (1:6.2-154+1) unstable; urgency=low
+
+ * new upstream patches (150 to 154), see README.gz for details
+ * added new variant for a lesstif package, thanks to Bernd Westphal
+ * added a patch to recognize reply-hook keyword in the muttrc syntax file,
+ thanks to Marco Herrn (closes: #221350)
+
+ -- Norbert Tretkowski <nobse@debian.org> Wed, 10 Dec 2003 00:18:35 +0100
+
+vim (1:6.2-149+1) unstable; urgency=low
+
+ * new upstream patches (146 to 149), see README.gz for details
+ * added a patch to fix wrong highlighting in makefiles, thanks to Cyrille
+ Dunant (closes: #133323)
+ * added another patch to add '.' to debcontrolName highlighting, thanks to
+ David Weinehall (closes: #117038)
+
+ -- Norbert Tretkowski <nobse@debian.org> Sun, 9 Nov 2003 21:21:39 +0100
+
+vim (1:6.2-145+1) unstable; urgency=low
+
+ * new upstream patches (140 to 145), see README.gz for details
+ * added arabic support, thanks to Mohammed Elzubeir and Anmar Oueja
+ (closes: #216012)
+ * updated kvim patch to apply without conflicts to new vim upstream patches,
+ thanks to Mickael Marchand
+ * updated 01ruby_mkmf.diff and 11allow-threaded-perl.diff to apply without
+ conflicts to new vim upstream patches
+ * renamed ruby1.8 build-dependency to ruby
+
+ -- Norbert Tretkowski <nobse@debian.org> Wed, 5 Nov 2003 22:51:15 +0100
+
+vim (1:6.2-139+1) unstable; urgency=low
+
+ * new upstream patches (128 to 139), see README.gz for details
+ * merge with kvim source package, thanks to Mickael Marchand
+ (closes: #214076)
+
+ -- Norbert Tretkowski <nobse@debian.org> Sun, 2 Nov 2003 19:51:14 +0100
+
+vim (1:6.2-127+1) unstable; urgency=low
+
+ * new upstream patches (107 to 127), see README.gz for details
+ * used suggests instead of depends on vim for vim-doc
+
+ -- Norbert Tretkowski <nobse@debian.org> Fri, 17 Oct 2003 12:45:15 +0200
+
+vim (1:6.2-106+4) unstable; urgency=low
+
+ * vim-gnome now conflict with vim-gtk, and vice versa (closes: #214580)
+ * using pre-depends to fix #211710 and to handle overwriting of moved gvimrc
+ was a really bad idea, used replaces instead (closes: #214759)
+ * added a ttf-bitstream-vera suggests to gui packages because it seems to be
+ the only font which works fine with gtk2 gui
+ * added a note about gui support to perl, python, ruby and tcl package
+ description
+ * corrected short description in vim-gnome package
+
+ -- Norbert Tretkowski <nobse@debian.org> Wed, 8 Oct 2003 23:52:27 +0200
+
+vim (1:6.2-106+3) unstable; urgency=low
+
+ * moved vim-usermanual and vim-referencemanual to vim-doc package
+ (closes: #214462, #214556)
+ * removed perl, python, ruby, tcl support from vim-gtk and vim-gnome
+ (closes: #214422)
+ * gzipped /usr/share/vim/vim62/doc/help.txt (closes: #214115)
+
+ -- Norbert Tretkowski <nobse@debian.org> Tue, 7 Oct 2003 14:43:23 +0200
+
+vim (1:6.2-106+2) unstable; urgency=low
+
+ * really removed html documentation from vim package (closes: #211710)
+
+ -- Norbert Tretkowski <nobse@debian.org> Mon, 29 Sep 2003 19:09:11 +0200
+
+vim (1:6.2-106+1) unstable; urgency=low
+
+ * new upstream patches (99 to 106), see README.gz for details
+ * added a note to README.Debian about new modeline behaviour
+ (closes: #212696)
+ * helpztags update, fixes production of tag files in improper format which
+ vim can't understand (closes: #213032)
+ * temporary disabled copying debian/vim-install into vim package, waiting
+ for an update (see #213034 for details)
+
+ -- Norbert Tretkowski <nobse@debian.org> Sat, 27 Sep 2003 23:26:43 +0200
+
+vim (1:6.2-098+5) unstable; urgency=low
+
+ * added a several requested vim-gnome package (closes: #211820)
+
+ -- Norbert Tretkowski <nobse@debian.org> Fri, 26 Sep 2003 20:19:51 +0200
+
+vim (1:6.2-098+4) unstable; urgency=low
+
+ * the "Happy Birthday Norbert" release
+ * corrected buggy Depends line in debian/control for packages depending on
+ vim, which should fix build problems (closes: #212686)
+
+ -- Norbert Tretkowski <nobse@debian.org> Thu, 25 Sep 2003 12:36:47 +0200
+
+vim (1:6.2-098+3) unstable; urgency=low
+
+ * yet another helpztags update
+
+ -- Norbert Tretkowski <nobse@debian.org> Wed, 24 Sep 2003 15:30:41 +0200
+
+vim (1:6.2-098+2) unstable; urgency=low
+
+ * added a pre-depends on vim to vim-doc (closes: #211710)
+ * updated helpztags and modified debian/rules to create a manpage,
+ thanks again to Artur R. Czechowski (closes: #211763)
+ * compiled in runtime path extension and removed entry from vimrc
+ * changed build-depends from tcl8.3 to tcl8.4
+
+ -- Norbert Tretkowski <nobse@debian.org> Wed, 24 Sep 2003 12:19:26 +0200
+
+vim (1:6.2-098+1) unstable; urgency=low
+
+ * new major upstream release (6.2) (closes: #196411, #205204)
+ * new upstream patches (1 to 98), see README.gz for details
+ * new Co-Maintainer: Norbert Tretkowski <nobse@debian.org>
+ * started putting upstream changes in a separate file
+ * added a patch that adds s390 support for control file syntax
+ highlighting (closes: #114750)
+ * moved to ruby1.8 (closes: #211539)
+ * enabled cscope functionality in vim package (closes: #159728)
+ * reenabled perl support in vim-perl package (closes: #200410)
+ * modified runtimepath in vimrc, added a README.Debian, helpztags and
+ vim-install to vim package, thanks Artur R. Czechowski
+ * added a Pre-Depends to packages depending on vim for a smooth upgrade
+ from older releases
+ * updated slrnrc syntax highlighting file, thanks to Sebastian Krause
+ * modified Build-Depends for an easier build on woody
+ * bumped up Standards-Version (no changes)
+ * moved config file and symlinks for gui version from vim package to each
+ of the additional packages (closes: #114944, #153068, #155711)
+ * fixed debchangelog syntax match, thanks to Gerfried Fuchs and Uli
+ Martens (closes: #153426)
+ * moved html documentation to new vim-doc package (closes: #121075)
+
+ -- Norbert Tretkowski <nobse@debian.org> Sun, 14 Sep 2003 22:48:51 +0200
+
+vim (1:6.1-474+2) unstable; urgency=low
+
+ * debian/patches/07scripts.vim: fix typo that causes all files to be syntax
+ highlighed as though they were cvs diff files (closes: #194583)
+
+ -- Luca Filipozzi <lfilipoz@debian.org> Mon, 26 May 2003 08:01:06 -0700
+
+vim (1:6.1-474+1) unstable; urgency=low
+
+ * debian/vim.postinst + debian/vim-variant.postinst: delete symlinks located
+ in /usr/doc (closes: #189858, #190022)
+ * debian/rules + debain/runtime/vimrc: applied a patch that causes build
+ system to not compress the top level vim documenation file, help.txt; this
+ is needed so that plugin documentation can be merged into the online help
+ (closes: #186673) [thanks to: Recai Oktas]
+ * debian/patches/02debcontrol.vim: applied a patch that prevents vim syntax
+ erroneous highlighting of email addresses in Debian control files
+ (closes: #186673) [thanks to: Dmitry Borodaenko]
+ * debian/patches/03debcontrol.vim: applied a patch that makes the syntax
+ highlighter recongize the new Debian sections: embedded, gnome, kde,
+ libdevel, perl, python
+ (closes: #193235) [thanks to: Branden Robinson]
+ * debian/patches/04vim.1: applied a patch that documents -X flag
+ (closes: #141804) [thanks to: Guido Guenther]
+ * debian/patches/05muttrc.vim: applied a patch that adds several keywords
+ starting with 'crypt-', reflecting recent changes in muttrc syntax
+ (closes: #190864) [thanks to: Marco Herrn]
+ * debian/patches/06tasm.vim: applied a patch that fixes minor typo
+ (closes: #165819) [thanks to: David Weinehall]
+ * debian/patches/07scripts.vim.diff: applied a patch that helps vim correctly
+ highlight cvs diff output
+ (closes: #152721) [thanks to: Guido Guenther]
+ * debian/patches/08sh.vim.diff: applied a patch that increases the strictness
+ of Bourne shell syntax highlighting with respect to "if [ ]" constructs
+ (closes: #140203) [thanks to: Malcolm Parsons]
+ * debian/patches/09c.vim.diff: applied a patch that adds additional signal
+ names to the list of recognized signals for syntax highlighting
+ (closes: #173797) [thanks to: Wolfram Quester]
+ * debian/patches/10apache.vim.diff: applied a patch that adds SSLEnable
+ to the list of recognized keyworkds (closes: #135243)
+ * debian/runtime/vimrc: applied a patch that makes vim set printoptions
+ paper to /etc/papersize as per Debian standards
+ (closes: #127830) [thanks to: Ken Shan]
+ * new upstream patches:
+ + 6.1.321: When 'mouse' includes 'n' but not 'v', don't allow starting
+ Visual mode with the mouse.
+ + 6.1.322: Win32: The host name is always "PC " plus the real host
+ name.
+ + 6.1.323: ":registers" doesn't stop listing for a "q" at the more
+ prompt.
+ + 6.1.324: Crash when dragging a vertical separator when <LeftMouse>
+ is remapped to jump to another window.
+ + 6.1.325: Shift-Tab is not automatically recognized in an xterm.
+ + 6.1.326: Using a search pattern may read from uninitialized data
+ (Yasuhiro Matsumoto)
+ + 6.1.327: When opening the "mbyte.txt" help file the utf-8 characters
+ are unreadable, because the fileencoding is forced to be latin1.
+ + 6.1.328: Prototype for enc_canon_search() is missing.
+ + 6.1.329: When editing a file "a b c" replacing "%" in ":Cmd %" or
+ ":next %" does not work properly.
+ + 6.1.330: GTK, Motif and Athena: Keypad keys produce the same code
+ as non-keypad keys, making it impossible to map them separately.
+ + 6.1.331: When translating the help files, "LOCAL ADDITIONS" no
+ longer marks the spot where help files from plugins are to be listed.
+ + 6.1.332: Win32: Loading Perl dynamically doesn't work with Perl
+ 5.8. Perl 5.8 also does not work with Cygwin and Ming.
+ + 6.1.333: Win32: Can't handle Unicode text on the clipboard. Can't
+ pass NUL byte, it becomes a line break.
+ + 6.1.334: Problem with drawing Hebrew characters.
+ + 6.1.335: Failure of obtaining the cursor position and window size
+ is ignored.
+ + 6.1.336: Warning for use of function prototypes of smsg().
+ + 6.1.337: When using "finish" in debug mode in function B() for
+ ":call A(B())" does not stop after B() is finished.
+ + 6.1.338: When using a menu that checks out the current file from
+ Insert mode, there is no warning for the changed file until exiting
+ Insert mode.
+ + 6.1.339: Completion doesn't allow "g:" in ":let g:did_<Tab>". (Benji
+ Fisher)
+ + 6.1.340: Win32: Can't compile the Perl interface with nmake.
+ + 6.1.341: In Insert mode with 'rightleft' set the cursor is drawn
+ halfway a double-wide character. For CTRL-R and CTRL-K in Insert
+ mode the " or ? is not displayed.
+ + 6.1.342: With 'rightleft' set typing "c" on a double-wide character
+ causes the cursor to be displayed one cell to the left.
+ + 6.1.343: Cannot compile with the +multi_byte feature but without
+ +rightleft. Cannot compile without the GUI.
+ + 6.1.344: When using ":silent filetype" the output is still put in
+ the message history.
+ + 6.1.345: Win32: 'imdisable' doesn't work.
+ + 6.1.346: The scroll wheel can only scroll the current window.
+ + 6.1.347: When using cscope to list matching tags, the listed number
+ is sometimes not equal to what cscope uses.
+ + 6.1.348: Wildmode with wildmenu: ":set wildmode=list,full",
+ ":colorscheme <tab>" results in "zellner" instead of the first
+ entry. (Anand Hariharan)
+ + 6.1.349: "vim --serverlist" when no server was ever started gives
+ an error message without "\n". "vim --serverlist" doesn't exit when
+ the X server can't be contacted, it starts Vim unexpectedly.
+ + 6.1.350: When entering a buffer with ":bnext" for the first time,
+ using an autocommand to restore the last used cursor position
+ doesn't work.
+ + 6.1.351: Crash when starting Vim the first time in an X server. (John
+ McGowan)
+ + 6.1.352: Win32: Crash when setting "imdisable" in _vimrc.
+ + 6.1.353: Problem with drawing Arabic characters.
+ + 6.1.354: MS-Windows 98: Notepad can't paste text copied from Vim when
+ 'encoding' is "utf-8".
+ + 6.1.355: In a regexp '\n' will never match anything in a string.
+ + 6.1.356: Compiler warnings for using convert_setup() and a few
+ other things.
+ + 6.1.357: CR in the quickfix window jumps to the error under the
+ cursor, but this doesn't work in Insert mode.
+ + 6.1.358: The tutor doesn't select another locale version properly.
+ + 6.1.359: Mac Carbon: Vim doesn't get focus when started from the
+ command line. Crash when using horizontal scroll bar.
+ + 6.1.360: In Insert mode CTRL-K ESC messes up a multi-byte character.
+ + 6.1.361: Cannot jump to a file mark with ":'M".
+ + 6.1.362: tgetent() may return zero for success. tgetflag() may
+ return -1 for an error.
+ + 6.1.363: byte2line() can return one more than the number of lines.
+ + 6.1.364: That the FileChangedShell autocommand event never nests
+ makes it difficult to reload a file in a normal way.
+ + 6.1.365: Setting a breakpoint in a sourced file with a relative
+ path name doesn't work.
+ + 6.1.366: Can't use Vim with Netbeans.
+ + 6.1.367: Setting a breakpoint in a function doesn't work. For
+ a sourced file it doesn't work when symbolic links are
+ involved. (Servatius Brandt)
+ + 6.1.368: Completion for ":map" does not include <silent> and
+ <script>. ":mkexrc" do not save the <silent> attribute of mappings.
+ + 6.1.369: VMS: Vim hangs when attempting to edit a read-only file
+ in the terminal. Problem with VMS filenames for quickfix.
+ + 6.1.370: #ifdef nesting is unclear.
+ + 6.1.371: "%V" in 'statusline' doesn't show "0-1" in an empty line.
+ + 6.1.372: With 16 bit ints there are compiler warnings.
+ + 6.1.373: The default page header for printing is not translated.
+ + 6.1.374: MS-Windows: Cannot build GvimExt with MingW or Cygwin.
+ + 6.1.375: MS-Windows: ':!dir "%"' does not work for a file name
+ with spaces.
+ + 6.1.376: "vim --version" and "vim --help" have a non-zero exit
+ code. That is unusual.
+ + 6.1.377: Can't add words to 'lispwords' option.
+ + 6.1.378: When two buffer-local user commands are ambiguous, a full
+ match with a global user command isn't found.
+ + 6.1.379: Linux with kernel 2.2 can't use the alternate stack in
+ combination with threading, causes an infinite loop.
+ + 6.1.380: When 'winminheight' is zero and the quickfix window is
+ zero lines, entering the window doesn't make it highter. (Christian
+ J. Robinson)
+ + 6.1.381: When a BufWriteCmd is used and it leaves the buffer
+ modified, the window may still be closed.
+ + 6.1.382: Win32 GUI: When using two monitors, the code that
+ checks/fixes the window size and position (e.g. when a font changes)
+ doesn't work properly.
+ + 6.1.383: The filling of the status line doesn't work properly for
+ multi-byte characters. There is no check for going past the end of
+ the buffer.
+ + 6.1.384: It is not possible to find if a certain patch has been
+ included.
+ + 6.1.385: Can't compile without the multi-byte feature.
+ + 6.1.386: Get duplicate tags when running ":helptags".
+ + 6.1.387: Compiler warning for pointer cast.
+ + 6.1.388: Compiler warning for pointer cast.
+ + 6.1.389: Balloon evaluation doesn't work for GTK. has("balloon_eval")
+ doesn't work.
+ + 6.1.390: It's not possible to tell Vim to save and exit through the
+ Netbeans interface. Would still try to send balloon eval text after
+ the connection is closed. Can't use Unicode characters for sign text.
+ + 6.1.391: ml_get
+ + 6.1.392: Highlighting in the 'statusline' is in the wrong position
+ when an item is tructated.
+ + 6.1.393: When compiled with Python and threads, detaching the
+ terminal may cause Vim to loop forever.
+ + 6.1.394: The netbeans interface doesn't recognize multibyte glyph
+ names.
+ + 6.1.395: VMS: OLD_VMS is never defined. Missing function prototype.
+ + 6.1.396: Compiler warnings for using enum.
+ + 6.1.397: The install program may use a wrong path for the diff
+ command if there is a space in the install directory path.
+ + 6.1.398: Saving the typeahead for debug mode causes trouble for a
+ test script.
+ + 6.1.399: Warning for unused variable.
+ + 6.1.400: When a BufWriteCmd wipes out the buffer it may still
+ be accessed.
+ + 6.1.401: Building the Win16 version with Borland 5.01 doesn't
+ work. "make test" doesn't work with Make_dos.mak.
+ + 6.1.402: When evaluating a function name with curly braces, an
+ error is not handled consistently.
+ + 6.1.403: MS-Windows 16 bit: compiler warnings.
+ + 6.1.404: Various small problems.
+ + 6.1.405: A few files are missing from the toplevel Makefile.
+ + 6.1.406: When a statusline item doesn't fit arbitrary text appears.
+ + 6.1.407: ":set scrollbind | help" scrollbinds the help
+ window. (Andrew Pimlott)
+ + 6.1.408: When 'rightleft' is set unprintable character 0x0c is
+ displayed as ">c0<".
+ + 6.1.409: Generating tags for the help doesn't work for some locales.
+ + 6.1.410: Linking error when compiling with Netbeans but without
+ sign icons.
+ + 6.1.411: When 'virtualedit' is set, highlighting a Visual block
+ beyond the end of a line may be wrong.
+ + 6.1.412: When swapping terminal screens and using ":gui" to start
+ the GUI, the shell prompt may be after a hit-enter prompt.
+ + 6.1.413: When 'clipboard' contains "unnamed", "p" in Visual mode
+ doesn't work correctly.
+ + 6.1.414: VMS: Vim busy waits when waiting for input.
+ + 6.1.415: When there is a vertical split and a quickfix window,
+ reducing the size of the Vim window may result in a wrong window
+ layout and a crash.
+ + 6.1.416: When using the Netbeans interface, a line with a sign
+ cannot be changed.
+ + 6.1.417: Unprintable multi-byte characters are not handled
+ correctly. Multi-byte characters above 0xffff are displayed as
+ another character.
+ + 6.1.418: The result of strftime() is in the current locals. Need
+ to convert it to 'encoding'.
+ + 6.1.419: Vim doesn't compile on AIX 5.1.
+ + 6.1.420: convert_input() has an unnecessary STRLEN(). Conversion
+ from UCS-2 to a codepage uses word count instead of byte count.
+ + 6.1.421: MS-Windows 9x: When putting text on the clipboard it can
+ be in the wrong encoding.
+ + 6.1.422: Error in .vimrc doesn't cause hit-enter prompt when
+ swapping screens.
+ + 6.1.423: Can't find arbitrary text in help files.
+ + 6.1.424: Win32: Gvim compiled with VC++ 7.0 run on Windows 95 does
+ not show menu items.
+ + 6.1.425: ":helptags $VIMRUNTIME/doc" does not add the "help-tags"
+ tag.
+ + 6.1.426: "--remote-wait +cmd file" waits forever.
+ + 6.1.427: Several error messages for regexp patterns are not
+ translated.
+ + 6.1.428: FreeBSD: wait() may hang when compiled with Python support
+ and doing a system() call in a startup script.
+ + 6.1.429: Crash when using showmarks.vim plugin.
+ + 6.1.430: In Lisp code backslashed parens should be ignored for "%".
+ + 6.1.431: Debug commands end up in redirected text.
+ + 6.1.432: MS-Windows: ":make %:p" inserts extra backslashes.
+ + 6.1.433: ":popup" only works for Win32.
+ + 6.1.434: Win32: When there are more than 32767 lines, the scrollbar
+ has a roundoff error.
+ + 6.1.435: ":winsize x" resizes the Vim window to the minimal
+ size. (Andrew Pimlott)
+ + 6.1.436: When a long UTF-8 file contains an illegal byte it's hard
+ to find out where it is.
+ + 6.1.437: Using multi-byte functions when they are not available.
+ + 6.1.438: When Perl has thread support Vim cannot use the Perl
+ interface.
+ + 6.1.439: Netbeans: A "create" function doesn't actually create a
+ buffer, following functions may fail.
+ + 6.1.440: The "@*" command doesn't obtain the actual contents of
+ the clipboard.
+ + 6.1.441: "zj" and "zk" cannot be used as a motion command after
+ an operator.
+ + 6.1.442: Unicode 3.2 defines more space and punctuation characters.
+ + 6.1.443: Win32: The gvimext.dll build with Borland 5.5 requires
+ another DLL.
+ + 6.1.444: Win32: Enabling a build with gettext support is not
+ consistant.
+ + 6.1.445: DJGPP: get warning for argument of putenv()
+ + 6.1.446: Win32: The MingW makefile uses a different style of
+ arguments than other makefiles. Dynamic IME is not supported
+ for Cygwin.
+ + 6.1.447: "make install" uses "make" directly for generating help
+ tags.
+ + 6.1.448: 'titlestring' has a default maximum width of 50 chars
+ per item.
+ + 6.1.449: When "1" and "a" are in 'formatoptions', auto-formatting
+ always moves a newly added character to the next line.
+ + 6.1.450: Termcap entry "kB" for back-tab is not recognized.
+ + 6.1.451: GUI: When text in the find dialog contains a slash,
+ a backslash is inserted the next time it is opened.
+ + 6.1.452: Win32: IME support doesn't work for MSVC.
+ + 6.1.453: When compiled without sign icons but with sign support,
+ adding a sign may cause a crash.
+ + 6.1.454: Win32: pasting Russian text in Vim with 'enc' set to cp1251
+ results in utf-8 bytes. Conversion from DBCS to UCS2 does not work
+ when 'encoding' is not the active codepage.
+ + 6.1.455: Some Unicode characters can be one or two character
+ cells wide.
+ + 6.1.456: Win32: IME doesn't work.
+ + 6.1.457: An empty register in viminfo causes conversion to fail.
+ + 6.1.458: Compiler warning for pointer.
+ + 6.1.459: Win32: libcall() may return an invalid pointer and cause
+ Vim to crash.
+ + 6.1.460: GTK: after scrolling the text one line with a key, clicking
+ the arrow of the scrollbar does not always work.
+ + 6.1.461: When a keymap is active, typing a character in Select mode
+ does not use it.
+ + 6.1.462: When autocommands wipe out a buffer, a crash may
+ happen. (Hari Krishna Dara)
+ + 6.1.463: When writing a compressed file, the file name that gzip
+ stores in the file is the weird temporary file name.
+ + 6.1.464: Crash when using C++ syntax highlighting.
+ + 6.1.465: Compile error when using cygwin.
+ + 6.1.466: The "-f" argument is a bit obscure.
+ + 6.1.467: Setting the window title doesn't work for Chinese.
+ + 6.1.468: ":mksession" also stores folds for buffers which will not
+ be restored.
+ + 6.1.469: 'listchars' cannot contain multi-byte characters.
+ + 6.1.470: Polish messages don't show up correctly on MS-Windows.
+ + 6.1.471: ":jumps" output continues after pressing "q" at the
+ more-prompt.
+ + 6.1.472: When there is an authentication error when connecting to
+ the X server Vim exits.
+ + 6.1.473: Referring to $curwin or $curbuf in Perl 5.6 causes a crash.
+ + 6.1.474: When opening the command-line window in Ex mode it's
+ impossible to go back.
+
+ -- Luca Filipozzi <lfilipoz@debian.org> Sun, 6 Apr 2003 20:35:12 -0700
+
+vim (1:6.1-320+1) unstable; urgency=low
+
+ * new upstream patches:
+ + 6.1.291: Win32: CTRL-@ doesn't work. Don't even get a message for it.
+ + 6.1.292: Win32: Can't compile with new MingW compiler. Borland 5
+ makefile doesn't generate pathdef.c.
+ + 6.1.293: byte2line() returns a wrong result for some values.
+ + 6.1.294: Can't include a multi-byte character in a string by its
+ hex value.
+ + 6.1.295: Processing the cs.po file generates an error.
+ + 6.1.296: Win32: When cancelling the font dialog 'guifont' remains
+ set to "*".
+ + 6.1.297: "make test" fails in test6 in an UTF-8 environment.
+ + 6.1.298: When using signs and the first line of a closed fold has
+ a sign it can be redrawn as if the fold was open.
+ + 6.1.299: ":edit +set\ ro file" doesn't work.
+ + 6.1.300: Handling of ETO_IGNORELANGUAGE is confusing.
+ + 6.1.301: French translation of file-save dialog doesn't show
+ file name.
+ + 6.1.302: Counting lines of the Visual area is incorrect for closed
+ folds.
+ + 6.1.303: The Top/Bottom/All text does not always fit in the ruler
+ when translated to Japanese. Problem with a character being wider
+ when in a bold font.
+ + 6.1.304: Win32: Postscript is always enabled in the
+ MingW Makefile. Pathdef.c isn't generated properly with
+ Make_bc5.mak. (Yasuhiro Matsumoto)
+ + 6.1.305: When 'verbose' is 14 or higher, a function call may cause
+ reading uninitialized data.
+ + 6.1.306: The AIX VisualAge cc compiler doesn't define __STDC__.
+ + 6.1.307: When a double-byte character has an illegal tail byte the
+ display is messed up.
+ + 6.1.308: Can't reset the Visual mode returned by visualmode().
+ + 6.1.309: The tutor doesn't select German if the locale name is
+ "German_Germany.1252".
+ + 6.1.310: All double-byte characters are displayed as "XX".
+ + 6.1.311: VMS: path in window title doesn't include necessary
+ separator. file version doesn't always work properly with
+ Unix. Crashes because of memory overwrite in GUI. Didn't always
+ handle files with lowercase and correct path.
+ + 6.1.312: When using ":silent" debugging is also done silently.
+ + 6.1.313: When a ":drop fname" command is used and "fname" is open
+ in another window, it is also opened in the current window.
+ + 6.1.314: Missing backslash in "Generic Config file" syntax menu.
+ + 6.1.315: A very long hostname may lead to an unterminated
+ string. Failing to obtain a hostname may result in garbage.
+ + 6.1.316: When exiting with "wq" and there is a hidden buffer, after
+ the "file changed" dialog there is a warning for a changed buffer.
+ + 6.1.317: Closing a window may cause some of the remaining windows
+ to be positioned wrong if there is a mix of horizontal and vertial
+ splits.
+ + 6.1.318: auto/pathdef.c can include wrong quotes when a compiler
+ flag includes quotes.
+ + 6.1.319: Using "--remote +cmd file" does not execute "cmd".
+ + 6.1.320: When a ":drop one\ file" command is used the file "one\
+ file" is opened, the backslash is not removed.
+ * debian/patches/01ruby_mkmf: fixes an FTBFS that impacts ia64 but should
+ probably have affected all archs (closes: Bug#174375)
+
+ -- Luca Filipozzi <lfilipoz@debian.org> Sat, 8 Feb 2003 12:28:24 -0800
+
+vim (1:6.1-290+1) unstable; urgency=low
+
+ * new upstream patches:
+ + 6.1.267: Using "p" to paste into a Visual selected area may cause
+ a crash.
+ + 6.1.268: When triggering an abbreviation with a multi-byte character,
+ this character is not correctly inserted after expanding the
+ abbreviation.
+ + 6.1.269: After using input() text written with ":redir" gets
+ extra indent.
+ + 6.1.270: GCC 3.2.1 still seems to have an optimizer problem.
+ + 6.1.271: When compiling without the +syntax feature there are errors.
+ + 6.1.272: After using ":set define<" a crash may happen.
+ + 6.1.273: When the cursor doesn't blink, redrawing an exposed area
+ may hide the cursor.
+ + 6.1.274: Resetting the iconv() state after each error is wrong for
+ an incomplete sequence.
+ + 6.1.275: When using "v" in a startup script, get warning message
+ that terminal cannot highlight.
+ + 6.1.276: "gvim --remote file" doesn't prompt for an encryption key.
+ + 6.1.277: Compilation error when building without GUI.
+ + 6.1.278: When using signs the line number of a closed fold doesn't
+ line up with the other line numbers.
+ + 6.1.279: The prototype for smsg() and smsg_attr() do not match the
+ function definition. This may cause trouble for some compilers.
+ + 6.1.280: It's possible to use an argument "firstline" or "lastline"
+ for a function but using "a:firstline" or "a:lastline" in the
+ function won't work.
+ + 6.1.281: In Insert mode CTRL-X CTRL-G leaves the cursor after
+ the ruler.
+ + 6.1.282: Elvis uses "se" in a modeline, Vim doesn't recognize this.
+ + 6.1.283: For ":sign" the icon file name cannot contain a space.
+ + 6.1.284: On Solaris there is a warning for "struct utimbuf".
+ + 6.1.285: Can't wipe out a buffer with 'bufhidden' option.
+ + 6.1.286: 'showbreak' cannot contain multi-byte characters.
+ + 6.1.287: Effect of "delete" and "wipe" in 'bufhide' were mixed up.
+ + 6.1.288: ":silent function F" hangs.
+ + 6.1.289: Compiler warning for pointer.
+ + 6.1.290: Truncating long text for message box may break multi-byte
+ character.
+
+ -- Luca Filipozzi <lfilipoz@debian.org> Thu, 16 Jan 2003 21:37:13 -0800
+
+vim (1:6.1-266+1) unstable; urgency=low
+
+ * new epoch: change package version numbering so that new upstream patches
+ don't generate new source packages
+ * new upstream patches:
+ + 6.1.264: exists() does not work for built-in functions
+ + 6.1.265: libcall() can be used in 'foldexpr' to call any system
+ function. rename(), delete() and remote_send() can also be used in
+ 'foldexpr'. These are security problems.
+ + 6.1.266: Win32: compile error in eval.c.
+
+ -- Luca Filipozzi <lfilipoz@debian.org> Tue, 24 Dec 2002 14:06:30 -0800
+
+vim (6.1.263-2) unstable; urgency=low
+
+ * debian/control: fix Build-Depends to include bzip2 (closes: Bug#171078)
+ * debian/patches: 00os_unix.h - set default runtime path to include /etc/vim
+
+ -- Luca Filipozzi <lfilipoz@debian.org> Thu, 28 Nov 2002 09:15:32 -0800
+
+vim (6.1.263-1) unstable; urgency=low
+
+ * New maintainer
+ * New debian build scripts
+ * debian/runtime/vimrc: added 'set nomodeline' to address potential
+ security issue wherein malicious persons author files with hazardous
+ modelines, users unwittingly open said files and vim evaluates the
+ dangerous modelines
+ * Apply upstream patches:
+ + 6.1.207: Indenting a Java file hangs below a line with a comment
+ after a command.
+ + 6.1.208: Can't use the buffer number from the Python interface.
+ + 6.1.209: Printing doesn't work on Mac OS classic.
+ + 6.1.210: When there is an iconv() conversion error when reading a
+ file there can be an error the next time iconv() is used.
+ + 6.1.211: The message "use ! to override" is confusing.
+ + 6.1.212: When Vim was started with "-R" ":new" creates a buffer
+ 'noreadonly' while ":enew" has 'readonly' set.
+ + 6.1.213: Using CTRL-W H may cause a big gap to appear below the
+ last window.
+ + 6.1.214: When installing Vim and the runtime files were checked
+ out from CVS the CVS directories will also be installed.
+ + 6.1.215: Win32: ":pwd" uses backslashes even when 'shellslash'
+ is set.
+ + 6.1.216: When dynamically loading the iconv library, the error
+ codes may be confused.
+ + 6.1.217: When sourcing the same Vim script using a different name
+ (symbolic link or MS-Windows 8.3 name) it is listed twice with
+ ":scriptnames". (Tony Mechelynck)
+ + 6.1.218: No error message for using the function argument
+ "5+". (Servatius Brandt)
+ + 6.1.219: When using ":amenu :b 1<CR>" with a Visual selection and
+ 'insertmode' is set, Vim does not return to Insert mode. (Mickael
+ Marchand)
+ + 6.1.220: When using a BufReadPost autocommand that changes the line
+ count, e.g., "$-1join", reloading a file that was changed outside
+ Vim does not work properly.
+ + 6.1.221: Changing case may not work properly, depending on the
+ current locale.
+ + 6.1.222: Patch 6.1.219 was incomplete.
+ + 6.1.223: Win32: When IME is activated 'iminsert' is set, but it
+ might never be reset when IME is disabled. All systems: 'iminsert' is
+ set to 2 when leaving Insert mode, even when langmap is being used.
+ + 6.1.224: "expand('$VAR')" returns an empty string when the expanded
+ $VAR is not an existing file.
+ + 6.1.225: Using <C-O><C-^> in Insert mode has a delay when starting
+ "vim -u NONE" and ":set nocp hidden". (Emmanuel) do_ecmd() uses
+ fileinfo(), the redraw is done after a delay to give the user time
+ to read the message.
+ + 6.1.226: Using ":debug" with a ":normal" command may cause a
+ hang. (Colin Keith)
+ + 6.1.227: It is possible to use a variable name "asdf:asdf" and
+ ":let j:asdf = 5" does not give an error message.
+ + 6.1.228: Win32: The special output function for Hangul is used
+ too often, causing special handling for other situations
+ to be skipped. bInComposition is always FALSE, causing
+ ImeGetTempComposition() always to return NULL.
+ + 6.1.229: Win32: Conversion to/from often used codepages requires
+ the iconv library, which is not always available.
+ + 6.1.230: Win16: building doesn't work.
+ + 6.1.231: Double clicking with the mouse to select a word does not
+ work for multi-byte characters.
+ + 6.1.232: Using ex_normal_busy while it might not be available. (Axel
+ Kielhorn)
+ + 6.1.233: ":help expr-||" does not work.
+ + 6.1.234: Get a warning for using a negative value for st_dev.
+ + 6.1.235: 'iminsert' is changed from 1 to 2 when leaving Insert
+ mode. (Peter Valach)
+ + 6.1.236: Memory leaks when appending lines for ":diffget" or
+ ":diffput" and when reloading a changec buffer.
+ + 6.1.237: Putting in Visual block mode does not work correctly when
+ "$" was used or when the first line is short.
+ + 6.1.238: Win32: The "icon=" argument for the ":menu" command does
+ not search for the bitmap file.
+ + 6.1.239: Giving an error for missing :endif or :endwhile when
+ being interrupted.
+ + 6.1.240: Win32 with BCC 5: CPU may be defined in the environment,
+ which causes a wrong argument for the compiler.
+ + 6.1.241: Something goes wrong when drawing or undrawing the cursor.
+ + 6.1.242: When pasting a large number of lines on the command line
+ it is not possible to interrupt.
+ + 6.1.243: Win32: When the OLE version is started and wasn't
+ registered, a message pops up to suggest registering, even when
+ this isn't possible (when the registry is not writable).
+ + 6.1.244: Patch 6.1.237 was missing the diff for vim.h.
+ + 6.1.245: Comparing with ignored case does not work properly for
+ Unicode with a locale where case folding an ASCII character results
+ in a multi-byte character.
+ + 6.1.246: ":blast" goes to the first buffer if the last one is
+ unlisted.
+ + 6.1.247: ACL support doesn't always work properly.
+ + 6.1.248: Typing 'q' at the more-prompt for ":let" does not quit
+ the listing.
+ + 6.1.249: Can't expand a path on the command line if it includes a
+ "|" as a trail byte of a multi-byte character.
+ + 6.1.250: When changing the value of 'lines' inside the expression
+ set with 'diffexpr' Vim might crash.
+ + 6.1.251: Can't use completion for ":lcd" and ":lchdir" like ":cd".
+ + 6.1.252: "vi}" does not include a line break when the "}" is at
+ the start of a following line.
+ + 6.1.253: Win32 with Cygwin: Changes the path of arguments in a
+ wrong way.
+ + 6.1.254: exists("foo{bar}") does not work. ':unlet v{"a"}r' does
+ not work. ":let v{a}r1 v{a}r2" does not work. ":func F{(1)}" does
+ not work. ":delfunc F{" does not give an error message. ':delfunc
+ F{"F"}' does not work.
+ + 6.1.255: Crash when loading menu.vim a second time. ":unlet garbage
+ foo" tries unletting "foo" after an error message. Very long function
+ arguments cause very long messages when 'verbose' is 14 or higher.
+ + 6.1.256: Defining a function after ":if 0" could still cause an
+ error message for an existing function. Leaking memory when there
+ are trailing characters for ":delfunc".
+ + 6.1.257: ":cwindow" always sets the previous window to the last
+ but one window.
+ + 6.1.258: Buffers menu doesn't work properly for multibyte buffer
+ names.
+ + 6.1.259: Mac: with 'patchmode' is used filenames are truncated.
+ + 6.1.260: GCC 3.2 still seems to have an optimizer problem.
+ + 6.1.261: When deleting a line in a buffer which is not the current
+ buffer, using the Perl interface Delete(), the cursor in the current
+ window may move.
+ + 6.1.262: When jumping over folds with "z[", "zj" and "zk" the
+ previous position is not remembered.
+ + 6.1.263: When typing a multi-byte character that triggers an
+ abbreviation it is not inserted properly.
+
+ -- Luca Filipozzi <lfilipoz@debian.org> Tue, 26 Nov 2002 09:46:26 -0800
+
+vim (6.1.206-1) unstable; urgency=low
+
+ * Change priority of vim package back to optional
+ * Switch to tcl8.4-dev
+ * Apply upstream patches:
+ + 6.1.166: When 'autoindent' is set and mswin.vim has been sourced,
+ pasting with CTRL-V just after auto-indenting removes the
+ indent.
+ + 6.1.167: When giving a negative argument to ":retab" strange things
+ start happening.
+ + 6.1.168: Pressing CTRL-C at the hit-enter prompt doesn't end
+ the prompt.
+ + 6.1.169: bufexists() finds a buffer by using the name of a symbolic
+ link to it, but bufnr
+ + 6.1.170: Using ":mksession" uses the default session file name,
+ but "vim -S" doesn't.
+ + 6.1.171: When opening a line just above a closed fold with "O"
+ and the comment leader is automatically inserted, the cursor is
+ displayed in the first column.
+ + 6.1.172: Command line completion of ":tag /pat" does not show the
+ same results as the tags the command actually finds.
+ + 6.1.173: When using remote control to edit a position in a file
+ and this file is the current buffer and it's modified, the window
+ is split and the ":drop" command fails.
+ + 6.1.174: It is difficult to know in a script whether an option not
+ only exists but really works.
+ + 6.1.175: When reading commands from a pipe and a CTRL-C is pressed,
+ Vim will hang.
+ + 6.1.176: When the stack limit is very big a false out-of-stack
+ error may be detected.
+ + 6.1.177: ":wincmd" does not allow a following command.
+ + 6.1.178: When 'expandtab' is set "r<C-V><Tab>" still expands the Tab.
+ + 6.1.179: When using X11R5 XIMPreserveState is undefined.
+ + 6.1.180: Use of the GUI code for forking is inconsistent.
+ + 6.1.181: If the terminal doesn't wrap from the last char in a line
+ to the next line, the last column is blanked out.
+ + 6.1.182: It is not possible to auto-format comments only.
+ + 6.1.183: When 'fencs' is empty and 'enc' is utf-8, reading a file
+ with illegal bytes gives "CONVERSION ERROR" even though no conversion
+ is done. 'readonly' is set, even though writing the file results
+ in an unmodified file.
+ + 6.1.184: The extra mouse buttons found on some mice don't work.
+ + 6.1.185: Can't compile without +comments feature.
+ + 6.1.186: ":wincmd" does not allow a following comment.
+ + 6.1.187: Using ":doarg" with 'hidden' set and the current file is
+ the only argument and was modified gives an error message.
+ + 6.1.188: Unused variable in the small version.
+ + 6.1.189: inputdialog() doesn't work when 'c' is in 'guioptions'.
+ + 6.1.190: VMS: doesn't build with GTK GUI. Various other problems.
+ + 6.1.191: When using "vim -s script" and redirecting the output,
+ the delay for the "Output is not to a terminal" warning slows Vim
+ down too much.
+ + 6.1.192: ":diffsplit" doesn't add "hor" to 'scrollopt'.
+ + 6.1.193: Crash in in_id_list() for an item with a "containedin" list.
+ + 6.1.194: When "t_ti" is set but it doesn't cause swapping terminal
+ pages, "ZZ" may cause the shell prompt to appear on top of the
+ file-write message.
+ + 6.1.195: The quickfix and preview windows always keep their height,
+ while other windows can't fix their height.
+ + 6.1.196: On Mac OS X 10.2 generating osdef.h fails.
+ + 6.1.197: ":help <C-V><C-\><C-V><C-N>" (resulting in <1c><0e>)
+ gives an error message.
+ + 6.1.198: Mac OS X: Dialogues don't work.
+ + 6.1.199: 'guifontwide' doesn't work on Win32.
+ + 6.1.200: ":syn sync fromstart" is not skipped after ":if 0". This
+ can make syntax highlighting very slow.
+ + 6.1.201: Warning for illegal pointer combination.
+ + 6.1.202: Win32: filewritable() doesn't work properly on directories.
+ + 6.1.203: ":%s/~//" causes a crash after ":%s/x//".
+ + 6.1.204: Warning for an illegal pointer on Solaris.
+ + 6.1.205: The gzip plugin changes the alternate file when editing
+ a compressed file.
+ + 6.1.206: The script generated with ":mksession" doesn't work properly
+ when some commands are mapped.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Tue, 1 Oct 2002 23:20:57 +0200
+
+vim (6.1.165-1) unstable; urgency=low
+
+ * Change priority to extra
+ * Build-Depend on libperl-dev >= 5.8.0-7 in order to force perl transition
+ * Apply upstream patches:
+ + 6.1.152: When $LANG is iso8859-1 translated menus are not used.
+ + 6.1.153: Searching in included files may search recursively when
+ the path starts with "../".
+ + 6.1.154: DJGPP: "vim -h" leaves the cursor in a wrong position.
+ + 6.1.155: Win32: Cursor may sometimes disappear in Insert mode.
+ + 6.1.156: Conversion between DBCS and UCS-2 isn't implemented cleanly.
+ + 6.1.157: 'hlsearch' highlights only the second comma in ",,,,,"
+ with "/,\@<=[^,]*".
+ + 6.1.158: "zs" and "ze" don't work correctly with ":set nowrap
+ siso=1".
+ + 6.1.159: When expanding an abbreviation that includes a multi-byte
+ character too many characters are deleted.
+ + 6.1.160: ":$read file.gz" doesn't work.
+ + 6.1.161: Warning for signed/unsigned compare. Can set 'siso' to a
+ negative value.
+ + 6.1.162: Python interface: Didn't initialize threads properly.
+ + 6.1.163: Win32: Can't compile with Python after 6.1.162.
+ + 6.1.164: If 'modifiable' is off, converting to xxd fails and
+ 'filetype' is changed to "xxd" anyway.
+ + 6.1.165: Making changes in several lines and then a change in one
+ of these lines that splits it in two or more lines, undo information
+ was corrupted. May cause a crash.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Tue, 27 Aug 2002 17:10:44 +0000
+
+vim (6.1.152-1) unstable; urgency=low
+
+ * Apply upstream patches:
+ + 6.1.049: On a 32 bit display a valid color may cause an error
+ message, because its pixel value is negative.
+ + 6.1.050: After patch 6.1.049 the non-GUI version doesn't compile.
+ + 6.1.051: Doesn't compile with GUI and small features.
+ + 6.1.052: Unix: The executable() function doesn't work when the
+ "which" command isn't available.
+ + 6.1.053: When 'sessionoptions' contains "globals", or "localoptions"
+ and an option value contains a line break, the resulting script
+ is wrong.
+ + 6.1.054: GUI: A mouse click is not recognized at the more prompt,
+ even when 'mouse' includes 'r'.
+ + 6.1.055: When editing a compressed file, Vim will inspect the
+ contents to guess the filetype.
+ + 6.1.056: Loading the Syntax menu can take quite a bit of time.
+ + 6.1.057: An ESC inside a mapping doesn't work as documented when
+ 'insertmode' is set, it does go from Visual or Normal mode to
+ Insert mode.
+ + 6.1.058: When there is a closed fold just above the first line in
+ the window, using CTRL-X CTRL-Y in Insert mode will show only one
+ line of the fold.
+ + 6.1.059: ":redir > ~/file" doesn't work.
+ + 6.1.060: When 'virtualedit' is set and 'selection' is "exclusive",
+ deleting a character just before a tab changes the tab into
+ spaces. Undo doesn't restore the tab.
+ + 6.1.061: When 'virtualedit' is set and 'selection' is "exclusive",
+ a Visual selection that ends just after a tab doesn't include that
+ tab in the highlighting.
+ + 6.1.062: The "man" filetype plugin doesn't work properly on
+ Solaris 5.
+ + 6.1.063: Java indenting doesn't work properly.
+ + 6.1.064: The URLs that the netrw plugin recognized for ftp and rcp
+ did not conform to the standard method://[user@]host[:port]/path.
+ + 6.1.065: VMS: The colorscheme, keymap and compiler menus are not
+ filled in.
+ + 6.1.066: When calling system() in a plugin reading stdin hangs.
+ + 6.1.067: ":set viminfo+=f0" is not working.
+ + 6.1.068: When a file is reloaded after it was changed outside of Vim,
+ diff mode isn't updated.
+ + 6.1.069: When 'showmatch' is set and "$" is in 'cpoptions', using
+ "C}<Esc>" may forget to remove the "$".
+ + 6.1.070: Compiler warning for signed/unsigned mismatch.
+ + 6.1.071: When 'selection' is exclusive, g CTRL-G in Visual mode
+ counts one character too much.
+ + 6.1.072: When a file name in a tags file starts with http://
+ or something else for which there is a BufReadCmd autocommand,
+ the file isn't opened anyway.
+ + 6.1.073: BC5: Can't easily specify a tiny, small, normal, big or
+ huge version.
+ + 6.1.074: When 'cdpath' includes "../..", changing to a directory
+ in which we currently already are doesn't work. ff_check_visited()
+ adds the directory both when using it as the root for searching
+ and for the actual matches.
+ + 6.1.075: Can't compile fileio.c on MS-Windows.
+ + 6.1.076: Macintosh: explorer plugin doesn't work on Mac Classic. IME
+ doesn't work. Dialog boxes don't work on Mac OS X
+ + 6.1.077: On a Debian system wht ACL linking fails.
+ + 6.1.078: When using 'foldmethod' "marker" and the end marker appears
+ before the start marker in the file, no fold is found.
+ + 6.1.079: When using "s" in Visual block mode with 'virtualedit'
+ set, when the selected block is after the end of some lines the
+ wrong text is inserted and some lines are skipped.
+ + 6.1.080: When using gcc with /usr/local already in the search path,
+ adding it again causes problems.
+ + 6.1.081: ":help CTRL-\_CTRL-N" doesn't work.
+ + 6.1.082: On MS-Windows the vimrc_example.vim script is sourced
+ and then mswin.vim. This enables using select mode, but since "p"
+ is mapped it doesn't replace the selection.
+ + 6.1.083: When $LANG is "sk" or "sk_sk", the Slovak menu file
+ isn't found.
+ + 6.1.084: "include" and "lib" are mixed up when checking the
+ directories gcc already searches.
+ + 6.1.085: When using CTRL-O CTRL-\ CTRL-N from Insert mode, the
+ displayed mode "
+ + 6.1.086: The guifg color for CursorIM doesn't take effect.
+ + 6.1.087: A thesaurus with Japanese characters has problems with
+ characters in different word classes.
+ + 6.1.088: Win32: no debugging info is generated. Tags file excludes
+ .cpp files.
+ + 6.1.089: On BSDI systems there is no ss_sp field in stack_t.
+ + 6.1.090: CTRL-F gets stuck when 'scrolloff' is non-zero and there
+ is a mix of long wrapping lines and a non-wrapping line.
+ + 6.1.091: GTK: Can't change preeditstate without setting
+ 'imactivatekey'.
+ + 6.1.092: ":mapclear <buffer>" doesn't work.
+ + 6.1.093: Mac and MS-Windows GUI: when scrolling while ":s" is
+ working the results can be messed up, because the cursor is moved.
+ + 6.1.094: Cygwin: Passing a file name that has backslashes isn't
+ handled very well.
+ + 6.1.095: When using signs can free an item on the stack. Overruling
+ sign colors doesn't work.
+ + 6.1.096: When erasing the right halve of a double-byte character,
+ it may cause further characters to be erased.
+ + 6.1.097: When 'scrolloff' is set to a huge value, CTRL-F at the
+ end of the file scrolls one line.
+ + 6.1.098: MS-Windows: When the xxd program is under "c:\program files"
+ the "Convert to Hex" menu doesn't work.
+ + 6.1.099: Memory corrupted when closing a fold with more than
+ 99999 lines.
+ + 6.1.100: Win32: VC5 and earlier don't support the /mapinfo option.
+ + 6.1.101: After using ":options" the tabstop of a new window is
+ 15. Entry in ":options" window for 'autowriteall' is wrong. (Antoine
+ J Mechelynck) Can't insert a space in an option value.
+ + 6.1.102: Unprintable and multi-byte characters in a statusline item
+ are not truncated correctly.
+ + 6.1.103: A function returning from a while loop, with 'verbose'
+ set to 12 or higher, doesn't mention the return value. A function
+ with the 'abort' attribute may return -1 while the verbose message
+ says something else.
+ + 6.1.104: GCC 3.1 appears to have an optimizer problem that makes
+ test 3 crash.
+ + 6.1.105: Win32: The default for 'shellpipe' doesn't redirect
+ stderr. (Dion Nicolaas)
+ + 6.1.106: The maze program crashes.
+ + 6.1.107: When 'list' is set the current line in the error window
+ may be displayed wrong.
+ + 6.1.108: When interrupting a filter command such as "!!sleep 20"
+ the file becomes read-only.
+ + 6.1.109: When 'eadirection' is "hor", using CTRL-W = doesn't equalize
+ the window heights.
+ + 6.1.110: When using ":badd file" when "file" is already present
+ but not listed, it stays unlisted.
+ + 6.1.111: It's not possible to detect using the Unix sources on
+ Win32 or Mac.
+ + 6.1.112: When using ":argdo", ":bufdo" or ":windo", CTRL-O doesn't
+ go to the cursor position from before this command but every position
+ where the argument was executed.
+ + 6.1.113: ":bufdo bwipe" only wipes out half the buffers.
+ + 6.1.114: ":python import vim", ":python vim.current.buffer[0:0] =
+ []" gives a lalloc
+ + 6.1.115: "das" on the white space at the end of a paragraph does
+ not delete the "." the sentence ends with.
+ + 6.1.116: When 'endofline' is changed while 'binary' is set a file
+ should be considered modified.
+ + 6.1.117: Small problem with editing a file over ftp: and with Cygwin.
+ + 6.1.118: When a file in diff mode is reloaded because it changed
+ outside of Vim, other windows in diff mode are not always updated.
+ + 6.1.119: With the Sniff interface, using Sniff 4.0.X on HP-UX,
+ there may be a crash when connecting to Sniff.
+ + 6.1.120: When 'scrolloff' is non-zero and there are folds, CTRL-F
+ at the end of the file scrolls part of a closed fold.
+ + 6.1.121: When starting Select mode from Insert mode, then using
+ the Paste menu entry, the cursor is left before the laste pasted
+ character.
+ + 6.1.122: ":file name" creates a new buffer to hold the old buffer
+ name, which becomes the alternate file. This buffer is unexpectedly
+ listed.
+ + 6.1.123: A ":match" command with more than one argument doesn't
+ report an error.
+ + 6.1.124: When trying to exit and there is a hidden buffer that had
+ 'eol' off and 'bin' set exiting isn't possible.
+ + 6.1.125: Explorer plugin asks for saving a modified buffer even
+ when it's open in another window as well.
+ + 6.1.126: Adding the choices in the syntax menu is consuming much
+ of the startup time of the GUI while it's not often used.
+ + 6.1.127: When using "--remote file" and the server has 'insertmode'
+ set, commands are inserted instead of being executed.
+ + 6.1.128: The expression "input('very long prompt')" puts the cursor
+ in the wrong line (column is OK).
+ + 6.1.129: On Solaris editing "file/" and then "file" results in
+ using the same buffer.
+ + 6.1.130: The documentation for some of the 'errorformat' items
+ is unclear.
+ + 6.1.131: X11 GUI: when expanding a CSI byte in the input stream to
+ K_CSI, the CSI byte itself isn't copied.
+ + 6.1.132: Executing a register in Ex mode may cause commands to
+ be skipped.
+ + 6.1.133: When drawing double-wide characters in the statusline,
+ may clear half of a character.
+ + 6.1.134: An error for a trailing argument of ":match" should not
+ be given after ":if 0".
+ + 6.1.135: Passing a command to the shell that includes a newline
+ always has a backslash before the newline.
+ + 6.1.136: When $TERM is "linux" the default for 'background' is
+ "dark", even though the GUI uses a light background.
+ + 6.1.137: Converting to HTML has a clumsy way of dealing with tabs
+ which may change the highlighting.
+ + 6.1.138: Adding extra items to the Syntax menu can't be done when
+ the "Show individual choices" menu is used.
+ + 6.1.139: Cygwin: PATH_MAX is not defined.
+ + 6.1.140: Cygwin: ":args `ls *.c`" does not work if the shell command
+ produces CR NL line separators.
+ + 6.1.141: ":wincmd gx" may cause problems when mixed with other
+ commands. ":wincmd c" doesn't close the window immediately.
+ + 6.1.142: Defining paragraphs without a separating blank line isn't
+ possible. Paragraphs can't be formatted automatically.
+ + 6.1.143: Auto formatting near the end of the file moves the cursor
+ to a wrong position. In Insert mode some lines are made one char
+ too narrow. When deleting a line undo might not always work properly.
+ + 6.1.144: Obtaining the size of a line in screen characters can be
+ wrong. A pointer may wrap around zero.
+ + 6.1.145: GTK: Drag&drop with more than 3 files may cause a
+ crash. (Mickael Marchand)
+ + 6.1.146: MS-Windows: When $HOME is constructed from $HOMEDRIVE and
+ $HOMEPATH, it is not used for storing the _viminfo file. (Normal
+ Diamond)
+ + 6.1.147: MS-Windows: When a dialog has no default button, pressing
+ Enter ends it anyway and all buttons are selected.
+ + 6.1.148: MS-Windows: ACL is not properly supported.
+ + 6.1.149: MS-Windows: Can't use diff mode from the file explorer.
+ + 6.1.150: OS/2, MS-Windows and MS-DOS: When 'shellslash' is set
+ getcwd() still uses backslash.
+ + 6.1.151: Win32: The NTFS substream isn't copied.
+ + 6.1.152: When $LANG is iso8859-1 translated menus are not used.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Tue, 13 Aug 2002 10:54:13 +0200
+
+vim (6.1.048-1) unstable; urgency=low
+
+ * Bump Standards-Version. Closes: Bug#145062
+ * Sync cscope support and dependencies. Closes: Bug#143205
+ * Apply upstream patches:
+ + 6.1.019: Win32: File name is messed up when editing just a drive
+ name.
+ + 6.1.020: col("'>") returns a huge number after using Visual line
+ mode.
+ + 6.1.021: Vim crashes when using a huge number for the minwid value
+ in a statusline.
+ + 6.1.022: Grabbing the status line above the command-line window
+ works like the bottom status line was grabbed.
+ + 6.1.023: VMS: running tests doesn't work properly.
+ + 6.1.024: When header files use a new syntax for declaring functions,
+ Vim can't figure out missing prototypes properly.
+ + 6.1.025: Five messages for "vim --help" don't start with a
+ capital.
+ + 6.1.026: *.patch files are not recognized as diff files. In a script
+ a "VAR=val" argument after "env" isn't ignored. PHP scripts are
+ not recognized.
+ + 6.1.027: When 'foldcolumn' is non-zero, a special character
+ that wraps to the next line disturbs the foldcolumn
+ highlighting.
+ + 6.1.028: Client-server: When a --remote-expr fails, Vim still exits
+ with status zero.
+ + 6.1.029: When 'encoding' is an 8-bit encoding other than "latin1",
+ editing a utf-8 or other Unicode file uses the wrong conversion. (Jan
+ Fedak)
+ + 6.1.030: When CTRL-N is mapped in Insert mode, it is also mapped
+ after CTRL-X CTRL-N, while it is not mapped after CTRL-X CTRL-F.
+ + 6.1.031: Cygwin: Xxd could read a file in text mode intead of
+ binary mode.
+ + 6.1.032: Can't specify a quickfix file without jumping to the
+ first error.
+ + 6.1.033: GUI: When the selection is lost and the Visual highlighting
+ is changed to underlining, the cursor is left in a different
+ position.
+ + 6.1.034: A CVS diff file isn't recognized as diff filetype.
+ + 6.1.035: Win32: Outputting Hebrew or Arabic text might have a
+ problem with reversing on MS-Windows 95/98/ME.
+ + 6.1.036: This command may cause a crash: ":v/./,//-j".
+ + 6.1.037: When 'lazyredraw' is set, pressing "q" at the hit-enter
+ prompt causes an incomplete redraw and the cursor isn't positioned.
+ + 6.1.038: Multi-byte: When a ":s" command contains a multi-byte
+ character where the trail byte is '~' the text is messed up.
+ + 6.1.039: When folds are defined and the file is changed outside
+ of Vim, reloading the file doesn't update the folds. (Anders
+ Schack-Nielsen)
+ + 6.1.040: When changing directory for expanding a file name fails
+ there is no error message.
+ + 6.1.041: ":mkvimrc" doesn't handle a mapping that has a leading
+ space in the rhs.
+ + 6.1.042: "vim -r" doesn't show all matches when 'wildignore'
+ removes swap files.
+ + 6.1.043: After patch 6.1.040 a few warnings are produced.
+ + 6.1.044: GUI: When using the find/replace dialog with text that
+ contains a slash, an invalid substitute command is generated. On
+ Win32 a find doesn't work when 'insertmode' is set.
+ + 6.1.045: In Visual mode, with lots of folds and 'scrolloff' set
+ to 999, moving the cursor down near the end of the file causes the
+ text to jump up and down.
+ + 6.1.046: X11 GUI: ":set lsp=2 gcr=n-v-i:hor1-blinkon0" draws a
+ black rectangle. ":set lsp=2 gcr=n-v-i:hor10-blinkon0" makes the
+ cursor disappear.
+ + 6.1.047: When skipping commands after an error was encountered,
+ expressions for ":if", ";elseif" and ":while" are still evaluated.
+ + 6.1.048: Unicode 3.2 changes were missing a few Hangul Jamo
+ characters.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sat, 4 May 2002 17:57:01 +0200
+
+vim (6.1.018-1) unstable; urgency=low
+
+ * Apply upstream patches:
+ + 6.1.012: A system() call might fail if fread() does CR-LF to LF
+ translation.
+ + 6.1.013: Win32: The default for 'printexpr' doesn't work when there
+ are special characters in 'printdevice'.
+ + 6.1.014: An operator like "r" used in Visual block mode doesn't use
+ 'virtualedit' when it's set to "block".
+ + 6.1.015: After patch 6.1.014 can't compile with tiny
+ features.
+ + 6.1.016: Win32: Outputting Hebrew or Arabic text might have a
+ problem with reversing.
+ + 6.1.017: Cygwin: After patch 6.1.012 Still doesn't do binary
+ file I/O.
+ + 6.1.018: Error message when using cterm highlighting. Closes: Bug#142663
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sun, 14 Apr 2002 20:38:53 +0200
+
+vim (6.1.011-1) unstable; urgency=low
+
+ * Enable langmap and keymap in all builds. Closes: Bug#141127
+ * Apply upstream patches:
+ + 6.1.001: When formatting UTF-8 text it might be wrapped at a space
+ that is followed by a composing character. Also correct a display
+ error for removing a composing char on top of a space.
+ + 6.1.002: Win32: after a ":popup" command the mouse pointer stays
+ hidden.
+ + 6.1.003: When 'laststatus' is zero and there is a vertical split, the
+ vertical separator is drawn in the command line.
+ + 6.1.004: Unicode 3.2 changes width and composing of a few characters.
+ + 6.1.005: When using more than 50 items in 'statusline' Vim might
+ crash.
+ + 6.1.006: When using "P" in Visual mode to put linewise selected text,
+ the wrong text is deleted.
+ + 6.1.007: Using ":filetype plugin off" when filetype plugins were
+ never enabled causes an error message.
+ + 6.1.008: The "%" command doesn't ignore \" inside a string, it's
+ seen as the end of the string.
+ + 6.1.009: Vim crashes when using a huge number for the maxwid value
+ in a statusline.
+ + 6.1.010: Searching backwards for a question mark with "?\?" doesn't
+ work. Same problem in ":s?\??" and ":g?\??".
+ + 6.1.011: XIM: doesn't work correctly when 'number' is set. Also,
+ a focus problem when selecting candidates.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Thu, 4 Apr 2002 14:49:27 +0200
+
+vim (6.1.000-2) unstable; urgency=low
+
+ * Fix version number
+ * Update copyright the uganda.txt version. Closes: Bug#139780
+
+ -- Wichert Akkerman <wakkerma@debian.org> Mon, 25 Mar 2002 13:42:03 +0100
+
+vim (6.1.-1) unstable; urgency=low
+
+ * Small fixes to default vimrc
+ * New upstream version.
+ + includes 6.1b.033: When using a count after a ":s" command may get
+ ml_get errors. Closes: Bug#139403
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sun, 24 Mar 2002 18:24:35 +0100
+
+vim (6.0.270-1) unstable; urgency=low
+
+ * Switch to copyright from vim 6.1BETA which is fully GPL compatible
+ * More upstream patches:
+ + 6.0.227: The RISC OS port has several problems.
+ + 6.0.228: After putting text in Visual mode the '] mark is not at
+ the end of the put text. Undo doesn't work properly when putting
+ a word into a Visual selection that spans more than one line.
+ + 6.0.229: Multi-byte: With 'm' in 'formatoptions', formatting
+ doesn't break at a multi-byte char followed by an ASCII char,
+ and the other way around. When joining lines a space is inserted
+ between multi-byte characters, which is not always wanted.
+ + 6.0.230: The ":" used as a motion after an operator is exclusive,
+ but sometimes it should be inclusive.
+ + 6.0.231: "gd" and "gD" don't work when the variable matches in a
+ comment just above the match to be found.
+ + 6.0.232: "vim --version" prints on stderr while "vim --help" prints
+ on stdout.
+ + 6.0.233: "\1\{,8}" in a regexp is not allowed, but it should work,
+ because there is an upper limit.
+ + 6.0.234: It's not easy to set the cursor position without modifying
+ marks.
+ + 6.0.235: When writing a file and renaming the original file to make
+ the backup, permissions could change when setting the owner.
+ + 6.0.236: ":edit" without argument should move cursor to line 1 in
+ Vi compatible mode.
+ + 6.0.237: In a C file, using the filetype plugin, re-indenting a
+ comment with two spaces after the middle "*" doesn't align properly.
+ + 6.0.238: Using a ":subsitute" command with a substitute() call in
+ the substitution expression causes errors.
+ + 6.0.239: Using "A" to append after a Visually selected block which
+ is after the end of the line, spaces are inserted in the wrong line
+ and other unexpected effects.
+ + 6.0.240: Win32: building with Python 2.2 doesn't work.
+ + 6.0.241: Win32: Expanding the old value of an option that is a path
+ that starts with a backslash, an extra backslash is inserted.
+ + 6.0.242: GUI: On a system with an Exceed X server sometimes get a
+ "Bad Window" error.
+ + 6.0.243: Unix: "vim --version" outputs a NL before the last line
+ instead of after it.
+ + 6.0.244: Multi-byte: Problems with (illegal) UTF-8 characters in
+ menu and file name (e.g., icon text, status line).
+ + 6.0.245: After using a color scheme, setting the 'background'
+ option might not work.
+ + 6.0.246: ":echomsg" didn't use the highlighting set by
+ ":echohl". (Gary Holloway)
+ + 6.0.247: GTK GUI: Can't use gvim in a kpart widget.
+ + 6.0.248: When using compressed help files and 'encoding' isn't
+ "latin1", Vim converts the help file before decompressing.
+ + 6.0.249: "vim -t edit -c 'sta ex_help'" doesn't move cursor to
+ edit().
+ + 6.0.250: Macintosh: Various problems when compiling.
+ + 6.0.251: Macintosh: menu shortcuts are not very clear.
+ + 6.0.252: When a user function was defined with "abort", an error that
+ is not inside if/endif or while/endwhile doesn't abort the function.
+ + 6.0.253: When 'insertmode' is set, after "<C-O>:edit file" the next
+ <C-O> doesn't work. (Benji Fisher) <C-L> has the same problem.
+ + 6.0.254: Borland C++ 5.5: Checking for stack overflow doesn't work
+ correctly. Matters when using a complicated regexp.
+ + 6.0.255: Win32: ACL support doesn't work well on Samba drives.
+ + 6.0.256: Win32: ":highlight Comment guifg=asdf" does not give an
+ error message. (Randall W. Morris) Also for other systems.
+ + 6.0.257: Win32: When 'mousefocus' is set and there is a BufRead
+ autocommand, after the dialog for permissions changed outside of Vim:
+ 'mousefocus' stops working.
+ + 6.0.258: When 'scrolloff' is 999 and there are folds, the text
+ can jump up and down when moving the cursor down near the end of
+ the file.
+ + 6.0.259: MS-DOS: after editing the command line the cursor shape
+ may remain like in Insert mode.
+ + 6.0.260: GUI: May crash while starting up when giving an error
+ message for missing color.
+ + 6.0.261: nr2char() and char2nr() don't work with multi-byte
+ characters.
+ + 6.0.262: Win32: IME doesn't work properly. OnImeComposition()
+ isn't used at all.
+ + 6.0.263: GTK: When a dialog is closed by the window manager,
+ Vim hangs.
+ + 6.0.264: The amount of virtual memory is used to initialize
+ 'maxmemtot', which may be much more than the amount of physical
+ memory, resulting in a lot of swapping.
+ + 6.0.265: Win32: Using backspace while 'fkmap' is set causes a crash.
+ + 6.0.266: The rename() function deletes the file if the old and the
+ new name are the same.
+ + 6.0.267: UTF-8: Although 'isprint' says a character is printable,
+ utf_char2cells() still considers it unprintable.
+ + 6.0.268: Win32: ACL check crashes when using forward slash in
+ file name.
+ + 6.0.269: Unprintable characters in a file name may cause problems
+ when using the 'statusline' option or when 'buftype' is "nofile".
+ + 6.0.270: A tab causes UTF-8 text to be displayed in the wrong
+ position.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sun, 24 Feb 2002 23:16:17 +0100
+
+vim (6.0.226-1) unstable; urgency=medium
+
+ * Don't abort if update-alternatives reports an error
+ * More upstream patches:
+ + 6.0.223: When splitting a window that contains the explorer, hitting CR
+ on a file name gives error messages.
+ + 6.0.224: When 'sidescroll' and 'sidescrolloff' are set in a narrow
+ window the text may jump left-right and the cursor is displayed in the
+ wrong position.
+ + 6.0.225: In Visual mode "gk" gets stuck in a closed fold. /
+ + 6.0.226: When doing ":recover file" get the ATTENTION prompt. After
+ recovering the same file five times get a read error or a crash.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sun, 17 Feb 2002 15:08:03 +0100
+
+vim (6.0.222-1) unstable; urgency=low
+
+ * Do not Build-Depend on libgpmg1-dev for hurd-i386. Closes: Bug#117313
+ * chown a file before we chmod it so we don't lose s[ug]id bits
+ * Set compiled-by flag in configure
+ * More upstream patches:
+ + 6.0.202: The "icon=" argument for the menu command to define a toolbar
+ icon with a file didn't work for GTK. For Motif and Athena a full path
+ was required.
+ + 6.0.203: Can change 'fileformat' even though 'modifiable is off.
+ + 6.0.204: ":unlet" doesn't work for variables with curly braces.
+ + 6.0.205: "gvim -f" still forks when using the batch script to start Vim.
+ + 6.0.206: Unix: if expanding a wildcard in a file name results in a
+ wildcard character and there are more parts in the path with a wildcard,
+ it is expanded again. Windows: ":edit \[abc]" could never edit the file
+ "[abc]".
+ + 6.0.207: Win32: The shortcuts and start menu entries let Vim startup in
+ the desktop directory, which is not very useful.
+ + 6.0.208: GUI: When using a keymap and the cursor is not blinking, CTRL-^
+ in Insert mode doesn't directly change the cursor color.
+ + 6.0.209: GUI GTK: After selecting a 'guifont' with the font dialog there
+ are redraw problems for multi-byte characters.
+ + 6.0.210: After patch 6.0.167 it's no longer possible to edit a help file
+ in another encoding than latin1.
+ + 6.0.211: When reading a file fails, the buffer is empty, but it might
+ still be possible to write it with ":w" later. The original file is lost
+ then.
+ + 6.0.212: GUI GTK: confirm("foo", "") causes a crash.
+ + 6.0.213: When a file name contains unprintable characters, CTRL-G and
+ other commands don't work well.
+ + 6.0.214: When there is a buffer without a name, empty entries appear in
+ the jumplist saved in the viminfo file.
+ + 6.0.215: After using "/" from Visual mode the Paste menu and Toolbar
+ entries don't work. Pasting with the middle mouse doesn't work and
+ modeless selection doesn't work.
+ + 6.0.216: After reloading a file, displayed in another window than the
+ current one, which was changed outside of Vim the part of the file around
+ the cursor set by autocommands may be displayed, but jumping back to the
+ original cursor position when entering the window again.
+ + 6.0.217: When getting help from a help file that was used before, an
+ empty unlisted buffer remains in the buffer list.
+ + 6.0.218: With explorer plugin: "vim -o filename dirname" doesn't load the
+ explorer window until entering the window.
+ + 6.0.219: ":setlocal" and ":setglobal", without arguments, display
+ terminal options.
+ + 6.0.220: After patch 6.0.218 get a beep on startup.
+ + 6.0.221: When using ":bdel" and all other buffers are unloaded the lowest
+ numbered buffer is jumped to instead of the most recent one.
+ + 6.0.222: When 'virtualedit' is set and using autoindent, pressing Esc
+ after starting a new line leaves behind part of the autoindent.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sat, 16 Feb 2002 00:15:24 +0100
+
+vim (6.0.201-1) unstable; urgency=low
+
+ * More upstream patches:
+ + 6.0.157: When defining a user command with "-complete=dir" files will
+ also be expanded. Also, "-complete=mapping" doesn't appear to work.
+ + 6.0.158: When getting the warning for a file being changed outside of Vim
+ and reloading the file, the 'readonly' option is reset, even when the
+ permissions didn't change.
+ + 6.0.159: Wildcard expansion for ":emenu" also shows separators.
+ + 6.0.160: When compiling with GCC 3.0.2 and using the "-O2" argument, the
+ optimizer causes a problem that makes Vim crash.
+ + 6.0.161: Win32: Bitmaps don't work with signs.
+ + 6.0.162: Client-server: An error message for a wrong expression appears
+ in the server instead of the cient.
+ + 6.0.163: When using a GUI dialog, a file name is sometimes used like it
+ was a directory.
+ + 6.0.164: After patch 6.0.135 the menu entries for pasting don't work in
+ Insert and Visual mode.
+ + 6.0.165: Using --remote and executing locally gives unavoidable error
+ messages.
+ + 6.0.166: GUI: There is no way to avoid dialogs to pop up.
+ + 6.0.167: When 'fileencodings' is "latin2" some characters in the help
+ files are displayed wrong.
+ + 6.0.168: ":%s/\n/#/" doesn't replace at an empty line.
+ + 6.0.169: When run as evim and the GUI can't be started we get stuck in a
+ terminal without menus in Insert mode.
+ + 6.0.170: When printing double-width characters the size of tabs after
+ them is wrong.
+ + 6.0.171: With 'keymodel' including "startsel", in Insert mode after the
+ end of a line, shift-Left does not move the cursor.
+ + 6.0.172: CTRL-Q doesn't replace CTRL-V after CTRL-X in Insert mode while
+ it does in most other situations.
+ + 6.0.173: When using "P" to insert a line break the cursor remains past
+ the end of the line.
+ + 6.0.174: After using "gd" or "gD" the search direction for "n" may still
+ be backwards.
+ + 6.0.175: ":help /\z(\)" doesn't work
+ + 6.0.176: When killed by a signal autocommands are still triggered as if
+ nothing happened.
+ + 6.0.177: When 'commentstring' is empty and 'foldmethod' is "marker", "zf"
+ doesn't work.
+ + 6.0.178: Uninitialized memory read from xp_backslash field.
+ + 6.0.179: Win32: When displaying UTF-8 characters may read uninitialized
+ memory.
+ + 6.0.180: Expanding environment variables in a string that ends in a
+ backslash could go past the end of the string.
+ + 6.0.181: When using ":cd dir" memory was leaked.
+ + 6.0.182: When using a regexp on multi-byte characters, could try to read
+ a character before the start of the line.
+ + 6.0.183: Leaking memory when ":func!" redefines a function.
+ + 6.0.184: Leaking memory when expanding option values.
+ + 6.0.185: Crash in Vim when pasting a selection in another application, on
+ a 64 bit machine.
+ + 6.0.186: X11: Three warnings when compiling the client-server code.
+ + 6.0.187: "I" in Visual mode and then "u" reports too many changes. "I" in
+ Visual linewise mode adjusts the indent for no apparent reason.
+ + 6.0.188: After patch 6.0.161 signs defined in the vimrc file don't work.
+ + 6.0.189: The size of the Visual area isn't always displayed when
+ scrolling ('ruler' off, 'showcmd' on). Also not when using a search
+ command.
+ + 6.0.190: GUI: when 'mouse' is empty a click with the middle button still
+ moves the cursor.
+ + 6.0.191: When no servers are available serverlist() gives an error
+ instead of returning an empty string.
+ + 6.0.192: When 'virtualedit' is set, "ylj" goes to the wrong column.
+ + 6.0.193: When 'virtualedit' is set, col(".") after the end of the line
+ should return one extra.
+ + 6.0.194: "--remote-silent" tries to send a reply to the client, like it
+ was "--remote-wait".
+ + 6.0.195: When 'virtualedit' is set and a search starts in virtual space
+ ":call search
+ + 6.0.196: When 'virtualedit' is set, 'selection' is "exclusive" and
+ visually selecting part of a tab at the start of a line, "x" joins it
+ with the previous line. Also, when the selection spans more than one line
+ the whole tab is deleted.
+ + 6.0.197: When 'virtualedit' is set and 'selection' is "exclusive", "v$x"
+ doesn't delete the last character in the line.
+ + 6.0.198: When 'virtualedit' is set and 'showbreak' is not empty, moving
+ the cursor over the line break doesn't work properly.
+ + 6.0.199: Multi-byte: could use iconv() after calling iconv_end().
+ + 6.0.200: A script that starts with "#!perl" isn't recognized as a Perl
+ filetype.
+ + 6.0.201: When scrollbinding and doing a long jump, switching windows
+ jumps to another position in the file. Scrolling a few lines at a time
+ is OK.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Thu, 7 Feb 2002 22:14:09 +0100
+
+vim (6.0.156-1) unstable; urgency=low
+
+ * Fix typo in comment in vimrc. Closes: Bug#129815
+ * More upstream patches:
+ + 6.0.119: VMS: filewritable() doesn't work properly.
+ + 6.0.120: The conversion to html isn't compatible with XHTML.
+ + 6.0.121: Win32: After patch 6.0.116 Vim doesn't compile with mingw32.
+ + 6.0.122: Win16: Same resize problems as patch 6.0.117 fixed for
+ Win32. And dialog textfield problem from patch 6.0.115.
+ + 6.0.123: Win16: Compilation problems.
+ + 6.0.124: When using a ":substitute" command that starts with "\="
+ (evaluated as an expression), "~" was still replaced with the
+ previous substitute string.
+ + 6.0.125: Win32: When using the multi_byte_ime feature pressing the
+ shift key would be handled as if a character was entered, thus
+ mappings with a shifted key didn't work.
+ + 6.0.126: The python library was always statically linked.
+ + 6.0.127: When using a terminal that swaps screens and the Normal
+ background color has a different background, using an external
+ command may cause the color of the wrong screen to be changed.
+ + 6.0.128: When moving a vertically split window to the far left or
+ right, the scrollbars are not adjusted. (Scott E Lee) When
+ 'mousefocus' is set the mouse pointer wasn't adjusted.
+ + 6.0.129: When using a very long file name, ":ls" (repeated a few
+ times) causes a crash. Test with "vim `perl -e 'print "A"x1000'`".
+ + 6.0.130: When using ":cprev" while the error window is open, and the
+ new line at the top wraps, the window isn't correctly drawn.
+ + 6.0.131: When using bufname() and there are two matches for listed
+ buffers and one match for an unlisted buffer, the unlisted buffer is
+ used.
+ + 6.0.132: When setting 'iminsert' in the vimrc and using an xterm with
+ two screens the ruler is drawn in the wrong screen.
+ + 6.0.133: When opening another buffer while 'keymap' is set and
+ 'iminsert' is zero, 'iminsert' is set to one unexpectedly.
+ + 6.0.134: When completing ":set tags=" a path with an embedded space
+ causes the completion to stop.
+ + 6.0.135: Menus that are not supposed to do anything used "<Nul>",
+ which still produced an error beep. When CTRL-O is mapped for Insert
+ mode, ":amenu" commands didn't work in Insert mode. Menu language
+ falls back to English when $LANG ends in "@euro".
+ + 6.0.136: When completing in Insert mode, a mapping could be
+ unexpectedly applied.
+ + 6.0.137: GUI: When using the find or find/replace dialog from Insert
+ mode, the input mode is stopped.
+ + 6.0.138: GUI: When using the find or find/replace dialog from Insert
+ mode, the text is inserted when CTRL-O is mapped. When opening the
+ dialog again, a whole word search isn't recognized. When doing
+ "replace all" a whole word search was never done.
+ + 6.0.139: When stopping 'wildmenu' completion, the statusline of the
+ bottom-left vertically split window isn't redrawn.
+ + 6.0.140: Memory allocated for local mappings and abbreviations is
+ leaked when the buffer is wiped out.
+ + 6.0.141: When using ":enew" in an empty buffer, some buffer-local
+ things are not cleared. b:keymap_name is not set.
+ + 6.0.142: When Python is linked statically, loading dynamic extensions
+ might fail.
+ + 6.0.143: When a syntax item includes a line break in a pattern, the
+ syntax may not be updated properly when making a change.
+ + 6.0.144: After patch 6.0.088 redoing "veU" doesn't work.
+ + 6.0.145: When Vim can't read any input it might get stuck. When
+ redirecting stdin and stderr Vim would not read commands from a file.
+ + 6.0.146: When 'statusline' contains "%{'-'}" this results in a zero.
+ + 6.0.147: It's not easy to mark a Vim version as being modified. The
+ new license requires this.
+ + 6.0.148: After "p" in an empty line, `[ goes to the second character.
+ + 6.0.149: The pattern "\(.\{-}\)*" causes a hang. When using a search
+ pattern that causes a stack overflow to be detected Vim could still
+ hang.
+ + 6.0.150: When using a multi-byte encoding, patch 6.0.148 causes "p"
+ to work like "P".
+ + 6.0.151: Redrawing the status line and ruler can be wrong when it
+ contains multi-byte characters.
+ + 6.0.152: strtrans() could hang on an illegal UTF-8 byte sequence.
+ + 6.0.153: When using (illegal) double-byte characters and Vim syntax
+ highlighting Vim can crash.
+ + 6.0.154: MS-DOS and MS-Windows: The menu entries for xxd don't work
+ when there is no xxd in the path. When converting back from Hex the
+ filetype may remain "xxd" if it is not detected.
+ + 6.0.155: Mac: compilation problems in ui.c after patch 6.0.145.
+ + 6.0.156: Starting Vim with the -b argument and two files, ":next"
+ doesn't set 'binary' in the second file, like Vim 5.7.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Wed, 30 Jan 2002 15:26:04 +0100
+
+vim (6.0.118-1) unstable; urgency=low
+
+ * Re-bump alternative priority, change got lost in the move to vim6
+ * Update comment in vimrc about filetype indents
+ * Update autocommand for reportbug. Closes: Bug#127838
+ * More upstream patches:
+ + 6.0.094: Athena: When clicking in the horizontal scrollbar Vim crashes.
+ + 6.0.095: Perl: Deleting lines may leave the cursor beyond the
+ end of the file.
+ + 6.0.096: When ":saveas fname" fails because the file already
+ exists, the file name is changed anyway and a following ":w"
+ will overwrite the file.
+ + 6.0.097: Re-indenting in Insert mode with CTRL-F may cause a
+ crash with a multi-byte encoding.
+ + 6.0.098: GTK: When using Gnome the "Search" and "Search and
+ Replace" dialog boxes are not translated.
+ + 6.0.099: Cygwin: When running Vi compatible MS-DOS line endings
+ cause trouble.
+ + 6.0.100: ":badd +0 test%file" causes a crash.
+ + 6.0.101: ":mksession" doesn't restore editing a file that has a
+ '#' or '%' in its name.
+ + 6.0.102: When changing folds the cursor may appear halfway a
+ closed fold.
+ + 6.0.103: When using 'scrollbind' a large value of 'scrolloff'
+ will make the scroll binding stop near the end of the file.
+ + 6.0.104: Multi-byte: When '$' is in 'cpoptions', typing a
+ double-wide character that overwrites the left halve of an old
+ double-wide character causes a redraw problem and the cursor stops
+ blinking.
+ + 6.0.105: Multi-byte: In a window of one column wide, with syntax
+ highlighting enabled a crash might happen.
+ + 6.0.106: Win32: When the printer font is wrong, there is no
+ error message.
+ + 6.0.107: VisVim: When editing another file, a modified file may
+ be written unexpectedly and without warning.
+ + 6.0.108: When using folding could try displaying line zero,
+ resulting in an error for a NULL pointer.
+ + 6.0.109: XIM: When the input method is enabled, repeating an
+ insertion with "." disables it.
+ + 6.0.110: Using undo after executing "OxjAxkdd" from a
+ register in an empty buffer gives an error message.
+ + 6.0.111: The virtcol() function doesn't take care of 'virtualedit'.
+ + 6.0.112: The explorer plugin doesn't sort directories with a
+ space or special character after a directory with a shorter name.
+ + 6.0.113: ":edit ~/fname" doesn't work if $HOME includes a space.
+ Also, expanding wildcards with the shell may fail.
+ + 6.0.114: Using ":p" with fnamemodify() didn't expand "~/" or
+ "~user/" to a full path. For Win32 the current directory was
+ prepended.
+ + 6.0.115: Win32: When using a dialog with a textfield it cannot
+ scroll the text.
+ + 6.0.116: MS-Windows NT/2000/XP: filewritable() doesn't work
+ correctly for filesystems that use ACLs.
+ + 6.0.117: Win32: when disabling the menu, "set lines=999" doesn't
+ use all the available screen space.
+ + 6.0.118: When $TMPDIR is a relative path, the temp directory is
+ missing a trailing slash and isn't deleted when Vim exits.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Mon, 7 Jan 2002 00:03:23 +0100
+
+vim (6.0.093-2) unstable; urgency=low
+
+ * Remove stray comments from default vimrc
+ * No longer enable filetype indenting by default on popular request
+
+ -- Wichert Akkerman <wakkerma@debian.org> Thu, 6 Dec 2001 14:28:24 +0100
+
+vim (6.0.093-1) unstable; urgency=low
+
+ * More upstream patches:
+ + 6.0.062: Crash when 'verbose' is > 3 and using ":shell".
+ + 6.0.063: When 'cpoptions' includes "$", using "cw" to type a ')'
+ on top of the + "$" doesn't update syntax highlighting after it.
+ + 6.0.064: The NSIS install script doesn't work with newer
+ versions of NSIS. The diff feature doesn't work when there isn't
+ a good diff.exe on the system.
+ + 6.0.065: When using ":normal" in 'indentexpr' it may use redo
+ characters before its argument.
+ + 6.0.066: Sometimes undo for one command is split into two undo actions.
+ + 6.0.067: if_xcmdsrv.c doesn't compile on systems where fd_set
+ isn't defined in the usual header file
+ + 6.0.068: When formatting a Visually selected area with "gq" and
+ the number of lines increases the last line may not be redrawn
+ correctly.
+ + 6.0.069: Using "K" on a word that includes a "!" causes a
+ "No previous command" error, because the "!" is expanded.
+ + 6.0.070: Win32: The error message for a failed dynamic
+ linking of a Perl, Ruby, Tcl and Python library is unclear
+ about what went wrong.
+ + 6.0.071: The "iris-ansi" builtin termcap isn't very good.
+ + 6.0.072: When 'lazyredraw' is set, a mapping that stops
+ Visual mode, moves the cursor and starts Visual mode again
+ causes a redraw problem.
+ + 6.0.073: DJGPP: When using CTRL-Z to start a shell, the
+ prompt is halfway the text.
+ + 6.0.074: When using "&" in a substitute string a multi-byte
+ character with a trailbyte 0x5c is not handled correctly.
+ + 6.0.075: When closing a horizontally split window while
+ 'eadirection' is "hor" another horizontally split window is
+ still resized.
+ + 6.0.076: Warning for wrong pointer type when compiling.
+ + 6.0.077: Patch 6.0.075 was incomplete.
+ + 6.0.078: Using "daw" at the end of a line on a single-character
+ word didn't include the white space before it. At the end of the
+ file it didn't work at all.
+ + 6.0.079: When "W" is in 'cpoptions' and 'backupcopy' is "no" or
+ "auto", can still overwrite a read-only file, because it's
+ renamed.
+ + 6.0.080: When using a session file that has the same file in two
+ windows, the fileinfo() call in do_ecmd() causes a scroll and a
+ hit-enter prompt.
+ + 6.0.081: After using ":saveas" the new buffer name is added to
+ the Buffers menu with a wrong number.
+ + 6.0.082: When swapping screens in an xterm and there is an
+ (error) message from the vimrc script, the shell prompt is after
+ the message.
+ + 6.0.083: GTK: When compiled without menu support the buttons in
+ a dialog don't have any text.
+ + 6.0.084: UTF-8: a "r" command with an argument that is a keymap
+ for a character with a composing character can't be repeated
+ with ".".
+ + 6.0.085: When 'mousefocus' is set, using "s" to go to Insert
+ mode and then moving the mouse pointer to another window stops
+ Insert mode, while this doesn't happen with "a" or "i".
+ + 6.0.086: When using "gu" the message says "~ed".
+ + 6.0.087: Message translations are incorrect, which may cause a
+ crash. The Turkish translations needed more work and the
+ maintainer didn't have time.
+ + 6.0.088: "." doesn't work after using "rx" in Visual mode.
+ + 6.0.089: In a C file, using "==" to align a line starting with
+ "* " after a line with "* -" indents one space too few.
+ + 6.0.090: When a wrapping line does not fit in a window and
+ 'scrolloff' is bigger than half the window height, moving the
+ cursor left or right causes the screen to flash badly.
+ + 6.0.091: Using CTRL-O in Insert mode, while 'virtualedit' is
+ "all" and the cursor is after the end-of-line, moves the cursor
+ left.
+ + 6.0.092: The explorer plugin doesn't ignore case of 'suffixes'
+ on MS-Windows.
+ + 6.0.093: When the Tcl library couldn't be loaded dynamically,
+ get an error message when closing a buffer or window.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Mon, 12 Nov 2001 14:35:08 +0100
+
+vim (6.0.061-1) unstable; urgency=low
+
+ * Add build to binary-arch dependencies. Closes: Bug#117619
+ * More upstream patches:
+ + 6.0.037: When the user has set "did_install_syntax_menu" to avoid
+ the default Syntax menu it still appears.
+ + 6.0.038: When 'selection' is "exclusive", deleting a block of text
+ at the end of a line can leave the cursor beyond the end of the line.
+ + 6.0.039: "gP" leaves the cursor in the wrong position when
+ 'virtualedit' is used. Using "c" in blockwise Visual mode leaves the
+ cursor in a strange position.
+ + 6.0.040: When 'fileencoding' is invalid and writing fails because of
+ this, the original file is gone.
+ + 6.0.041: Using ":language messages en" when LC_MESSAGES is undefined
+ results in setting LC_CTYPE.
+ + 6.0.042: ":mksession" can't handle file names with a space.
+ + 6.0.043: Patch 6.0.041 was wrong.
+ + 6.0.044: Using a "containedin" list for a syntax item doesn't work
+ for an item that doesn't have a "contains" argument. Also,
+ "containedin" doesn't ignore a transparent item.
+ + 6.0.045: After creating a fold with a Visual selection, another
+ window with the same buffer still has inverted text.
+ + 6.0.046: When getrlimit() returns an 8 byte number the check for
+ running out of stack may fail.
+ + 6.0.047: Using a regexp with "\(\)" inside a "\%[]" item causes a
+ crash.
+ + 6.0.048: Win32: In the console the mouse doesn't always work
+ correctly. Sometimes after getting focus a mouse movement is
+ interpreted like a button click.
+ + 6.0.049: When using evim the intro screen is misleading.
+ + 6.0.050: UTF-8: "viw" doesn't include non-ASCII characters before
+ the cursor.
+ + 6.0.051: UTF-8: Using CTRL-R on the command line doesn't insert
+ composing characters.
+ + 6.0.052: The check for rlim_t in patch 6.0.046 does not work on some
+ systems.
+ + 6.0.053: Various problems with QNX.
+ + 6.0.054: When using mswin.vim, CTRL-V pastes a block of text like it
+ is normal text. Using CTRL-V in blockwise Visual mode leaves "x"
+ characters behind.
+ + 6.0.055: GTK: The selection isn't copied the first time.
+ + 6.0.056: Using "CTRL-O cw" in Insert mode results in a nested Insert
+ mode. <Esc> doesn't leave Insert mode then.
+ + 6.0.057: Using ":wincmd g}" in a function doesn't work.
+ + 6.0.058: When a Cursorhold autocommand moved the cursor, the ruler
+ wasn't updated.
+ + 6.0.059: Highlighting for 'hlsearch' isn't visible in lines that are
+ highlighted for diff highlighting.
+ + 6.0.060: Motif: When the tooltip is to be popped up, Vim crashes.
+ + 6.0.061: The toolbar buttons to load and save a session do not
+ correctly use v:this_session.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Thu, 1 Nov 2001 17:16:37 +0100
+
+vim (6.0.036-1) unstable; urgency=low
+
+ * More upstream patches:
+ + 6.0.028: Can't compile without +virtualedit and with +visualextra.
+ + 6.0.029: When making a change in line 1, then in line 2 and then
+ deleting line 1, undo info could be wrong. Only when the
+ changes are undone at once.
+ + 6.0.030: Using ":source! file" doesn't work inside a loop or after
+ ":argdo".
+ + 6.0.031: Nextstep doesn't have setenv() or putenv().
+ + 6.0.032: When changing a setting that affects all folds, they are not
+ displayed immediately.
+ + 6.0.033: Using 'wildmenu' on MS-Windows, file names that include a
+ space are only displayed starting with that space.
+ + 6.0.034: Calling searchpair() with three arguments could result in a
+ crash or strange error message.
+ + 6.0.035: The menu item Edit/Global_Settings/Toggle_Toolbar doesn't
+ work when 'ignorecase' is set.
+ + 6.0.036: OS/2, MS-DOS and MS-Windows: Using a path that starts with a
+ slash in 'tags' doesn't work as expected.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Mon, 29 Oct 2001 20:09:06 +0100
+
+vim (6.0.027-1) unstable; urgency=low
+
+ * More upstream patches:
+ + 6.0.012: Polish translations contains printf format errors, this can
+ result in a crash when using one of them.
+ + 6.0.013: Using ":silent! cmd" still gives some error messages, like
+ for an invalid range.
+ + 6.0.014: When 'modifiable' is off and 'virtualedit' is "all", "rx"
+ on a TAB still changes the buffer.
+ + 6.0.015: When 'cpoptions' includes "S" and "filetype plugin on" has
+ been used, can get an error for deleting the b:did_ftplugin
+ variable.
+ + 6.0.016: bufnr(), bufname() and bufwinnr() don't find unlisted
+ buffers when the argument is a string. Also for
+ setbufvar() and getbufvar().
+ + 6.0.017: When 'ttybuiltin' is set and a builtin termcap entry defines
+ t_Co and the external one doesn't, it gets reset to empty.
+ + 6.0.018: Initializing 'encoding' may cause a crash when setlocale()
+ is not used.
+ + 6.0.019: Converting a string with multi-byte characters to a
+ printable string, e.g., with strtrans(), may cause a crash.
+ + 6.0.020: When obtaining the value of a global variable internally,
+ could get the function-local value instead. Applies to
+ using <Leader> and <LocalLeader> and resetting highlighting
+ in a function.
+ + 6.0.021: The 'cscopepathcomp' option didn't work.
+ + 6.0.022: When using the 'langmap' option, the second character of a
+ command starting with "g" isn't adjusted.
+ + 6.0.023: Loading the lhaskell syntax doesn't work.
+ + 6.0.024: Using "CTRL-V u 9900" in Insert mode may cause a crash.
+ + 6.0.025: The pattern "\vx(.|$)" doesn't match "x" at the end of a
+ line.
+ + 6.0.026: GTK: When using arrow keys to navigate through the menus,
+ the separators are selected.
+ + 6.0.027: VMS: Printing doesn't work, the file is deleted too
+ quickly. No longer need the VMS specific printing menu.
+ gethostname() is not available with VAXC. The makefile was
+ lacking selection of the tiny-huge feature set.
+ * Add a new icon based on vim32x32.xpm with colours remapped to the
+ menu packages' cmap.xpm.
+ * Move gvim MIME entries to vim-variant packages only
+ * Fix packagename in vim menu entry (vim-rt no longer exists)
+ * Move gvim menu entry to vim-variant packages only
+ * Properly install menu and mime entries for all packages and make sure
+ failure cases are handled correctly.
+ * Add lintian overrides to make it stop complaining about perfectly
+ correct things.
+ * Fix debcontrol.vim: allow variable substitution in multiline fields
+ as well. Closes: Bug#116741
+ * Fix inconsistent printf format strings in translations
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sun, 28 Oct 2001 13:44:50 +0900
+
+vim (6.0.011-3) unstable; urgency=low
+
+ * Always enable multibyte support
+
+ -- Wichert Akkerman <wakkerma@debian.org> Wed, 3 Oct 2001 17:01:46 +0200
+
+vim (6.0.011-2) unstable; urgency=low
+
+ * Create a new vim-ruby package. Closes: Bug#114053
+
+ -- Wichert Akkerman <wakkerma@debian.org> Mon, 1 Oct 2001 17:25:06 +0200
+
+vim (6.0.011-1) unstable; urgency=low
+
+ * Add Build-Depends for libperl-dev. Closes: Bug#114011
+ * More upstream patches:
+ + 6.0.009: Nextstep doesn't have S_ISBLK.
+ + 6.0.010: Using "gf" on a file name starting with "./" or "../" in
+ a buffer without a name causes a crash.
+ + 6.0.011: Python: After replacing or deleting lines get an ml_get error.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Mon, 1 Oct 2001 00:35:55 +0200
+
+vim (6.0.008-1) unstable; urgency=low
+
+ * More upstream patches:
+ + 6.004: The find/replace dialog doesn't reuse a previous argument properly.
+ + 6.005: Insert mode, "CTRL-O :ls" has a delay before redrawing.
+ + 6.006: With a vertical split, 'number' set and 'scrolloff' non-zero,
+ making the window width very small causes a crash.
+ + 6.007: When setting 'filetype' while there is no FileType autocommand, a
+ following ":setfiletype" would set 'filetype' again.
+ + 6.008: 'imdisable' is missing from the options window.
+ * Fix typo in debian/rules which accidentily disabled perl interpreter
+ support in vim-perl
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sat, 29 Sep 2001 17:03:42 +0200
+
+vim (6.0.003-1) unstable; urgency=low
+
+ * Merge three upstream patches:
+ + 6.001: Loading the sh.vim syntax file causes error messages
+ + 6.002: The configure check for ACLs on AIX doesn't work
+ + 6.003: Using a '@' item in 'viminfo' doesn't work
+
+ -- Wichert Akkerman <wakkerma@debian.org> Thu, 27 Sep 2001 22:37:45 +0200
+
+vim (6.0-1) unstable; urgency=low
+
+ * Merge changelog entries from 5.* packages
+ * Rework debian/rules further
+ * Add Build-Depends on dpkg >> 1.7.0 since we use dpkg:Version in
+ debian/control
+
+ -- Wichert Akkerman <wakkerma@debian.org> Wed, 26 Sep 2001 20:40:15 +0200
+
+vim (6.0-0.99-1) unstable; urgency=low
+
+ * New upstream version
+ * Restore vim-{gtk,perl,python,tcl} packages
+
+ -- Wichert Akkerman <wakkerma@debian.org> Wed, 26 Sep 2001 20:40:15 +0200
+
+vim (6.0-0.60aw.006-1) unstable; urgency=low
+
+ * Add 6 upstream bugfixes
+ * Add doc symlinks
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sun, 16 Sep 2001 23:14:43 +0200
+
+vim (6.0-0.60aw-1) unstable; urgency=low
+
+ * Seventh and hopefully last beta release
+ * Enable signs feature
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sun, 16 Sep 2001 23:14:43 +0200
+
+vim (6.0-0.60av-1) unstable; urgency=low
+
+ * Sixth beta release
+
+ -- Wichert Akkerman <wakkerma@debian.org> Mon, 10 Sep 2001 03:19:54 +0200
+
+vim (6.0-0.60au-1) unstable; urgency=low
+
+ * Fifth `golden' beta release
+
+ -- Wichert Akkerman <wakkerma@debian.org> Tue, 4 Sep 2001 11:32:35 +0200
+
+vim (6.0-0.60at-1) unstable; urgency=low
+
+ * Fourth beta release
+
+ -- Wichert Akkerman <wakkerma@debian.org> Mon, 27 Aug 2001 15:43:24 -0700
+
+vim (6.0-0.60ar-1) unstable; urgency=low
+
+ * Third beta release
+
+ -- Wichert Akkerman <wakkerma@debian.org> Mon, 13 Aug 2001 14:05:23 +0200
+
+vim (6.0-0.60aq-1) unstable; urgency=low
+
+ * Second beta release
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sun, 5 Aug 2001 23:25:28 +0200
+
+vim (6.0-0.60ap-2) unstable; urgency=low
+
+ * Oops, vimrc and gvimrc are not normal runtime files, so do symlink
+ them.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Mon, 30 Jul 2001 10:16:15 +0200
+
+vim (6.0-0.60ap-1) unstable; urgency=low
+
+ * First beta release
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sun, 29 Jul 2001 18:03:48 +0200
+
+vim (6.0-0.60ao-1) unstable; urgency=low
+
+ * Another new alpha release.
+ * Symlink /usr/share/vim/vimfiles to /etc/vim and drop vim and gvimrc
+ symlinks. This means we no longer need any patches to the upstream
+ source now.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Mon, 23 Jul 2001 16:17:03 +0200
+
+vim (6.0-0.60an-1) unstable; urgency=low
+
+ * Another new alpha release.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Thu, 12 Jul 2001 13:12:17 -0700
+
+vim (6.0-0.60am-1) unstable; urgency=low
+
+ * Another new alpha release.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sun, 1 Jul 2001 21:42:56 +0200
+
+vim (6.0-0.60al-1) unstable; urgency=low
+
+ * Another new alpha release.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Mon, 25 Jun 2001 00:05:28 +0200
+
+vim (6.0-0.60ak-1) unstable; urgency=low
+
+ * Another new alpha release.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sun, 17 Jun 2001 23:09:43 +0200
+
+vim (6.0-0.60aj-1) unstable; urgency=low
+
+ * Another new alpha release.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sun, 10 Jun 2001 23:35:47 +0200
+
+vim (6.0-0.60ai-1) unstable; urgency=low
+
+ * Another new alpha release.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sun, 3 Jun 2001 22:02:40 +0200
+
+vim (6.0-0.60ag-1) unstable; urgency=low
+
+ * Another new alpha release.
+ * Use DESTDIR to install.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sun, 20 May 2001 23:55:36 +0200
+
+vim (6.0-0.60af-1) unstable; urgency=low
+
+ * Another new alpha release.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Mon, 14 May 2001 19:42:22 +0200
+
+vim (6.0-0.60ae-1) unstable; urgency=low
+
+ * Another new alpha release.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sun, 6 May 2001 22:14:25 +0200
+
+vim (6.0-0.60ad-1) unstable; urgency=low
+
+ * Another new alpha release.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Mon, 30 Apr 2001 22:36:49 +0200
+
+vim (6.0-0.60ac-1) unstable; urgency=low
+
+ * Another new alpha release.
+ * Update Debian syntax files with copy from Michael Pfiefel
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sun, 22 Apr 2001 22:09:00 +0200
+
+vim (6.0-0.60ab-1) unstable; urgency=low
+
+ * Another new alpha release.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Mon, 16 Apr 2001 22:30:12 +0200
+
+vim (6.0-0.60aa-1) unstable; urgency=low
+
+ * Another new alpha release.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sun, 8 Apr 2001 16:54:34 +0200
+
+vim (6.0-0.60z-1) unstable; urgency=low
+
+ * Another new alpha release.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Mon, 26 Mar 2001 17:45:23 +0200
+
+vim (6.0-0.60x-1) unstable; urgency=low
+
+ * Another new alpha release.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Wed, 14 Mar 2001 16:25:04 +0100
+
+vim (6.0-0.60w-1) unstable; urgency=low
+
+ * Another new alpha release. Closes: Bug#86574
+
+ -- Wichert Akkerman <wakkerma@debian.org> Tue, 27 Feb 2001 17:59:34 +0100
+
+vim (6.0-0.60v-1) unstable; urgency=low
+
+ * Another new alpha release.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Fri, 16 Feb 2001 23:04:32 +0100
+
+vim (6.0-0.60u-2) unstable; urgency=low
+
+ * Add patch to memline.c to fix redraw on double-editing error message
+
+ -- Wichert Akkerman <wakkerma@debian.org> Fri, 9 Feb 2001 23:48:09 +0100
+
+vim (6.0-0.60u-1) unstable; urgency=low
+
+ * Another new alpha release.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Mon, 5 Feb 2001 23:17:38 +0100
+
+vim (6.0-0.60t-1) unstable; urgency=low
+
+ * Another new alpha release.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sat, 3 Feb 2001 17:11:23 +0100
+
+vim (6.0-0.60s-1) unstable; urgency=low
+
+ * Another new alpha release.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Fri, 19 Jan 2001 15:53:05 +1100
+
+vim (6.0-0.60r-1) unstable; urgency=low
+
+ * Another new alpha release.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Mon, 8 Jan 2001 05:44:55 +0100
+
+vim (6.0-0.60q-1) unstable; urgency=low
+
+ * Another new alpha release.
+ * Print newline after moving a {g,}vimrc
+
+ -- Wichert Akkerman <wakkerma@debian.org> Wed, 20 Dec 2000 01:45:23 +0100
+
+vim (6.0-0.60p-1) unstable; urgency=low
+
+ * Another new alpha release. We're slowly starting to run out of letters!
+
+ -- Wichert Akkerman <wakkerma@debian.org> Fri, 15 Dec 2000 01:05:58 +0100
+
+vim (6.0-0.60o-1) unstable; urgency=low
+
+ * You guessed it, another new upstream alpha release for vim6
+
+ -- Wichert Akkerman <wakkerma@debian.org> Mon, 4 Dec 2000 00:25:33 +0100
+
+vim (6.0-0.60m-2) unstable; urgency=low
+
+ * Update Ray's email address in vimrc
+ * Remove handling of compressed files in vimrc since that is now
+ done by the gzip plugin
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sun, 3 Dec 2000 02:42:13 +0100
+
+vim (6.0-0.60m-1) unstable; urgency=low
+
+ * Another new upstream alpha release for vim6
+ * Fix fixup of tags-file: we don't compress the tags file itself
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sun, 26 Nov 2000 16:29:30 +0100
+
+vim (6.0-0.60k-2) unstable; urgency=low
+
+ * Add patch to fix partial renaming of rpchf to rcphf in netrw.vim
+ * Add patch to handle double-byte charactres properly
+
+ -- Wichert Akkerman <wakkerma@debian.org> Mon, 30 Oct 2000 17:33:24 +0100
+
+vim (6.0-0.60k-1) unstable; urgency=low
+
+ * Another new upstream alpha release for vim6
+ * Use libgtk1.2-dev instead of libgtk-dev for Build-Depends
+ * Update default vimrc to use new plugins
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sun, 29 Oct 2000 23:57:24 +0100
+
+vim (6.0-0.60j-1) unstable; urgency=low
+
+ * Another new upstream alpha release for vim6
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sun, 22 Oct 2000 22:40:21 +0200
+
+vim (6.0-0.60h-1) unstable; urgency=low
+
+ * New upstream release, eighth alpha for vim6
+
+ -- Wichert Akkerman <wakkerma@debian.org> Fri, 1 Sep 2000 17:24:45 +0200
+
+vim (6.0-0.60g-1) unstable; urgency=low
+
+ * New upstream release, seventh alpha for vim6
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sat, 26 Aug 2000 22:59:48 +0200
+
+vim (6.0-0.60f-1) unstable; urgency=low
+
+ * New upstream release, sixth alpha for vim6
+ * Add /etc/vim to DFLT_RUNTIMEPATH so sysadmins can customize stuff
+ in there
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sat, 19 Aug 2000 17:25:33 -0700
+
+vim (6.0-0.60e-1) unstable; urgency=low
+
+ * New upstream release, fifth alpha for vim6
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sun, 6 Aug 2000 18:38:56 -0700
+
+vim (6.0-0.60d-2) unstable; urgency=low
+
+ * Small fix for xim_reset to fix segfaults on mouseclick in gvim
+
+ -- Wichert Akkerman <wakkerma@debian.org> Fri, 4 Aug 2000 22:28:20 +0200
+
+vim (6.0-0.60d-1) unstable; urgency=low
+
+ * New upstream release, fourth alpha for vim6
+
+ -- Wichert Akkerman <wakkerma@debian.org> Fri, 4 Aug 2000 00:20:40 +0200
+
+vim (6.0-0.60b-1) unstable; urgency=low
+
+ * New upstream release, second alpha for vim6
+ * Include lang sources as well now
+ * Repackaged from scratch:
+ + vim-rt merged back into vim package
+ + seperate versions now only include the {g,}vim binary.
+ * Create html-version of documentation as well
+ * Move configuration files to /etc/vim/. Closes: Bug#61574
+ * Closes: Bug#68502
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sat, 22 Jul 2000 22:53:40 +0200
+
+vim (5.8.007-4) unstable; urgency=low
+
+ * Stupid, I moved a file over but forgot to add a Replaces
+ to vim-rt. Fixed now.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Thu, 16 Aug 2001 20:33:39 +0200
+
+vim (5.8.007-3) unstable; urgency=low
+
+ * Don't Build-Depend on libgmpg1-dev on hurd. Closes: Bug#108239
+ * Enable filename modifiers in vim-tiny since we use them in the
+ default vimrc to read compressed files (such as the documentation).
+ Closes: Bug#108737
+ * We handle spaces in architecture fields now. Closes: Bug#103257
+ * Force vimtutor to use /etc/vimrc so it can load compressed files
+ Closes: Bug#83915
+ * Move vimtutor to vim-rt package. Closes: Bug#78783
+
+ -- Wichert Akkerman <wakkerma@debian.org> Wed, 15 Aug 2001 13:18:09 +0200
+
+vim (5.8.007-2) unstable; urgency=low
+
+ * Fix typo in debcontrol.vim
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sun, 15 Jul 2001 21:38:02 +0200
+
+vim (5.8.007-1) unstable; urgency=low
+
+ * Merge upstream bugfixes:
+ + When including a syntax cluster in itself, Vim crashes.
+ + With the GTK GUI, when 'shell' is not a valid program, ":make"
+ causes Vim to exit.
+ + ":hi def link" adds a link to a highlight group while it already
+ has attributes for the GUI.
+ + With syntax highlighting, synchronizing on a C-comment failed
+ after "//*/".
+ * Update debcontrol.vim. Closes: Bug#105306
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sun, 15 Jul 2001 15:32:40 +0200
+
+vim (5.8.003-1) unstable; urgency=low
+
+ * Use the debchangelog filetype for changelog.dch
+ * Use a versioned Recommends for vim-rt. Note that this will not help
+ if you use apt-get. Use a proper frontend instead.
+ Closes: Bug#100105,#55812,#100021
+ * Add Build-Depends on dpkg >= 1.7.0 since we use ${dpkg:Version} now.
+ * Update debcontrol.vim:
+ + the section is `doc', not `docs'
+ + Add non-US/{main,contrib,non-free}
+ + Accept both `tex' and `text' as sections (ordering problem in regexp)
+ Closes: Bug#99995
+ * Merge upstream bugfixes:
+ + When exiting and 'cmdheight' is 2 or bigger and 'showcmd' is set,
+ the cursor is left in the wrong place. (Sascha Blank)
+ + The dtd.vim syntax file contained a few items that require Vim 6.0.
+ Closes: Bug#100338,#100348
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sun, 10 Jun 2001 14:42:30 +0200
+
+vim (5.8-1) unstable; urgency=low
+
+ * New upstream bugfix version. Closes: Bug#98731,#74105,#67438,#66882,#65244
+ * Use libgtk1.2-dev in the Build-Depends.
+ Closes: Bug#98101,#67737,#83825,#87291,#93882,#95227,#92065
+ * doc symlinks were fixed earlier already. Closes: Bug#48587
+ * exuberant-tags is no longer part of the vim source, update debian/rules
+ accordingly
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sun, 3 Jun 2001 23:28:21 +0200
+
+vim (5.7.028-1) unstable; urgency=low
+
+ * Apply more upstream bugfixes
+ * Use libperl-dev instead of perl5 as Build-Depends. Closes: Bug#92367
+ * Add #DEBHELPER# to vim postinst
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sat, 14 Apr 2001 16:47:39 +0200
+
+vim (5.7.019-3) unstable; urgency=high
+
+ * Change spaces to tabs in tags file for documentation. Gotta love
+ cut & paste. Closes: Bug#80802
+ * Teach debhelper to handle the doc-symlink. Closes: Bug#80834
+
+ -- Wichert Akkerman <wakkerma@debian.org> Fri, 29 Dec 2000 17:20:11 +0100
+
+vim (5.7.019-2) unstable; urgency=high
+
+ * Fix postinst.. silly cut&paste error. Closes: Bug#80610
+
+ -- Wichert Akkerman <wakkerma@debian.org> Thu, 28 Dec 2000 00:45:58 +0100
+
+vim (5.7.019-1) unstable; urgency=low
+
+ * More upstream bugfixes merged. Closes: Bug#74664
+ * Add syntax styles for debian control and changelog files
+ * Fix alternatives in postinst. Closes: Bug#65066,#74347,#79424,#65843
+ * Bump Standards-Version to 3.2.1. Closes: Bug#79982
+ * Remove mention of Linux in copyright, this works on other OSes just as
+ well.
+ * Update location of upstream sources, they are at ftp.vim.org now
+ * Teach src/Makefile to quote quotes in pathdef.c so things compile with
+ the current perl as well.
+ * Fix handling of xterm clipboard, this should fix the X BadAccess errors
+ when running gvim remotely with ssh X11 forwarding
+ * Fix menu icon. Closes: Bug#63622,#69364,#61838,#34404,#79838
+ * Actually move manpages to /usr/share
+ * Bump alternative priority to be the same as elvis
+ * Fix fixup of tags-file: we don't compress the tags file itself.
+ * Install tags with mode 644. Closes: Bug#63742
+ Closes: Bug#77506
+ * Use mail highlightning for SLRN files. Closes: Bug#50206
+ * Fix typo in extended descriptions. Closes: Bug#66332
+
+ -- Wichert Akkerman <wakkerma@debian.org> Tue, 26 Dec 2000 18:14:21 +0100
+
+vim (5.7.002-1) unstable; urgency=low
+
+ * Upstream bugfix merged
+ * Fix typo in build-depends
+
+ -- Wichert Akkerman <wakkerma@debian.org> Thu, 29 Jun 2000 16:10:43 +0200
+
+vim (5.7.001-1) unstable; urgency=low
+
+ * Upstream bugfix merged
+
+ -- Wichert Akkerman <wakkerma@debian.org> Tue, 27 Jun 2000 11:29:20 +0200
+
+vim (5.7-1) unstable; urgency=low
+
+ * New upstream version
+ * Suggest cscope
+ * Update Build Dependencies
+ * Fix alternatives
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sat, 24 Jun 2000 23:47:45 +0200
+
+vim (5.6.090-1) unstable; urgency=low
+
+ * Another upstream bugfix merged, Closes:Bug#65236
+ * Compiled with the Debian libgtk, not the helixcode version
+
+ -- Wichert Akkerman <wakkerma@debian.org> Tue, 6 Jun 2000 10:58:54 +0200
+
+vim (5.6.089-1) unstable; urgency=low
+
+ * More upstream bugfixes merged
+
+ -- Wichert Akkerman <wakkerma@debian.org> Mon, 5 Jun 2000 20:40:47 +0200
+
+vim (5.6.080-1) unstable; urgency=low
+
+ * Enable cscope support
+ * More upstream bugfixes merged
+ * Add some build-depends. The list is probably not complete though.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Mon, 5 Jun 2000 18:13:25 +0200
+
+vim (5.6.072-1) unstable; urgency=low
+
+ * More upstream bugfixes merged
+
+ -- Wichert Akkerman <wakkerma@debian.org> Tue, 16 May 2000 18:34:10 +0200
+
+vim (5.6.070-1) frozen unstable; urgency=low
+
+ * More upstream bugfixes merged
+ * Use vim-rt package in menu entries. Without this change vim would
+ never show up in menus. Closes: Bug#63100
+ * Change update-alternatives call to reflect that manpages are now in
+ /usr/share/man. Closes: Bug#63320
+ * Add Pre-Depends and check in a new preinst to make sure the running dpkg
+ supports multiple conflicts & replaces
+
+ -- Wichert Akkerman <wakkerma@debian.org> Mon, 1 May 2000 13:51:11 +0200
+
+vim (5.6.052-1) frozen unstable; urgency=low
+
+ * Another 21 new upstream bugfixes merged
+
+ -- Wichert Akkerman <wakkerma@debian.org> Mon, 3 Apr 2000 17:16:59 +0200
+
+vim (5.6.031-1) frozen unstable; urgency=low
+
+ * Figures that in the 24 hours after I release an update 16 upstream
+ patches are released..
+ * Enable gpm support (except in vim-tiny of course) on popular request.
+ * Enable rightleft support in packages with gvim
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sun, 26 Mar 2000 17:18:54 +0200
+
+vim (5.6.015-1) frozen unstable; urgency=low
+
+ * 3 more upstream bugfixes applied
+ * Fix menu entries so we don't mention gvim for vim and vim-tiny
+ * Link dynamically to libpython
+
+ -- Wichert Akkerman <wakkerma@debian.org> Fri, 24 Mar 2000 15:13:33 +0100
+
+vim (5.6.012-1) frozen unstable; urgency=low
+
+ * Another bugfix patch applied (hang with zsh)
+ * Fooled by debhelper again.. restore maintainer scripts
+ which were suddenly gone missing, Closes: Bug# 57491, #57500
+
+ -- Wichert Akkerman <wakkerma@debian.org> Thu, 10 Feb 2000 17:22:37 +0100
+
+vim (5.6.011-1) frozen unstable; urgency=low
+
+ * Seven more bugfix patches applied
+ * Don't include all the gvim stuff in the standard vim package
+
+ -- Wichert Akkerman <wakkerma@debian.org> Thu, 27 Jan 2000 03:05:23 +0100
+
+vim (5.6.000-1) frozen unstable; urgency=low
+
+ * No longer beta. There are no changes from the previous package except
+ that this version is no longer marked as a beta version.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Mon, 17 Jan 2000 00:28:15 +0100
+
+vim (5.6-0.5.6a.028-1) frozen unstable; urgency=low
+
+ * Include more upstream bugfixes
+ * Add Debian-specific filetypes to default vimrc, Closes: Bug#54339
+ * Make vim-rt only recommend vim
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sat, 15 Jan 2000 16:38:17 +0100
+
+vim (5.6-0.5.6a.019-1) unstable; urgency=low
+
+ * Include patches up to 5.6a.019
+ * Rebuild to get VIMRUNTIME correct
+ * Fix description for vim-gtk, Closes: Bug#54748
+
+ -- Wichert Akkerman <Wakkerma@debian.org> Tue, 11 Jan 2000 10:14:10 +0100
+
+vim (5.6-0.5.6a.018-1) unstable; urgency=low
+
+ * New upstream version, pre-release for 5.6, patchlevel 018
+ * Provide editor
+ * vim no longer has any X support
+ * Add vim-gtk with the GTK frontend
+
+ -- Wichert Akkerman <Wakkerma@debian.org> Mon, 10 Jan 2000 03:00:44 +0100
+
+vim (5.5.033-1) unstable; urgency=low
+
+ * Include patches up to 5.5.033
+
+ -- Wichert Akkerman <wakkerma@debian.org> Mon, 18 Oct 1999 16:14:21 +0200
+
+vim (5.5.009-1) unstable; urgency=low
+
+ * Include patches up to 5.5.009
+ * Fix paths in manpages
+
+ -- Wichert Akkerman <wakkerma@debian.org> Tue, 28 Sep 1999 02:08:28 +0200
+
+vim (5.5-1) unstable; urgency=low
+
+ * New upstream version
+
+ -- Wichert Akkerman <wakkerma@debian.org> Tue, 21 Sep 1999 04:07:57 +0200
+
+vim (5.4.49-1) unstable; urgency=low
+
+ * Include patches up to 5.4.49
+ * Build with multibyte and xim support, Closes:Bug#43245
+
+ -- Wichert Akkerman <wakkerma@debian.org> Thu, 2 Sep 1999 15:50:12 +0200
+
+
+vim (5.4.21-1) unstable; urgency=low
+
+ * Include patches up to 5.4.21
+ * Fix asnother concatenated line in vimrc
+ * Don't register gvim for vim-tty
+
+ -- Wichert Akkerman <wakkerma@debian.org> Wed, 11 Aug 1999 01:18:01 +0200
+
+vim (5.4.17-1) unstable; urgency=low
+
+ * Include patches up to 5.4.17
+ * Make vim-tty provide vim, Closes:Bug#42659
+ * Fix accidentily joined lines in vimrc, Closes:Bug#42663
+
+ -- Wichert Akkerman <wakkerma@debian.org> Mon, 9 Aug 1999 04:30:37 +0200
+
+vim (5.4.12-1) unstable; urgency=low
+
+ * Include patches up to 5.4.12
+ * Add a new package: vim-tty. This is a build with all the normal
+ features, but without any X support.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Thu, 5 Aug 1999 21:31:13 +0200
+
+vim (5.4.11-1) unstable; urgency=low
+
+ * Include patches up to 5.4.11
+
+ -- Wichert Akkerman <wakkerma@debian.org> Mon, 2 Aug 1999 03:03:02 +0200
+
+vim (5.4.7-1) unstable; urgency=low
+
+ * Include patches up to 5.4.7
+ * Fix replaces, dpkg can't handle multiple replaces-lines in control
+ * Fix typo in debian/rules causing vim-tiny to get X11 support
+ * Only change extension in second column of documentation tags-file
+ * Remove [ce]tags, they are packaged seperately
+
+ -- Wichert Akkerman <wakkerma@debian.org> Thu, 29 Jul 1999 17:17:05 +0200
+
+vim (5.4-1) unstable; urgency=low
+
+ * Finally, vim 5.4 has arrived!
+ * Lets build vim-rt only in binary-indep now
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sun, 25 Jul 1999 23:19:03 +0200
+
+vim (5.4-0.5.4p-1) unstable; urgency=low
+
+ * Yet-another-last-beta for vim 5.4
+ * Make vim-* replace vim-rt since we moved some stuff around
+
+ -- Wichert Akkerman <wakkerma@debian.org> Mon, 19 Jul 1999 17:29:49 +0200
+
+vim (5.4-0.5.4o.6) unstable; urgency=low
+
+ * Patched up to version 5.4o.6 beta
+ * Default vimrc clean on request of the Cistron crew: :)
+ + Change default vimrc to be more compatible with upstream defaults
+ + Turn backup off by default
+ + Don't map Q to gq anymore
+
+ -- Wichert Akkerman <wakkerma@debian.org> Thu, 15 Jul 1999 23:18:28 +0200
+
+vim (5.4-0.5.4o.1) unstable; urgency=low
+
+ * Third upstream beta-version
+ * Patched up to version 5.4o.1 beta
+
+ -- Wichert Akkerman <wakkerma@debian.org> Mon, 12 Jul 1999 17:26:01 +0200
+
+vim (5.4-0.5.4n.18) unstable; urgency=low
+
+ * Second upstream beta-version
+ * Patched up to version 5.4n.18 beta
+ * Fix vimrc: we should explicitly use expand now
+
+ -- Wichert Akkerman <wakkerma@debian.org> Thu, 8 Jul 1999 01:56:55 +0200
+
+vim (5.4-0.5.4m.17) unstable; urgency=low
+
+ * Lets upload this somewhere as well
+ * Patched up to version 5.4m.17 beta
+
+ -- Wichert Akkerman <wakkerma@debian.org> Tue, 29 Jun 1999 00:21:52 +0200
+
+vim (5.4m-1) unstable; urgency=low
+
+ * Experimental package to test vim 5.4 packaging
+ * Patched up to version 5.4m.5
+ * Use GTK 1.2 frontend by default now
+ * Merge src and runtime tarballs from upstream, since they need eachother
+ in order to compile.
+ * Rewritten debian/rules to make it more manageable
+ * Take advantage of new location for runtime-support so we no longer need
+ a patch to relocate the system-wide configfiles
+ * Don't make vim-rt depend on a versioned vim
+ * Bumb standards-version to 2.5.1
+
+ -- Wichert Akkerman <wakkerma@debian.org> Tue, 22 Jun 1999 01:17:16 +0200
+
+vim (5.3-13) frozen unstable; urgency=low
+
+ * Compile vim-python with python-dev installed so it actually works
+ * Note to release-manager: no new code since previous version in slink,
+ only simple bugfixes
+
+ -- Wichert Akkerman <wakkerma@debian.org> Sun, 14 Feb 1999 21:06:16 +0100
+
+vim (5.3-12) unstable; urgency=low
+
+ * New license: vim is now fully DFSG-free!
+ * Run gvim with -f from mailcap so it doesn't background and confuse
+ the hell out of metamail (Bug# 32141)
+ * Remove */* entry that was accidently left in the mailcap for vim-tiny
+
+ -- Wichert Akkerman <wakkerma@debian.org> Tue, 26 Jan 1999 23:58:50 +0100
+
+vim (5.3-11) unstable; urgency=low
+
+ * Added langmap support for all packages, except vim-tiny (Bug# 28118).
+
+ -- Wichert Akkerman <wakkerma@debian.org> Thu, 26 Nov 1998 20:55:47 +0100
+
+vim (5.3-10) frozen unstable; urgency=low
+
+ * Add autocmd support to vim-tiny so it can read the online help again.
+ (this adds 12Kb to the memory usage).
+ * Rebuild with ncurses4
+
+ -- Wichert Akkerman <wakkerma@debian.org> Mon, 2 Nov 1998 16:34:56 +0100
+
+vim (5.3-9) unstable; urgency=low
+
+ * Downgraded vim-rt Recommend to Suggest for vim-tiny (Bug# 27436)
+
+ -- Wichert Akkerman <wakkerma@debian.org> Tue, 13 Oct 1998 15:53:33 +0200
+
+vim (5.3-8) unstable; urgency=low
+
+ * Update mime-support
+
+ -- Wichert Akkerman <wakkerma@debian.org> Tue, 29 Sep 1998 01:56:06 +0200
+
+vim (5.3-7) unstable; urgency=low
+
+ * Recompiled with python-dev installed
+
+ -- Wichert Akkerman <wakkerma@debian.org> Fri, 18 Sep 1998 13:57:52 +0200
+
+vim (5.3-6) unstable; urgency=low
+
+ * Fix mime-support somewhat:
+ + change test for $DISPLAY
+ + use (g)view when only viewing files
+ * Create multiple vim-packages (vim, vim-tiny, vim-perl, vim-python and
+ vim-tcl)
+ * Removed empty /usr/share/vim directory, it's now completely in the vim-rt
+ package anyway.
+
+ -- Wichert Akkerman <wakkerma@debian.org> Mon, 14 Sep 1998 01:13:31 +0200
+
+vim (5.3-5) unstable; urgency=low
+
+ * Added support for update-mime, based on sample from
+ Brian White <bcwhite@verisim.com> (Bug# 26550)
+
+ -- Wichert Akkerman <wakkerma@debian.org> Thu, 10 Sep 1998 20:56:04 +0200
+
+vim (5.3-4) unstable; urgency=low
+
+ * Revamped postinst not to override alternatives (Bug# 26186)
+ * Be lazy and let debhelper add the update-menus call
+
+ -- Wichert Akkerman <wakkerma@debian.org> Wed, 9 Sep 1998 12:02:14 +0200
+
+vim (5.3-3) unstable; urgency=low
+
+ * Fix typo on control-file (found by Matt McLean <keys@yikes.com>)
+
+ -- Wichert Akkerman <wakkerma@debian.org> Tue, 1 Sep 1998 19:04:45 +0200
+
+vim (5.3-2) unstable; urgency=low
+
+ * Fix typo in changelog (noted by Ruud de Rooij)
+
+ -- Wichert Akkerman <wakkerma@debian.org> Mon, 31 Aug 1998 13:11:13 +0200
+
+
+vim (5.3-1) unstable; urgency=low
+
+ * New upstream version (bugfix release)
+ * Recommend vim-rt instead of only suggesting it
+ * Put menu-file back in this package
+
+ -- Wichert Akkerman <wakkerma@debian.org> Mon, 31 Aug 1998 11:41:37 +0200
+
+vim (5.2-2) unstable; urgency=low
+
+ * Add email-address to maintainer-field in debian/control
+ * Added patch to fix some small errors for certain commands
+
+ -- Wichert Akkerman <wakkerma@debian.org> Wed, 26 Aug 1998 01:09:09 +0200
+
+vim (5.2-1) unstable; urgency=low
+
+ * New upstream version
+ + package split in 2: vim and vim-rt
+ + UNICODE support
+ * Make vim honour TMPDIR on all systems except OS/2 and win32
+ * Update debian/control to reflect new maintainer :)
+
+ -- Wichert Akkerman <wakkerma@debian.org> Tue, 25 Aug 1998 13:33:26 +0200
+
+vim (5.1-1) unstable; urgency=low
+
+ * New maintainer
+ * Fix ex alternative (Bug# 23675)
+ * Fix copyright (Bug# 24984)
+ * Don't install sample macros twice
+ * Clean debian/rules some more
+ * Move tools to the examples-subdirectory
+ * Fix location of perl in examples
+ * Fix some filemodes of examples
+
+ -- Wichert Akkerman <wakkerma@debian.org> Mon, 17 Aug 1998 02:34:01 +0200
+
+vim (5.1-0.4) unstable; urgency=low
+
+ * Yet another non-maintainer upload
+ * Fixed alignment trap on alpha's (Bug# 23590)
+ * Added some example-vimrc code
+ * Also provide alternatives for ex and /usr/bin/editor (Bug# 22310)
+
+ -- Wichert Akkerman <wakkerma@debian.org> Tue, 16 Jun 1998 15:58:07 +0200
+
+vim (5.1-0.3) unstable; urgency=low
+
+ * Yet another non-maintainer upload
+ * Added support for editing bzip2'ed files (from Vaclav Hula)
+ * Added octave to the syntax-menu
+
+ -- Wichert Akkerman <wakkerma@debian.org> Fri, 24 Apr 1998 16:28:42 +0200
+
+vim (5.1-0.2) unstable; urgency=low
+
+ * Previous upload didn't include .orig.tar.gz .
+ * Modified /etc/vimrc: included some recommendations for more
+ user-friendly behaviour (commented out as they deviate from standard vi
+ behaviour)
+
+ -- J.H.M. Dassen (Ray) <jdassen@wi.LeidenUniv.nl> Fri, 24 Apr 1998 14:33:34 +0200
+
+vim (5.1-0.1) unstable; urgency=low
+
+ * Non-maintainer upload
+ * New upstream release.
+ * Bumped Standards-Version.
+ * Re-enabled athena GUI (fixes #21194).
+ * Made /etc/gvimrc a conffile.
+ * Added syntax highlighting for Octave (fixes #18817).
+ * Disable syntax hightlighting for vim & enable it for gvim
+ * Revamped building process (debhelper)
+ * Modified & commented vimrc
+ * Enhanced menu-support (include gvim & icons)
+
+ -- Wichert Akkerman <wakkerma@debian.org> Tue, 21 Apr 1998 16:18:02 +0200
+
+vim (5.0-0.2) frozen unstable; urgency=low
+
+ * Switched to the .gz autocommands from vimrc_example, so that :help works
+ again (fixes #20897).
+
+ -- J.H.M. Dassen (Ray) <jdassen@wi.LeidenUniv.nl> Mon, 13 Apr 1998 15:50:46 +0200
+
+vim (5.0-0.1) unstable; urgency=low
+
+ * Merged in the patches from the mailing list
+ * Non-maintainer release
+ * New upstream version
+
+ -- Alexey Marinichev <lyosha@math.uu.se> Sun, 15 Mar 1998 02:41:37 +0100
+
+vim (4.6-2) unstable; urgency=low
+
+ * Built with libc6, ncurses3.4, and xlib6g
+ * Updated menu entry
+
+ -- Galen Hazelwood <galenh@micron.net> Thu, 9 Sep 1997 12:44:30 -0600
+
+vim (4.6-1) frozen unstable; urgency=low
+
+ * New upstream version (fixes #8674)
+ * Enabled right-to-left support
+
+ -- Galen Hazelwood <galenh@micron.net> Sat, 12 Apr 1997 11:11:00 -0600
+
+vim (4.5-5) unstable; urgency=low
+
+ * New maintainer
+ * Menu entry /usr/lib/menu/vim included
+ * No longer Provides: editor (fixes bug #5602)
+
+ -- Galen Hazelwood <galenh@micron.net> Thu, 20 Feb 1997 13:44:36 -0700
+
+vim (4.5-4) unstable; urgency=low
+
+ * GUI support is back in now.
+ * modified postinst to put gvim into fvwm's menus, not normal vim.
+
+ -- Stuart Lamble <lamble@yoyo.cc.monash.edu.au> Tue, 19 Nov 1996 21:51:28 +1100
+
+vim (4.5-3) unstable frozen; urgency=low
+
+ * Last release without GUI support - I've finally downloaded the 3.2 .deb
+ files.
+ * added view and view.1.gz to /etc/alternatives.
+ * changed CFLAGS to compile with -g -O2 (instead of -g -O)
+ * modified the default vimrc to allow full read/writing of text files
+ compressed with gzip.
+ * added "version 4.0" to the default vimrc (so much for getting people
+ to RTFM :-)
+ * Ray Dassen sent me some email about not capturing stderr by default;
+ after thinking about it, I decided against this. It's useful for
+ programmers when compiling from within vim, and besides, it's easy to
+ configure (look at the shellredir setting :)
+
+ -- Stuart Lamble <lamble@yoyo.cc.monash.edu.au> Tue, 19 Nov 1996 19:43:56 +1100
+
+vim (4.5-2) unstable; urgency=low
+
+ * merged in patches from Bram into both source trees (the new version is
+ also called 4.5 ... go figure. :-)
+ * removed ctags from the distribution, pending further discussion on it:
+ it's the same as the ctags found elsewhere in the distribution.
+ * fixed a small typo in the copyright: referred to 4.4 instead of 4.5.
+ Oops. :)
+
+ -- Stuart Lamble <lamble@yoyo.cc.monash.edu.au> Sun, 20 Oct 1996 19:20:36 +1000
+
+vim (4.5-1) unstable; urgency=low
+
+ * new upstream version
+ * merged in the patches from 4.4-2 into the new source tree
+
+ -- Stuart Lamble <lamble@yoyo.cc.monash.edu.au> Fri, 11 Oct 1996 19:10:13 +1000
+
+vim (4.4-2) unstable; urgency=low
+
+ * uncompressed doc/vim_tags to allow vim to handle gzipped docs, and
+ modified the installed version to direct help to those gzipped docs.
+ * added an empty gvimrc to /etc
+ * added a vimrc capable of reading the gzipped docs
+ * merged in Lars' patches for install-fvwm2menu
+
+ -- Stuart Lamble <lamble@yoyo.cc.monash.edu.au> Thu, 26 Sep 1996 19:46:11 +1000
+
+vim (4.4-1.1) unstable; urgency=low
+
+ * added calls to install-fvwm2menu to postinst and prerm
+
+ -- Lars Wirzenius <liw@iki.fi> Thu, 3 Oct 1996 21:28:42 +0300
+
+vim (4.4-1) unstable; urgency=low
+
+ * new upstream version (considered beta, but seems pretty stable to
+ me.)
+ * modified Makefile to allow for installation to .../debian/tmp rather
+ than /usr/ (otherwise, man pages would have been sorta fubar..)
+ * redirected global vimrc/gvimrc to /etc
+ * modified configure to look for termcap _last_, ncurses first
+ (upstream version: termcap, then ncurses.)
+ * added a "Provides: editor" (don't know if this is still current, but
+ it won't hurt if it isn't.)
+
+ -- Stuart Lamble <lamble@yoyo.cc.monash.edu.au> Sun, 22 Sep 1996 17:38:15 +1000
diff --git a/debian/changelog.upstream b/debian/changelog.upstream
new file mode 100644
index 0000000..fcb6d65
--- /dev/null
+++ b/debian/changelog.upstream
@@ -0,0 +1,906 @@
+Patches for Vim - Vi IMproved 8.1
+
+The files in this directory contain source code changes to fix problems
+in a released version of Vim. Each file also contains an explanation of
+the problem that is fixed, like the message that was sent to the vim-dev
+maillist.
+
+The best is to apply the patches in sequence. This avoids problems when
+a patch depends on a previous patch.
+
+Before patching, change to the top Vim directory, where the "src" and
+"runtime" directories are located.
+Depending on the version of "patch" that you use, you may have add an
+argument to make it patch the right file:
+ patch -p < 8.1.0001
+ patch -p0 < 8.1.0001
+
+After applying a patch, you need to compile Vim. There are no patches
+for binaries.
+
+Checksums for the patch files can be found in the file MD5SUMS.
+
+
+Individual patches for Vim 8.1:
+
+ SIZE NAME FIXES
+ 2006 8.1.0001 the netrw plugin does not work
+ 2572 8.1.0002 :stopinsert changes the message position
+ 3792 8.1.0003 the :compiler command is not tested
+ 1751 8.1.0004 test for :compiler command sometimes fails
+ 1807 8.1.0005 test for :compiler command fails on MS-Windows
+ 1693 8.1.0006 syn_id2cterm_bg() may be undefined
+ 1962 8.1.0007 no test for "o" and "O" in Visual block mode
+ 2386 8.1.0008 no test for strwidth()
+ 2778 8.1.0009 tabpages insufficiently tested
+ 9415 8.1.0010 efm_to_regpat() is too long
+ 2536 8.1.0011 maparg() and mapcheck() confuse empty and non-existing
+ 1610 8.1.0012 misplaced #endif
+ 6717 8.1.0013 using freed memory when changing terminal cursor color
+ 13559 8.1.0014 qf_init_ext() is too long
+ 4186 8.1.0015 cursor color wrong when closing a terminal window
+ 1890 8.1.0016 possible crash in term_wait()
+ 5801 8.1.0017 shell command completion has duplicates
+ 9499 8.1.0018 using "gn" may select wrong text when wrapping
+ 2326 8.1.0019 error when defining a Lambda with index of a function result
+ 15279 8.1.0020 cannot tell whether a register is executing or recording
+ 2235 8.1.0021 clang warns for undefined behavior
+ 2396 8.1.0022 repeating put from expression register fails
+ 2004 8.1.0023 gcc 8.1 warns for use of strncpy()
+ 2617 8.1.0024 % command not testded on #ifdef and comment
+ 4779 8.1.0025 no test for the undofile() function
+ 1809 8.1.0026 terminal test fails with very tall terminal
+ 50988 8.1.0027 difficult to make a plugin that feeds a line to a job
+ 1760 8.1.0028 prompt buffer test fails on MS-Windows
+ 1495 8.1.0029 terminal test fails on MS-Windows when "wc" exists
+ 3105 8.1.0030 stoping Vim running in a terminal may not work
+ 1611 8.1.0031 terminal test aucmd_on_close is flaky
+ 5262 8.1.0032 BS in prompt buffer starts new line
+ 1848 8.1.0033 keys to stop Vim in terminal are wrong
+ 2716 8.1.0034 cursor not restored with ":edit #"
+ 6569 8.1.0035 not easy to switch between prompt buffer and other windows
+ 4578 8.1.0036 not restoring Insert mode if leaving prompt buffer with mouse
+ 15307 8.1.0037 cannot easily append lines to another buffer
+ 1978 8.1.0038 popup test causes Vim to exit
+ 8953 8.1.0039 cannot easily delete lines in another buffer
+ 2531 8.1.0040 warnings from 64-bit compiler
+ 4059 8.1.0041 attribute "width" missing from python window attribute list
+ 3565 8.1.0042 if omni completion opens a window Insert mode is stopped
+ 3435 8.1.0043 ++bad argument of :edit does not work properly
+ 2509 8.1.0044 if a test function exists Vim this may go unnoticed
+ 8195 8.1.0045 popup test isn't run completely
+ 5925 8.1.0046 loading a session file fails if 'winheight' is big
+ 2905 8.1.0047 no completion for :unlet $VAR
+ 3129 8.1.0048 vim_str2nr() does not handle numbers close to the maximum
+ 7856 8.1.0049 shell cannot tell running in a terminal window
+ 12084 8.1.0050 $VIM_TERMINAL is also set when not in a terminal window
+ 1187 8.1.0051 MS-Windows: missing #endif
+ 1660 8.1.0052 when mapping to <Nop> times out the next mapping is skipped
+ 17493 8.1.0053 first argument of 'completefunc' has inconsistent type
+ 1978 8.1.0054 compiler warning for using %ld for "long long"
+ 2674 8.1.0055 complete test has wrong order of arguments
+ 2996 8.1.0056 crash when using :hardcopy with illegal byte
+ 5625 8.1.0057 popup menu displayed wrong when using autocmd
+ 5833 8.1.0058 display problem with margins and scrolling
+ 3006 8.1.0059 displayed digraph for "ga" wrong with 'encoding' "cp1251"
+ 2199 8.1.0060 crash when autocommands delete the current buffer
+ 9361 8.1.0061 window title is wrong after resetting and setting 'title'
+ 10083 8.1.0062 popup menu broken if a callback changes the window layout
+ 4134 8.1.0063 Mac: NSStringPboardType is deprecated
+ 3198 8.1.0064 typing CTRL-W in a prompt buffer shows mode "-- --"
+ 2714 8.1.0065 (after 8.1.0062) balloon displayed at the wrong position
+ 4125 8.1.0066 nasty autocommand causes using freed memory
+ 3453 8.1.0067 syntax highlighting not working when re-entering a buffer
+ 2218 8.1.0068 nasty autocommands can still cause using freed memory
+ 10539 8.1.0069 cannot handle pressing CTRL-C in a prompt buffer
+ 1772 8.1.0070 missing part of the changes for prompt_setinterrupt()
+ 24885 8.1.0071 terminal debugger only works with the terminal feature
+ 3489 8.1.0072 use of 'termwinkey' is inconsistent
+ 2490 8.1.0073 crash when autocommands call setloclist()
+ 1917 8.1.0074 (after 8.1.0073) crash when running quickfix tests
+ 1690 8.1.0075 no Vim logo in README file
+ 2192 8.1.0076 command getting cleared with CTRL-W : in a terminal window
+ 1575 8.1.0077 header of README file is not nice
+ 3972 8.1.0078 "..." used inconsistently in messages
+ 1941 8.1.0079 superfluous space in messages
+ 9680 8.1.0080 can't see the breakpoint number in the terminal debugger
+ 2721 8.1.0081 the terminal debugger doesn't adjust to changed 'background'
+ 3834 8.1.0082 in terminal window, typing : at more prompt, inserts ':'
+ 5227 8.1.0083 "is" and "as" have trouble with quoted punctuation
+ 5639 8.1.0084 user name completion does not work on MS-Windows
+ 3269 8.1.0085 no test for completing user name and language
+ 2588 8.1.0086 no tests for libcall() and libcallnr()
+ 6792 8.1.0087 v:shell_error is always zero when using terminal for "!cmd"
+ 2126 8.1.0088 terminal test for stdout and stderr is a bit flaky
+ 5766 8.1.0089 error when ending the terminal debugger
+ 4270 8.1.0090 "..." used inconsistently in a message
+ 10822 8.1.0091 MS-Windows: Cannot interrupt gdb when program is running
+ 1512 8.1.0092 (after 8.1.0091) prompt buffer test fails
+ 2187 8.1.0093 non-MS-Windows: Cannot interrupt gdb when program is running
+ 1399 8.1.0094 help text "usage:" is not capatalized
+ 2373 8.1.0095 dialog for ":browse tabnew" says "new window"
+ 4382 8.1.0096 inconsistent use of the word autocommands
+ 1805 8.1.0097 superfluous space before exclamation mark
+ 9705 8.1.0098 segfault when pattern with \z() is very slow
+ 1924 8.1.0099 exclamation mark in error message not needed
+ 1595 8.1.0100 terminal debugger: error when setting a watch point
+ 1769 8.1.0101 no test for getcmdwintype()
+ 1557 8.1.0102 cannot build without syntax highlighting
+ 5682 8.1.0103 long version string cannot be translated
+ 1709 8.1.0104 can't build without the +eval feature
+ 91953 8.1.0105 all tab stops are the same
+ 1471 8.1.0106 build fails when HAVE_DATE_TIME is undefined
+ 2523 8.1.0107 Python: getting buffer option clears message
+206793 8.1.0108 no Danish translations
+ 1365 8.1.0109 new po makefile missing from distribution
+ 2466 8.1.0110 file name not displayed with ":file"
+ 4914 8.1.0111 .po files do not use recommended names
+ 4681 8.1.0112 no error when using bad arguments with searchpair()
+ 1508 8.1.0113 compiler warning for unused variable
+ 6304 8.1.0114 confusing variable name
+ 1961 8.1.0115 the matchparen plugin may throw an error
+ 2800 8.1.0116 display problem with 'vartabstop' and 'linebreak'
+ 1760 8.1.0117 URL in install program still points to SourceForge
+ 4245 8.1.0118 duplicate error message for put command
+ 1948 8.1.0119 failing test goes unnoticed because messages is not written
+ 5855 8.1.0120 buffer 'modified' set even when :sort has no changes
+ 4713 8.1.0121 crash when using ballooneval related to 'vartabstop'
+ 1658 8.1.0122 translators don't always understand the maintainer message
+ 1718 8.1.0123 MS-Windows: colors are wrong after setting 'notgc'
+ 1597 8.1.0124 has('vcon') returns true even for non-win32 terminal
+ 4884 8.1.0125 virtual edit replace with multi-byte fails at end of line
+ 6119 8.1.0126 various problems with 'vartabstop'
+ 1817 8.1.0127 build failure when disabling the session feature
+ 13345 8.1.0128 building with MinGW does not work out-of-the-box
+ 1716 8.1.0129 still some xterm-like terminals get a stray "p"
+ 5062 8.1.0130 ":profdel func" does not work if func was called already
+ 7164 8.1.0131 :profdel is not tested
+ 21355 8.1.0132 lua tests are old style
+ 3994 8.1.0133 tagfiles() can have duplicate entries
+ 18460 8.1.0134 Lua interface does not support funcref
+ 2589 8.1.0135 undo message delays screen update for CTRL-O u
+ 9996 8.1.0136 Lua tests don't cover new features
+ 8177 8.1.0137 CI does not run with TCL
+ 4761 8.1.0138 negative value of 'softtabstop' not used correctly
+ 3091 8.1.0139 Lua tests fail on some platforms
+ 2895 8.1.0140 recording into a register has focus events
+ 15890 8.1.0141 :cexpr no longer jumps to the first error
+ 4578 8.1.0142 xterm and vt320 builtin termcap missing keypad keys
+ 6351 8.1.0143 matchit and matchparen don't handle E363
+ 2728 8.1.0144 the :cd command does not have good test coverage
+ 2327 8.1.0145 test with grep is failing on MS-Windows
+ 1367 8.1.0146 when $LANG is set the compiler test may fail
+ 3044 8.1.0147 compiler warning when building with Python 3.7
+ 1512 8.1.0148 memory leak when using :tcl expr command
+ 6889 8.1.0149 session is wrong with multiple tabs when :lcd was used
+ 22149 8.1.0150 insufficient test coverage for Tcl
+ 1593 8.1.0151 mksession test fails on MS-Windows
+ 11431 8.1.0152 cannot easily run individual tests on MS-Windows
+ 1970 8.1.0153 (after 8.1.0152) build with SHADOWDIR fails
+ 3833 8.1.0154 crash with "set smarttab shiftwidth=0 softtabstop=-1"
+ 1273 8.1.0155 evim.man missing from the distribution
+ 1574 8.1.0156 MS-Windows compiler warning
+ 2144 8.1.0157 old iTerm2 is not recognized, resulting in stray output
+ 1647 8.1.0158 GUI: input() fails if CTRL-C was pressed before
+ 2569 8.1.0159 completion for user names does not work for a prefix.
+ 1361 8.1.0160 no Danish manual translations
+ 3923 8.1.0161 buffer not updated with 'autoread' set if file was deleted
+ 6881 8.1.0162 Danish and German man pages are not installed
+ 6408 8.1.0163 insufficient testing for Tcl
+ 2724 8.1.0164 luaeval('vim.buffer().name') returns an error
+ 3898 8.1.0165 :clist output can be very long
+ 38155 8.1.0166 using dict_add_nr_str() is clumsy
+ 5740 8.1.0167 lock flag in new dictitem is reset in many places
+ 4177 8.1.0168 output of :marks is too short with multi-byte chars
+ 4184 8.1.0169 calling message_filtered() a bit too often
+ 9933 8.1.0170 invalid memory use with complicated pattern
+ 3250 8.1.0171 typing CTRL-W n in a terminal window causes ml_get error
+ 1771 8.1.0172 'viminfofile' option does not behave like a file name
+ 1429 8.1.0173 compiler warning on MS-Windows
+ 3944 8.1.0174 after paging up and down fold line is wrong
+ 1934 8.1.0175 marks test fails in very wide window
+ 1599 8.1.0176 overlapping string argument for strcpy()
+ 4584 8.1.0177 defining function in sandbox is inconsistent
+ 1431 8.1.0178 warning for passing pointer to non-pointer argument
+ 1857 8.1.0179 redundant condition for boundary check
+ 4435 8.1.0180 static analysis errors in Lua interface
+ 1921 8.1.0181 memory leak with trailing characters in skip expression
+ 9703 8.1.0182 Unicode standard was updated
+ 3966 8.1.0183 Lua API changed, breaking the build
+ 4488 8.1.0184 not easy to figure out the window layout
+ 4643 8.1.0185 running tests writes lua.vim even though it is not used
+ 2592 8.1.0186 test for getwininfo() fails in GUI
+ 9073 8.1.0187 getwininfo() and win_screenpos() return different numbers
+ 1963 8.1.0188 no test for ":cscope add"
+ 1688 8.1.0189 function defined in sandbox not tested
+ 6411 8.1.0190 Perl refcounts are wrong
+ 1565 8.1.0191 Perl test fails in 24 line terminal
+112175 8.1.0192 executing regexp recursively fails with a crash
+ 1805 8.1.0193 terminal debugger buttons don't always work
+ 2862 8.1.0194 possibly use of NULL pointer
+ 1809 8.1.0195 terminal debugger commands don't always work
+ 2085 8.1.0196 terminal debugger error with .gdbinit file
+ 2341 8.1.0197 Windows GUI: title for search/replace is wrong
+ 2382 8.1.0198 there is no hint that syntax is disabled for 'redrawtime'
+ 1487 8.1.0199 spellbadword() does not check for caps error
+ 3017 8.1.0200 spellbadword() not tested
+ 11749 8.1.0201 newer Python uses "importlib" instead of "imp"
+ 2036 8.1.0202 :version always shows +packages
+ 3913 8.1.0203 building with Perl 5.28 fails on Windows
+ 2093 8.1.0204 inputlist() is not tested
+ 6691 8.1.0205 invalid memory access with invalid modeline
+ 2828 8.1.0206 duplicate test function name
+ 2260 8.1.0207 need many menu translation files to cover regions
+ 1379 8.1.0208 file left behind after running individual test
+ 3024 8.1.0209 stderr output from Ruby messes up display
+ 2831 8.1.0210 still a few K&R function declarations
+ 7061 8.1.0211 expanding a file name "~" results in $HOME
+ 7545 8.1.0212 preferred cursor column not set in interfaces
+ 5556 8.1.0213 CTRL-W CR does not work properly in a quickfix window
+ 1925 8.1.0214 +autochdir feature not reported by has() or :version
+ 2582 8.1.0215 no error if configure --with-x cannot configure X
+ 2392 8.1.0216 part of file not indented properly
+ 2403 8.1.0217 compiler warning for variable set but not used
+ 6928 8.1.0218 cannot add matches to another window
+ 1963 8.1.0219 expanding ## fails to escape backtick
+ 2311 8.1.0220 Ruby converts v:true and v:false to a number
+ 14127 8.1.0221 not enough testing for the Ruby interface
+ 5102 8.1.0222 errors are reported for "make install"
+ 4387 8.1.0223 completing shell command finds sub-directories in $PATH
+ 3118 8.1.0224 hang in bracketed paste mode when t_PE not encountered
+ 5657 8.1.0225 mode() does not indicate using CTRL-O from Insert mode
+ 28724 8.1.0226 too many #ifdefs
+ 1700 8.1.0227 spaces instead of tabs in makefile
+ 15828 8.1.0228 dropping files is ignored while Vim is busy
+ 3254 8.1.0229 crash when dumping profiling data
+ 4212 8.1.0230 directly checking 'buftype' value
+ 3398 8.1.0231 :help -? goes to help for -+
+ 6091 8.1.0232 Ruby error does not include backtrace
+ 9163 8.1.0233 "safe" argument of call_vim_function() is always FALSE
+ 4813 8.1.0234 incorrect reference counting in Perl interface
+ 6005 8.1.0235 more help tags that jump to the wrong location
+ 3812 8.1.0236 Ruby build fails when ruby_intern is missing
+ 2407 8.1.0237 Ruby on Cygwin doesn't always work
+ 2455 8.1.0238 'buftype' is cleared when using ":term ++hidden cat"
+ 3139 8.1.0239 now Ruby build fails on other systems
+ 1835 8.1.0240 g:actual_curbuf set in wrong scope
+ 1779 8.1.0241 effect of ":tabmove N" is not clear
+ 2127 8.1.0242 Insert mode completion may use an invalid buffer pointer
+ 3046 8.1.0243 using :term ++close ++hidden closes a window
+ 6049 8.1.0244 no redraw when using a STOP signal on Vim and then CONT
+ 3316 8.1.0245 calling setline() in TextChangedI autocmd breaks undo
+ 1756 8.1.0246 build failure without the +eval feature
+ 8011 8.1.0247 Python: error message for failing import is incorrect
+ 4314 8.1.0248 duplicated quickfix code
+ 2789 8.1.0249 GTK: when screen DPI changes Vim does not handle it
+ 3230 8.1.0250 MS-Windows using VTP: windows size change incorrect
+ 12239 8.1.0251 using full path is not supported for 'backupdir'
+ 41015 8.1.0252 quickfix functions are too long
+ 14504 8.1.0253 saving and restoring window title does not always work
+ 2428 8.1.0254 cannot build on MS-Windows; unused macro HAVE_HANDLE_DROP
+ 2310 8.1.0255 backup test fails when using shadow directory
+ 8885 8.1.0256 using setline() in TextChangedI splits undo
+ 2084 8.1.0257 no test for pathshorten()
+ 1854 8.1.0258 not enough testing for the CompleteDone event
+ 4897 8.1.0259 no test for fixed quickfix issue
+ 1783 8.1.0260 no LGTM logo in README file
+ 4958 8.1.0261 Coverity complains about a negative array index
+ 3052 8.1.0262 not enough testing for getftype()
+ 3417 8.1.0263 channel log doesn't show part of channel
+ 3278 8.1.0264 backup tests fail when CWD is in /tmp
+ 23576 8.1.0265 the getcmdline() function is way too big
+ 10962 8.1.0266 parsing Ex address range is not a separate function
+ 3831 8.1.0267 no good check if restoring quickfix list worked
+ 10135 8.1.0268 file type checking has too many #ifdef
+ 3772 8.1.0269 Ruby Kernel.#p method always returns nil
+ 1866 8.1.0270 checking for a Tab in a line could be faster
+ 13097 8.1.0271 'incsearch' doesn't work for :s, :g or :v
+ 1723 8.1.0272 options test fails if temp var ends in slash
+ 1470 8.1.0273 invalid memory access when using 'incsearch'
+ 4628 8.1.0274 'incsearch' triggers on ":source"
+ 4964 8.1.0275 'incsearch' with :s doesn't start at cursor line
+ 2991 8.1.0276 no test for 'incsearch' highlighting with :s
+ 9021 8.1.0277 'incsearch' highlighting wrong in a few cases
+ 2988 8.1.0278 'incsearch' highlighting does not accept reverse range
+ 3306 8.1.0279 'incsearch' highlighting does not skip white space
+ 2293 8.1.0280 'incsearch' highlighting does not work for ":g!/"
+ 19659 8.1.0281 parsing command modifiers is not separated
+ 14174 8.1.0282 'incsearch' does not work with command modifiers
+ 1846 8.1.0283 missing test dump
+ 3774 8.1.0284 'cursorline' highlighting wrong with 'incsearch'
+ 1416 8.1.0285 compiler warning for conversion
+ 3285 8.1.0286 'incsearch' does not apply to :smagic and :snomagic
+ 1772 8.1.0287 MAX is not defined everywhere
+ 12170 8.1.0288 quickfix code uses cmdidx too often
+ 2018 8.1.0289 cursor moves to wrong column after quickfix jump
+ 2722 8.1.0290 "cit" on an empty HTML tag changes the whole tag
+ 4355 8.1.0291 'incsearch' highlighting not used for :sort
+ 2120 8.1.0292 MS-Windows: the text "self-installing" confuses some users
+ 5483 8.1.0293 checks for type of stack is cryptic
+ 2332 8.1.0294 MS-Windows: sometimes uses short directory name
+ 9332 8.1.0295 no 'incsearch' highlighting for :vimgrep and similar
+ 8125 8.1.0296 command parsing for 'incsearch' is a bit ugly
+ 2733 8.1.0297 MS-Windows: tests fail, Vim crashes
+ 1475 8.1.0298 window resize test sometimes fails on Mac
+ 1657 8.1.0299 misplaced comment
+ 2295 8.1.0300 the old window title might be freed twice
+ 8790 8.1.0301 GTK: input method popup displayed on wrong screen.
+ 6061 8.1.0302 crash when using :suspend and "fg"
+ 2912 8.1.0303 line2byte() is wrong for last line with 'noeol'
+ 9124 8.1.0304 no redraw when using a STOP signal on Vim and then CONT
+ 3073 8.1.0305 missing support for Lua 5.4 32 bits on Unix
+ 14029 8.1.0306 plural messages are not translated properly
+ 6949 8.1.0307 there is no good way to get the window layout
+ 1720 8.1.0308 a quick undo shows "1 seconds ago"
+ 18244 8.1.0309 profiling does not show a count for condition lines
+ 3277 8.1.0310 file info msg not always suppressed with 'F' in 'shortmess'
+ 4009 8.1.0311 filtering entries in a quickfix list is not easy
+ 7961 8.1.0312 wrong type for flags used in signal handlers
+ 7881 8.1.0313 information about a swap file is unavailable
+ 5176 8.1.0314 build failure without the +eval feature
+ 6290 8.1.0315 helpgrep with language doesn't work properly
+ 2195 8.1.0316 swapinfo() test fails on Travis
+ 2110 8.1.0317 Cscope test fails when using shadow directory
+ 3126 8.1.0318 the getftype() test may fail for char devices
+ 1642 8.1.0319 bzero() function prototype doesn't work for Android
+ 4447 8.1.0320 too much 'incsearch' highlight for pat matching everything
+ 4558 8.1.0321 'incsearch' regression: /\v highlights everything
+ 3868 8.1.0322 Test_copy_winopt() does not restore 'hidden'
+ 2305 8.1.0323 reverse order of VTP calls only needed the first time
+ 1492 8.1.0324 off-by-one error in cmdidx check
+ 2183 8.1.0325 strings in swap file may not be NUL terminated
+ 4926 8.1.0326 screen dump does not consider NUL and space equal
+ 4900 8.1.0327 the "g CTRL-G" command isn't tested much
+ 4775 8.1.0328 inputlist() doesn't work with a timer
+ 1872 8.1.0329 using inputlist() during startup results in garbage
+ 6219 8.1.0330 the qf_add_entries() function is too long
+ 3811 8.1.0331 insufficient test coverage for :mkview and :loadview
+ 1940 8.1.0332 get Gdk-Critical error on first balloon show
+ 5951 8.1.0333 :mkview does not restore cursor properly after "$"
+ 3122 8.1.0334 'autowrite' takes effect when buffer is not to be written
+ 1780 8.1.0335 mkview test fails on CI
+ 3139 8.1.0336 mkview test still fails on CI
+ 3531 8.1.0337 :file fails in quickfix command
+ 5890 8.1.0338 MS-Windows: VTP doesn't work properly with Powershell
+ 3237 8.1.0339 wrong highlight when 'incsearch' set and cancelling :s
+ 2219 8.1.0340 no test for :spellinfo
+ 8417 8.1.0341 :argadd in empty buffer changes the buffer name
+ 6555 8.1.0342 crash when a callback deletes a window that is being used
+ 1636 8.1.0343 'shellslash' is not used for getcwd() with local directory
+ 2422 8.1.0344 'hlsearch' highlighting has a gap after /$
+ 10052 8.1.0345 cannot get the window id associated with the location list
+ 57731 8.1.0346 building with Aap is outdated and unused
+ 5485 8.1.0347 some tests fail on Solaris
+ 4181 8.1.0348 on Travis the slowest build is run last
+ 5581 8.1.0349 crash when wiping buffer in a callback
+ 6919 8.1.0350 Vim may block on ch_sendraw()
+ 5206 8.1.0351 'incsearch' for :/foo/s//<Esc> changes last search pattern
+ 8073 8.1.0352 browsing compressed tar files does not always work
+ 8839 8.1.0353 an "after" directory of a package is appended to 'rtp'
+ 2279 8.1.0354 packadd test fails on MS-Windows
+ 3168 8.1.0355 incorrect adjusting the popup menu for the preview window
+ 6409 8.1.0356 using :s with 'incsearch' prevents CTRL-R CTRL-W
+ 4016 8.1.0357 instructions for tests are outdated
+ 1607 8.1.0358 crash when using term_dumpwrite() after the job finished
+ 3072 8.1.0359 no clue what test failed when using a screendump twice
+237081 8.1.0360 using an external diff program is slow and inflexible
+ 4571 8.1.0361 remote user not used for completion
+227344 8.1.0362 cannot get the script line number when executing a function
+ 2800 8.1.0363 internal diff isn't used by default as advertised
+ 2130 8.1.0364 compiler warning in xdiff code
+ 28602 8.1.0365 function profile doesn't specify where it was defined
+ 3826 8.1.0366 pieces of the xdiff code are not used
+ 1749 8.1.0367 getchar(1) no longer processes pending messages
+ 20303 8.1.0368 GTK code has too many #ifdefs and GTK 2.10 building fails
+ 9213 8.1.0369 continuation lines cannot contain comments
+ 1651 8.1.0370 not using internal diff if 'diffopt' is not changed
+ 6298 8.1.0371 argument types for select() may be wrong
+ 5591 8.1.0372 screen updating slow when 'cursorline' is set
+ 1768 8.1.0373 screen updating still slow when 'cursorline' is set
+ 19602 8.1.0374 moving the cursor is slow when 'relativenumber' is set
+ 2197 8.1.0375 cannot use diff mode with Cygwin diff.exe
+ 2133 8.1.0376 compiler warning for uninitialized variable
+ 21413 8.1.0377 xdiff doesn't use the Vim memory allocation functions
+ 2048 8.1.0378 CI build failure
+125615 8.1.0379 build dependencies are incomplete
+ 6840 8.1.0380 "make proto" doesn't work well
+ 1858 8.1.0381 variable declaration not at start of block
+ 9705 8.1.0382 some make programs can't handle "xdiff/../"
+ 1782 8.1.0383 missing source file rename
+ 5127 8.1.0384 sign ordering depends on +netbeans feature
+ 2742 8.1.0385 Coveralls badge doesn't update
+ 5812 8.1.0386 cannot test with non-default option value
+ 2071 8.1.0387 no test for 'ambiwidth' detection
+ 1579 8.1.0388 Coverity complains about possible NULL pointer use
+ 2651 8.1.0389 :behave command is not tested
+ 6076 8.1.0390 scrollbars are not tested
+ 2344 8.1.0391 building in a shadow directory fails
+ 9049 8.1.0392 error while typing :/foo/s// with 'incsearch' enabled
+ 27803 8.1.0393 not all white space difference options available
+ 6228 8.1.0394 diffs are not always updated correctly
+ 1672 8.1.0395 compiler warning on 64-bit MS-Windows
+ 1768 8.1.0396 another compiler warning on 64-bit MS-Windows
+ 15721 8.1.0397 no event triggered after updating diffs
+ 4360 8.1.0398 no test for -o and -O command line arguments
+ 8813 8.1.0399 'hlsearch' highlight remains in other window
+ 2686 8.1.0400 using freed memory with :diffget
+ 8652 8.1.0401 can't get swap name of another buffer
+ 5092 8.1.0402 the DiffUpdate event isn't triggered for :diffput
+ 1357 8.1.0403 header file missing from distribution
+ 2233 8.1.0404 accessing invalid memory with long argument name
+ 68527 8.1.0405 too many #ifdefs for GTK
+ 4335 8.1.0406 several command line arguments are not tested
+ 33033 8.1.0407 quickfix code mixes using the stack and a list pointer
+ 7190 8.1.0408 MSVC: cannot use the "x64" native compiler option
+ 3554 8.1.0409 startup test fails on MS-Windows
+ 8456 8.1.0410 the ex_copen() function is too long
+ 1570 8.1.0411 renamed file missing from distribution
+ 2839 8.1.0412 cannot build with GTK 2.4
+ 2486 8.1.0413 test output is duplicated or missing
+ 3066 8.1.0414 v:option_old is cleared when using :set in OptionSet autocmd
+ 4556 8.1.0415 not actually using 16 colors with vtp
+ 2741 8.1.0416 sort doesn't report deleted lines
+ 4674 8.1.0417 several command line arguments are not tested
+ 2249 8.1.0418 MS-Windows: cannot separate Lua include and library dirs
+ 1921 8.1.0419 Cygwin: running cproto fails with -O2
+ 2056 8.1.0420 generating vim.lib when using ActivePerl 5.20.3 or later
+ 2776 8.1.0421 MS-Windows: Ruby path is wrong for Ruby 1.9 and later
+ 1647 8.1.0422 cannot create map file with MinGW
+ 2704 8.1.0423 MS-Windows: using dup-close for flushing a file
+ 3886 8.1.0424 test output is very verbose, loading CI log is slow
+ 2891 8.1.0425 ml_get error and crash with appendbufline()
+ 2598 8.1.0426 accessing invalid memory in SmcOpenConnection()
+ 2361 8.1.0427 MS-Windows GUI: using invalid encoded file name
+ 3757 8.1.0428 the :suspend command is not tested
+ 1649 8.1.0429 no test for :lcd with 'shellslash'
+ 1332 8.1.0430 Xargadd file left behind after running test
+ 15030 8.1.0431 the qf_jump() function is too long
+ 1645 8.1.0432 compiler warning for signed/unsigned
+ 2241 8.1.0433 mapping can obtain text from inputsecret()
+ 9471 8.1.0434 copy_loclist() is too long
+ 2271 8.1.0435 cursorline highlight not removed in some situation
+ 2471 8.1.0436 can get the text of inputsecret() with getcmdline()
+ 2119 8.1.0437 may access freed memory when syntax HL times out
+ 9235 8.1.0438 the ex_make() function is too long
+ 16394 8.1.0439 recursive use of getcmdline() still not protected
+ 2960 8.1.0440 remove() with a range not sufficiently tested
+ 1734 8.1.0441 build failure without command line history
+ 1685 8.1.0442 GUI: cursor not drawn after ":redraw | sleep"
+108558 8.1.0443 unnecessary static function prototypes
+ 1546 8.1.0444 unnecessary check for NULL pointer
+ 9270 8.1.0445 setting 'term' does not store location for termcap options
+ 1447 8.1.0446 options test fails in the GUI
+ 4197 8.1.0447 GUI scrollbar test fails with Athena and Motif
+ 12315 8.1.0448 cursorline not removed when using 'cursorbind'
+ 6929 8.1.0449 when 'rnu' is set folded lines are not displayed correctly
+ 2060 8.1.0450 build failure without the +fold feature
+ 6235 8.1.0451 Win32 console: keypad keys don't work
+ 3847 8.1.0452 MS-Windows: not finding intl.dll
+ 3698 8.1.0453 MS-Windows: executable() is not reliable
+ 3104 8.1.0454 resolve() was not tested with a symlink cycle
+ 6496 8.1.0455 checking for empty quickfix stack is not consistent
+ 3080 8.1.0456 running test hangs when the input file is being edited
+ 7330 8.1.0457 win32 console: key mappings don't work
+ 2997 8.1.0458 ml_get error and crash when using "do"
+ 1582 8.1.0459 Test_executable fails when there is a dog in the system
+ 3900 8.1.0460 assert_fails() does not take a message argument
+130449 8.1.0461 quickfix code uses too many /* */ comments
+ 2953 8.1.0462 when using ConPTY Vim can be a child process
+ 2527 8.1.0463 "simalt ~x" in .vimrc blocks swap file prompt
+ 2848 8.1.0464 MS-Windows: job_info() has cmd without backslashes
+ 1671 8.1.0465 client-server test fails
+ 7829 8.1.0466 autocmd test fails
+ 3658 8.1.0467 cannot build with Mac OS X 10.5
+ 3212 8.1.0468 MS-Windows: filter command with pipe character fails
+ 19665 8.1.0469 too often indexing in qf_lists[]
+ 10852 8.1.0470 pointer ownership around fname_expand() is unclear
+ 3488 8.1.0471 some tests are flaky or fail on some systems
+ 9221 8.1.0472 dosinst command has a few flaws
+ 2574 8.1.0473 user doesn't notice file does not exist when swap file does
+ 5110 8.1.0474 directory where if_perl.c is written is inconsistent
+ 15480 8.1.0475 memory not freed on exit when quit in autocmd
+ 3035 8.1.0476 memory leaks in test_escaped_glob
+ 1255 8.1.0477 tiny build fails
+ 1704 8.1.0478 cannot build with perl using MinGW
+ 4319 8.1.0479 failure when setting 'varsofttabstop' to end in a comma
+ 2299 8.1.0480 MinGW build file uses different -I flags than MVC
+ 2186 8.1.0481 when "Terminal" highlight is reverted cursor doesn't show
+ 2192 8.1.0482 MinGW "make clean" deletes all .exe files
+ 2806 8.1.0483 MinGW does not build tee.exe
+ 8349 8.1.0484 some file types are not recognized
+ 2921 8.1.0485 term_start() does not check if directory is accessible
+ 1842 8.1.0486 can't build in MS-Windows
+ 39192 8.1.0487 no menus specifically for the terminal window
+ 15995 8.1.0488 using freed memory in quickfix code
+ 5140 8.1.0489 crash when autocmd clears vimpgrep location list
+ 4061 8.1.0490 MS-Windows: doesn't handle missing glibwinpthread-1.dll
+ 1640 8.1.0491 if a terminal dump has CR it is considered corrupt
+ 3142 8.1.0492 "Edit with existing Vim" list can get long
+ 13964 8.1.0493 argv() and argc() only work on the current argument list
+ 3977 8.1.0494 functions do not check for a window ID in other tabs
+ 7883 8.1.0495 :filter only supports some commands
+ 11218 8.1.0496 no tests for indent files
+ 3122 8.1.0497 :%diffput changes order of lines
+ 3486 8.1.0498 /etc/gitconfig not recognized at a gitconfig file
+ 4415 8.1.0499 :2vimgrep causes an ml_get error
+ 1549 8.1.0500 cleaning up in src/tee may not always work
+ 1823 8.1.0501 cppcheck warns for using array index before bounds check
+ 5075 8.1.0502 internal diff fails when diffing a context diff
+ 1854 8.1.0503 missing change to diff test
+ 3277 8.1.0504 when CTRL-C is mapped it triggers InsertLeave
+ 1858 8.1.0505 filter command test may fail if helplang is not set
+ 1836 8.1.0506 modeline test fails when run by root
+ 3054 8.1.0507 .raml files not properly detected
+ 3099 8.1.0508 suspend test fails when run by root
+ 2311 8.1.0509 checking cwd not accessible fails for root
+ 2146 8.1.0510 filter test fails when $LANG is C.UTF-8
+ 2370 8.1.0511 ml_get error when calling a function with a range
+ 2387 8.1.0512 'helplang' default is inconsistent for C and C.UTF-8
+ 2564 8.1.0513 no error for set diffopt+=algorithm:
+ 26020 8.1.0514 CTRL-W ^ does not work when alternate buffer has no name
+ 8965 8.1.0515 reloading a script gives errors for existing functions
+ 4755 8.1.0516 :move command marks buffer modified when nothing changed
+ 1951 8.1.0517 Test_window_split_edit_alternate() fails on AppVeyor
+ 2801 8.1.0518 Test_window_split_edit_bufnr() fails on AppVeyor
+ 23694 8.1.0519 cannot save and restore the tag stack
+ 1717 8.1.0520 screen diff test sometimes fails
+ 1657 8.1.0521 cannot build with +eval but without +quickfix
+ 2564 8.1.0522 :terminal does not show trailing empty lines
+ 12244 8.1.0523 opening window from quickfix leaves empty buffer behind
+ 2080 8.1.0524 terminal test fails on Windows
+ 3553 8.1.0525 terminal test skips part on Windows
+ 1694 8.1.0526 running out of signal stack in RealWaitForChar
+ 1727 8.1.0527 using 'shiftwidth' from wrong buffer for folding
+ 27062 8.1.0528 various typos in comments
+ 3431 8.1.0529 flaky test sometimes fails in different ways
+ 3468 8.1.0530 channel and terminal tests that start a server can be flaky
+ 2564 8.1.0531 flaky tests often fail with a common error message
+ 10477 8.1.0532 cannot distinguish between quickfix and location list
+ 1607 8.1.0533 screendump tests can be flaky
+ 10454 8.1.0534 MS-Windows installer uses different $HOME than Vim
+ 2589 8.1.0535 increment/decrement might get interrupted by updating folds
+ 2944 8.1.0536 file time test fails when using NFS
+ 2151 8.1.0537 ui_breakcheck() may be called recursively
+ 1629 8.1.0538 evaluating a modeline might invoke using a shell command
+ 3595 8.1.0539 cannot build without the sandbox
+ 3752 8.1.0540 may evaluate insecure value when appending to option
+ 2844 8.1.0541 help message in dosinst.c is outdated
+ 13399 8.1.0542 shiftwidth() does not take 'vartabstop' into account
+ 2020 8.1.0543 Coverity warns for leaking memory and using wrong struct
+ 13034 8.1.0544 setting 'filetype' in a modeline causes an error
+ 2290 8.1.0545 when executing indent tests user preferences interfere
+ 1370 8.1.0546 modeline test with keymap fails
+ 1459 8.1.0547 modeline test with keymap still fails
+ 1682 8.1.0548 crash when job callback unloads a buffer
+ 3892 8.1.0549 netbeans test depends on README.txt contents
+ 3590 8.1.0550 expression evaluation may repeat an error message
+ 2045 8.1.0551 expression evaluation may repeat an error message
+ 3711 8.1.0552 saved last search pattern may not be restored
+ 6225 8.1.0553 it is not easy to edit a script that was sourced
+ 4062 8.1.0554 popup menu overlaps with preview window
+ 2343 8.1.0555 crash when last search pat is set but not last substitute pat
+ 3947 8.1.0556 saving/restoring search patterns share saved last_idx
+ 16010 8.1.0557 Termdebug: gdb may use X.Y for breakpoint number
+ 7059 8.1.0558 some MS-Windows instructions are outdated
+ 3535 8.1.0559 command line completion not sufficiently tested
+ 4527 8.1.0560 cannot use address type "other" with with user command
+ 1987 8.1.0561 MSCV error format has changed
+ 7029 8.1.0562 parsing of 'diffopt' is slightly wrong
+ 1734 8.1.0563 setting v:errors to a string give confusing error
+ 2097 8.1.0564 setting v:errors to wrong type still possible
+ 1779 8.1.0565 asan complains about reading before allocated block
+ 2201 8.1.0566 SGR not enabled for mintty because $TERM is "xterm"
+ 1986 8.1.0567 error for NUL byte in ScreenLines goes unnoticed
+ 2214 8.1.0568 error message for NUL byte in ScreenLines breaks Travis CI
+ 3027 8.1.0569 execute() always resets display column to zero
+ 4021 8.1.0570 'commentstring' not used when adding fold marker
+ 3527 8.1.0571 non-silent execute() resets display column to zero
+ 2180 8.1.0572 stopping a job does not work properly on OpenBSD
+ 9154 8.1.0573 cannot redefine user command without ! in same script
+ 3955 8.1.0574 'commentstring' not used when adding fold marker in C
+ 10330 8.1.0575 Termdebug: clearing multi-breakpoint does not work
+ 2167 8.1.0576 indent script tests pick up installed scripts
+ 5482 8.1.0577 tabpage right-click menu never shows "Close tab"
+ 8465 8.1.0578 cannot disable arabic, rightleft and farsi in configure
+ 74440 8.1.0579 cannot attach properties to text
+ 1447 8.1.0580 invalid memory access when using text properties
+ 1833 8.1.0581 double free without the text properties feature
+ 5788 8.1.0582 text properties are not enabled
+ 20840 8.1.0583 using illogical name for get_dict_number()/get_dict_string()
+ 2474 8.1.0584 with search CTRL-L does not pick up composing characters
+ 1787 8.1.0585 undo test may fail on MS-Windows
+ 22698 8.1.0586 :digraph output is not easy to read
+ 2232 8.1.0587 GvimExt: realloc() failing is not handled properly
+ 2976 8.1.0588 cannot define a sign with space in the text
+ 2659 8.1.0589 compilation error in gvimext.cpp
+ 6439 8.1.0590 when a job ends the closed channels are not handled
+ 1765 8.1.0591 channel sort test is flaky
+ 2767 8.1.0592 the libvterm tests are not run as part of Vim tests
+ 2936 8.1.0593 illegal memory access in libvterm test
+ 1931 8.1.0594 libvterm tests fail to run on Mac
+ 7523 8.1.0595 libvterm tests are not run with coverage
+ 4846 8.1.0596 not all parts of printf() are tested
+ 2414 8.1.0597 cannot run test_libvterm from the top directory
+ 2131 8.1.0598 indent tests may use the wrong Vim binary
+ 2250 8.1.0599 without the +eval feature the indent tests don't work
+ 1445 8.1.0600 channel test is flaky
+ 4646 8.1.0601 a few compiler warnings
+ 8027 8.1.0602 DirChanged is also triggered when directory didn't change
+ 2961 8.1.0603 the :stop command is not tested
+ 2292 8.1.0604 autocommand test fails on MS-Windows
+ 2192 8.1.0605 running make in the top directory echoes a comment
+ 3238 8.1.0606 'cryptmethod' defaults to a very old method
+ 7182 8.1.0607 proto files are not in sync with the source code
+ 1976 8.1.0608 coverals is not updating
+ 3794 8.1.0609 MS-Windows: unused variable, depending on the Ruby version
+ 5120 8.1.0610 MS-Windows ctags file list differs from Unix
+ 1607 8.1.0611 crash when using terminal with long composing characters
+ 10131 8.1.0612 cannot use two global runtime dirs with configure
+ 4845 8.1.0613 when executing an insecure function the secure flag is stuck
+111218 8.1.0614 placing signs can be complicated
+223182 8.1.0615 get_tv function names are not consistent
+2845493 8.1.0616 NSIS installer is outdated
+ 1645 8.1.0617 NSIS installer gets two files from the wrong directory
+ 2345 8.1.0618 term_getjob() does not return v:null as documented
+ 9641 8.1.0619 :echomsg and :echoerr do not handle List and Dict
+ 2828 8.1.0620 overuling CONF_ARGS from the environment no longer works
+ 3939 8.1.0621 terminal debugger does not handle unexpected debugger exit
+ 5173 8.1.0622 adding quickfix items marks items as valid errors
+ 17854 8.1.0623 iterating through window frames is repeated
+ 1971 8.1.0624 overuling CONF_ARGS from the environment still does not work
+ 2104 8.1.0625 MS-Windows: terminal test fails in white console
+ 2084 8.1.0626 MS-Windows: no resize to fit parent when using --windowid
+ 4595 8.1.0627 Python cannot handle function name of script-local function
+ 1448 8.1.0628 Compiler warning on MS-Windows.
+ 14330 8.1.0629 "gn" selects the wrong text with a multi-line match
+ 3679 8.1.0630 "wincmd p" does not work after using an autocmd window
+ 2256 8.1.0631 test for :stop fails on Arch
+ 27904 8.1.0632 using sign group names is inefficient
+ 11580 8.1.0633 crash when out of memory while opening a terminal window
+ 16046 8.1.0634 text properties cannot cross line boundaries
+ 1571 8.1.0635 Coverity complains about null pointer use
+ 9826 8.1.0636 line2byte() gives wrong values with text properties
+ 1851 8.1.0637 nsis file no longer used
+ 6807 8.1.0638 text property highlighting is off by one column
+ 1534 8.1.0639 text properties test fails on MS-Windows
+ 2888 8.1.0640 get E14 while typing command :tab with 'incsearch' set
+ 1811 8.1.0641 no check for out-of-memory when converting regexp
+ 5219 8.1.0642 swapinfo() leaks memory
+ 2518 8.1.0643 computing byte offset wrong
+ 14318 8.1.0644 finding next sign ID is inefficient
+ 1377 8.1.0645 Coverity warns for possible use of NULL pointer
+ 2766 8.1.0646 cannot build with Ruby 2.6.0
+ 8079 8.1.0647 MS-Windows: balloon_show() does not handle wide characters
+ 6503 8.1.0648 custom operators can't act upon a forced motion
+ 3823 8.1.0649 setjmp() variables defined globally are used in one file
+ 3252 8.1.0650 command line argument -q [errorfile] is not tested
+ 2172 8.1.0651 :args \"foo works like :args without argument
+ 4416 8.1.0652 freeing memory for balloon eval too early
+ 1643 8.1.0653 arglist test fails on MS-windows
+ 12277 8.1.0654 when deleting a line text property flags are not adjusted
+ 12567 8.1.0655 when appending a line text property flags are not added
+ 3082 8.1.0656 trying to reconnect to X server may cause problems
+ 1663 8.1.0657 get error for using regexp recursively
+ 48845 8.1.0658 deleting signs and completion for :sign is insufficient
+ 2270 8.1.0659 (after 8.1.0658) build failure without the sign feature
+ 5923 8.1.0660 sign_unplace() may leak memory
+ 3091 8.1.0661 clipboard regexp might be used recursively
+ 1546 8.1.0662 needlessly searching for tilde in string
+ 2173 8.1.0663 text property display wrong when 'number' is set
+ 6447 8.1.0664 configure "fail-if-missing" does not apply to enable-gui
+ 7054 8.1.0665 text property display wrong when 'spell' is set
+ 1901 8.1.0666 (after 8.1.0665) text property test fails
+ 1436 8.1.0667 (after 8.1.0665) textprop test leaves file behind
+ 2380 8.1.0668 no test for overstrike mode in the command line
+ 21392 8.1.0669 the ex_sign() function is too long
+ 1326 8.1.0670 macro for popup menu width is unused
+ 6891 8.1.0671 cursor in the wrong column after auto-formatting
+ 3083 8.1.0672 the Lua interface doesn't know about v:null
+108706 8.1.0673 functionality for signs is spread out over several files
+ 1534 8.1.0674 leaking memory when updating a single line
+ 25118 8.1.0675 text property column in screen columns is not practical
+ 2375 8.1.0676 textprop screendump test fails
+ 1682 8.1.0677 look-behind match may use the wrong line number
+ 10343 8.1.0678 text properties as not adjusted for inserted text
+ 9236 8.1.0679 sign functions do not take buffer argument as documented
+ 2013 8.1.0680 not easy to see what features are unavailable
+ 4609 8.1.0681 text properties as not adjusted for deleted text
+ 8249 8.1.0682 text properties not adjusted when backspacing replaced text
+ 1569 8.1.0683 spell highlighting does not always end
+ 4482 8.1.0684 warnings from 64-bit compiler
+ 12362 8.1.0685 get_buf_tv() is named inconsistently
+ 3369 8.1.0686 when 'y' is in 'cpoptions' yanking for clipboard changes redo
+ 2550 8.1.0687 sentence text object in Visual mode is not tested
+ 25698 8.1.0688 text properties are not restored by undo
+ 2967 8.1.0689 undo with text properties not tested
+ 2881 8.1.0690 setline() and setbufline() do not clear text properties
+ 14795 8.1.0691 text properties are not adjusted for :substitute
+ 4753 8.1.0692 if a buffer was deleted a channel can't write to it
+ 2878 8.1.0693 channel test fails sometimes
+ 2871 8.1.0694 when using text props may free memory that is not allocated
+ 5480 8.1.0695 internal error when using :popup
+ 3829 8.1.0696 when test_edit fails 'insertmode' may not be reset
+ 25979 8.1.0697 ":sign place" requires the buffer argument
+ 3901 8.1.0698 clearing the window is used too often
+ 1529 8.1.0699 compiler warning for uninitialized variable
+ 1400 8.1.0700 using "gt" sometimes does not redraw a tab
+ 12245 8.1.0701 sign message not translated and inconsistent spacing
+ 4245 8.1.0702 ":sign place" only uses the current buffer
+ 2917 8.1.0703 compiler warnings with 64-bit compiler
+ 1805 8.1.0704 building with Ruby 2.6 gives compiler warnings
+ 2073 8.1.0705 :colorscheme isn't tested enough
+ 10220 8.1.0706 tabline is not always redrawn
+ 4523 8.1.0707 text property columns are not adjusted for changed indent
+ 5125 8.1.0708 third argument for redrawWinline() is always FALSE
+ 9751 8.1.0709 windows are updated for every added/deleted sign
+ 5478 8.1.0710 when using timers may wait for job exit quite long
+ 88709 8.1.0711 test files still use function!
+ 11228 8.1.0712 MS-Windows build instructions are a bit outdated
+2879878 8.1.0713 images for NSIS take up too much space
+ 3787 8.1.0714 unessesary #if lines in GTK code
+ 1748 8.1.0715 superfluous call to redraw_win_later()
+ 8517 8.1.0716 get warning message when 'completefunc' returns nothing
+ 22574 8.1.0717 there is no function for the ":sign jump" command
+ 2555 8.1.0718 a couple compiler warnings
+ 16561 8.1.0719 too many #ifdefs
+ 18271 8.1.0720 cannot easily change the current quickfx list index
+ 24146 8.1.0721 conceal mode is not sufficiently tested
+ 4462 8.1.0722 cannot build without the virtualedit feature
+ 25260 8.1.0723 cannot easily run specific test when in src/testdir
+ 2775 8.1.0724 build for MinGW fails
+ 5440 8.1.0725 conceal mode is not completely tested
+ 9198 8.1.0726 redrawing specifically for conceal feature
+ 1636 8.1.0727 compiler warning for sprintf() argument
+ 6031 8.1.0728 cannot avoid breaking after a single space.
+ 6207 8.1.0729 there is a SourcePre autocommand event but not a SourcePost
+ 1467 8.1.0730 compiler warning for get_buf_arg() unused
+ 7330 8.1.0731 JS encoding does not handle negative infinity
+ 1945 8.1.0732 cannot build without the eval feature
+ 15261 8.1.0733 too many #ifdefs for the multi-byte feature
+ 2368 8.1.0734 the hlsearch state is not stored in a session file
+ 93900 8.1.0735 cannot handle binary data
+ 21855 8.1.0736 code for Blob not sufficiently tested
+ 1536 8.1.0737 compiler warning for uninitialized variable
+ 2685 8.1.0738 using freed memory, for loop over blob leaks memory
+ 4939 8.1.0739 text objects in not sufficiently tested
+ 1627 8.1.0740 Tcl test fails
+ 7882 8.1.0741 viminfo with Blob is not tested
+ 5228 8.1.0742 not all Blob operations are tested
+695671 8.1.0743 giving error messages is not flexible
+ 6693 8.1.0744 compiler warnings for signed/unsigned strings
+ 2088 8.1.0745 compiler warnings for signed/unsigned string
+ 5138 8.1.0746 highlighting not updated with conceal and 'cursorline'
+ 4041 8.1.0747 map() with a bad expression doesn't give an error
+ 4379 8.1.0748 using sprintf() instead of semsg()
+ 1939 8.1.0749 error message contains garbage
+ 3401 8.1.0750 when the last sign is deleted the signcolumn may remain
+ 1646 8.1.0751 some regexp errors are not tested
+ 1527 8.1.0752 one more compiler warning for signed/unsigned string
+ 14694 8.1.0753 printf format not checked for semsg()
+ 2598 8.1.0754 preferred column is lost when setting 'cursorcolumn'
+ 2909 8.1.0755 error message for get() on a Blob with invalid index
+ 2516 8.1.0756 copy() does not make a copy of a Blob
+ 11449 8.1.0757 not enough documentation for Blobs
+ 1885 8.1.0758 font number is always one instead of the actual
+ 14841 8.1.0759 showing two characters for tab is limited
+ 7829 8.1.0760 no proper test for using 'termencoding'
+ 1656 8.1.0761 default value for brief_wait is wrong
+ 1629 8.1.0762 compiler warning
+146961 8.1.0763 nobody is using the Sun Workshop support
+ 2241 8.1.0764 list of distributed files is outdated
+ 5262 8.1.0765 string format of a Blob can't be parsed back
+ 24279 8.1.0766 various problems when using Vim on VMS
+ 5124 8.1.0767 when deleting lines at the bottom signs are misplaced
+ 8147 8.1.0768 updating completions may cause the popup menu to flicker
+ 3416 8.1.0769 :stop is covered in two tests
+ 6869 8.1.0770 inconsistent use of ELAPSED_FUNC
+ 7093 8.1.0771 some shell filetype patterns end in a star
+ 7973 8.1.0772 the sign_define_by_name() function is too long
+ 7896 8.1.0773 not all crypt code is tested
+ 7676 8.1.0774 VMS build is missing the blob file
+ 3420 8.1.0775 matching too many files as zsh
+ 2307 8.1.0776 Travis does not build a version without GUI on Linux
+ 5010 8.1.0777 Win32: using pipes for channel does not work well
+ 1656 8.1.0778 terminal test fails on MS-Windows
+209043 8.1.0779 argument for message functions is inconsistent
+ 1604 8.1.0780 terminal test fails on Mac
+ 1584 8.1.0781 build error when using if_xcmdsrv.c
+ 2424 8.1.0782 Win32: cursor blinks when Vim is not active
+ 2756 8.1.0783 compiler warning for signed/unsigned
+ 3266 8.1.0784 messy indent in if statement
+ 23781 8.1.0785 depending on the configuration some functions are unused
+ 4406 8.1.0786 ml_get error when updating the status line
+ 3765 8.1.0787 compiler warning for unused function
+ 6190 8.1.0788 cannot build with tiny features
+ 2277 8.1.0789 sourcing a session sets v:errmsg
+ 2320 8.1.0790 code for creating tabpages in session is too complex
+ 2441 8.1.0791 a few compiler warnings on VMS
+ 2632 8.1.0792 bad display if opening cmdline window from Insert completion
+ 13053 8.1.0793 incorrect error messages for functions that take a Blob
+ 2119 8.1.0794 white space before " -Ntabmove" causes problems
+ 1531 8.1.0795 cannot build without popup menu
+ 2678 8.1.0796 MS-Windows 7: problem with named pipe on channel
+ 3399 8.1.0797 error E898 is used twice
+ 5792 8.1.0798 changing a blob while iterating over it works strangely
+ 3673 8.1.0799 calling deleted function; test doesn't work on Mac
+ 2461 8.1.0800 may use a lot of memory when a function refers itself
+ 1774 8.1.0801 MinGW: no hint that tests fail because of small terminal
+ 4055 8.1.0802 negative index doesn't work for Blob
+ 2695 8.1.0803 session file has problem with single quote in file name
+ 2498 8.1.0804 crash when setting v:errmsg to empty list
+169444 8.1.0805 too many #ifdefs
+168573 8.1.0806 too many #ifdefs
+ 1537 8.1.0807 session test fails on MS-Windows
+ 1712 8.1.0808 MS-Windows: build error with GUI
+130242 8.1.0809 too many #ifdefs
+129728 8.1.0810 too many #ifdefs
+ 52979 8.1.0811 too many #ifdefs
+ 5050 8.1.0812 Unicode 16 feature is not useful
+ 3806 8.1.0813 FileChangedShell not sufficiently tested
+ 7655 8.1.0814 :mksession cannot handle a very long 'runtimepath'
+ 13274 8.1.0815 dialog for file changed outside of Vim not tested
+ 1626 8.1.0816 test for 'runtimepath' in session fails on MS-Windows
+ 2659 8.1.0817 ":=" command is not tested
+ 5081 8.1.0818 MS-Windows: cannot send large data with ch_sendraw()
+ 5999 8.1.0819 a failed assert with a long string is hard to read
+ 11935 8.1.0820 test for sending large data over channel sometimes fails
+ 7589 8.1.0821 xxd "usage" output and other arguments not tested
+ 4371 8.1.0822 peeking and flushing output slows down execution
+ 2885 8.1.0823 not sufficient testing of xxd
+ 16554 8.1.0824 SunOS/Solaris has a problem with ttys
+160801 8.1.0825 code for autocommands is mixed with file I/O code
+ 79548 8.1.0826 too many #ifdefs
+ 2331 8.1.0827 missing dependency in Makefile
+ 1764 8.1.0828 still using FEAT_VIRTUALEDIT
+ 3964 8.1.0829 when 'hidden' is set session creates extra buffers
+ 1667 8.1.0830 test leaves directory behind on MS-Windows
+ 3435 8.1.0831 xxd test fails if man page has dos fileformat
+ 3286 8.1.0832 confirm() is not tested
+ 1419 8.1.0833 memory leak when jumps output is filtered
+ 19328 8.1.0834 GUI may wait too long before dealing with messages
+ 1717 8.1.0835 GUI build fails on MS-Windows
+ 2075 8.1.0836 user completion test can fail on MS-Windows
+ 5401 8.1.0837 timer interrupting cursorhold and mapping not tested
+ 1877 8.1.0838 compiler warning for type conversion
+ 1660 8.1.0839 when using VTP wrong colors after a color scheme change
+ 6189 8.1.0840 getchar(0) never returns a character in the terminal
+ 2400 8.1.0841 travis config to get Lua on MacOS is too complicated
+ 2229 8.1.0842 getchar_zero test fails on MS-Windows
+ 2663 8.1.0843 memory leak when running "make test_cd"
+ 2082 8.1.0844 when timer fails test will hang forever
+ 9689 8.1.0845 having job_status() free the job causes problems
+ 10132 8.1.0846 not easy to recognize the system Vim runs on
+ 2469 8.1.0847 may use terminal after it was cleaned up
+ 1665 8.1.0848 cannot build with Ruby 1.8
+ 3979 8.1.0849 cursorline highlight is not always updated
+ 4047 8.1.0850 test for 'backupskip' is not correct
+ 4451 8.1.0851 feedkeys() with "L" does not work properly
+ 8567 8.1.0852 findfile() and finddir() are not properly tested
+ 2021 8.1.0853 options test fails on Mac
+ 7452 8.1.0854 xxd does not work with more than 32 bit addresses
+ 1878 8.1.0855 cannot build xxd with MSVC 10
+ 3082 8.1.0856 when scrolling a window the cursorline is not always updated
+263547 8.1.0857 indent functionality is not separated
+ 5294 8.1.0858 'indentkeys' and 'cinkeys' defaults are different
+ 4559 8.1.0859 "%v" in 'errorformat' does handle multi-byte characters
+ 1577 8.1.0860 debug lines left in the code
+ 1546 8.1.0861 building with MinGW and static libc doesn't work
+ 10042 8.1.0862 no verbose version of character classes
+ 5849 8.1.0863 cannot see what signal caused a job to end
+ 37593 8.1.0864 cannot have a local value for 'scrolloff' and 'sidescrolloff'
+ 2879 8.1.0865 when 'listchars' only contains "nbsp:X" it does not work
+ 9652 8.1.0866 build file dependencies are outdated
+ 4845 8.1.0867 cannot build Python interface with Python 2.4
+ 1848 8.1.0868 crash if triggering garbage collector after a function call
+ 18955 8.1.0869 Travis CI script is too complicated
+ 47967 8.1.0870 Vim doesn't use the new ConPTY support in Windows 10
+ 1446 8.1.0871 build error when building with Ruby 2.6.0
+ 1683 8.1.0872 confusing condition
+ 1593 8.1.0873 list if distributed files does not include matchit autoload
+158253 8.1.0874 using old style comments in new file
+ 3442 8.1.0875 not all errors of marks and findfile()/finddir() are tested
+ 1769 8.1.0878 test for has('bsd') fails on some BSD systems
+ 1665 8.1.0884 double check for bsd systems
+ 2829 8.1.0948 when built without +eval "Vim --clean" produces errors
+ 2627 8.1.1046 the "secure" variable is used inconsistently
+ 2089 8.1.1365 source command doesn't check for the sandbox
diff --git a/debian/clean b/debian/clean
new file mode 100644
index 0000000..2ecb7b1
--- /dev/null
+++ b/debian/clean
@@ -0,0 +1,13 @@
+debian/helpztags.1
+debian/policy/vim-policy.html/
+debian/policy/vim-policy.txt
+debian/tmplogo.*
+runtime/doc/*.html
+runtime/doc/*.log
+runtime/doc/doctags
+runtime/doc/tags
+runtime/doc/tags.ref
+src/auto/config.h
+src/auto/config.mk
+src/pixmaps
+src/runtime
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..b4de394
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+11
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..7e7921e
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,286 @@
+Source: vim
+Section: editors
+Priority: optional
+Maintainer: Debian Vim Maintainers <team+vim@tracker.debian.org>
+Uploaders:
+ James McCoy <jamessan@debian.org>,
+Standards-Version: 4.3.0
+Rules-Requires-Root: no
+Build-Depends:
+ autoconf,
+ cscope <!nocheck>,
+ debhelper (>= 11~),
+# SOURCE_DATE_EPOCH provided by pkg-info.mk
+ dpkg-dev (>= 1.18.8),
+ libacl1-dev,
+ libgpmg1-dev [linux-any],
+ libgtk-3-dev,
+ libgtk2.0-dev,
+ liblua5.2-dev,
+ libperl-dev,
+ libselinux1-dev [linux-any],
+ libncurses-dev,
+# Needed to run libvterm's tests
+ libtool-bin <!nocheck>,
+ libxaw7-dev,
+ libxpm-dev,
+ libxt-dev,
+ lua5.2,
+ python3-dev,
+ ruby,
+ ruby-dev,
+ tcl-dev,
+Build-Conflicts:
+ autoconf2.13,
+Build-Depends-Indep:
+ docbook-utils,
+ docbook-xml,
+ ghostscript,
+ pdf2svg,
+Vcs-Git: https://salsa.debian.org/vim-team/vim.git
+Vcs-Browser: https://salsa.debian.org/vim-team/vim
+Homepage: https://www.vim.org/
+
+Package: vim-common
+Priority: important
+Architecture: all
+Multi-Arch: foreign
+Depends:
+ xxd,
+ ${misc:Depends},
+Recommends:
+ vim | vim-gtk | vim-gtk3 | vim-athena | vim-nox | vim-tiny,
+Description: Vi IMproved - Common files
+ Vim is an almost compatible version of the UNIX editor Vi.
+ .
+ This package contains files shared by all non GUI-enabled vim variants
+ available in Debian. Examples of such shared files are: manpages and
+ configuration files.
+
+Package: vim-gui-common
+Architecture: all
+Multi-Arch: foreign
+Recommends:
+ vim-gtk | vim-gtk3 | vim-athena,
+Depends:
+ ${misc:Depends},
+Description: Vi IMproved - Common GUI files
+ Vim is an almost compatible version of the UNIX editor Vi.
+ .
+ This package contains files shared by all GUI-enabled vim
+ variants available in Debian. Examples of such shared files are:
+ gvimtutor, icons, and desktop environments settings.
+
+Package: vim-runtime
+Architecture: all
+Multi-Arch: foreign
+Depends:
+ ${misc:Depends},
+Breaks:
+ vim-tiny (<< ${source:Version}),
+Recommends:
+ vim | vim-gtk | vim-gtk3 | vim-athena | vim-nox | vim-tiny,
+Enhances:
+ vim-tiny,
+Description: Vi IMproved - Runtime files
+ Vim is an almost compatible version of the UNIX editor Vi.
+ .
+ This package contains vimtutor and the architecture independent runtime
+ files, used, if available, by all vim variants available in Debian.
+ Example of such runtime files are: online documentation, rules for
+ language-specific syntax highlighting and indentation, color schemes,
+ and standard plugins.
+
+Package: vim-doc
+Section: doc
+Architecture: all
+Multi-Arch: foreign
+Depends:
+ ${misc:Depends},
+Description: Vi IMproved - HTML documentation
+ Vim is an almost compatible version of the UNIX editor Vi.
+ .
+ This package contains the HTML version of the online documentation. It is
+ built from the runtime/doc directory of the source tree.
+
+Package: vim-tiny
+Priority: important
+Architecture: any
+Depends:
+ vim-common (= ${source:Version}),
+ ${misc:Depends},
+ ${shlibs:Depends},
+Suggests:
+ indent,
+Provides:
+ editor,
+Description: Vi IMproved - enhanced vi editor - compact version
+ Vim is an almost compatible version of the UNIX editor Vi.
+ .
+ This package contains a minimal version of Vim compiled with no GUI and
+ a small subset of features. This package's sole purpose is to provide
+ the vi binary for base installations.
+ .
+ If a vim binary is wanted, try one of the following more featureful
+ packages: vim, vim-nox, vim-athena, vim-gtk, or vim-gtk3.
+
+Package: vim
+Architecture: any
+Depends:
+ vim-common (= ${source:Version}),
+ vim-runtime (= ${source:Version}),
+ ${misc:Depends},
+ ${shlibs:Depends},
+Suggests:
+ ctags,
+ vim-doc,
+ vim-scripts,
+Provides:
+ editor,
+Description: Vi IMproved - enhanced vi editor
+ Vim is an almost compatible version of the UNIX editor Vi.
+ .
+ Many new features have been added: multi level undo, syntax
+ highlighting, command line history, on-line help, filename
+ completion, block operations, folding, Unicode support, etc.
+ .
+ This package contains a version of vim compiled with a rather
+ standard set of features. This package does not provide a GUI
+ version of Vim. See the other vim-* packages if you need more
+ (or less).
+
+Package: vim-gtk
+Architecture: any
+Depends:
+ vim-common (= ${source:Version}),
+ vim-gui-common (= ${source:Version}),
+ vim-runtime (= ${source:Version}),
+ ${misc:Depends},
+ ${shlibs:Depends},
+Suggests:
+ cscope,
+ fonts-dejavu,
+ gnome-icon-theme,
+ vim-doc,
+Provides:
+ editor,
+ gvim,
+ vim,
+ vim-lua,
+ vim-perl,
+ vim-python3,
+ vim-ruby,
+ vim-tcl,
+Description: Vi IMproved - enhanced vi editor - with GTK2 GUI
+ Vim is an almost compatible version of the UNIX editor Vi.
+ .
+ Many new features have been added: multi level undo, syntax
+ highlighting, command line history, on-line help, filename
+ completion, block operations, folding, Unicode support, etc.
+ .
+ This package contains a version of vim compiled with a GTK2 GUI
+ and support for scripting with Lua, Perl, Python 3, Ruby, and Tcl.
+
+Package: vim-gtk3
+Architecture: any
+Depends:
+ vim-common (= ${source:Version}),
+ vim-gui-common (= ${source:Version}),
+ vim-runtime (= ${source:Version}),
+ ${misc:Depends},
+ ${shlibs:Depends},
+Suggests:
+ cscope,
+ fonts-dejavu,
+ gnome-icon-theme,
+ vim-doc,
+Provides:
+ editor,
+ gvim,
+ vim,
+ vim-lua,
+ vim-perl,
+ vim-python3,
+ ${vim:Ruby-Provides},
+ vim-tcl,
+Description: Vi IMproved - enhanced vi editor - with GTK3 GUI
+ Vim is an almost compatible version of the UNIX editor Vi.
+ .
+ Many new features have been added: multi level undo, syntax
+ highlighting, command line history, on-line help, filename
+ completion, block operations, folding, Unicode support, etc.
+ .
+ This package contains a version of vim compiled with a GTK3 GUI
+ and support for scripting with Lua, Perl, Python 3,${vim:Ruby-Desc} and Tcl.
+
+Package: vim-nox
+Architecture: any
+Depends:
+ vim-common (= ${source:Version}),
+ vim-runtime (= ${source:Version}),
+ ${misc:Depends},
+ ${shlibs:Depends},
+Suggests:
+ cscope,
+ vim-doc,
+Provides:
+ editor,
+ vim,
+ vim-lua,
+ vim-perl,
+ vim-python3,
+ vim-ruby,
+ vim-tcl,
+Description: Vi IMproved - enhanced vi editor - with scripting languages support
+ Vim is an almost compatible version of the UNIX editor Vi.
+ .
+ Many new features have been added: multi level undo, syntax
+ highlighting, command line history, on-line help, filename
+ completion, block operations, folding, Unicode support, etc.
+ .
+ This package contains a version of vim compiled with support for
+ scripting with Lua, Perl, Python 3, Ruby, and Tcl but no GUI.
+
+Package: vim-athena
+Architecture: any
+Depends:
+ vim-common (= ${source:Version}),
+ vim-gui-common (= ${source:Version}),
+ vim-runtime (= ${source:Version}),
+ ${misc:Depends},
+ ${shlibs:Depends},
+Suggests:
+ cscope,
+ vim-doc,
+Provides:
+ editor,
+ gvim,
+ vim,
+ vim-lua,
+ vim-perl,
+ vim-python3,
+ vim-ruby,
+ vim-tcl,
+Description: Vi IMproved - enhanced vi editor - with Athena GUI
+ Vim is an almost compatible version of the UNIX editor Vi.
+ .
+ Many new features have been added: multi level undo, syntax
+ highlighting, command line history, on-line help, filename
+ completion, block operations, folding, Unicode support, etc.
+ .
+ This package contains a version of vim compiled with a Athena GUI
+ and support for scripting with Lua, Perl, Python 3, Ruby, and Tcl.
+
+Package: xxd
+Architecture: any
+Multi-Arch: foreign
+Depends:
+ ${misc:Depends},
+ ${shlibs:Depends},
+Breaks:
+ vim-common (<< 2:7.4.2347-1~),
+Replaces:
+ vim-common (<< 2:7.4.2347-1~),
+Description: tool to make (or reverse) a hex dump
+ xxd creates a hex dump of a given file or standard input. It can also convert
+ a hex dump back to its original binary form.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..3d1f91a
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,586 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: vim
+Source: https://github.com/vim/vim
+
+Files: *
+Copyright: 2001-2017 Bram Moolenaar <Bram@vim.org>
+ 2006 Benji Fisher <benji@member.ams.org>
+ 1999-2016 Charles E. Campbell, Jr. <drchip@campbellfamily.biz>
+ 2003 Fred Barnes
+ 2003 Mario Schweigler
+ 2004-2008 Michael Geddes
+ 2006 Martin Krischik
+ 2015 Christian Brabandt
+ 2014 David Necas (Yeti)
+ 2009-2013 Steven Oliver
+ 2012 Hong Xu
+ 2001-2016 MURAOKA Taro <koron.kaoriya@gmail.com>
+ 2001 Bohdan Vlasyuk <bohdan@vstu.edu.ua>
+ 2003-2017 Ernest Adrogué <eadrogue@gmx.net>
+ 2005,2006,2008,2010 Kevin Patrick Scannell <kscanne@gmail.com>
+ 1997 Olaf Seibert
+ 1997 Heiko Erhardt
+ 2002 E. I. DuPont de Nemours and Company, Inc
+ Pablo Ariel Kohan
+ 2017 Eugene Ciurana
+ 2017 Ken Takata
+License: Vim
+
+Files: runtime/doc/*
+Copyright: 1988-2003 Bram Moolenaar <Bram@vim.org>
+License: OPL-1+
+Comment: No license options are exercised. See https://bugs.debian.org/384019
+ for discussions confirming DFSG-ness of this license when no options are
+ exercised.
+
+Files: runtime/syntax/cmake.vim
+ runtime/syntax/tpp.vim
+ runtime/indent/cmake.vim
+Copyright: Andy Cedilnik <andy.cedilnik@kitware.com>
+ Karthik Krishnan <kartik.krishnan@kitware.com>
+ Dimitri Merejkowsky <d.merej@gmail.com>
+ Gerfried Fuchs <alfie@ist.org>
+License: BSD-3-clause
+
+Files: runtime/ftplugin/wast.vim
+ runtime/indent/wast.vim
+ runtime/syntax/json.vim
+ runtime/syntax/proto.vim
+ runtime/syntax/wast.vim
+Copyright: 2013, Jeroen Ruigrok van der Werven, Eli Parra
+ 2008 Google Inc.
+ 2016 rhysd
+License: Expat
+
+Files: runtime/syntax/tmux.vim
+Copyright: Eric Pruitt <eric.pruitt@gmail.com>
+License: BSD-2-clause
+
+Files: runtime/syntax/rust.vim
+ runtime/autoload/rust.vim
+ runtime/autoload/rustfmt.vim
+ runtime/ftplugin/rust.vim
+ runtime/indent/rust.vim
+ runtime/compiler/cargo.vim
+Copyright: 2015 The Rust Project Developers
+License: Apache or Expat
+
+Files: runtime/tools/efm_perl.pl
+Copyright: 2001 Joerg Ziefle <joerg.ziefle@gmx.de>
+License: GPL-1+ or Artistic-1
+
+Files: src/libvterm/*
+Copyright: 2008 Paul Evans <leonerd@leonerd.org.uk>
+License: Expat
+
+Files: src/regexp.c
+Copyright: 1986 University of Toronto
+License: Vim-Regexp
+
+Files: src/if_xcmdsrv.c
+Copyright: Copyright (c) 1989-1993 The Regents of the University of California.
+License: UC
+
+Files: src/tee/tee.c
+Copyright: 1996, Paul Slootman
+License: public-domain
+
+Files: src/xxd/*
+Copyright: 1990-1998 by Juergen Weigert (jnweiger@informatik.uni-erlangen.de)
+License: Expat or GPL-2
+
+Files: src/gui_at_fs.c
+Copyright: 1989 Software Research Associates, Inc., Tokyo, Japan
+License: SRA
+
+Files: src/gui_at_sb.* src/install-sh
+Copyright: 1987, 1988, 1994 X Consortium
+License: X11
+
+Files: src/gui_gtk_vms.h
+Copyright: 2000 Compaq Computer Corporation
+License: Compaq
+
+Files: src/pty.c
+Copyright: 1993 Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de)
+ 1993 Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de)
+ 1987 Oliver Laumann
+License: GPL-2+
+
+Files: src/iscygpty.*
+Copyright: 2015-2017 K.Takata
+License: Expat or Vim
+
+Files: src/xpm/*
+Copyright: 1989-95 GROUPE BULL
+License: XPM
+
+Files: src/xdiff/*
+Copyright: 2003-2016 Davide Libenzi, Johannes E. Schindelin
+License: LGPL-2.1+
+
+Files: src/xdiff/xhistogram.c
+Copyright: 2010 Google Inc. and other copyright owners as documented in JGit's IP log
+License: EDL-1
+
+License: Vim
+ I) There are no restrictions on distributing unmodified copies of Vim except
+ that they must include this license text. You can also distribute
+ unmodified parts of Vim, likewise unrestricted except that they must
+ include this license text. You are also allowed to include executables
+ that you made from the unmodified Vim sources, plus your own usage
+ examples and Vim scripts.
+ .
+ II) It is allowed to distribute a modified (or extended) version of Vim,
+ including executables and/or source code, when the following four
+ conditions are met:
+ 1) This license text must be included unmodified.
+ 2) The modified Vim must be distributed in one of the following five ways:
+ a) If you make changes to Vim yourself, you must clearly describe in
+ the distribution how to contact you. When the maintainer asks you
+ (in any way) for a copy of the modified Vim you distributed, you
+ must make your changes, including source code, available to the
+ maintainer without fee. The maintainer reserves the right to
+ include your changes in the official version of Vim. What the
+ maintainer will do with your changes and under what license they
+ will be distributed is negotiable. If there has been no negotiation
+ then this license, or a later version, also applies to your changes.
+ The current maintainer is Bram Moolenaar <Bram@vim.org>. If this
+ changes it will be announced in appropriate places (most likely
+ vim.sf.net, www.vim.org and/or comp.editors). When it is completely
+ impossible to contact the maintainer, the obligation to send him
+ your changes ceases. Once the maintainer has confirmed that he has
+ received your changes they will not have to be sent again.
+ b) If you have received a modified Vim that was distributed as
+ mentioned under a) you are allowed to further distribute it
+ unmodified, as mentioned at I). If you make additional changes the
+ text under a) applies to those changes.
+ c) Provide all the changes, including source code, with every copy of
+ the modified Vim you distribute. This may be done in the form of a
+ context diff. You can choose what license to use for new code you
+ add. The changes and their license must not restrict others from
+ making their own changes to the official version of Vim.
+ d) When you have a modified Vim which includes changes as mentioned
+ under c), you can distribute it without the source code for the
+ changes if the following three conditions are met:
+ - The license that applies to the changes permits you to distribute
+ the changes to the Vim maintainer without fee or restriction, and
+ permits the Vim maintainer to include the changes in the official
+ version of Vim without fee or restriction.
+ - You keep the changes for at least three years after last
+ distributing the corresponding modified Vim. When the maintainer
+ or someone who you distributed the modified Vim to asks you (in
+ any way) for the changes within this period, you must make them
+ available to him.
+ - You clearly describe in the distribution how to contact you. This
+ contact information must remain valid for at least three years
+ after last distributing the corresponding modified Vim, or as long
+ as possible.
+ e) When the GNU General Public License (GPL) applies to the changes,
+ you can distribute the modified Vim under the GNU GPL version 2 or
+ any later version.
+ 3) A message must be added, at least in the output of the ":version"
+ command and in the intro screen, such that the user of the modified Vim
+ is able to see that it was modified. When distributing as mentioned
+ under 2)e) adding the message is only required for as far as this does
+ not conflict with the license used for the changes.
+ 4) The contact information as required under 2)a) and 2)d) must not be
+ removed or changed, except that the person himself can make
+ corrections.
+ .
+ III) If you distribute a modified version of Vim, you are encouraged to use
+ the Vim license for your changes and make them available to the
+ maintainer, including the source code. The preferred way to do this is
+ by e-mail or by uploading the files to a server and e-mailing the URL.
+ If the number of changes is small (e.g., a modified Makefile) e-mailing a
+ context diff will do. The e-mail address to be used is
+ <maintainer@vim.org>
+ .
+ IV) It is not allowed to remove this license from the distribution of the Vim
+ sources, parts of it or from a modified version. You may use this
+ license for previous Vim releases instead of the license that they came
+ with, at your option.
+
+License: OPL-1+
+ I. REQUIREMENTS ON BOTH UNMODIFIED AND MODIFIED VERSIONS
+ .
+ The Open Publication works may be reproduced and distributed in whole or in
+ part, in any medium physical or electronic, provided that the terms of this
+ license are adhered to, and that this license or an incorporation of it by
+ reference (with any options elected by the author(s) and/or publisher) is
+ displayed in the reproduction.
+ .
+ Proper form for an incorporation by reference is as follows:
+ .
+ Copyright (c) <year> by <author's name or designee>. This material may be
+ distributed only subject to the terms and conditions set forth in the Open
+ Publication License, vX.Y or later (the latest version is presently
+ available at http://www.opencontent.org/openpub/).
+ .
+ The reference must be immediately followed with any options elected by the
+ author(s) and/or publisher of the document (see section VI).
+ .
+ Commercial redistribution of Open Publication-licensed material is permitted.
+ .
+ Any publication in standard (paper) book form shall require the citation of the
+ original publisher and author. The publisher and author's names shall appear on
+ all outer surfaces of the book. On all outer surfaces of the book the original
+ publisher's name shall be as large as the title of the work and cited as
+ possessive with respect to the title.
+ .
+ .
+ II. COPYRIGHT
+ .
+ The copyright to each Open Publication is owned by its author(s) or designee.
+ .
+ .
+ III. SCOPE OF LICENSE
+ .
+ The following license terms apply to all Open Publication works, unless
+ otherwise explicitly stated in the document.
+ .
+ Mere aggregation of Open Publication works or a portion of an Open Publication
+ work with other works or programs on the same media shall not cause this
+ license to apply to those other works. The aggregate work shall contain a
+ notice specifying the inclusion of the Open Publication material and
+ appropriate copyright notice.
+ .
+ SEVERABILITY. If any part of this license is found to be unenforceable in any
+ jurisdiction, the remaining portions of the license remain in force.
+ .
+ NO WARRANTY. Open Publication works are licensed and provided "as is" without
+ warranty of any kind, express or implied, including, but not limited to, the
+ implied warranties of merchantability and fitness for a particular purpose or a
+ warranty of non-infringement.
+ .
+ .
+ IV. REQUIREMENTS ON MODIFIED WORKS
+ .
+ All modified versions of documents covered by this license, including
+ translations, anthologies, compilations and partial documents, must meet the
+ following requirements:
+ .
+ 1. The modified version must be labeled as such.
+ 2. The person making the modifications must be identified and the
+ modifications dated.
+ 3. Acknowledgement of the original author and publisher if applicable must
+ be retained according to normal academic citation practices.
+ 4. The location of the original unmodified document must be identified.
+ 5. The original author's (or authors') name(s) may not be used to assert or
+ imply endorsement of the resulting document without the original author's
+ (or authors') permission.
+ .
+ .
+ V. GOOD-PRACTICE RECOMMENDATIONS
+ .
+ In addition to the requirements of this license, it is requested from and
+ strongly recommended of redistributors that:
+ .
+ 1. If you are distributing Open Publication works on hardcopy or CD-ROM, you
+ provide email notification to the authors of your intent to redistribute
+ at least thirty days before your manuscript or media freeze, to give the
+ authors time to provide updated documents. This notification should
+ describe modifications, if any, made to the document.
+ 2. All substantive modifications (including deletions) be either clearly
+ marked up in the document or else described in an attachment to the
+ document.
+ 3. Finally, while it is not mandatory under this license, it is considered
+ good form to offer a free copy of any hardcopy and CD-ROM expression of
+ an Open Publication-licensed work to its author(s).
+ .
+ .
+ VI. LICENSE OPTIONS
+ .
+ The author(s) and/or publisher of an Open Publication-licensed document may
+ elect certain options by appending language to the reference to or copy of the
+ license. These options are considered part of the license instance and must be
+ included with the license (or its incorporation by reference) in derived works.
+ .
+ A. To prohibit distribution of substantively modified versions without the
+ explicit permission of the author(s). "Substantive modification" is defined as
+ a change to the semantic content of the document, and excludes mere changes in
+ format or typographical corrections.
+ .
+ To accomplish this, add the phrase `Distribution of substantively modified
+ versions of this document is prohibited without the explicit permission of the
+ copyright holder.' to the license reference or copy.
+ .
+ B. To prohibit any publication of this work or derivative works in whole or in
+ part in standard (paper) book form for commercial purposes is prohibited unless
+ prior permission is obtained from the copyright holder.
+ .
+ To accomplish this, add the phrase 'Distribution of the work or derivative of
+ the work in any standard (paper) book form is prohibited unless prior
+ permission is obtained from the copyright holder.' to the license reference or
+ copy.
+
+License: GPL-2
+ On Debian systems, the complete text of the GPL version 2 license can be
+ found in `/usr/share/common-licenses/GPL-2'.
+
+License: GPL-2+
+ On Debian systems, the complete text of the GPL version 2 license can be
+ found in `/usr/share/common-licenses/GPL-2'.
+
+License: GPL-1+
+ On Debian systems, the complete text of the GPL version 1 license can be
+ found in `/usr/share/common-licenses/GPL-1'.
+
+License: LGPL-2.1+
+ On Debian systems, the complete text of the LGPL version 2 license can be
+ found in `/usr/share/common-licenses/LGPL-2.1'.
+
+License: Artistic-1
+ On Debian systems, the complete text of the Artistic version 1 license
+ can be found in `/usr/share/common-licenses/Artistic'.
+
+License: Vim-Regexp
+ Permission is granted to anyone to use this software for any
+ purpose on any computer system, and to redistribute it freely,
+ subject to the following restrictions:
+ .
+ 1. The author is not responsible for the consequences of use of
+ this software, no matter how awful, even if they arise
+ from defects in it.
+ .
+ 2. The origin of this software must not be misrepresented, either
+ by explicit claim or by omission.
+ .
+ 3. Altered versions must be plainly marked as such, and must not
+ be misrepresented as being the original software.
+
+License: Apache
+ On Debian systems, the complete text of the Apache version 2.0 license can be
+ found in `/usr/share/common-licenses/Apache-2.0'.
+
+License: Expat
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to
+ deal in the Software without restriction, including without limitation the
+ rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+ .
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ SOFTWARE.
+
+License: SRA
+ Permission to use, copy, modify, and distribute this software and its
+ documentation for any purpose and without fee is hereby granted, provided
+ that the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of Software Research Associates not be used
+ in advertising or publicity pertaining to distribution of the software
+ without specific, written prior permission. Software Research Associates
+ makes no representations about the suitability of this software for any
+ purpose. It is provided "as is" without express or implied warranty.
+ .
+ SOFTWARE RESEARCH ASSOCIATES DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
+ SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS,
+ IN NO EVENT SHALL SOFTWARE RESEARCH ASSOCIATES BE LIABLE FOR ANY SPECIAL,
+ INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+
+License: X11
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+ .
+ The above copyright notice and this permission notice shall be included in all
+ copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE X
+ CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ .
+ Except as contained in this notice, the name of the X Consortium shall not be
+ used in advertising or otherwise to promote the sale, use or other dealings in
+ this Software without prior written authorization from the X Consortium.
+
+License: UC
+ Permission is hereby granted, without written agreement and without
+ license or royalty fees, to use, copy, modify, and distribute this
+ software and its documentation for any purpose, provided that the
+ above copyright notice and the following two paragraphs appear in
+ all copies of this software.
+ .
+ IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
+ DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
+ OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF
+ CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ .
+ THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
+ ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO
+ PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+License: public-domain
+ This source code is released into the public domain. It is provided on an
+ as-is basis and no responsibility is accepted for its failure to perform
+ as expected. It is worth at least as much as you paid for it!
+
+License: Compaq
+ 1. GRANT
+ Compaq Computer Corporation ("COMPAQ") grants you the right to use,
+ modify, and distribute the following source code (the "Software")
+ on any number of computers. You may use the Software as part of
+ creating a software program or product intended for commercial or
+ non-commercial distribution in machine-readable source code, binary,
+ or executable formats. You may distribute the Software as
+ machine-readable source code provided this license is not removed
+ from the Software and any modifications are conspicuously indicated.
+ 2. COPYRIGHT
+ The Software is owned by COMPAQ and its suppliers and is protected by
+ copyright laws and international treaties. Your use of the Software
+ and associated documentation is subject to the applicable copyright
+ laws and the express rights and restrictions of these terms.
+ 3. RESTRICTIONS
+ You may not remove any copyright, trademark, or other proprietary
+ notices from the Software or the associated
+ You are responsible for compliance with all applicable export or
+ re-export control laws and regulations if you export the Software.
+ This license is governed by and is to be construed under the laws
+ of the State of Texas.
+ .
+ DISCLAIMER OF WARRANTY AND LIABILITY
+ Compaq shall not be liable for technical or editorial errors or
+ omissions contained herein. The information contained herein is
+ subject to change without notice.
+ .
+ THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.
+ THE ENTIRE RISK ARISING OUT OF THE USE OF THIS SOFTWARE REMAINS WITH
+ RECIPIENT. IN NO EVENT SHALL COMPAQ BE LIABLE FOR ANY DIRECT,
+ CONSEQUENTIAL, INCIDENTAL, SPECIAL, PUNITIVE OR OTHER DAMAGES
+ WHATSOEVER (INCLUDING WITHOUT LIMITATION DAMAGES FOR LOSS OF BUSINESS
+ PROFITS, BUSINESS INTERRUPTION, OR LOSS OF BUSINESS INFORMATION),
+ EVEN IF COMPAQ HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
+ AND WHETHER IN AN ACTION OF CONTRACT OR TORT INCLUDING NEGLIGENCE.
+
+License: XPM
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to
+ deal in the Software without restriction, including without limitation the
+ rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+ .
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ GROUPE BULL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ .
+ Except as contained in this notice, the name of GROUPE BULL shall not be
+ used in advertising or otherwise to promote the sale, use or other dealings
+ in this Software without prior written authorization from GROUPE BULL.
+
+License: BSD-3-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ .
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ .
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ .
+ * Neither the name of Kitware, Inc. nor the names of Contributors
+ may be used to endorse or promote products derived from this
+ software without specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License: BSD-2-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+ .
+ 1. Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+ .
+ 2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License: EDL-1
+ This program and the accompanying materials are made available
+ under the terms of the Eclipse Distribution License v1.0 which
+ accompanies this distribution, is reproduced below, and is
+ available at http://www.eclipse.org/org/documents/edl-v10.php
+ .
+ All rights reserved.
+ .
+ Redistribution and use in source and binary forms, with or
+ without modification, are permitted provided that the following
+ conditions are met:
+ .
+ - Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ .
+ - Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+ .
+ - Neither the name of the Eclipse Foundation, Inc. nor the
+ names of its contributors may be used to endorse or promote
+ products derived from this software without specific prior
+ written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/debian/gbp.conf b/debian/gbp.conf
new file mode 100644
index 0000000..e24bdf2
--- /dev/null
+++ b/debian/gbp.conf
@@ -0,0 +1,8 @@
+[DEFAULT]
+upstream-tag = v%(version)s
+debian-tag = debian/%(version)s
+debian-branch = debian/buster
+
+[pq]
+patch-numbers = False
+drop = True
diff --git a/debian/helpztags b/debian/helpztags
new file mode 100755
index 0000000..425d37e
--- /dev/null
+++ b/debian/helpztags
@@ -0,0 +1,92 @@
+#!/usr/bin/perl
+#
+# helpztags generates tags for Vim helpfiles, for both .txt and .txt.gz files
+# Author: Jakub Turski <yacoob@chruptak.plukwa.net>
+# Artur R. Czechowski <arturcz@hell.pl>
+# Version: 0.4
+
+# Please use following command for generate a manual file:
+# pod2man -c "User Commands" -s 1 -q none -r "vim 6.2" -d "September 2003" helpztags helpztags.1
+
+=head1 NAME
+
+helpztags - generate the help tags file for directory
+
+=head1 SYNOPSIS
+
+helpztags F<DIRS>...
+
+=head1 DESCRIPTION
+
+F<helpztags> scans given directories for F<*.txt> and F<*.txt.gz> files.
+Each file is scanned for tags used in F<vim> help files. For each directory
+proper F<tags> file is generated.
+
+There should be at least one directory given. In other case program exits
+with error.
+
+=head1 AUTHORS
+
+Written by Jakub Turski and Artur R. Czechowski based on idea
+contained in C<vim> sources for its C<:helptags command>.
+
+=head1 REPORTING BUGS
+
+Please use a Debian C<reportbug> command or procedure described at
+C<http://bugs.debian.org/>.
+
+=head1 SEE ALSO
+
+Read C<:help helptags> in F<vim> for detailed information about helptags.
+
+=cut
+
+use strict;
+use warnings;
+use File::Glob ':globally';
+use POSIX qw(getcwd);
+
+die "Error: no directories given. Check manpage for details.\n" unless @ARGV;
+
+my $startdir=getcwd();
+my %tags;
+
+foreach my $dir (@ARGV) {
+ chdir $dir or next;
+ print "Processing ".$dir."\n";
+ foreach my $file (<*.{gz,txt,??x}>) {
+ next unless $file =~ m/^[\w.-]+\.(?:txt|([[:alpha:]]{2})x)(?:.gz)?$/;
+ my $suffix = '';
+ if ($1) {
+ $suffix = "-$1";
+ }
+ my $open = ($file =~ /\.gz$/) ? open(GZ, '-|', 'zcat', $file) : open(GZ, $file);
+ if (!$open) {
+ chdir $startdir;
+ next;
+ }
+ while (<GZ>) {
+ # From vim73/src/ex_cmds.c, helptags_one, lines 6443-6445
+ #
+ # Only accept a *tag* when it consists of valid
+ # characters, there is white space before it and is
+ # followed by a white character or end-of-line.
+ while (/(?:(?<=^)|(?<=\s))\*([^*\s|]+?)\*(?:(?=\s)|(?=$))/g) {
+ $tags{"tags$suffix"}{$1}=$file;
+ }
+ }
+ close(GZ);
+ }
+ while (my ($tagfile, $tags) = each %tags) {
+ next unless %{$tags};
+ open(TAGSFILE, '>', $tagfile) || die "Error: Cannot open $dir/$tagfile for writing.\n";
+ foreach my $tag (sort keys %{$tags}) {
+ print TAGSFILE "$tag\t$tags->{$tag}\t/*";
+ $tag =~ s/\\/\\\\/g;
+ $tag =~ s@/@\/@g;
+ print TAGSFILE "$tag*\n";
+ }
+ close TAGSFILE;
+ }
+ chdir $startdir;
+}
diff --git a/debian/patches/debian/Add-recognition-of-more-LaTeX-commands-for-tex-filetype-d.patch b/debian/patches/debian/Add-recognition-of-more-LaTeX-commands-for-tex-filetype-d.patch
new file mode 100644
index 0000000..9cb8486
--- /dev/null
+++ b/debian/patches/debian/Add-recognition-of-more-LaTeX-commands-for-tex-filetype-d.patch
@@ -0,0 +1,27 @@
+From: Stefano Zacchiroli <zack@debian.org>
+Date: Fri, 25 Aug 2006 13:33:04 +0200
+Subject: Add recognition of more LaTeX commands for tex filetype detection
+
+Since filetype detection of TeX files defaults to plaintex, we've added
+detection of some additional LaTeX commands to help sway the detection
+to LaTeX.
+
+Closes: #384479
+Signed-off-by: James McCoy <jamessan@debian.org>
+---
+ runtime/autoload/dist/ft.vim | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/runtime/autoload/dist/ft.vim b/runtime/autoload/dist/ft.vim
+index de45faa..6a4294c 100644
+--- a/runtime/autoload/dist/ft.vim
++++ b/runtime/autoload/dist/ft.vim
+@@ -665,7 +665,7 @@ func dist#ft#FTtex()
+ call cursor(1,1)
+ let firstNC = search('^\s*[^[:space:]%]', 'c', 1000)
+ if firstNC " Check the next thousand lines for a LaTeX or ConTeXt keyword.
+- let lpat = 'documentclass\>\|usepackage\>\|begin{\|newcommand\>\|renewcommand\>'
++ let lpat = 'documentclass\>\|usepackage\>\|begin{\|newcommand\>\|renewcommand\>\|part\>\|chapter\>\|section\>\|subsection\>\|subsubsection\>\|paragraph\>\|subparagraph\>\|subsubparagraph'
+ let cpat = 'start\a\+\|setup\a\+\|usemodule\|enablemode\|enableregime\|setvariables\|useencoding\|usesymbols\|stelle\a\+\|verwende\a\+\|stel\a\+\|gebruik\a\+\|usa\a\+\|imposta\a\+\|regle\a\+\|utilisemodule\>'
+ let kwline = search('^\s*\\\%(' . lpat . '\)\|^\s*\\\(' . cpat . '\)',
+ \ 'cnp', firstNC + 1000)
diff --git a/debian/patches/debian/Detect-the-rst-filetype-using-the-contents-of-the-file.patch b/debian/patches/debian/Detect-the-rst-filetype-using-the-contents-of-the-file.patch
new file mode 100644
index 0000000..8c23cad
--- /dev/null
+++ b/debian/patches/debian/Detect-the-rst-filetype-using-the-contents-of-the-file.patch
@@ -0,0 +1,28 @@
+From: James Vega <jamessan@debian.org>
+Date: Fri, 18 Aug 2006 09:06:20 -0400
+Subject: Detect the rst filetype using the contents of the file
+
+Closes: #382541
+---
+ runtime/scripts.vim | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/runtime/scripts.vim b/runtime/scripts.vim
+index ab66c0c..a755bc7 100644
+--- a/runtime/scripts.vim
++++ b/runtime/scripts.vim
+@@ -356,6 +356,14 @@ else
+ elseif s:line1 =~# 'exec\s\+\S*scheme' || s:line2 =~# 'exec\s\+\S*scheme'
+ set ft=scheme
+
++ " rst files
++ elseif s:line1 =~ '^\.\.\s\|^\s*restindex\s*$'
++ \ || s:line2 =~ '^\.\.\s\|^\s*restindex\s*$'
++ \ || s:line3 =~ '^\.\.\s\|^\s*restindex\s*$'
++ \ || s:line4 =~ '^\.\.\s\|^\s*restindex\s*$'
++ \ || s:line5 =~ '^\.\.\s\|^\s*restindex\s*$'
++ set ft=rst
++
+ " Git output
+ elseif s:line1 =~# '^\(commit\|tree\|object\) \x\{40\}\>\|^tag \S\+$'
+ set ft=git
diff --git a/debian/patches/debian/Document-Debian-s-decision-to-disable-modelines-by-defaul.patch b/debian/patches/debian/Document-Debian-s-decision-to-disable-modelines-by-defaul.patch
new file mode 100644
index 0000000..7c23fbb
--- /dev/null
+++ b/debian/patches/debian/Document-Debian-s-decision-to-disable-modelines-by-defaul.patch
@@ -0,0 +1,29 @@
+From: James Vega <jamessan@debian.org>
+Date: Thu, 27 Mar 2008 03:42:02 +0000
+Subject: Document Debian's decision to disable modelines by default
+
+Modelines have historically been a source of vulnerabilities in Vim.
+As long as it remains a "blacklist suspected/proven dangerous options"
+instead of a "whitelist allowed options" piece of functionality,
+Debian's system-wide vimrc will maintain this setting. As such, the
+documentation needs to be updated to reflect the induced behavior.
+
+Closes: #472522
+Signed-off-by: James McCoy <jamessan@debian.org>
+---
+ runtime/doc/options.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
+index c9e2b0b..c269fea 100644
+--- a/runtime/doc/options.txt
++++ b/runtime/doc/options.txt
+@@ -5392,7 +5392,7 @@ A jump table for the options with a short description can be found at |Q_op|.
+
+ *'modeline'* *'ml'* *'nomodeline'* *'noml'*
+ 'modeline' 'ml' boolean (Vim default: on (off for root),
+- Vi default: off)
++ Debian: off, Vi default: off)
+ local to buffer
+ *'modelines'* *'mls'*
+ 'modelines' 'mls' number (default 5)
diff --git a/debian/patches/debian/Support-sourcing-a-vimrc.tiny-when-Vim-is-invoked-as-vi.patch b/debian/patches/debian/Support-sourcing-a-vimrc.tiny-when-Vim-is-invoked-as-vi.patch
new file mode 100644
index 0000000..4822934
--- /dev/null
+++ b/debian/patches/debian/Support-sourcing-a-vimrc.tiny-when-Vim-is-invoked-as-vi.patch
@@ -0,0 +1,85 @@
+From: James McCoy <jamessan@debian.org>
+Date: Tue, 6 Oct 2015 23:46:30 -0400
+Subject: Support sourcing a vimrc.tiny when Vim is invoked as vi
+
+This is used only in the vim-tiny package to allow a specific
+configuration for vim-tiny's vi. The vim-tiny package is substantially
+different from other Vim packages, so it does not make sense to
+share the same config.
+
+Closes: #222138
+Signed-off-by: Stefano Zacchiroli <zack@debian.org>
+Signed-off-by: James Vega <jamessan@debian.org>
+---
+ src/main.c | 14 +++++++++++++-
+ src/os_unix.h | 3 +++
+ src/structs.h | 3 +++
+ 3 files changed, 19 insertions(+), 1 deletion(-)
+
+diff --git a/src/main.c b/src/main.c
+index df204bc..cb31bf1 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -1786,6 +1786,10 @@ parse_command_name(mparm_T *parmp)
+ }
+ else if (STRNICMP(initstr, "vim", 3) == 0)
+ initstr += 3;
++#ifdef SYS_TINYRC_FILE
++ else if (STRNICMP(initstr, "vi", 2) == 0)
++ parmp->vi_mode = TRUE;
++#endif
+
+ // Catch "[r][g]vimdiff" and "[r][g]viewdiff".
+ if (STRICMP(initstr, "diff") == 0)
+@@ -3032,7 +3036,12 @@ source_startup_scripts(mparm_T *parmp)
+ * Get system wide defaults, if the file name is defined.
+ */
+ #ifdef SYS_VIMRC_FILE
+- (void)do_source((char_u *)SYS_VIMRC_FILE, FALSE, DOSO_NONE);
++# if defined(SYS_TINYRC_FILE) && defined(TINY_VIMRC)
++ if (parmp->vi_mode)
++ (void)do_source((char_u *)SYS_TINYRC_FILE, FALSE, DOSO_NONE);
++ else
++# endif
++ (void)do_source((char_u *)SYS_VIMRC_FILE, FALSE, DOSO_NONE);
+ #endif
+ #ifdef MACOS_X
+ (void)do_source((char_u *)"$VIMRUNTIME/macmap.vim", FALSE, DOSO_NONE);
+@@ -3067,6 +3076,9 @@ source_startup_scripts(mparm_T *parmp)
+ && do_source((char_u *)USR_EXRC_FILE, FALSE, DOSO_NONE) == FAIL
+ #ifdef USR_EXRC_FILE2
+ && do_source((char_u *)USR_EXRC_FILE2, FALSE, DOSO_NONE) == FAIL
++#endif
++#if defined(SYS_TINYRC_FILE) && defined(TINY_VIMRC)
++ && !parmp->vi_mode
+ #endif
+ && !has_dash_c_arg)
+ {
+diff --git a/src/os_unix.h b/src/os_unix.h
+index 8919ff0..fcc82eb 100644
+--- a/src/os_unix.h
++++ b/src/os_unix.h
+@@ -213,6 +213,9 @@ typedef struct dsc$descriptor DESC;
+ /*
+ * Unix system-dependent file names
+ */
++#ifndef SYS_TINYRC_FILE
++# define SYS_TINYRC_FILE "$VIM/vimrc.tiny"
++#endif
+ #ifndef SYS_VIMRC_FILE
+ # define SYS_VIMRC_FILE "$VIM/vimrc"
+ #endif
+diff --git a/src/structs.h b/src/structs.h
+index 5d0541b..d2ca1fc 100644
+--- a/src/structs.h
++++ b/src/structs.h
+@@ -3472,6 +3472,9 @@ typedef struct
+ #ifdef FEAT_DIFF
+ int diff_mode; /* start with 'diff' set */
+ #endif
++#ifdef SYS_TINYRC_FILE
++ int vi_mode; /* started as "vi" */
++#endif
+ } mparm_T;
+
+ /*
diff --git a/debian/patches/patch-8.1.0878-test-for-has-bsd-fails-on-some-BSD-systems.patch b/debian/patches/patch-8.1.0878-test-for-has-bsd-fails-on-some-BSD-systems.patch
new file mode 100644
index 0000000..9ffbc87
--- /dev/null
+++ b/debian/patches/patch-8.1.0878-test-for-has-bsd-fails-on-some-BSD-systems.patch
@@ -0,0 +1,37 @@
+From: Bram Moolenaar <Bram@vim.org>
+Date: Thu, 7 Feb 2019 21:27:14 +0100
+Subject: patch 8.1.0878: test for has('bsd') fails on some BSD systems
+
+Problem: Test for has('bsd') fails on some BSD systems.
+Solution: Adjust the uname match. (James McCoy, closes #3909)
+---
+ src/testdir/test_functions.vim | 2 ++
+ src/version.c | 2 ++
+ 2 files changed, 4 insertions(+)
+
+diff --git a/src/testdir/test_functions.vim b/src/testdir/test_functions.vim
+index b08d9aa..e75a896 100644
+--- a/src/testdir/test_functions.vim
++++ b/src/testdir/test_functions.vim
+@@ -1238,6 +1238,8 @@ func Test_platform_name()
+ let uname = system('uname')
+ call assert_equal(uname =~? 'BeOS', has('beos'))
+ call assert_equal(uname =~? 'BSD\|DragonFly', has('bsd'))
++ " GNU userland on BSD kernels (e.g., GNU/kFreeBSD) don't have BSD defined
++ call assert_equal(uname =~? '\%(GNU/k\w\+\)\@<!BSD\|DragonFly', has('bsd'))
+ call assert_equal(uname =~? 'HP-UX', has('hpux'))
+ call assert_equal(uname =~? 'Linux', has('linux'))
+ call assert_equal(uname =~? 'Darwin', has('mac'))
+diff --git a/src/version.c b/src/version.c
+index 0b86826..f5f9439 100644
+--- a/src/version.c
++++ b/src/version.c
+@@ -791,6 +791,8 @@ static char *(features[]) =
+
+ static int included_patches[] =
+ { /* Add new patch number below this line */
++/**/
++ 878,
+ /**/
+ 875,
+ /**/
diff --git a/debian/patches/patch-8.1.0884-double-check-for-bsd-systems.patch b/debian/patches/patch-8.1.0884-double-check-for-bsd-systems.patch
new file mode 100644
index 0000000..6888aed
--- /dev/null
+++ b/debian/patches/patch-8.1.0884-double-check-for-bsd-systems.patch
@@ -0,0 +1,36 @@
+From: Bram Moolenaar <Bram@vim.org>
+Date: Fri, 8 Feb 2019 23:09:48 +0100
+Subject: patch 8.1.0884: double check for bsd systems
+
+Problem: Double check for bsd systems.
+Solution: Delete the old line.
+---
+ src/testdir/test_functions.vim | 1 -
+ src/version.c | 2 ++
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/testdir/test_functions.vim b/src/testdir/test_functions.vim
+index e75a896..69e6ce0 100644
+--- a/src/testdir/test_functions.vim
++++ b/src/testdir/test_functions.vim
+@@ -1237,7 +1237,6 @@ func Test_platform_name()
+ if has('unix') && executable('uname')
+ let uname = system('uname')
+ call assert_equal(uname =~? 'BeOS', has('beos'))
+- call assert_equal(uname =~? 'BSD\|DragonFly', has('bsd'))
+ " GNU userland on BSD kernels (e.g., GNU/kFreeBSD) don't have BSD defined
+ call assert_equal(uname =~? '\%(GNU/k\w\+\)\@<!BSD\|DragonFly', has('bsd'))
+ call assert_equal(uname =~? 'HP-UX', has('hpux'))
+diff --git a/src/version.c b/src/version.c
+index f5f9439..46f63e7 100644
+--- a/src/version.c
++++ b/src/version.c
+@@ -791,6 +791,8 @@ static char *(features[]) =
+
+ static int included_patches[] =
+ { /* Add new patch number below this line */
++/**/
++ 884,
+ /**/
+ 878,
+ /**/
diff --git a/debian/patches/patch-8.1.0948-when-built-without-eval-Vim-clean-produces.patch b/debian/patches/patch-8.1.0948-when-built-without-eval-Vim-clean-produces.patch
new file mode 100644
index 0000000..8544ba9
--- /dev/null
+++ b/debian/patches/patch-8.1.0948-when-built-without-eval-Vim-clean-produces.patch
@@ -0,0 +1,95 @@
+From: Bram Moolenaar <Bram@vim.org>
+Date: Mon, 18 Feb 2019 21:32:28 +0100
+Subject: patch 8.1.0948: when built without +eval "Vim --clean" produces
+ errors
+
+Problem: When built without +eval "Vim --clean" produces errors. (James
+ McCoy)
+Solution: Do not enable filetype detection.
+---
+ runtime/defaults.vim | 51 ++++++++++++++++++++++++++++-----------------------
+ src/version.c | 2 ++
+ 2 files changed, 30 insertions(+), 23 deletions(-)
+
+diff --git a/runtime/defaults.vim b/runtime/defaults.vim
+index b848217..e8a0ff4 100644
+--- a/runtime/defaults.vim
++++ b/runtime/defaults.vim
+@@ -1,7 +1,7 @@
+ " The default vimrc file.
+ "
+ " Maintainer: Bram Moolenaar <Bram@vim.org>
+-" Last change: 2019 Jan 26
++" Last change: 2019 Feb 18
+ "
+ " This is loaded if no vimrc file was found.
+ " Except when Vim is run with "-u NONE" or "-C".
+@@ -90,28 +90,33 @@ if &t_Co > 2 || has("gui_running")
+ let c_comment_strings=1
+ endif
+
+-" Enable file type detection.
+-" Use the default filetype settings, so that mail gets 'tw' set to 72,
+-" 'cindent' is on in C files, etc.
+-" Also load indent files, to automatically do language-dependent indenting.
+-" Revert with ":filetype off".
+-filetype plugin indent on
+-
+-" Put these in an autocmd group, so that you can revert them with:
+-" ":augroup vimStartup | au! | augroup END"
+-augroup vimStartup
+- au!
+-
+- " When editing a file, always jump to the last known cursor position.
+- " Don't do it when the position is invalid, when inside an event handler
+- " (happens when dropping a file on gvim) and for a commit message (it's
+- " likely a different one than last time).
+- autocmd BufReadPost *
+- \ if line("'\"") >= 1 && line("'\"") <= line("$") && &ft !~# 'commit'
+- \ | exe "normal! g`\""
+- \ | endif
+-
+-augroup END
++" Only do this part when Vim was compiled with the +eval feature.
++if 1
++
++ " Enable file type detection.
++ " Use the default filetype settings, so that mail gets 'tw' set to 72,
++ " 'cindent' is on in C files, etc.
++ " Also load indent files, to automatically do language-dependent indenting.
++ " Revert with ":filetype off".
++ filetype plugin indent on
++
++ " Put these in an autocmd group, so that you can revert them with:
++ " ":augroup vimStartup | au! | augroup END"
++ augroup vimStartup
++ au!
++
++ " When editing a file, always jump to the last known cursor position.
++ " Don't do it when the position is invalid, when inside an event handler
++ " (happens when dropping a file on gvim) and for a commit message (it's
++ " likely a different one than last time).
++ autocmd BufReadPost *
++ \ if line("'\"") >= 1 && line("'\"") <= line("$") && &ft !~# 'commit'
++ \ | exe "normal! g`\""
++ \ | endif
++
++ augroup END
++
++endif
+
+ " Convenient command to see the difference between the current buffer and the
+ " file it was loaded from, thus the changes you made.
+diff --git a/src/version.c b/src/version.c
+index 46f63e7..b59878e 100644
+--- a/src/version.c
++++ b/src/version.c
+@@ -791,6 +791,8 @@ static char *(features[]) =
+
+ static int included_patches[] =
+ { /* Add new patch number below this line */
++/**/
++ 948,
+ /**/
+ 884,
+ /**/
diff --git a/debian/patches/patch-8.1.1046-the-secure-variable-is-used-inconsistently.patch b/debian/patches/patch-8.1.1046-the-secure-variable-is-used-inconsistently.patch
new file mode 100644
index 0000000..bc56542
--- /dev/null
+++ b/debian/patches/patch-8.1.1046-the-secure-variable-is-used-inconsistently.patch
@@ -0,0 +1,64 @@
+From: Bram Moolenaar <Bram@vim.org>
+Date: Sun, 24 Mar 2019 14:02:04 +0100
+Subject: patch 8.1.1046: the "secure" variable is used inconsistently
+
+Problem: the "secure" variable is used inconsistently. (Justin M. Keyes)
+Solution: Set it to one instead of incrementing.
+
+(cherry picked from commit 82b033eff82d3ed0da77fd5f5a1c023766acabba)
+
+Signed-off-by: James McCoy <jamessan@debian.org>
+---
+ src/buffer.c | 2 +-
+ src/option.c | 9 ++++-----
+ src/version.c | 2 ++
+ 3 files changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/src/buffer.c b/src/buffer.c
+index 98d505f..2c5c282 100644
+--- a/src/buffer.c
++++ b/src/buffer.c
+@@ -5510,7 +5510,7 @@ chk_modeline(
+ current_sctx.sc_lnum = 0;
+ #endif
+ // Make sure no risky things are executed as a side effect.
+- ++secure;
++ secure = 1;
+
+ retval = do_set(s, OPT_MODELINE | OPT_LOCAL | flags);
+
+diff --git a/src/option.c b/src/option.c
+index 77d1024..4b6157d 100644
+--- a/src/option.c
++++ b/src/option.c
+@@ -5161,13 +5161,12 @@ do_set(
+ // effects in secure mode. Also when the value was
+ // set with the P_INSECURE flag and is not
+ // completely replaced.
+- if (secure
++ if ((opt_flags & OPT_MODELINE)
+ #ifdef HAVE_SANDBOX
+- || sandbox != 0
++ || sandbox != 0
+ #endif
+- || (opt_flags & OPT_MODELINE)
+- || (!value_is_replaced && (*p & P_INSECURE)))
+- ++secure;
++ || (!value_is_replaced && (*p & P_INSECURE)))
++ secure = 1;
+
+ // Handle side effects, and set the global value
+ // for ":set" on local options. Note: when setting
+diff --git a/src/version.c b/src/version.c
+index b59878e..1a7ffa4 100644
+--- a/src/version.c
++++ b/src/version.c
+@@ -791,6 +791,8 @@ static char *(features[]) =
+
+ static int included_patches[] =
+ { /* Add new patch number below this line */
++/**/
++ 1046,
+ /**/
+ 948,
+ /**/
diff --git a/debian/patches/patch-8.1.1365-source-command-doesn-t-check-for-the-sandb.patch b/debian/patches/patch-8.1.1365-source-command-doesn-t-check-for-the-sandb.patch
new file mode 100644
index 0000000..0124ad8
--- /dev/null
+++ b/debian/patches/patch-8.1.1365-source-command-doesn-t-check-for-the-sandb.patch
@@ -0,0 +1,63 @@
+From: Bram Moolenaar <Bram@vim.org>
+Date: Wed, 22 May 2019 22:38:25 +0200
+Subject: patch 8.1.1365: source command doesn't check for the sandbox
+
+Problem: Source command doesn't check for the sandbox. (Armin Razmjou)
+Solution: Check for the sandbox when sourcing a file.
+
+(cherry picked from commit 53575521406739cf20bbe4e384d88e7dca11f040)
+
+Signed-off-by: James McCoy <jamessan@debian.org>
+---
+ src/getchar.c | 6 ++++++
+ src/testdir/test_source.vim | 9 +++++++++
+ src/version.c | 2 ++
+ 3 files changed, 17 insertions(+)
+
+diff --git a/src/getchar.c b/src/getchar.c
+index fe74dbf..3e4c964 100644
+--- a/src/getchar.c
++++ b/src/getchar.c
+@@ -1407,6 +1407,12 @@ openscript(
+ emsg(_(e_nesting));
+ return;
+ }
++
++ // Disallow sourcing a file in the sandbox, the commands would be executed
++ // later, possibly outside of the sandbox.
++ if (check_secure())
++ return;
++
+ #ifdef FEAT_EVAL
+ if (ignore_script)
+ /* Not reading from script, also don't open one. Warning message? */
+diff --git a/src/testdir/test_source.vim b/src/testdir/test_source.vim
+index a33d286..5166baf 100644
+--- a/src/testdir/test_source.vim
++++ b/src/testdir/test_source.vim
+@@ -36,3 +36,12 @@ func Test_source_cmd()
+ au! SourcePre
+ au! SourcePost
+ endfunc
++
++func Test_source_sandbox()
++ new
++ call writefile(["Ohello\<Esc>"], 'Xsourcehello')
++ source! Xsourcehello | echo
++ call assert_equal('hello', getline(1))
++ call assert_fails('sandbox source! Xsourcehello', 'E48:')
++ bwipe!
++endfunc
+diff --git a/src/version.c b/src/version.c
+index 1a7ffa4..3040409 100644
+--- a/src/version.c
++++ b/src/version.c
+@@ -791,6 +791,8 @@ static char *(features[]) =
+
+ static int included_patches[] =
+ { /* Add new patch number below this line */
++/**/
++ 1365,
+ /**/
+ 1046,
+ /**/
diff --git a/debian/patches/patch-8.1.1366-using-expressions-in-a-modeline-is-unsafe.patch b/debian/patches/patch-8.1.1366-using-expressions-in-a-modeline-is-unsafe.patch
new file mode 100644
index 0000000..6918fc7
--- /dev/null
+++ b/debian/patches/patch-8.1.1366-using-expressions-in-a-modeline-is-unsafe.patch
@@ -0,0 +1,588 @@
+From: Bram Moolenaar <Bram@vim.org>
+Date: Thu, 23 May 2019 15:38:06 +0200
+Subject: patch 8.1.1366: using expressions in a modeline is unsafe
+
+Problem: Using expressions in a modeline is unsafe.
+Solution: Disallow using expressions in a modeline, unless the
+ 'modelineexpr' option is set. Update help, add more tests.
+
+(cherry picked from commit 110289e78195b6d01e1e6ad26ad450de476d41c1)
+
+Signed-off-by: James McCoy <jamessan@debian.org>
+---
+ runtime/doc/options.txt | 69 +++++++++++++++++++++++++++-----
+ src/option.c | 35 ++++++++++------
+ src/option.h | 1 +
+ src/testdir/test49.in | 2 +-
+ src/testdir/test_modeline.vim | 93 +++++++++++++++++++++++++++++++++++++++----
+ src/version.c | 2 +
+ 6 files changed, 169 insertions(+), 33 deletions(-)
+
+diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
+index c269fea..7b25f20 100644
+--- a/runtime/doc/options.txt
++++ b/runtime/doc/options.txt
+@@ -1,4 +1,4 @@
+-*options.txt* For Vim version 8.1. Last change: 2019 Feb 03
++*options.txt* For Vim version 8.1. Last change: 2019 May 23
+
+
+ VIM REFERENCE MANUAL by Bram Moolenaar
+@@ -588,14 +588,17 @@ backslash in front of the ':' will be removed. Example:
+ /* vi:set dir=c\:\tmp: */ ~
+ This sets the 'dir' option to "c:\tmp". Only a single backslash before the
+ ':' is removed. Thus to include "\:" you have to specify "\\:".
+-
++ *E992*
+ No other commands than "set" are supported, for security reasons (somebody
+ might create a Trojan horse text file with modelines). And not all options
+-can be set. For some options a flag is set, so that when it's used the
+-|sandbox| is effective. Still, there is always a small risk that a modeline
+-causes trouble. E.g., when some joker sets 'textwidth' to 5 all your lines
+-are wrapped unexpectedly. So disable modelines before editing untrusted text.
+-The mail ftplugin does this, for example.
++can be set. For some options a flag is set, so that when the value is used
++the |sandbox| is effective. Some options can only be set from the modeline
++when 'modelineexpr' is set (the default is off).
++
++Still, there is always a small risk that a modeline causes trouble. E.g.,
++when some joker sets 'textwidth' to 5 all your lines are wrapped unexpectedly.
++So disable modelines before editing untrusted text. The mail ftplugin does
++this, for example.
+
+ Hint: If you would like to do something else than setting an option, you could
+ define an autocommand that checks the file for a specific string. For
+@@ -1189,6 +1192,7 @@ A jump table for the options with a short description can be found at |Q_op|.
+
+ The expression will be evaluated in the |sandbox| when set from a
+ modeline, see |sandbox-option|.
++ This option cannot be set in a modeline when 'modelineexpr' is off.
+
+ It is not allowed to change text or jump to another window while
+ evaluating 'balloonexpr' |textlock|.
+@@ -3354,7 +3358,7 @@ A jump table for the options with a short description can be found at |Q_op|.
+ The expression will be evaluated in the |sandbox| if set from a
+ modeline, see |sandbox-option|.
+ This option can't be set from a |modeline| when the 'diff' option is
+- on.
++ on or the 'modelineexpr' option is off.
+
+ It is not allowed to change text or jump to another window while
+ evaluating 'foldexpr' |textlock|.
+@@ -3496,6 +3500,7 @@ A jump table for the options with a short description can be found at |Q_op|.
+
+ The expression will be evaluated in the |sandbox| if set from a
+ modeline, see |sandbox-option|.
++ This option cannot be set in a modeline when 'modelineexpr' is off.
+
+ It is not allowed to change text or jump to another window while
+ evaluating 'foldtext' |textlock|.
+@@ -3534,6 +3539,7 @@ A jump table for the options with a short description can be found at |Q_op|.
+ The expression will be evaluated in the |sandbox| when set from a
+ modeline, see |sandbox-option|. That stops the option from working,
+ since changing the buffer text is not allowed.
++ This option cannot be set in a modeline when 'modelineexpr' is off.
+ NOTE: This option is set to "" when 'compatible' is set.
+
+ *'formatoptions'* *'fo'*
+@@ -3594,6 +3600,8 @@ A jump table for the options with a short description can be found at |Q_op|.
+ Also see 'swapsync' for controlling fsync() on swap files.
+ 'fsync' also applies to |writefile()|, unless a flag is used to
+ overrule it.
++ This option cannot be set from a |modeline| or in the |sandbox|, for
++ security reasons.
+
+ *'gdefault'* *'gd'* *'nogdefault'* *'nogd'*
+ 'gdefault' 'gd' boolean (default off)
+@@ -3888,7 +3896,7 @@ A jump table for the options with a short description can be found at |Q_op|.
+ *'guiheadroom'* *'ghr'*
+ 'guiheadroom' 'ghr' number (default 50)
+ global
+- {not in Vi} {only for GTK and X11 GUI}
++ {only for GTK and X11 GUI}
+ The number of pixels subtracted from the screen height when fitting
+ the GUI window on the screen. Set this before the GUI is started,
+ e.g., in your |gvimrc| file. When zero, the whole screen height will
+@@ -4049,6 +4057,7 @@ A jump table for the options with a short description can be found at |Q_op|.
+ 'guitabtooltip' is used for the tooltip, see below.
+ The expression will be evaluated in the |sandbox| when set from a
+ modeline, see |sandbox-option|.
++ This option cannot be set in a modeline when 'modelineexpr' is off.
+
+ Only used when the GUI tab pages line is displayed. 'e' must be
+ present in 'guioptions'. For the non-GUI tab pages line 'tabline' is
+@@ -4311,6 +4320,7 @@ A jump table for the options with a short description can be found at |Q_op|.
+ When this option contains printf-style '%' items, they will be
+ expanded according to the rules used for 'statusline'. See
+ 'titlestring' for example settings.
++ This option cannot be set in a modeline when 'modelineexpr' is off.
+ {not available when compiled without the |+statusline| feature}
+
+ *'ignorecase'* *'ic'* *'noignorecase'* *'noic'*
+@@ -4331,6 +4341,8 @@ A jump table for the options with a short description can be found at |Q_op|.
+ This option specifies a function that will be called to
+ activate or deactivate the Input Method.
+ It is not used in the GUI.
++ The expression will be evaluated in the |sandbox| when set from a
++ modeline, see |sandbox-option|.
+
+ Example: >
+ function ImActivateFunc(active)
+@@ -4459,6 +4471,8 @@ A jump table for the options with a short description can be found at |Q_op|.
+ set imstatusfunc=ImStatusFunc
+ <
+ NOTE: This function is invoked very often. Keep it fast.
++ The expression will be evaluated in the |sandbox| when set from a
++ modeline, see |sandbox-option|.
+
+ *'imstyle'* *'imst'*
+ 'imstyle' 'imst' number (default 1)
+@@ -4476,6 +4490,8 @@ A jump table for the options with a short description can be found at |Q_op|.
+ |single-repeat|, etc. Therefore over-the-spot style becomes the
+ default now. This should work fine for most people, however if you
+ have any problem with it, try using on-the-spot style.
++ The expression will be evaluated in the |sandbox| when set from a
++ modeline, see |sandbox-option|.
+
+ *'include'* *'inc'*
+ 'include' 'inc' string (default "^\s*#\s*include")
+@@ -4512,6 +4528,7 @@ A jump table for the options with a short description can be found at |Q_op|.
+
+ The expression will be evaluated in the |sandbox| when set from a
+ modeline, see |sandbox-option|.
++ This option cannot be set in a modeline when 'modelineexpr' is off.
+
+ It is not allowed to change text or jump to another window while
+ evaluating 'includeexpr' |textlock|.
+@@ -4601,6 +4618,7 @@ A jump table for the options with a short description can be found at |Q_op|.
+
+ The expression will be evaluated in the |sandbox| when set from a
+ modeline, see |sandbox-option|.
++ This option cannot be set in a modeline when 'modelineexpr' is off.
+
+ It is not allowed to change text or jump to another window while
+ evaluating 'indentexpr' |textlock|.
+@@ -5227,6 +5245,12 @@ A jump table for the options with a short description can be found at |Q_op|.
+ < This option cannot be set from a |modeline| or in the |sandbox|, for
+ security reasons.
+
++ *'makespellmem'* *'msm'*
++'makespellmem' 'msm' string (default "460000,2000,500")
++ global
++ Values relevant only when compressing a spell file, see |spell|.
++ This option cannot be set from a |modeline| or in the |sandbox|.
++
+ *'matchpairs'* *'mps'*
+ 'matchpairs' 'mps' string (default "(:),{:},[:]")
+ local to buffer
+@@ -5250,7 +5274,6 @@ A jump table for the options with a short description can be found at |Q_op|.
+ *'matchtime'* *'mat'*
+ 'matchtime' 'mat' number (default 5)
+ global
+- {not in Vi}{in Nvi}
+ Tenths of a second to show the matching paren, when 'showmatch' is
+ set. Note that this is not in milliseconds, like other options that
+ set a time. This is to be compatible with Nvi.
+@@ -5394,6 +5417,17 @@ A jump table for the options with a short description can be found at |Q_op|.
+ 'modeline' 'ml' boolean (Vim default: on (off for root),
+ Debian: off, Vi default: off)
+ local to buffer
++ If 'modeline' is on 'modelines' gives the number of lines that is
++ checked for set commands. If 'modeline' is off or 'modelines' is zero
++ no lines are checked. See |modeline|.
++
++ *'modelineexpr'* *'mle'* *'nomodelineexpr'* *'nomle'*
++'modelineexpr' 'mle' boolean (default: off)
++ global
++ When on allow some options that are an expression to be set in the
++ modeline. Check the option for whether it is affected by
++ 'modelineexpr'. Also see |modeline|.
++
+ *'modelines'* *'mls'*
+ 'modelines' 'mls' number (default 5)
+ global
+@@ -5405,9 +5439,9 @@ A jump table for the options with a short description can be found at |Q_op|.
+ set and to the Vim default value when 'compatible' is reset.
+
+ *'modifiable'* *'ma'* *'nomodifiable'* *'noma'*
++ *E21*
+ 'modifiable' 'ma' boolean (default on)
+ local to buffer
+- {not in Vi} *E21*
+ When off the buffer contents cannot be changed. The 'fileformat' and
+ 'fileencoding' options also can't be changed.
+ Can be reset on startup with the |-M| command line argument.
+@@ -6456,6 +6490,8 @@ A jump table for the options with a short description can be found at |Q_op|.
+ When this option is not empty, it determines the content of the ruler
+ string, as displayed for the 'ruler' option.
+ The format of this option is like that of 'statusline'.
++ This option cannot be set in a modeline when 'modelineexpr' is off.
++
+ The default ruler width is 17 characters. To make the ruler 15
+ characters wide, put "%15(" at the start and "%)" at the end.
+ Example: >
+@@ -7016,6 +7052,8 @@ A jump table for the options with a short description can be found at |Q_op|.
+ q use "recording" instead of "recording @a"
+ F don't give the file info when editing a file, like `:silent`
+ was used for the command
++ was used for the command; note that this also affects messages
++ from autocommands
+
+ This gives you the opportunity to avoid that a change between buffers
+ requires you to hit <Enter>, but still gives as useful a message as
+@@ -7600,6 +7638,7 @@ A jump table for the options with a short description can be found at |Q_op|.
+
+ The 'statusline' option will be evaluated in the |sandbox| if set from
+ a modeline, see |sandbox-option|.
++ This option cannot be set in a modeline when 'modelineexpr' is off.
+
+ It is not allowed to change text or jump to another window while
+ evaluating 'statusline' |textlock|.
+@@ -7786,6 +7825,7 @@ A jump table for the options with a short description can be found at |Q_op|.
+
+ When changing something that is used in 'tabline' that does not
+ trigger it to be updated, use |:redrawtabline|.
++ This option cannot be set in a modeline when 'modelineexpr' is off.
+
+ Keep in mind that only one of the tab pages is the current one, others
+ are invisible and you can't jump to their windows.
+@@ -8329,8 +8369,11 @@ A jump table for the options with a short description can be found at |Q_op|.
+ non-empty 't_ts' option).
+ When Vim was compiled with HAVE_X11 defined, the original title will
+ be restored if possible, see |X11|.
++
+ When this option contains printf-style '%' items, they will be
+ expanded according to the rules used for 'statusline'.
++ This option cannot be set in a modeline when 'modelineexpr' is off.
++
+ Example: >
+ :auto BufEnter * let &titlestring = hostname() . "/" . expand("%:p")
+ :set title titlestring=%<%F%=%l/%L-%P titlelen=70
+@@ -8520,6 +8563,8 @@ A jump table for the options with a short description can be found at |Q_op|.
+ undo file that exists is used. When it cannot be read an error is
+ given, no further entry is used.
+ See |undo-persistence|.
++ This option cannot be set from a |modeline| or in the |sandbox|, for
++ security reasons.
+
+ *'undofile'* *'noundofile'* *'udf'* *'noudf'*
+ 'undofile' 'udf' boolean (default off)
+@@ -8843,6 +8888,8 @@ A jump table for the options with a short description can be found at |Q_op|.
+ When equal to "NONE" no viminfo file will be read or written.
+ This option can be set with the |-i| command line flag. The |--clean|
+ command line flag sets it to "NONE".
++ This option cannot be set from a |modeline| or in the |sandbox|, for
++ security reasons.
+
+ *'virtualedit'* *'ve'*
+ 'virtualedit' 've' string (default "")
+diff --git a/src/option.c b/src/option.c
+index 4b6157d..e1e89d5 100644
+--- a/src/option.c
++++ b/src/option.c
+@@ -462,6 +462,7 @@ struct vimoption
+ * there is a redraw flag */
+ #define P_NDNAME 0x8000000L /* only normal dir name chars allowed */
+ #define P_RWINONLY 0x10000000L /* only redraw current window */
++#define P_MLE 0x20000000L /* under control of 'modelineexpr' */
+
+ #define ISK_LATIN1 (char_u *)"@,48-57,_,192-255"
+
+@@ -649,7 +650,7 @@ static struct vimoption options[] =
+ {(char_u *)0L, (char_u *)0L}
+ #endif
+ SCTX_INIT},
+- {"balloonexpr", "bexpr", P_STRING|P_ALLOCED|P_VI_DEF|P_VIM,
++ {"balloonexpr", "bexpr", P_STRING|P_ALLOCED|P_VI_DEF|P_VIM|P_MLE,
+ #if defined(FEAT_BEVAL) && defined(FEAT_EVAL)
+ (char_u *)&p_bexpr, PV_BEXPR,
+ {(char_u *)"", (char_u *)0L}
+@@ -726,7 +727,7 @@ static struct vimoption options[] =
+ (char_u *)&p_cmp, PV_NONE,
+ {(char_u *)"internal,keepascii", (char_u *)0L}
+ SCTX_INIT},
+- {"cdpath", "cd", P_STRING|P_EXPAND|P_VI_DEF|P_COMMA|P_NODUP,
++ {"cdpath", "cd", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE|P_COMMA|P_NODUP,
+ #ifdef FEAT_SEARCHPATH
+ (char_u *)&p_cdpath, PV_NONE,
+ {(char_u *)",,", (char_u *)0L}
+@@ -1178,7 +1179,7 @@ static struct vimoption options[] =
+ {(char_u *)NULL, (char_u *)0L}
+ #endif
+ SCTX_INIT},
+- {"foldexpr", "fde", P_STRING|P_ALLOCED|P_VIM|P_VI_DEF|P_RWIN,
++ {"foldexpr", "fde", P_STRING|P_ALLOCED|P_VIM|P_VI_DEF|P_RWIN|P_MLE,
+ #if defined(FEAT_FOLDING) && defined(FEAT_EVAL)
+ (char_u *)VAR_WIN, PV_FDE,
+ {(char_u *)"0", (char_u *)NULL}
+@@ -1261,7 +1262,7 @@ static struct vimoption options[] =
+ {(char_u *)NULL, (char_u *)0L}
+ #endif
+ SCTX_INIT},
+- {"foldtext", "fdt", P_STRING|P_ALLOCED|P_VIM|P_VI_DEF|P_RWIN,
++ {"foldtext", "fdt", P_STRING|P_ALLOCED|P_VIM|P_VI_DEF|P_RWIN|P_MLE,
+ #if defined(FEAT_FOLDING) && defined(FEAT_EVAL)
+ (char_u *)VAR_WIN, PV_FDT,
+ {(char_u *)"foldtext()", (char_u *)NULL}
+@@ -1270,7 +1271,7 @@ static struct vimoption options[] =
+ {(char_u *)NULL, (char_u *)0L}
+ #endif
+ SCTX_INIT},
+- {"formatexpr", "fex", P_STRING|P_ALLOCED|P_VI_DEF|P_VIM,
++ {"formatexpr", "fex", P_STRING|P_ALLOCED|P_VI_DEF|P_VIM|P_MLE,
+ #ifdef FEAT_EVAL
+ (char_u *)&p_fex, PV_FEX,
+ {(char_u *)"", (char_u *)0L}
+@@ -1409,7 +1410,7 @@ static struct vimoption options[] =
+ (char_u *)NULL, PV_NONE,
+ #endif
+ {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
+- {"guitablabel", "gtl", P_STRING|P_VI_DEF|P_RWIN,
++ {"guitablabel", "gtl", P_STRING|P_VI_DEF|P_RWIN|P_MLE,
+ #if defined(FEAT_GUI_TABLINE)
+ (char_u *)&p_gtl, PV_NONE,
+ {(char_u *)"", (char_u *)0L}
+@@ -1480,7 +1481,7 @@ static struct vimoption options[] =
+ (char_u *)NULL, PV_NONE,
+ #endif
+ {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
+- {"iconstring", NULL, P_STRING|P_VI_DEF,
++ {"iconstring", NULL, P_STRING|P_VI_DEF|P_MLE,
+ #ifdef FEAT_TITLE
+ (char_u *)&p_iconstring, PV_NONE,
+ #else
+@@ -1552,7 +1553,7 @@ static struct vimoption options[] =
+ {(char_u *)0L, (char_u *)0L}
+ #endif
+ SCTX_INIT},
+- {"includeexpr", "inex", P_STRING|P_ALLOCED|P_VI_DEF,
++ {"includeexpr", "inex", P_STRING|P_ALLOCED|P_VI_DEF|P_MLE,
+ #if defined(FEAT_FIND_ID) && defined(FEAT_EVAL)
+ (char_u *)&p_inex, PV_INEX,
+ {(char_u *)"", (char_u *)0L}
+@@ -1564,7 +1565,7 @@ static struct vimoption options[] =
+ {"incsearch", "is", P_BOOL|P_VI_DEF|P_VIM,
+ (char_u *)&p_is, PV_NONE,
+ {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
+- {"indentexpr", "inde", P_STRING|P_ALLOCED|P_VI_DEF|P_VIM,
++ {"indentexpr", "inde", P_STRING|P_ALLOCED|P_VI_DEF|P_VIM|P_MLE,
+ #if defined(FEAT_CINDENT) && defined(FEAT_EVAL)
+ (char_u *)&p_inde, PV_INDE,
+ {(char_u *)"", (char_u *)0L}
+@@ -1891,6 +1892,9 @@ static struct vimoption options[] =
+ {"modeline", "ml", P_BOOL|P_VIM,
+ (char_u *)&p_ml, PV_ML,
+ {(char_u *)FALSE, (char_u *)TRUE} SCTX_INIT},
++ {"modelineexpr", "mle", P_BOOL|P_VI_DEF,
++ (char_u *)&p_mle, PV_NONE,
++ {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
+ {"modelines", "mls", P_NUM|P_VI_DEF,
+ (char_u *)&p_mls, PV_NONE,
+ {(char_u *)5L, (char_u *)0L} SCTX_INIT},
+@@ -2314,7 +2318,7 @@ static struct vimoption options[] =
+ (char_u *)NULL, PV_NONE,
+ #endif
+ {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
+- {"rulerformat", "ruf", P_STRING|P_VI_DEF|P_ALLOCED|P_RSTAT,
++ {"rulerformat", "ruf", P_STRING|P_VI_DEF|P_ALLOCED|P_RSTAT|P_MLE,
+ #ifdef FEAT_STL_OPT
+ (char_u *)&p_ruf, PV_NONE,
+ #else
+@@ -2580,7 +2584,7 @@ static struct vimoption options[] =
+ {"startofline", "sol", P_BOOL|P_VI_DEF|P_VIM,
+ (char_u *)&p_sol, PV_NONE,
+ {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
+- {"statusline" ,"stl", P_STRING|P_VI_DEF|P_ALLOCED|P_RSTAT,
++ {"statusline" ,"stl", P_STRING|P_VI_DEF|P_ALLOCED|P_RSTAT|P_MLE,
+ #ifdef FEAT_STL_OPT
+ (char_u *)&p_stl, PV_STL,
+ #else
+@@ -2627,7 +2631,7 @@ static struct vimoption options[] =
+ {(char_u *)0L, (char_u *)0L}
+ #endif
+ SCTX_INIT},
+- {"tabline", "tal", P_STRING|P_VI_DEF|P_RALL,
++ {"tabline", "tal", P_STRING|P_VI_DEF|P_RALL|P_MLE,
+ #ifdef FEAT_STL_OPT
+ (char_u *)&p_tal, PV_NONE,
+ #else
+@@ -2796,7 +2800,7 @@ static struct vimoption options[] =
+ {(char_u *)0L, (char_u *)0L}
+ #endif
+ SCTX_INIT},
+- {"titlestring", NULL, P_STRING|P_VI_DEF,
++ {"titlestring", NULL, P_STRING|P_VI_DEF|P_MLE,
+ #ifdef FEAT_TITLE
+ (char_u *)&p_titlestring, PV_NONE,
+ #else
+@@ -4542,6 +4546,11 @@ do_set(
+ errmsg = _("E520: Not allowed in a modeline");
+ goto skip;
+ }
++ if ((flags & P_MLE) && !p_mle)
++ {
++ errmsg = _("E992: Not allowed in a modeline when 'modelineexpr' is off");
++ goto skip;
++ }
+ #ifdef FEAT_DIFF
+ /* In diff mode some options are overruled. This avoids that
+ * 'foldmethod' becomes "marker" instead of "diff" and that
+diff --git a/src/option.h b/src/option.h
+index 2985781..1cef928 100644
+--- a/src/option.h
++++ b/src/option.h
+@@ -640,6 +640,7 @@ EXTERN long p_mis; /* 'menuitems' */
+ #ifdef FEAT_SPELL
+ EXTERN char_u *p_msm; /* 'mkspellmem' */
+ #endif
++EXTERN long p_mle; /* 'modelineexpr' */
+ EXTERN long p_mls; /* 'modelines' */
+ EXTERN char_u *p_mouse; /* 'mouse' */
+ #ifdef FEAT_GUI
+diff --git a/src/testdir/test49.in b/src/testdir/test49.in
+index 79f13f6..a0c9e0d 100644
+--- a/src/testdir/test49.in
++++ b/src/testdir/test49.in
+@@ -5,7 +5,7 @@ test49.failed, try to add one or more "G"s at the line ending in "test.out"
+
+ STARTTEST
+ :so small.vim
+-:se nocp nomore viminfo+=nviminfo
++:se nocp nomore viminfo+=nviminfo modelineexpr
+ :lang mess C
+ :so test49.vim
+ :" Go back to this file and append the results from register r.
+diff --git a/src/testdir/test_modeline.vim b/src/testdir/test_modeline.vim
+index e0f97c4..101116c 100644
+--- a/src/testdir/test_modeline.vim
++++ b/src/testdir/test_modeline.vim
+@@ -60,14 +60,17 @@ func Test_modeline_keymap()
+ set keymap= iminsert=0 imsearch=-1
+ endfunc
+
+-func s:modeline_fails(what, text)
++func s:modeline_fails(what, text, error)
++ if !exists('+' . a:what)
++ return
++ endif
+ let fname = "Xmodeline_fails_" . a:what
+ call writefile(['vim: set ' . a:text . ' :', 'nothing'], fname)
+ let modeline = &modeline
+ set modeline
+ filetype plugin on
+ syntax enable
+- call assert_fails('split ' . fname, 'E474:')
++ call assert_fails('split ' . fname, a:error)
+ call assert_equal("", &filetype)
+ call assert_equal("", &syntax)
+
+@@ -79,16 +82,90 @@ func s:modeline_fails(what, text)
+ endfunc
+
+ func Test_modeline_filetype_fails()
+- call s:modeline_fails('filetype', 'ft=evil$CMD')
++ call s:modeline_fails('filetype', 'ft=evil$CMD', 'E474:')
+ endfunc
+
+ func Test_modeline_syntax_fails()
+- call s:modeline_fails('syntax', 'syn=evil$CMD')
++ call s:modeline_fails('syntax', 'syn=evil$CMD', 'E474:')
+ endfunc
+
+ func Test_modeline_keymap_fails()
+- if !has('keymap')
+- return
+- endif
+- call s:modeline_fails('keymap', 'keymap=evil$CMD')
++ call s:modeline_fails('keymap', 'keymap=evil$CMD', 'E474:')
++endfunc
++
++func Test_modeline_fails_always()
++ call s:modeline_fails('backupdir', 'backupdir=Something()', 'E520:')
++ call s:modeline_fails('cdpath', 'cdpath=Something()', 'E520:')
++ call s:modeline_fails('charconvert', 'charconvert=Something()', 'E520:')
++ call s:modeline_fails('completefunc', 'completefunc=Something()', 'E520:')
++ call s:modeline_fails('cscopeprg', 'cscopeprg=Something()', 'E520:')
++ call s:modeline_fails('diffexpr', 'diffexpr=Something()', 'E520:')
++ call s:modeline_fails('directory', 'directory=Something()', 'E520:')
++ call s:modeline_fails('equalprg', 'equalprg=Something()', 'E520:')
++ call s:modeline_fails('errorfile', 'errorfile=Something()', 'E520:')
++ call s:modeline_fails('exrc', 'exrc=Something()', 'E520:')
++ call s:modeline_fails('formatprg', 'formatprg=Something()', 'E520:')
++ call s:modeline_fails('fsync', 'fsync=Something()', 'E520:')
++ call s:modeline_fails('grepprg', 'grepprg=Something()', 'E520:')
++ call s:modeline_fails('helpfile', 'helpfile=Something()', 'E520:')
++ call s:modeline_fails('imactivatefunc', 'imactivatefunc=Something()', 'E520:')
++ call s:modeline_fails('imstatusfunc', 'imstatusfunc=Something()', 'E520:')
++ call s:modeline_fails('imstyle', 'imstyle=Something()', 'E520:')
++ call s:modeline_fails('keywordprg', 'keywordprg=Something()', 'E520:')
++ call s:modeline_fails('langmap', 'langmap=Something()', 'E520:')
++ call s:modeline_fails('luadll', 'luadll=Something()', 'E520:')
++ call s:modeline_fails('makeef', 'makeef=Something()', 'E520:')
++ call s:modeline_fails('makeprg', 'makeprg=Something()', 'E520:')
++ call s:modeline_fails('makespellmem', 'makespellmem=Something()', 'E520:')
++ call s:modeline_fails('mzschemedll', 'mzschemedll=Something()', 'E520:')
++ call s:modeline_fails('mzschemegcdll', 'mzschemegcdll=Something()', 'E520:')
++ call s:modeline_fails('omnifunc', 'omnifunc=Something()', 'E520:')
++ call s:modeline_fails('operatorfunc', 'operatorfunc=Something()', 'E520:')
++ call s:modeline_fails('perldll', 'perldll=Something()', 'E520:')
++ call s:modeline_fails('printdevice', 'printdevice=Something()', 'E520:')
++ call s:modeline_fails('patchexpr', 'patchexpr=Something()', 'E520:')
++ call s:modeline_fails('printexpr', 'printexpr=Something()', 'E520:')
++ call s:modeline_fails('pythondll', 'pythondll=Something()', 'E520:')
++ call s:modeline_fails('pythonhome', 'pythondll=Something()', 'E520:')
++ call s:modeline_fails('pythonthreedll', 'pythonthreedll=Something()', 'E520:')
++ call s:modeline_fails('pythonthreehome', 'pythonthreehome=Something()', 'E520:')
++ call s:modeline_fails('pyxversion', 'pyxversion=Something()', 'E520:')
++ call s:modeline_fails('rubydll', 'rubydll=Something()', 'E520:')
++ call s:modeline_fails('runtimepath', 'runtimepath=Something()', 'E520:')
++ call s:modeline_fails('secure', 'secure=Something()', 'E520:')
++ call s:modeline_fails('shell', 'shell=Something()', 'E520:')
++ call s:modeline_fails('shellcmdflag', 'shellcmdflag=Something()', 'E520:')
++ call s:modeline_fails('shellpipe', 'shellpipe=Something()', 'E520:')
++ call s:modeline_fails('shellquote', 'shellquote=Something()', 'E520:')
++ call s:modeline_fails('shellredir', 'shellredir=Something()', 'E520:')
++ call s:modeline_fails('shellxquote', 'shellxquote=Something()', 'E520:')
++ call s:modeline_fails('spellfile', 'spellfile=Something()', 'E520:')
++ call s:modeline_fails('spellsuggest', 'spellsuggest=Something()', 'E520:')
++ call s:modeline_fails('tcldll', 'tcldll=Something()', 'E520:')
++ call s:modeline_fails('titleold', 'titleold=Something()', 'E520:')
++ call s:modeline_fails('viewdir', 'viewdir=Something()', 'E520:')
++ call s:modeline_fails('viminfo', 'viminfo=Something()', 'E520:')
++ call s:modeline_fails('viminfofile', 'viminfofile=Something()', 'E520:')
++ call s:modeline_fails('winptydll', 'winptydll=Something()', 'E520:')
++ call s:modeline_fails('undodir', 'undodir=Something()', 'E520:')
++ " only check a few terminal options
++ call s:modeline_fails('t_AB', 't_AB=Something()', 'E520:')
++ call s:modeline_fails('t_ce', 't_ce=Something()', 'E520:')
++ call s:modeline_fails('t_sr', 't_sr=Something()', 'E520:')
++ call s:modeline_fails('t_8b', 't_8b=Something()', 'E520:')
++endfunc
++
++func Test_modeline_fails_modelineexpr()
++ call s:modeline_fails('balloonexpr', 'balloonexpr=Something()', 'E992:')
++ call s:modeline_fails('foldexpr', 'foldexpr=Something()', 'E992:')
++ call s:modeline_fails('foldtext', 'foldtext=Something()', 'E992:')
++ call s:modeline_fails('formatexpr', 'formatexpr=Something()', 'E992:')
++ call s:modeline_fails('guitablabel', 'guitablabel=Something()', 'E992:')
++ call s:modeline_fails('iconstring', 'iconstring=Something()', 'E992:')
++ call s:modeline_fails('includeexpr', 'includeexpr=Something()', 'E992:')
++ call s:modeline_fails('indentexpr', 'indentexpr=Something()', 'E992:')
++ call s:modeline_fails('rulerformat', 'rulerformat=Something()', 'E992:')
++ call s:modeline_fails('statusline', 'statusline=Something()', 'E992:')
++ call s:modeline_fails('tabline', 'tabline=Something()', 'E992:')
++ call s:modeline_fails('titlestring', 'titlestring=Something()', 'E992:')
+ endfunc
+diff --git a/src/version.c b/src/version.c
+index 3040409..2cbc426 100644
+--- a/src/version.c
++++ b/src/version.c
+@@ -791,6 +791,8 @@ static char *(features[]) =
+
+ static int included_patches[] =
+ { /* Add new patch number below this line */
++/**/
++ 1366,
+ /**/
+ 1365,
+ /**/
diff --git a/debian/patches/patch-8.1.1367-can-set-modelineexpr-in-modeline.patch b/debian/patches/patch-8.1.1367-can-set-modelineexpr-in-modeline.patch
new file mode 100644
index 0000000..fd94f36
--- /dev/null
+++ b/debian/patches/patch-8.1.1367-can-set-modelineexpr-in-modeline.patch
@@ -0,0 +1,54 @@
+From: Bram Moolenaar <Bram@vim.org>
+Date: Thu, 23 May 2019 17:08:49 +0200
+Subject: patch 8.1.1367: can set 'modelineexpr' in modeline
+
+Problem: can set 'modelineexpr' in modeline.
+Solution: Add P_SECURE flag.
+
+(cherry picked from commit 7e800c6047c8a9cc3e5cbc019a4dc91ec36616b1)
+
+Signed-off-by: James McCoy <jamessan@debian.org>
+---
+ src/option.c | 2 +-
+ src/testdir/test_modeline.vim | 1 +
+ src/version.c | 2 ++
+ 3 files changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/src/option.c b/src/option.c
+index e1e89d5..e3f5f5d 100644
+--- a/src/option.c
++++ b/src/option.c
+@@ -1892,7 +1892,7 @@ static struct vimoption options[] =
+ {"modeline", "ml", P_BOOL|P_VIM,
+ (char_u *)&p_ml, PV_ML,
+ {(char_u *)FALSE, (char_u *)TRUE} SCTX_INIT},
+- {"modelineexpr", "mle", P_BOOL|P_VI_DEF,
++ {"modelineexpr", "mle", P_BOOL|P_VI_DEF|P_SECURE,
+ (char_u *)&p_mle, PV_NONE,
+ {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
+ {"modelines", "mls", P_NUM|P_VI_DEF,
+diff --git a/src/testdir/test_modeline.vim b/src/testdir/test_modeline.vim
+index 101116c..89c06ba 100644
+--- a/src/testdir/test_modeline.vim
++++ b/src/testdir/test_modeline.vim
+@@ -119,6 +119,7 @@ func Test_modeline_fails_always()
+ call s:modeline_fails('makespellmem', 'makespellmem=Something()', 'E520:')
+ call s:modeline_fails('mzschemedll', 'mzschemedll=Something()', 'E520:')
+ call s:modeline_fails('mzschemegcdll', 'mzschemegcdll=Something()', 'E520:')
++ call s:modeline_fails('modelineexpr', 'modelineexpr', 'E520:')
+ call s:modeline_fails('omnifunc', 'omnifunc=Something()', 'E520:')
+ call s:modeline_fails('operatorfunc', 'operatorfunc=Something()', 'E520:')
+ call s:modeline_fails('perldll', 'perldll=Something()', 'E520:')
+diff --git a/src/version.c b/src/version.c
+index 2cbc426..0ce8831 100644
+--- a/src/version.c
++++ b/src/version.c
+@@ -791,6 +791,8 @@ static char *(features[]) =
+
+ static int included_patches[] =
+ { /* Add new patch number below this line */
++/**/
++ 1367,
+ /**/
+ 1366,
+ /**/
diff --git a/debian/patches/patch-8.1.1368-modeline-test-fails-with-python-but-withou.patch b/debian/patches/patch-8.1.1368-modeline-test-fails-with-python-but-withou.patch
new file mode 100644
index 0000000..36bbbe9
--- /dev/null
+++ b/debian/patches/patch-8.1.1368-modeline-test-fails-with-python-but-withou.patch
@@ -0,0 +1,42 @@
+From: Bram Moolenaar <Bram@vim.org>
+Date: Thu, 23 May 2019 17:35:55 +0200
+Subject: patch 8.1.1368: modeline test fails with python but without
+ pythonhome
+
+Problem: Modeline test fails with python but without pythonhome.
+Solution: Correct test argument.
+
+(cherry picked from commit e09244ee3567d658c293fb1ae0d47a1a8be870ac)
+
+Signed-off-by: James McCoy <jamessan@debian.org>
+---
+ src/testdir/test_modeline.vim | 2 +-
+ src/version.c | 2 ++
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/testdir/test_modeline.vim b/src/testdir/test_modeline.vim
+index 89c06ba..7251036 100644
+--- a/src/testdir/test_modeline.vim
++++ b/src/testdir/test_modeline.vim
+@@ -127,7 +127,7 @@ func Test_modeline_fails_always()
+ call s:modeline_fails('patchexpr', 'patchexpr=Something()', 'E520:')
+ call s:modeline_fails('printexpr', 'printexpr=Something()', 'E520:')
+ call s:modeline_fails('pythondll', 'pythondll=Something()', 'E520:')
+- call s:modeline_fails('pythonhome', 'pythondll=Something()', 'E520:')
++ call s:modeline_fails('pythonhome', 'pythonhome=Something()', 'E520:')
+ call s:modeline_fails('pythonthreedll', 'pythonthreedll=Something()', 'E520:')
+ call s:modeline_fails('pythonthreehome', 'pythonthreehome=Something()', 'E520:')
+ call s:modeline_fails('pyxversion', 'pyxversion=Something()', 'E520:')
+diff --git a/src/version.c b/src/version.c
+index 0ce8831..90acd77 100644
+--- a/src/version.c
++++ b/src/version.c
+@@ -791,6 +791,8 @@ static char *(features[]) =
+
+ static int included_patches[] =
+ { /* Add new patch number below this line */
++/**/
++ 1368,
+ /**/
+ 1367,
+ /**/
diff --git a/debian/patches/patch-8.1.1382-error-when-editing-test-file.patch b/debian/patches/patch-8.1.1382-error-when-editing-test-file.patch
new file mode 100644
index 0000000..114c2a4
--- /dev/null
+++ b/debian/patches/patch-8.1.1382-error-when-editing-test-file.patch
@@ -0,0 +1,71 @@
+From: Bram Moolenaar <Bram@vim.org>
+Date: Fri, 24 May 2019 17:33:01 +0200
+Subject: patch 8.1.1382: error when editing test file
+
+Problem: Error when editing test file.
+Solution: Remove part of modeline.
+
+(cherry picked from commit 3020a87cb121123abf1e9a1eca0eddac241fc481)
+
+Signed-off-by: James McCoy <jamessan@debian.org>
+---
+ src/testdir/test49.in | 2 +-
+ src/testdir/test49.vim | 3 +--
+ src/testdir/test_vimscript.vim | 1 -
+ src/version.c | 2 ++
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/testdir/test49.in b/src/testdir/test49.in
+index a0c9e0d..79f13f6 100644
+--- a/src/testdir/test49.in
++++ b/src/testdir/test49.in
+@@ -5,7 +5,7 @@ test49.failed, try to add one or more "G"s at the line ending in "test.out"
+
+ STARTTEST
+ :so small.vim
+-:se nocp nomore viminfo+=nviminfo modelineexpr
++:se nocp nomore viminfo+=nviminfo
+ :lang mess C
+ :so test49.vim
+ :" Go back to this file and append the results from register r.
+diff --git a/src/testdir/test49.vim b/src/testdir/test49.vim
+index 97088f0..7393ec4 100644
+--- a/src/testdir/test49.vim
++++ b/src/testdir/test49.vim
+@@ -1,6 +1,6 @@
+ " Vim script language tests
+ " Author: Servatius Brandt <Servatius.Brandt@fujitsu-siemens.com>
+-" Last Change: 2019 Jan 13
++" Last Change: 2019 May 24
+
+ "-------------------------------------------------------------------------------
+ " Test environment {{{1
+@@ -9005,5 +9005,4 @@ Xcheck 50443995
+ "-------------------------------------------------------------------------------
+ " Modelines {{{1
+ " vim: ts=8 sw=4 tw=80 fdm=marker
+-" vim: fdt=substitute(substitute(foldtext(),\ '\\%(^+--\\)\\@<=\\(\\s*\\)\\(.\\{-}\\)\:\ \\%(\"\ \\)\\=\\(Test\ \\d*\\)\:\\s*',\ '\\3\ (\\2)\:\ \\1',\ \"\"),\ '\\(Test\\s*\\)\\(\\d\\)\\D\\@=',\ '\\1\ \\2',\ "")
+ "-------------------------------------------------------------------------------
+diff --git a/src/testdir/test_vimscript.vim b/src/testdir/test_vimscript.vim
+index 9de0a62..24379ed 100644
+--- a/src/testdir/test_vimscript.vim
++++ b/src/testdir/test_vimscript.vim
+@@ -1444,5 +1444,4 @@ endfunc
+ "-------------------------------------------------------------------------------
+ " Modelines {{{1
+ " vim: ts=8 sw=4 tw=80 fdm=marker
+-" vim: fdt=substitute(substitute(foldtext(),\ '\\%(^+--\\)\\@<=\\(\\s*\\)\\(.\\{-}\\)\:\ \\%(\"\ \\)\\=\\(Test\ \\d*\\)\:\\s*',\ '\\3\ (\\2)\:\ \\1',\ \"\"),\ '\\(Test\\s*\\)\\(\\d\\)\\D\\@=',\ '\\1\ \\2',\ "")
+ "-------------------------------------------------------------------------------
+diff --git a/src/version.c b/src/version.c
+index 90acd77..a0ca945 100644
+--- a/src/version.c
++++ b/src/version.c
+@@ -791,6 +791,8 @@ static char *(features[]) =
+
+ static int included_patches[] =
+ { /* Add new patch number below this line */
++/**/
++ 1382,
+ /**/
+ 1368,
+ /**/
diff --git a/debian/patches/patch-8.1.1401-misspelled-mkspellmem-as-makespellmem.patch b/debian/patches/patch-8.1.1401-misspelled-mkspellmem-as-makespellmem.patch
new file mode 100644
index 0000000..5f422ac
--- /dev/null
+++ b/debian/patches/patch-8.1.1401-misspelled-mkspellmem-as-makespellmem.patch
@@ -0,0 +1,69 @@
+From: Bram Moolenaar <Bram@vim.org>
+Date: Sun, 26 May 2019 19:20:43 +0200
+Subject: patch 8.1.1401: misspelled mkspellmem as makespellmem
+
+Problem: Misspelled mkspellmem as makespellmem.
+Solution: Drop duplicate help entry, fix test. (Naruhiko Nishino, Ken
+ Takata, closes #4437)
+
+(cherry picked from commit 076073950c44ea0e35bc39d539dc7ab41bf9c7ec)
+
+Signed-off-by: James McCoy <jamessan@debian.org>
+---
+ runtime/doc/options.txt | 8 ++------
+ src/testdir/test_modeline.vim | 2 +-
+ src/version.c | 2 ++
+ 3 files changed, 5 insertions(+), 7 deletions(-)
+
+diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
+index 7b25f20..4ab87db 100644
+--- a/runtime/doc/options.txt
++++ b/runtime/doc/options.txt
+@@ -5245,12 +5245,6 @@ A jump table for the options with a short description can be found at |Q_op|.
+ < This option cannot be set from a |modeline| or in the |sandbox|, for
+ security reasons.
+
+- *'makespellmem'* *'msm'*
+-'makespellmem' 'msm' string (default "460000,2000,500")
+- global
+- Values relevant only when compressing a spell file, see |spell|.
+- This option cannot be set from a |modeline| or in the |sandbox|.
+-
+ *'matchpairs'* *'mps'*
+ 'matchpairs' 'mps' string (default "(:),{:},[:]")
+ local to buffer
+@@ -5413,6 +5407,8 @@ A jump table for the options with a short description can be found at |Q_op|.
+ < If you have less than 512 Mbyte |:mkspell| may fail for some
+ languages, no matter what you set 'mkspellmem' to.
+
++ This option cannot be set from a |modeline| or in the |sandbox|.
++
+ *'modeline'* *'ml'* *'nomodeline'* *'noml'*
+ 'modeline' 'ml' boolean (Vim default: on (off for root),
+ Debian: off, Vi default: off)
+diff --git a/src/testdir/test_modeline.vim b/src/testdir/test_modeline.vim
+index 7251036..b5513d5 100644
+--- a/src/testdir/test_modeline.vim
++++ b/src/testdir/test_modeline.vim
+@@ -116,7 +116,7 @@ func Test_modeline_fails_always()
+ call s:modeline_fails('luadll', 'luadll=Something()', 'E520:')
+ call s:modeline_fails('makeef', 'makeef=Something()', 'E520:')
+ call s:modeline_fails('makeprg', 'makeprg=Something()', 'E520:')
+- call s:modeline_fails('makespellmem', 'makespellmem=Something()', 'E520:')
++ call s:modeline_fails('mkspellmem', 'mkspellmem=Something()', 'E520:')
+ call s:modeline_fails('mzschemedll', 'mzschemedll=Something()', 'E520:')
+ call s:modeline_fails('mzschemegcdll', 'mzschemegcdll=Something()', 'E520:')
+ call s:modeline_fails('modelineexpr', 'modelineexpr', 'E520:')
+diff --git a/src/version.c b/src/version.c
+index a0ca945..1b5d863 100644
+--- a/src/version.c
++++ b/src/version.c
+@@ -791,6 +791,8 @@ static char *(features[]) =
+
+ static int included_patches[] =
+ { /* Add new patch number below this line */
++/**/
++ 1401,
+ /**/
+ 1382,
+ /**/
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..9a8f88a
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,23 @@
+upstream/Support-defining-compilation-date-in-SOURCE_DATE_EPOCH.patch
+debian/Support-sourcing-a-vimrc.tiny-when-Vim-is-invoked-as-vi.patch
+debian/Detect-the-rst-filetype-using-the-contents-of-the-file.patch
+debian/Add-recognition-of-more-LaTeX-commands-for-tex-filetype-d.patch
+debian/Document-Debian-s-decision-to-disable-modelines-by-defaul.patch
+patch-8.1.0878-test-for-has-bsd-fails-on-some-BSD-systems.patch
+patch-8.1.0884-double-check-for-bsd-systems.patch
+patch-8.1.0948-when-built-without-eval-Vim-clean-produces.patch
+upstream/deb-release-names.patch
+patch-8.1.1046-the-secure-variable-is-used-inconsistently.patch
+patch-8.1.1365-source-command-doesn-t-check-for-the-sandb.patch
+patch-8.1.1366-using-expressions-in-a-modeline-is-unsafe.patch
+patch-8.1.1367-can-set-modelineexpr-in-modeline.patch
+patch-8.1.1368-modeline-test-fails-with-python-but-withou.patch
+patch-8.1.1382-error-when-editing-test-file.patch
+patch-8.1.1401-misspelled-mkspellmem-as-makespellmem.patch
+upstream/patch-8.1.0881-can-execute-shell-commands-in-rvim-through.patch
+upstream/patch-8.1.0883-missing-some-changes-for-Ex-commands.patch
+upstream/patch-8.1.0936-may-leak-memory-when-using-vartabstop.patch
+upstream/patch-8.2.3402-invalid-memory-access-when-using-retab-wit.patch
+upstream/patch-8.2.3403-memory-leak-for-retab-with-invalid-argumen.patch
+upstream/patch-8.2.3409-reading-beyond-end-of-line-with-invalid-ut.patch
+upstream/patch-8.2.3428-using-freed-memory-when-replacing.patch
diff --git a/debian/patches/upstream/Support-defining-compilation-date-in-SOURCE_DATE_EPOCH.patch b/debian/patches/upstream/Support-defining-compilation-date-in-SOURCE_DATE_EPOCH.patch
new file mode 100644
index 0000000..f26c02a
--- /dev/null
+++ b/debian/patches/upstream/Support-defining-compilation-date-in-SOURCE_DATE_EPOCH.patch
@@ -0,0 +1,89 @@
+From: James McCoy <jamessan@jamessan.com>
+Date: Thu, 28 Jan 2016 10:55:11 -0500
+Subject: Support defining compilation date in $SOURCE_DATE_EPOCH
+
+There is an ongoing effort[0] to make FOSS software reproducibly
+buildable. In order to make Vim build reproducibly, it is necessary to
+allow defining the date/time that is part of VIM_VERSION_LONG as part of
+the build process.
+
+This commit enables that by adding support for the SOURCE_DATE_EPOCH
+spec[1]. When the $SOURCE_DATE_EPOCH environment variable is defined,
+it will be used to populate the BUILD_DATE preprocessor define.
+
+If BUILD_DATE is not defined, the existing behavior of relying on the
+preprocessor's __DATE__/__TIME__ symbols will be used.
+
+[0]: https://reproducible-builds.org/
+[1]: https://reproducible-builds.org/specs/source-date-epoch/
+---
+ src/config.h.in | 3 +++
+ src/configure.ac | 10 ++++++++++
+ src/version.c | 8 ++++++++
+ 3 files changed, 21 insertions(+)
+
+diff --git a/src/config.h.in b/src/config.h.in
+index d1aaf70..78cf319 100644
+--- a/src/config.h.in
++++ b/src/config.h.in
+@@ -30,6 +30,9 @@
+ /* Define when __DATE__ " " __TIME__ can be used */
+ #undef HAVE_DATE_TIME
+
++/* Defined as the date of last modification */
++#undef BUILD_DATE
++
+ /* Define when __attribute__((unused)) can be used */
+ #undef HAVE_ATTRIBUTE_UNUSED
+
+diff --git a/src/configure.ac b/src/configure.ac
+index 2b7725b..21ca7a1 100644
+--- a/src/configure.ac
++++ b/src/configure.ac
+@@ -62,6 +62,16 @@ if test x"$ac_cv_prog_cc_c99" != xno; then
+ fi
+ fi
+
++dnl If $SOURCE_DATE_EPOCH is present in the environment, use that as the
++dnl "compiled" timestamp in :version's output. Attempt to get the formatted
++dnl date using GNU date syntax, BSD date syntax, and finally falling back to
++dnl just using the current time.
++if test -n "$SOURCE_DATE_EPOCH"; then
++ DATE_FMT="%b %d %Y %H:%M:%S"
++ BUILD_DATE=$(LC_ALL=C date -u -d "@$SOURCE_DATE_EPOCH" "+$DATE_FMT" 2>/dev/null || LC_ALL=C date -u -r "$SOURCE_DATE_EPOCH" "+$DATE_FMT" 2>/dev/null || LC_ALL=C date -u "+$DATE_FMT")
++ AC_DEFINE_UNQUOTED(BUILD_DATE, ["$BUILD_DATE"])
++fi
++
+ dnl Check for the flag that fails if stuff are missing.
+
+ AC_MSG_CHECKING(--enable-fail-if-missing argument)
+diff --git a/src/version.c b/src/version.c
+index 9b2e7c9..0b86826 100644
+--- a/src/version.c
++++ b/src/version.c
+@@ -44,9 +44,13 @@ init_longVersion(void)
+ * VAX C can't catenate strings in the preprocessor.
+ */
+ strcpy(longVersion, VIM_VERSION_LONG_DATE);
++#ifdef BUILD_DATE
++ strcat(longVersion, BUILD_DATE);
++#else
+ strcat(longVersion, __DATE__);
+ strcat(longVersion, " ");
+ strcat(longVersion, __TIME__);
++#endif
+ strcat(longVersion, ")");
+ }
+
+@@ -54,7 +58,11 @@ init_longVersion(void)
+ void
+ init_longVersion(void)
+ {
++#ifdef BUILD_DATE
++ char *date_time = BUILD_DATE;
++#else
+ char *date_time = __DATE__ " " __TIME__;
++#endif
+ char *msg = _("%s (%s, compiled %s)");
+ size_t len = strlen(msg)
+ + strlen(VIM_VERSION_LONG_ONLY)
diff --git a/debian/patches/upstream/deb-release-names.patch b/debian/patches/upstream/deb-release-names.patch
new file mode 100644
index 0000000..42b72dd
--- /dev/null
+++ b/debian/patches/upstream/deb-release-names.patch
@@ -0,0 +1,58 @@
+From: James McCoy <jamessan@debian.org>
+Date: Sun, 21 Apr 2019 23:12:18 -0400
+Subject: Add Ubuntu's eoan and Debian's buster, bullseye, bookworm releases
+
+Signed-off-by: James McCoy <jamessan@debian.org>
+---
+ runtime/syntax/debchangelog.vim | 4 ++--
+ runtime/syntax/debsources.vim | 7 ++++---
+ 2 files changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/runtime/syntax/debchangelog.vim b/runtime/syntax/debchangelog.vim
+index 4ca4c29..9d6dfe9 100644
+--- a/runtime/syntax/debchangelog.vim
++++ b/runtime/syntax/debchangelog.vim
+@@ -3,7 +3,7 @@
+ " Maintainer: Debian Vim Maintainers
+ " Former Maintainers: Gerfried Fuchs <alfie@ist.org>
+ " Wichert Akkerman <wakkerma@debian.org>
+-" Last Change: 2019 Jan 26
++" Last Change: 2019 Apr 21
+ " URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debchangelog.vim
+
+ " Standard syntax initialization
+@@ -21,7 +21,7 @@ let s:binNMU='binary-only=yes'
+ syn match debchangelogName contained "^[[:alnum:]][[:alnum:].+-]\+ "
+ exe 'syn match debchangelogFirstKV contained "; \('.s:urgency.'\|'.s:binNMU.'\)"'
+ exe 'syn match debchangelogOtherKV contained ", \('.s:urgency.'\|'.s:binNMU.'\)"'
+-syn match debchangelogTarget contained "\v %(frozen|unstable|sid|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|squeeze-%(backports%(-sloppy)=|volatile|lts|security)|%(wheezy|jessie)%(-backports%(-sloppy)=|-security)=|stretch%(-backports|-security)=|%(devel|precise|trusty|vivid|wily|xenial|yakkety|zesty|artful|bionic|cosmic|disco)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
++syn match debchangelogTarget contained "\v %(frozen|unstable|sid|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|%(squeeze|wheezy|jessie)-%(backports%(-sloppy)=|lts|security)|stretch%(-backports%(-sloppy)=|-security)=|buster%(-backports|-security)=|bullseye|%(devel|precise|trusty|vivid|wily|xenial|yakkety|zesty|artful|bionic|cosmic|disco|eoan)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
+ syn match debchangelogVersion contained "(.\{-})"
+ syn match debchangelogCloses contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*"
+ syn match debchangelogLP contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*"
+diff --git a/runtime/syntax/debsources.vim b/runtime/syntax/debsources.vim
+index 4b21941..f90476f 100644
+--- a/runtime/syntax/debsources.vim
++++ b/runtime/syntax/debsources.vim
+@@ -2,7 +2,7 @@
+ " Language: Debian sources.list
+ " Maintainer: Debian Vim Maintainers
+ " Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
+-" Last Change: 2018 Oct 30
++" Last Change: 2019 Apr 21
+ " URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debsources.vim
+
+ " Standard syntax initialization
+@@ -23,9 +23,10 @@ let s:cpo = &cpo
+ set cpo-=C
+ let s:supported = [
+ \ 'oldstable', 'stable', 'testing', 'unstable', 'experimental',
+- \ 'wheezy', 'jessie', 'stretch', 'sid', 'rc-buggy',
++ \ 'wheezy', 'jessie', 'stretch', 'buster', 'bullseye', 'bookworm',
++ \ 'sid', 'rc-buggy',
+ \
+- \ 'trusty', 'xenial', 'bionic', 'cosmic', 'disco', 'devel'
++ \ 'trusty', 'xenial', 'bionic', 'cosmic', 'disco', 'eoan', 'devel'
+ \ ]
+ let s:unsupported = [
+ \ 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato',
diff --git a/debian/patches/upstream/patch-8.1.0881-can-execute-shell-commands-in-rvim-through.patch b/debian/patches/upstream/patch-8.1.0881-can-execute-shell-commands-in-rvim-through.patch
new file mode 100644
index 0000000..01e9ad7
--- /dev/null
+++ b/debian/patches/upstream/patch-8.1.0881-can-execute-shell-commands-in-rvim-through.patch
@@ -0,0 +1,378 @@
+From: Bram Moolenaar <Bram@vim.org>
+Date: Fri, 8 Feb 2019 14:34:10 +0100
+Subject: patch 8.1.0881: can execute shell commands in rvim through
+ interfaces
+
+Problem: Can execute shell commands in rvim through interfaces.
+Solution: Disable using interfaces in restricted mode. Allow for writing
+ file with writefile(), histadd() and a few others.
+(cherry picked from commit 8c62a08faf89663e5633dc5036cd8695c80f1075)
+---
+ runtime/doc/starting.txt | 14 ++++--
+ src/evalfunc.c | 22 +++++++--
+ src/ex_cmds.c | 2 +-
+ src/ex_docmd.c | 7 ++-
+ src/if_perl.xs | 13 ++---
+ src/testdir/Make_all.mak | 2 +
+ src/testdir/test_restricted.vim | 107 ++++++++++++++++++++++++++++++++++++++++
+ src/version.c | 2 +
+ 8 files changed, 151 insertions(+), 18 deletions(-)
+ create mode 100644 src/testdir/test_restricted.vim
+
+diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt
+index 711a487..6289e9c 100644
+--- a/runtime/doc/starting.txt
++++ b/runtime/doc/starting.txt
+@@ -248,12 +248,18 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
+ changes and writing.
+ {not in Vi}
+
+- *-Z* *restricted-mode* *E145*
++ *-Z* *restricted-mode* *E145* *E981*
+ -Z Restricted mode. All commands that make use of an external
+ shell are disabled. This includes suspending with CTRL-Z,
+- ":sh", filtering, the system() function, backtick expansion,
+- delete(), rename(), mkdir(), writefile(), libcall(),
+- job_start(), etc.
++ ":sh", filtering, the system() function, backtick expansion
++ and libcall().
++ Also disallowed are delete(), rename(), mkdir(), job_start(),
++ etc.
++ Interfaces, such as Python, Ruby and Lua, are also disabled,
++ since they could be used to execute shell commands. Perl uses
++ the Safe module.
++ Note that the user may still find a loophole to execute a
++ shell command, it has only been made difficult.
+ {not in Vi}
+
+ *-g*
+diff --git a/src/evalfunc.c b/src/evalfunc.c
+index fa7ed9b..eb082b7 100644
+--- a/src/evalfunc.c
++++ b/src/evalfunc.c
+@@ -6817,7 +6817,7 @@ f_histadd(typval_T *argvars UNUSED, typval_T *rettv)
+ #endif
+
+ rettv->vval.v_number = FALSE;
+- if (check_restricted() || check_secure())
++ if (check_secure())
+ return;
+ #ifdef FEAT_CMDHIST
+ str = tv_get_string_chk(&argvars[0]); /* NULL on type error */
+@@ -7898,6 +7898,9 @@ f_luaeval(typval_T *argvars, typval_T *rettv)
+ char_u *str;
+ char_u buf[NUMBUFLEN];
+
++ if (check_restricted() || check_secure())
++ return;
++
+ str = tv_get_string_buf(&argvars[0], buf);
+ do_luaeval(str, argvars + 1, rettv);
+ }
+@@ -8644,6 +8647,8 @@ f_mzeval(typval_T *argvars, typval_T *rettv)
+ char_u *str;
+ char_u buf[NUMBUFLEN];
+
++ if (check_restricted() || check_secure())
++ return;
+ str = tv_get_string_buf(&argvars[0], buf);
+ do_mzeval(str, rettv);
+ }
+@@ -8932,6 +8937,9 @@ f_py3eval(typval_T *argvars, typval_T *rettv)
+ char_u *str;
+ char_u buf[NUMBUFLEN];
+
++ if (check_restricted() || check_secure())
++ return;
++
+ if (p_pyx == 0)
+ p_pyx = 3;
+
+@@ -8950,6 +8958,9 @@ f_pyeval(typval_T *argvars, typval_T *rettv)
+ char_u *str;
+ char_u buf[NUMBUFLEN];
+
++ if (check_restricted() || check_secure())
++ return;
++
+ if (p_pyx == 0)
+ p_pyx = 2;
+
+@@ -8965,6 +8976,9 @@ f_pyeval(typval_T *argvars, typval_T *rettv)
+ static void
+ f_pyxeval(typval_T *argvars, typval_T *rettv)
+ {
++ if (check_restricted() || check_secure())
++ return;
++
+ # if defined(FEAT_PYTHON) && defined(FEAT_PYTHON3)
+ init_pyxversion();
+ if (p_pyx == 2)
+@@ -10819,7 +10833,7 @@ f_setbufvar(typval_T *argvars, typval_T *rettv UNUSED)
+ typval_T *varp;
+ char_u nbuf[NUMBUFLEN];
+
+- if (check_restricted() || check_secure())
++ if (check_secure())
+ return;
+ (void)tv_get_number(&argvars[0]); /* issue errmsg if type error */
+ varname = tv_get_string_chk(&argvars[1]);
+@@ -11341,7 +11355,7 @@ f_settabvar(typval_T *argvars, typval_T *rettv)
+
+ rettv->vval.v_number = 0;
+
+- if (check_restricted() || check_secure())
++ if (check_secure())
+ return;
+
+ tp = find_tabpage((int)tv_get_number_chk(&argvars[0], NULL));
+@@ -14714,7 +14728,7 @@ f_writefile(typval_T *argvars, typval_T *rettv)
+ blob_T *blob = NULL;
+
+ rettv->vval.v_number = -1;
+- if (check_restricted() || check_secure())
++ if (check_secure())
+ return;
+
+ if (argvars[0].v_type == VAR_LIST)
+diff --git a/src/ex_cmds.c b/src/ex_cmds.c
+index a3974c1..681ef42 100644
+--- a/src/ex_cmds.c
++++ b/src/ex_cmds.c
+@@ -4775,7 +4775,7 @@ check_restricted(void)
+ {
+ if (restricted)
+ {
+- emsg(_("E145: Shell commands not allowed in rvim"));
++ emsg(_("E145: Shell commands and some functionality not allowed in rvim"));
+ return TRUE;
+ }
+ return FALSE;
+diff --git a/src/ex_docmd.c b/src/ex_docmd.c
+index b90ea7b..ccca2f9 100644
+--- a/src/ex_docmd.c
++++ b/src/ex_docmd.c
+@@ -2007,11 +2007,16 @@ do_one_cmd(
+ #ifdef HAVE_SANDBOX
+ if (sandbox != 0 && !(ea.argt & SBOXOK))
+ {
+- /* Command not allowed in sandbox. */
++ // Command not allowed in sandbox.
+ errormsg = _(e_sandbox);
+ goto doend;
+ }
+ #endif
++ if (restricted != 0 && (ea.argt & RESTRICT))
++ {
++ errormsg = _("E981: Command not allowed in rvim");
++ goto doend;
++ }
+ if (!curbuf->b_p_ma && (ea.argt & MODIFY))
+ {
+ /* Command not allowed in non-'modifiable' buffer */
+diff --git a/src/if_perl.xs b/src/if_perl.xs
+index 203bb6a..67d0b94 100644
+--- a/src/if_perl.xs
++++ b/src/if_perl.xs
+@@ -971,6 +971,7 @@ VIM_init(void)
+ #ifdef DYNAMIC_PERL
+ static char *e_noperl = N_("Sorry, this command is disabled: the Perl library could not be loaded.");
+ #endif
++static char *e_perlsandbox = N_("E299: Perl evaluation forbidden in sandbox without the Safe module");
+
+ /*
+ * ":perl"
+@@ -1019,13 +1020,12 @@ ex_perl(exarg_T *eap)
+ vim_free(script);
+ }
+
+-#ifdef HAVE_SANDBOX
+- if (sandbox)
++ if (sandbox || secure)
+ {
+ safe = perl_get_sv("VIM::safe", FALSE);
+ # ifndef MAKE_TEST /* avoid a warning for unreachable code */
+ if (safe == NULL || !SvTRUE(safe))
+- emsg(_("E299: Perl evaluation forbidden in sandbox without the Safe module"));
++ emsg(_(e_perlsandbox));
+ else
+ # endif
+ {
+@@ -1037,7 +1037,6 @@ ex_perl(exarg_T *eap)
+ }
+ }
+ else
+-#endif
+ perl_eval_sv(sv, G_DISCARD | G_NOARGS);
+
+ SvREFCNT_dec(sv);
+@@ -1298,13 +1297,12 @@ do_perleval(char_u *str, typval_T *rettv)
+ ENTER;
+ SAVETMPS;
+
+-#ifdef HAVE_SANDBOX
+- if (sandbox)
++ if (sandbox || secure)
+ {
+ safe = get_sv("VIM::safe", FALSE);
+ # ifndef MAKE_TEST /* avoid a warning for unreachable code */
+ if (safe == NULL || !SvTRUE(safe))
+- emsg(_("E299: Perl evaluation forbidden in sandbox without the Safe module"));
++ emsg(_(e_perlsandbox));
+ else
+ # endif
+ {
+@@ -1320,7 +1318,6 @@ do_perleval(char_u *str, typval_T *rettv)
+ }
+ }
+ else
+-#endif /* HAVE_SANDBOX */
+ sv = eval_pv((char *)str, 0);
+
+ if (sv) {
+diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak
+index 5857a22..2ca5f2b 100644
+--- a/src/testdir/Make_all.mak
++++ b/src/testdir/Make_all.mak
+@@ -213,6 +213,7 @@ NEW_TESTS = \
+ test_regexp_utf8 \
+ test_registers \
+ test_reltime \
++ test_restricted \
+ test_retab \
+ test_ruby \
+ test_scriptnames \
+@@ -375,6 +376,7 @@ NEW_TESTS_RES = \
+ test_quotestar.res \
+ test_regex_char_classes.res \
+ test_registers.res \
++ test_restricted.res \
+ test_retab.res \
+ test_ruby.res \
+ test_scriptnames.res \
+diff --git a/src/testdir/test_restricted.vim b/src/testdir/test_restricted.vim
+new file mode 100644
+index 0000000..9dd937c
+--- /dev/null
++++ b/src/testdir/test_restricted.vim
+@@ -0,0 +1,107 @@
++" Test for "rvim" or "vim -Z"
++
++source shared.vim
++
++func Test_restricted()
++ let cmd = GetVimCommand('Xrestricted')
++ if cmd == ''
++ return
++ endif
++
++ call writefile([
++ \ "silent !ls",
++ \ "call writefile([v:errmsg], 'Xrestrout')",
++ \ "qa!",
++ \ ], 'Xrestricted')
++ call system(cmd . ' -Z')
++ call assert_match('E145:', join(readfile('Xrestrout')))
++
++ call delete('Xrestricted')
++ call delete('Xrestrout')
++endfunc
++
++func Run_restricted_test(ex_cmd, error)
++ let cmd = GetVimCommand('Xrestricted')
++ if cmd == ''
++ return
++ endif
++
++ call writefile([
++ \ a:ex_cmd,
++ \ "call writefile([v:errmsg], 'Xrestrout')",
++ \ "qa!",
++ \ ], 'Xrestricted')
++ call system(cmd . ' -Z')
++ call assert_match(a:error, join(readfile('Xrestrout')))
++
++ call delete('Xrestricted')
++ call delete('Xrestrout')
++endfunc
++
++func Test_restricted_lua()
++ if !has('lua')
++ throw 'Skipped: Lua is not supported'
++ endif
++ call Run_restricted_test('lua print("Hello, Vim!")', 'E981:')
++ call Run_restricted_test('luado return "hello"', 'E981:')
++ call Run_restricted_test('luafile somefile', 'E981:')
++ call Run_restricted_test('call luaeval("expression")', 'E145:')
++endfunc
++
++func Test_restricted_mzscheme()
++ if !has('mzscheme')
++ throw 'Skipped: MzScheme is not supported'
++ endif
++ call Run_restricted_test('mzscheme statement', 'E981:')
++ call Run_restricted_test('mzfile somefile', 'E981:')
++ call Run_restricted_test('call mzeval("expression")', 'E145:')
++endfunc
++
++func Test_restricted_perl()
++ if !has('perl')
++ throw 'Skipped: Perl is not supported'
++ endif
++ " TODO: how to make Safe mode fail?
++ " call Run_restricted_test('perl system("ls")', 'E981:')
++ " call Run_restricted_test('perldo system("hello")', 'E981:')
++ " call Run_restricted_test('perlfile somefile', 'E981:')
++ " call Run_restricted_test('call perleval("system(\"ls\")")', 'E145:')
++endfunc
++
++func Test_restricted_python()
++ if !has('python')
++ throw 'Skipped: Python is not supported'
++ endif
++ call Run_restricted_test('python print "hello"', 'E981:')
++ call Run_restricted_test('pydo return "hello"', 'E981:')
++ call Run_restricted_test('pyfile somefile', 'E981:')
++ call Run_restricted_test('call pyeval("expression")', 'E145:')
++endfunc
++
++func Test_restricted_python3()
++ if !has('python3')
++ throw 'Skipped: Python3 is not supported'
++ endif
++ call Run_restricted_test('py3 print "hello"', 'E981:')
++ call Run_restricted_test('py3do return "hello"', 'E981:')
++ call Run_restricted_test('py3file somefile', 'E981:')
++ call Run_restricted_test('call py3eval("expression")', 'E145:')
++endfunc
++
++func Test_restricted_ruby()
++ if !has('ruby')
++ throw 'Skipped: Ruby is not supported'
++ endif
++ call Run_restricted_test('ruby print "Hello"', 'E981:')
++ call Run_restricted_test('rubydo print "Hello"', 'E981:')
++ call Run_restricted_test('rubyfile somefile', 'E981:')
++endfunc
++
++func Test_restricted_tcl()
++ if !has('tcl')
++ throw 'Skipped: Tcl is not supported'
++ endif
++ call Run_restricted_test('tcl puts "Hello"', 'E981:')
++ call Run_restricted_test('tcldo puts "Hello"', 'E981:')
++ call Run_restricted_test('tclfile somefile', 'E981:')
++endfunc
+diff --git a/src/version.c b/src/version.c
+index 1b5d863..adb3441 100644
+--- a/src/version.c
++++ b/src/version.c
+@@ -809,6 +809,8 @@ static int included_patches[] =
+ 948,
+ /**/
+ 884,
++/**/
++ 881,
+ /**/
+ 878,
+ /**/
diff --git a/debian/patches/upstream/patch-8.1.0883-missing-some-changes-for-Ex-commands.patch b/debian/patches/upstream/patch-8.1.0883-missing-some-changes-for-Ex-commands.patch
new file mode 100644
index 0000000..6f2d6eb
--- /dev/null
+++ b/debian/patches/upstream/patch-8.1.0883-missing-some-changes-for-Ex-commands.patch
@@ -0,0 +1,150 @@
+From: Bram Moolenaar <Bram@vim.org>
+Date: Fri, 8 Feb 2019 16:50:26 +0100
+Subject: patch 8.1.0883: missing some changes for Ex commands
+
+Problem: Missing some changes for Ex commands.
+Solution: Add mising changes in header file.
+(cherry picked from commit 54d6fe5e60c0c488a424c078963ead40ae7dc397)
+---
+ src/ex_cmds.h | 45 +++++++++++++++++++++++----------------------
+ src/version.c | 2 ++
+ 2 files changed, 25 insertions(+), 22 deletions(-)
+
+diff --git a/src/ex_cmds.h b/src/ex_cmds.h
+index 07afb00..eed4ce2 100644
+--- a/src/ex_cmds.h
++++ b/src/ex_cmds.h
+@@ -57,6 +57,7 @@
+ * curbuf_lock is set */
+ #define MODIFY 0x200000L /* forbidden in non-'modifiable' buffer */
+ #define EXFLAGS 0x400000L /* allow flags after count in argument */
++#define RESTRICT 0x800000L /* forbidden in restricted mode */
+ #define FILES (XFILE | EXTRA) /* multiple extra files allowed */
+ #define WORD1 (EXTRA | NOSPC) /* one extra word allowed */
+ #define FILE1 (FILES | NOSPC) /* 1 file allowed, defaults to current file */
+@@ -861,13 +862,13 @@ EX(CMD_lunmap, "lunmap", ex_unmap,
+ EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+ ADDR_LINES),
+ EX(CMD_lua, "lua", ex_lua,
+- RANGE|EXTRA|NEEDARG|CMDWIN,
++ RANGE|EXTRA|NEEDARG|CMDWIN|RESTRICT,
+ ADDR_LINES),
+ EX(CMD_luado, "luado", ex_luado,
+- RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN,
++ RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN|RESTRICT,
+ ADDR_LINES),
+ EX(CMD_luafile, "luafile", ex_luafile,
+- RANGE|FILE1|NEEDARG|CMDWIN,
++ RANGE|FILE1|NEEDARG|CMDWIN|RESTRICT,
+ ADDR_LINES),
+ EX(CMD_lvimgrep, "lvimgrep", ex_vimgrep,
+ RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE,
+@@ -930,10 +931,10 @@ EX(CMD_mode, "mode", ex_mode,
+ WORD1|TRLBAR|CMDWIN,
+ ADDR_LINES),
+ EX(CMD_mzscheme, "mzscheme", ex_mzscheme,
+- RANGE|EXTRA|DFLALL|NEEDARG|CMDWIN|SBOXOK,
++ RANGE|EXTRA|DFLALL|NEEDARG|CMDWIN|SBOXOK|RESTRICT,
+ ADDR_LINES),
+ EX(CMD_mzfile, "mzfile", ex_mzfile,
+- RANGE|FILE1|NEEDARG|CMDWIN,
++ RANGE|FILE1|NEEDARG|CMDWIN|RESTRICT,
+ ADDR_LINES),
+ EX(CMD_next, "next", ex_next,
+ RANGE|NOTADR|BANG|FILES|EDITCMD|ARGOPT|TRLBAR,
+@@ -1116,37 +1117,37 @@ EX(CMD_pwd, "pwd", ex_pwd,
+ TRLBAR|CMDWIN,
+ ADDR_LINES),
+ EX(CMD_python, "python", ex_python,
+- RANGE|EXTRA|NEEDARG|CMDWIN,
++ RANGE|EXTRA|NEEDARG|CMDWIN|RESTRICT,
+ ADDR_LINES),
+ EX(CMD_pydo, "pydo", ex_pydo,
+- RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN,
++ RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN|RESTRICT,
+ ADDR_LINES),
+ EX(CMD_pyfile, "pyfile", ex_pyfile,
+- RANGE|FILE1|NEEDARG|CMDWIN,
++ RANGE|FILE1|NEEDARG|CMDWIN|RESTRICT,
+ ADDR_LINES),
+ EX(CMD_py3, "py3", ex_py3,
+- RANGE|EXTRA|NEEDARG|CMDWIN,
++ RANGE|EXTRA|NEEDARG|CMDWIN|RESTRICT,
+ ADDR_LINES),
+ EX(CMD_py3do, "py3do", ex_py3do,
+- RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN,
++ RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN|RESTRICT,
+ ADDR_LINES),
+ EX(CMD_python3, "python3", ex_py3,
+- RANGE|EXTRA|NEEDARG|CMDWIN,
++ RANGE|EXTRA|NEEDARG|CMDWIN|RESTRICT,
+ ADDR_LINES),
+ EX(CMD_py3file, "py3file", ex_py3file,
+- RANGE|FILE1|NEEDARG|CMDWIN,
++ RANGE|FILE1|NEEDARG|CMDWIN|RESTRICT,
+ ADDR_LINES),
+ EX(CMD_pyx, "pyx", ex_pyx,
+- RANGE|EXTRA|NEEDARG|CMDWIN,
++ RANGE|EXTRA|NEEDARG|CMDWIN|RESTRICT,
+ ADDR_LINES),
+ EX(CMD_pyxdo, "pyxdo", ex_pyxdo,
+- RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN,
++ RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN|RESTRICT,
+ ADDR_LINES),
+ EX(CMD_pythonx, "pythonx", ex_pyx,
+- RANGE|EXTRA|NEEDARG|CMDWIN,
++ RANGE|EXTRA|NEEDARG|CMDWIN|RESTRICT,
+ ADDR_LINES),
+ EX(CMD_pyxfile, "pyxfile", ex_pyxfile,
+- RANGE|FILE1|NEEDARG|CMDWIN,
++ RANGE|FILE1|NEEDARG|CMDWIN|RESTRICT,
+ ADDR_LINES),
+ EX(CMD_quit, "quit", ex_quit,
+ BANG|RANGE|COUNT|NOTADR|TRLBAR|CMDWIN,
+@@ -1203,13 +1204,13 @@ EX(CMD_runtime, "runtime", ex_runtime,
+ BANG|NEEDARG|FILES|TRLBAR|SBOXOK|CMDWIN,
+ ADDR_LINES),
+ EX(CMD_ruby, "ruby", ex_ruby,
+- RANGE|EXTRA|NEEDARG|CMDWIN,
++ RANGE|EXTRA|NEEDARG|CMDWIN|RESTRICT,
+ ADDR_LINES),
+ EX(CMD_rubydo, "rubydo", ex_rubydo,
+- RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN,
++ RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN|RESTRICT,
+ ADDR_LINES),
+ EX(CMD_rubyfile, "rubyfile", ex_rubyfile,
+- RANGE|FILE1|NEEDARG|CMDWIN,
++ RANGE|FILE1|NEEDARG|CMDWIN|RESTRICT,
+ ADDR_LINES),
+ EX(CMD_rundo, "rundo", ex_rundo,
+ NEEDARG|FILE1,
+@@ -1476,13 +1477,13 @@ EX(CMD_tabs, "tabs", ex_tabs,
+ TRLBAR|CMDWIN,
+ ADDR_TABS),
+ EX(CMD_tcl, "tcl", ex_tcl,
+- RANGE|EXTRA|NEEDARG|CMDWIN,
++ RANGE|EXTRA|NEEDARG|CMDWIN|RESTRICT,
+ ADDR_LINES),
+ EX(CMD_tcldo, "tcldo", ex_tcldo,
+- RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN,
++ RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN|RESTRICT,
+ ADDR_LINES),
+ EX(CMD_tclfile, "tclfile", ex_tclfile,
+- RANGE|FILE1|NEEDARG|CMDWIN,
++ RANGE|FILE1|NEEDARG|CMDWIN|RESTRICT,
+ ADDR_LINES),
+ EX(CMD_tearoff, "tearoff", ex_tearoff,
+ NEEDARG|EXTRA|TRLBAR|NOTRLCOM|CMDWIN,
+diff --git a/src/version.c b/src/version.c
+index adb3441..6d29f39 100644
+--- a/src/version.c
++++ b/src/version.c
+@@ -809,6 +809,8 @@ static int included_patches[] =
+ 948,
+ /**/
+ 884,
++/**/
++ 883,
+ /**/
+ 881,
+ /**/
diff --git a/debian/patches/upstream/patch-8.1.0936-may-leak-memory-when-using-vartabstop.patch b/debian/patches/upstream/patch-8.1.0936-may-leak-memory-when-using-vartabstop.patch
new file mode 100644
index 0000000..8d1eebc
--- /dev/null
+++ b/debian/patches/upstream/patch-8.1.0936-may-leak-memory-when-using-vartabstop.patch
@@ -0,0 +1,95 @@
+From: Bram Moolenaar <Bram@vim.org>
+Date: Sat, 16 Feb 2019 19:05:11 +0100
+Subject: patch 8.1.0936: may leak memory when using 'vartabstop'
+
+Problem: May leak memory when using 'vartabstop'. (Kuang-che Wu)
+Solution: Fix handling allocated memory for 'vartabstop'. (closes #3976)
+(cherry picked from commit 55c77cf2ea9c15e1ec75d1faf702ec3c9e325271)
+---
+ src/buffer.c | 4 +---
+ src/option.c | 13 +++++++++----
+ src/version.c | 2 ++
+ 3 files changed, 12 insertions(+), 7 deletions(-)
+
+diff --git a/src/buffer.c b/src/buffer.c
+index 2c5c282..590a63c 100644
+--- a/src/buffer.c
++++ b/src/buffer.c
+@@ -2170,9 +2170,7 @@ free_buf_options(
+ vim_free(buf->b_p_vsts_array);
+ buf->b_p_vsts_array = NULL;
+ clear_string_option(&buf->b_p_vts);
+- if (buf->b_p_vts_array)
+- vim_free(buf->b_p_vts_array);
+- buf->b_p_vts_array = NULL;
++ VIM_CLEAR(buf->b_p_vts_array);
+ #endif
+ #ifdef FEAT_KEYMAP
+ clear_string_option(&buf->b_p_keymap);
+diff --git a/src/option.c b/src/option.c
+index e3f5f5d..4d067c0 100644
+--- a/src/option.c
++++ b/src/option.c
+@@ -5611,7 +5611,9 @@ didset_options2(void)
+ (void)check_clipboard_option();
+ #endif
+ #ifdef FEAT_VARTABS
++ vim_free(curbuf->b_p_vsts_array);
+ tabstop_set(curbuf->b_p_vsts, &curbuf->b_p_vsts_array);
++ vim_free(curbuf->b_p_vts_array);
+ tabstop_set(curbuf->b_p_vts, &curbuf->b_p_vts_array);
+ #endif
+ }
+@@ -7587,14 +7589,14 @@ did_set_string_option(
+ if (errmsg == NULL)
+ {
+ int *oldarray = curbuf->b_p_vts_array;
++
+ if (tabstop_set(*varp, &(curbuf->b_p_vts_array)))
+ {
+- if (oldarray)
+- vim_free(oldarray);
++ vim_free(oldarray);
+ #ifdef FEAT_FOLDING
+ if (foldmethodIsIndent(curwin))
+ foldUpdateAll(curwin);
+-#endif /* FEAT_FOLDING */
++#endif
+ }
+ else
+ errmsg = e_invarg;
+@@ -12800,10 +12802,11 @@ check_ff_value(char_u *p)
+ return check_opt_strings(p, p_ff_values, FALSE);
+ }
+
+-#ifdef FEAT_VARTABS
++#if defined(FEAT_VARTABS) || defined(PROTO)
+
+ /*
+ * Set the integer values corresponding to the string setting of 'vartabstop'.
++ * "array" will be set, caller must free it if needed.
+ */
+ int
+ tabstop_set(char_u *var, int **array)
+@@ -12846,6 +12849,8 @@ tabstop_set(char_u *var, int **array)
+ }
+
+ *array = (int *)alloc((unsigned) ((valcount + 1) * sizeof(int)));
++ if (*array == NULL)
++ return FALSE;
+ (*array)[0] = valcount;
+
+ t = 1;
+diff --git a/src/version.c b/src/version.c
+index 6d29f39..6bac28e 100644
+--- a/src/version.c
++++ b/src/version.c
+@@ -807,6 +807,8 @@ static int included_patches[] =
+ 1046,
+ /**/
+ 948,
++/**/
++ 936,
+ /**/
+ 884,
+ /**/
diff --git a/debian/patches/upstream/patch-8.2.3402-invalid-memory-access-when-using-retab-wit.patch b/debian/patches/upstream/patch-8.2.3402-invalid-memory-access-when-using-retab-wit.patch
new file mode 100644
index 0000000..ca826e0
--- /dev/null
+++ b/debian/patches/upstream/patch-8.2.3402-invalid-memory-access-when-using-retab-wit.patch
@@ -0,0 +1,196 @@
+From: Bram Moolenaar <Bram@vim.org>
+Date: Sat, 4 Sep 2021 18:47:28 +0200
+Subject: patch 8.2.3402: invalid memory access when using :retab with large
+ value
+
+Problem: Invalid memory access when using :retab with large value.
+Solution: Check the number is positive.
+(cherry picked from commit b7081e135a16091c93f6f5f7525a5c58fb7ca9f9)
+---
+ src/ex_cmds.c | 2 +-
+ src/option.c | 46 +++++++++++++++++++++++++++-------------------
+ src/testdir/test_retab.vim | 3 +++
+ src/version.c | 1 +
+ 4 files changed, 32 insertions(+), 20 deletions(-)
+
+diff --git a/src/ex_cmds.c b/src/ex_cmds.c
+index 681ef42..08d71e4 100644
+--- a/src/ex_cmds.c
++++ b/src/ex_cmds.c
+@@ -698,7 +698,7 @@ ex_retab(exarg_T *eap)
+
+ #ifdef FEAT_VARTABS
+ new_ts_str = eap->arg;
+- if (!tabstop_set(eap->arg, &new_vts_array))
++ if (tabstop_set(eap->arg, &new_vts_array) == FAIL)
+ return;
+ while (vim_isdigit(*(eap->arg)) || *(eap->arg) == ',')
+ ++(eap->arg);
+diff --git a/src/option.c b/src/option.c
+index 4d067c0..3ebd443 100644
+--- a/src/option.c
++++ b/src/option.c
+@@ -5612,9 +5612,9 @@ didset_options2(void)
+ #endif
+ #ifdef FEAT_VARTABS
+ vim_free(curbuf->b_p_vsts_array);
+- tabstop_set(curbuf->b_p_vsts, &curbuf->b_p_vsts_array);
++ (void)tabstop_set(curbuf->b_p_vsts, &curbuf->b_p_vsts_array);
+ vim_free(curbuf->b_p_vts_array);
+- tabstop_set(curbuf->b_p_vts, &curbuf->b_p_vts_array);
++ (void)tabstop_set(curbuf->b_p_vts, &curbuf->b_p_vts_array);
+ #endif
+ }
+
+@@ -7551,7 +7551,7 @@ did_set_string_option(
+ if (errmsg == NULL)
+ {
+ int *oldarray = curbuf->b_p_vsts_array;
+- if (tabstop_set(*varp, &(curbuf->b_p_vsts_array)))
++ if (tabstop_set(*varp, &(curbuf->b_p_vsts_array)) == OK)
+ {
+ if (oldarray)
+ vim_free(oldarray);
+@@ -7590,7 +7590,7 @@ did_set_string_option(
+ {
+ int *oldarray = curbuf->b_p_vts_array;
+
+- if (tabstop_set(*varp, &(curbuf->b_p_vts_array)))
++ if (tabstop_set(*varp, &(curbuf->b_p_vts_array)) == OK)
+ {
+ vim_free(oldarray);
+ #ifdef FEAT_FOLDING
+@@ -11395,7 +11395,7 @@ buf_copy_options(buf_T *buf, int flags)
+ #ifdef FEAT_VARTABS
+ buf->b_p_vsts = vim_strsave(p_vsts);
+ if (p_vsts && p_vsts != empty_option)
+- tabstop_set(p_vsts, &buf->b_p_vsts_array);
++ (void)tabstop_set(p_vsts, &buf->b_p_vsts_array);
+ else
+ buf->b_p_vsts_array = 0;
+ buf->b_p_vsts_nopaste = p_vsts_nopaste
+@@ -11524,7 +11524,7 @@ buf_copy_options(buf_T *buf, int flags)
+ buf->b_p_isk = save_p_isk;
+ #ifdef FEAT_VARTABS
+ if (p_vts && p_vts != empty_option && !buf->b_p_vts_array)
+- tabstop_set(p_vts, &buf->b_p_vts_array);
++ (void)tabstop_set(p_vts, &buf->b_p_vts_array);
+ else
+ buf->b_p_vts_array = NULL;
+ #endif
+@@ -11537,7 +11537,7 @@ buf_copy_options(buf_T *buf, int flags)
+ #ifdef FEAT_VARTABS
+ buf->b_p_vts = vim_strsave(p_vts);
+ if (p_vts && p_vts != empty_option && !buf->b_p_vts_array)
+- tabstop_set(p_vts, &buf->b_p_vts_array);
++ (void)tabstop_set(p_vts, &buf->b_p_vts_array);
+ else
+ buf->b_p_vts_array = NULL;
+ #endif
+@@ -12435,7 +12435,7 @@ paste_option_changed(void)
+ if (buf->b_p_vsts_array)
+ vim_free(buf->b_p_vsts_array);
+ if (buf->b_p_vsts && buf->b_p_vsts != empty_option)
+- tabstop_set(buf->b_p_vsts, &buf->b_p_vsts_array);
++ (void)tabstop_set(buf->b_p_vsts, &buf->b_p_vsts_array);
+ else
+ buf->b_p_vsts_array = 0;
+ #endif
+@@ -12807,18 +12807,19 @@ check_ff_value(char_u *p)
+ /*
+ * Set the integer values corresponding to the string setting of 'vartabstop'.
+ * "array" will be set, caller must free it if needed.
++ * Return FAIL for an error.
+ */
+ int
+ tabstop_set(char_u *var, int **array)
+ {
+- int valcount = 1;
+- int t;
+- char_u *cp;
++ int valcount = 1;
++ int t;
++ char_u *cp;
+
+ if (var[0] == NUL || (var[0] == '0' && var[1] == NUL))
+ {
+ *array = NULL;
+- return TRUE;
++ return OK;
+ }
+
+ for (cp = var; *cp != NUL; ++cp)
+@@ -12832,8 +12833,8 @@ tabstop_set(char_u *var, int **array)
+ if (cp != end)
+ emsg(_(e_positive));
+ else
+- emsg(_(e_invarg));
+- return FALSE;
++ semsg(_(e_invarg2), cp);
++ return FAIL;
+ }
+ }
+
+@@ -12844,26 +12845,33 @@ tabstop_set(char_u *var, int **array)
+ ++valcount;
+ continue;
+ }
+- emsg(_(e_invarg));
+- return FALSE;
++ semsg(_(e_invarg2), var);
++ return FAIL;
+ }
+
+ *array = (int *)alloc((unsigned) ((valcount + 1) * sizeof(int)));
+ if (*array == NULL)
+- return FALSE;
++ return FAIL;
+ (*array)[0] = valcount;
+
+ t = 1;
+ for (cp = var; *cp != NUL;)
+ {
+- (*array)[t++] = atoi((char *)cp);
++ int n = atoi((char *)cp);
++
++ if (n < 0 || n > 9999)
++ {
++ semsg(_(e_invarg2), cp);
++ return FAIL;
++ }
++ (*array)[t++] = n;
+ while (*cp != NUL && *cp != ',')
+ ++cp;
+ if (*cp != NUL)
+ ++cp;
+ }
+
+- return TRUE;
++ return OK;
+ }
+
+ /*
+diff --git a/src/testdir/test_retab.vim b/src/testdir/test_retab.vim
+index f11a32b..e7b8946 100644
+--- a/src/testdir/test_retab.vim
++++ b/src/testdir/test_retab.vim
+@@ -74,4 +74,7 @@ endfunc
+ func Test_retab_error()
+ call assert_fails('retab -1', 'E487:')
+ call assert_fails('retab! -1', 'E487:')
++ call assert_fails('ret -1000', 'E487:')
++ call assert_fails('ret 10000', 'E475:')
++ call assert_fails('ret 80000000000000000000', 'E475:')
+ endfunc
+diff --git a/src/version.c b/src/version.c
+index 6bac28e..bd19aac 100644
+--- a/src/version.c
++++ b/src/version.c
+@@ -2580,6 +2580,7 @@ static int included_patches[] =
+ */
+ static char *(extra_patches[]) =
+ { /* Add your patch description below this line */
++ "8.2.3402",
+ /**/
+ NULL
+ };
diff --git a/debian/patches/upstream/patch-8.2.3403-memory-leak-for-retab-with-invalid-argumen.patch b/debian/patches/upstream/patch-8.2.3403-memory-leak-for-retab-with-invalid-argumen.patch
new file mode 100644
index 0000000..18f205c
--- /dev/null
+++ b/debian/patches/upstream/patch-8.2.3403-memory-leak-for-retab-with-invalid-argumen.patch
@@ -0,0 +1,67 @@
+From: Bram Moolenaar <Bram@vim.org>
+Date: Sat, 4 Sep 2021 21:20:41 +0200
+Subject: patch 8.2.3403: memory leak for :retab with invalid argument
+
+Problem: Memory leak for :retab with invalid argument.
+Solution: Free the memory. Make error messages consistent.
+(cherry picked from commit 2ddb89f8a94425cda1e5491efc80c1ccccb6e08e)
+---
+ src/ex_cmds.c | 10 ++++++++--
+ src/option.c | 3 +++
+ src/version.c | 1 +
+ 3 files changed, 12 insertions(+), 2 deletions(-)
+
+diff --git a/src/ex_cmds.c b/src/ex_cmds.c
+index 08d71e4..3200173 100644
+--- a/src/ex_cmds.c
++++ b/src/ex_cmds.c
+@@ -714,12 +714,18 @@ ex_retab(exarg_T *eap)
+ else
+ new_ts_str = vim_strnsave(new_ts_str, eap->arg - new_ts_str);
+ #else
+- new_ts = getdigits(&(eap->arg));
+- if (new_ts < 0)
++ ptr = eap->arg;
++ new_ts = getdigits(&ptr);
++ if (new_ts < 0 && *eap->arg == '-')
+ {
+ emsg(_(e_positive));
+ return;
+ }
++ if (new_ts < 0 || new_ts > 9999)
++ {
++ semsg(_(e_invarg2), eap->arg);
++ return;
++ }
+ if (new_ts == 0)
+ new_ts = curbuf->b_p_ts;
+ #endif
+diff --git a/src/option.c b/src/option.c
+index 3ebd443..12d903f 100644
+--- a/src/option.c
++++ b/src/option.c
+@@ -12859,9 +12859,12 @@ tabstop_set(char_u *var, int **array)
+ {
+ int n = atoi((char *)cp);
+
++ // Catch negative values, overflow and ridiculous big values.
+ if (n < 0 || n > 9999)
+ {
+ semsg(_(e_invarg2), cp);
++ vim_free(*array);
++ *array = NULL;
+ return FAIL;
+ }
+ (*array)[t++] = n;
+diff --git a/src/version.c b/src/version.c
+index bd19aac..cfe1486 100644
+--- a/src/version.c
++++ b/src/version.c
+@@ -2581,6 +2581,7 @@ static int included_patches[] =
+ static char *(extra_patches[]) =
+ { /* Add your patch description below this line */
+ "8.2.3402",
++ "8.2.3403",
+ /**/
+ NULL
+ };
diff --git a/debian/patches/upstream/patch-8.2.3409-reading-beyond-end-of-line-with-invalid-ut.patch b/debian/patches/upstream/patch-8.2.3409-reading-beyond-end-of-line-with-invalid-ut.patch
new file mode 100644
index 0000000..0ad00be
--- /dev/null
+++ b/debian/patches/upstream/patch-8.2.3409-reading-beyond-end-of-line-with-invalid-ut.patch
@@ -0,0 +1,58 @@
+From: Bram Moolenaar <Bram@vim.org>
+Date: Tue, 7 Sep 2021 19:26:53 +0200
+Subject: patch 8.2.3409: reading beyond end of line with invalid utf-8
+ character
+
+Problem: Reading beyond end of line with invalid utf-8 character.
+Solution: Check for NUL when advancing.
+(cherry picked from commit 65b605665997fad54ef39a93199e305af2fe4d7f)
+---
+ src/regexp_nfa.c | 3 ++-
+ src/testdir/test_regexp_utf8.vim | 10 ++++++++++
+ src/version.c | 1 +
+ 3 files changed, 13 insertions(+), 1 deletion(-)
+
+diff --git a/src/regexp_nfa.c b/src/regexp_nfa.c
+index 031a6cf..b9562c6 100644
+--- a/src/regexp_nfa.c
++++ b/src/regexp_nfa.c
+@@ -5414,7 +5414,8 @@ find_match_text(colnr_T startcol, int regstart, char_u *match_text)
+ match = FALSE;
+ break;
+ }
+- len2 += MB_CHAR2LEN(c2);
++ len2 += enc_utf8 ? utf_ptr2len(rex.line + col + len2)
++ : MB_CHAR2LEN(c2);
+ }
+ if (match
+ /* check that no composing char follows */
+diff --git a/src/testdir/test_regexp_utf8.vim b/src/testdir/test_regexp_utf8.vim
+index 98b9e73..75485dc 100644
+--- a/src/testdir/test_regexp_utf8.vim
++++ b/src/testdir/test_regexp_utf8.vim
+@@ -206,3 +206,13 @@ func Test_large_class()
+ call assert_equal(1, "\u3042" =~# '[\u3000-\u4000]')
+ set re=0
+ endfunc
++
++func Test_match_invalid_byte()
++ call writefile(0z630a.765d30aa0a.2e0a.790a.4030, 'Xinvalid')
++ new
++ source Xinvalid
++ bwipe!
++ call delete('Xinvalid')
++endfunc
++
++" vim: shiftwidth=2 sts=2 expandtab
+diff --git a/src/version.c b/src/version.c
+index cfe1486..a3eca1e 100644
+--- a/src/version.c
++++ b/src/version.c
+@@ -2582,6 +2582,7 @@ static char *(extra_patches[]) =
+ { /* Add your patch description below this line */
+ "8.2.3402",
+ "8.2.3403",
++ "8.2.3409",
+ /**/
+ NULL
+ };
diff --git a/debian/patches/upstream/patch-8.2.3428-using-freed-memory-when-replacing.patch b/debian/patches/upstream/patch-8.2.3428-using-freed-memory-when-replacing.patch
new file mode 100644
index 0000000..16832ad
--- /dev/null
+++ b/debian/patches/upstream/patch-8.2.3428-using-freed-memory-when-replacing.patch
@@ -0,0 +1,78 @@
+From: Bram Moolenaar <Bram@vim.org>
+Date: Sat, 11 Sep 2021 21:14:20 +0200
+Subject: patch 8.2.3428: using freed memory when replacing
+
+Problem: Using freed memory when replacing. (Dhiraj Mishra)
+Solution: Get the line pointer after calling ins_copychar().
+(cherry picked from commit 35a9a00afcb20897d462a766793ff45534810dc3)
+---
+ src/normal.c | 10 +++++++---
+ src/testdir/test_edit.vim | 14 ++++++++++++++
+ src/version.c | 1 +
+ 3 files changed, 22 insertions(+), 3 deletions(-)
+
+diff --git a/src/normal.c b/src/normal.c
+index 41af966..2c36c15 100644
+--- a/src/normal.c
++++ b/src/normal.c
+@@ -7056,19 +7056,23 @@ nv_replace(cmdarg_T *cap)
+ {
+ /*
+ * Get ptr again, because u_save and/or showmatch() will have
+- * released the line. At the same time we let know that the
+- * line will be changed.
++ * released the line. This may also happen in ins_copychar().
++ * At the same time we let know that the line will be changed.
+ */
+- ptr = ml_get_buf(curbuf, curwin->w_cursor.lnum, TRUE);
+ if (cap->nchar == Ctrl_E || cap->nchar == Ctrl_Y)
+ {
+ int c = ins_copychar(curwin->w_cursor.lnum
+ + (cap->nchar == Ctrl_Y ? -1 : 1));
++
++ ptr = ml_get_buf(curbuf, curwin->w_cursor.lnum, TRUE);
+ if (c != NUL)
+ ptr[curwin->w_cursor.col] = c;
+ }
+ else
++ {
++ ptr = ml_get_buf(curbuf, curwin->w_cursor.lnum, TRUE);
+ ptr[curwin->w_cursor.col] = cap->nchar;
++ }
+ if (p_sm && msg_silent == 0)
+ showmatch(cap->nchar);
+ ++curwin->w_cursor.col;
+diff --git a/src/testdir/test_edit.vim b/src/testdir/test_edit.vim
+index 9a60d01..2e050c2 100644
+--- a/src/testdir/test_edit.vim
++++ b/src/testdir/test_edit.vim
+@@ -1436,3 +1436,17 @@ func Test_leave_insert_autocmd()
+ au! InsertLeave
+ iunmap x
+ endfunc
++
++" Test for getting the character of the line below after "p"
++func Test_edit_put_CTRL_E()
++ set encoding=latin1
++ new
++ let @" = ''
++ sil! norm orggRx
++ sil! norm pr
++ call assert_equal(['r', 'r'], getline(1, 2))
++ bwipe!
++ set encoding=utf-8
++endfunc
++
++" vim: shiftwidth=2 sts=2 expandtab
+diff --git a/src/version.c b/src/version.c
+index a3eca1e..c4a502f 100644
+--- a/src/version.c
++++ b/src/version.c
+@@ -2583,6 +2583,7 @@ static char *(extra_patches[]) =
+ "8.2.3402",
+ "8.2.3403",
+ "8.2.3409",
++ "8.2.3428",
+ /**/
+ NULL
+ };
diff --git a/debian/policy/Makefile b/debian/policy/Makefile
new file mode 100644
index 0000000..b5cf01b
--- /dev/null
+++ b/debian/policy/Makefile
@@ -0,0 +1,31 @@
+
+NULL =
+INSTALL_STUFF = \
+ vim-policy.html/ \
+ vim-policy.txt \
+ $(NULL)
+
+all: html text
+
+# to be used on alioth for updating policy linked by pkg-vim project page
+install: all
+ cp -r $(INSTALL_STUFF) ~/pkg-vim/htdocs/
+
+html: vim-policy.html/index.html
+text: vim-policy.txt
+
+export LC_ALL=C.UTF-8
+
+vim-policy.html/index.html: vim-policy.xml *.xml
+ docbook2html $< -o $(dir $@)
+vim-policy.txt: vim-policy.xml *.xml
+ docbook2txt $<
+
+clean:
+ $(RM) -rf $(INSTALL_STUFF)
+
+upload_web: all
+ scp -rC $(INSTALL_STUFF) alioth.debian.org:/srv/home/groups/pkg-vim/htdocs/
+
+.PHONY: html text upload_web
+
diff --git a/debian/policy/authors.xml b/debian/policy/authors.xml
new file mode 100644
index 0000000..dd5fe3d
--- /dev/null
+++ b/debian/policy/authors.xml
@@ -0,0 +1,8 @@
+<author>
+ <affiliation>
+ <orgname>Debian VIM Maintainers</orgname>
+ <address>
+ <email>pkg-vim-maintainers@lists.alioth.debian.org</email>
+ </address>
+ </affiliation>
+</author>
diff --git a/debian/policy/legal.xml b/debian/policy/legal.xml
new file mode 100644
index 0000000..709cc54
--- /dev/null
+++ b/debian/policy/legal.xml
@@ -0,0 +1,30 @@
+<copyright>
+ <year>2007</year>
+ <year>2008</year>
+ <holder>Stefano Zacchiroli</holder>
+</copyright>
+<legalnotice>
+ <para>
+ This manual is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+ </para>
+ <para>
+ This is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
+ License for more details.
+ </para>
+ <para>
+ A copy of the GNU General Public License is available as
+ <filename>/usr/share/common-licenses/GPL</filename> in the Debian
+ GNU/Linux distribution or on the World Wide Web at <ulink
+ url="http://www.gnu.org/copyleft/gpl.html">The GNU Public
+ Licence</ulink>.
+ </para>
+ <para>
+ You can also obtain it by writing to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ </para>
+</legalnotice>
diff --git a/debian/policy/vim-policy.xml b/debian/policy/vim-policy.xml
new file mode 100644
index 0000000..a28b317
--- /dev/null
+++ b/debian/policy/vim-policy.xml
@@ -0,0 +1,470 @@
+<?xml version="1.0"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+"/usr/share/sgml/docbook/dtd/xml/4.3/docbookx.dtd" [
+ <!ENTITY vim-version "7.3">
+ <!ENTITY vim-tag "vim73">
+ <!ENTITY vim-compat "1">
+ <!ENTITY vim-pkg "<application>vim</application>">
+ <!ENTITY vim "<application>Vim</application>">
+ <!ENTITY debian "Debian">
+
+ <!ENTITY authors SYSTEM "authors.xml">
+ <!ENTITY legal SYSTEM "legal.xml">
+]>
+
+<article>
+ <articleinfo>
+ <title>Debian Packaging Policy for &vim;</title>
+ <releaseinfo>Version 1.0</releaseinfo>
+ &authors;
+ &legal;
+ </articleinfo>
+
+ <section id="nutshell">
+ <title>&vim; Addon Packaging in a Nutshell</title>
+
+ <warning> <para> This section contains a brief howto of what to do to
+ package a &vim; addon (plugin, syntax definition, ...) in &debian;.
+ This section is not the full policy nor the guidelines for doing that;
+ have a look at the remainder of this document for such information.
+ </para> </warning>
+
+ <para> So you've found on <ulink url="http://www.vim.org">vim.org</ulink> a
+ cool extra feature for your beloved editor (&vim;) and you want it to be
+ packaged in &debian;. It's as easy as implementing the following 4 steps:
+
+ <orderedlist numeration="arabic">
+
+ <listitem> <para> create an <code>architecture: all</code>
+ <filename>.deb</filename> binary package called
+ <application>vim-<replaceable>ADDON</replaceable></application>,
+ where <replaceable>ADDON</replaceable> is the addon name. See <xref
+ linkend="addon-packages" /> for more info on this. </para>
+ </listitem>
+
+ <listitem> <para> make your package ship all the files composing your
+ addon (usually <filename>.vim</filename> and
+ <filename>.txt</filename> files) under
+ <filename>/usr/share/vim/addons/</filename>. The files should be
+ shipped as a file and directory tree isomorphic to what you want to
+ see in a runtime &vim; directory. So if for example the addon
+ documentation says that something should be installed as
+ <filename>plugin/foo.vim</filename> then you should ship it as
+ <filename>/usr/share/vim/addons/plugin/foo.vim</filename>. See <xref
+ linkend="addon-structure" /> for more info on this. </para>
+ </listitem>
+
+ <listitem> <para>create a
+ <filename>vim-<replaceable>ADDON</replaceable>.yaml</filename>
+ registry file for your addon and ship it as
+ <filename>/usr/share/vim/registry/vim-<replaceable>ADDON</replaceable>.yaml</filename>.
+ You can find documentation on how to write a registry file in <xref
+ linkend="registry-entry" /> and cut&amp;paste-ready examples in
+ <xref linkend="registry-examples" />. If the addon you are
+ packaging does not provide a way to disable it consider patching it
+ so that it is possible, put in your registry entry the appropriate
+ <emphasis>disabledby</emphasis> field, and forward the patch
+ upstream. </para> </listitem>
+
+ <listitem> <para> <code>Recommend: vim-addon-manager</code> in your
+ <filename>debian/control</filename> and write into
+ <filename>README.Debian</filename> something like: <blockquote>
+ <para> Dear user, this package provides the vim addon
+ <replaceable>ADDON</replaceable>, but it is not enabled per
+ default. If you want to enable it for your user account just
+ execute <userinput>vim-addons install
+ <replaceable>ADDON</replaceable></userinput>. Similarly, to
+ enable it for all users of this system just execute (as root)
+ <userinput>vim-addons -w install
+ <replaceable>ADDON</replaceable></userinput>.
+ <command>vim-addons</command> is provided by the
+ <application>vim-addon-manager</application> package, have a
+ look at its manpage for more information. </para> </blockquote>
+ See <xref linkend="tools" /> for more info on this. </para>
+ </listitem>
+
+ </orderedlist>
+
+ That's it! Easy, isn't it? </para>
+
+ </section>
+
+ <section id="legacy-packaging">
+ <title>&vim; Packaging</title>
+
+ <para> Here you can find a brief overview of how the &vim; editor is
+ packaged in &debian; and a few concepts useful later; if you are
+ just interested in the guidelines for packaging addons skip to
+ <xref linkend="addon-packaging" />. </para>
+
+ <para> The &vim; editor is split in &debian; as several binary
+ packages. The key splitting is according to variants, a &vim;
+ <emphasis>variant</emphasis> is a particular version of the
+ <filename>/usr/bin/vim</filename> executable built with a given
+ set of (<application>configure</application>) option. Examples of
+ variants provided in &debian; are: <ulink
+ url="http://packages.debian.org/unstable/editors/vim-tiny"><application>vim-tiny</application></ulink>,
+ <ulink
+ url="http://packages.debian.org/unstable/editors/vim"><application>vim</application></ulink>,
+ <ulink
+ url="http://packages.debian.org/unstable/editors/vim-nox"><application>vim-nox</application></ulink>,
+ <ulink
+ url="http://packages.debian.org/unstable/editors/vim-gtk"><application>vim-gtk</application></ulink>.
+ Have a look at their full descriptions for their characteristics.
+ The actual <filename>/usr/bin/vim</filename> file is managed via
+ the alternative mechanism and point to one of the variants.
+ </para>
+
+ <para> Another relevant binary package is <ulink
+ url="http://packages.debian.org/unstable/editors/vim-runtime"><application>vim-runtime</application></ulink>
+ which ships the &vim; runtime environment distributed upstream together
+ with the editor. Almost all third party extensions to &vim; come as
+ additional pieces of this runtime environment, how to package them is the
+ main topic of this document. </para>
+
+ <para> To be working properly extensions should be located somewhere where
+ &vim; can find them. This "somewhere" is expressed in &vim; as a list of
+ directories to be looked for in turn when looking for extensions. Such a
+ list is the <emphasis>&vim; runtime path</emphasis>, and is kept in the
+ &vim; global variable <envar>runtimepath</envar>; you can inspect it
+ executing <command>:set runtimepath</command> inside &vim;. See <ulink
+ url="http://vimdoc.sourceforge.net/htmldoc/options.html#'runtimepath'"><command>:help
+ 'runtimepath'</command></ulink> in the &vim; online help for more
+ information, including the relevant subdirectories which &vim; will look
+ for inside <emphasis>each</emphasis> component of the runtime path.
+ </para>
+
+ </section>
+
+ <section id="addon-packaging">
+ <title>Packaging of &vim; Addons</title>
+
+ <para> With the term (&vim;) <emphasis>addon</emphasis> we refer to an
+ extension for the &vim; editor which is not shipped with the editor
+ itself. Examples of addons which can be frequently found on the Internet
+ are color schemes, syntax and corresponding higlighting definitions for
+ new languages, indentation definitions, generic and filetype-specific
+ plugins, ... </para>
+
+ <section id="addon-structure">
+ <title>Addon Structure</title>
+
+ <para> An addon is usually composed of a set of <filename>.vim</filename>
+ files; other kind of files, for example <filename>.txt</filename> files
+ for documentation purposes, can be provided as well.
+
+ For instance, the following files compose the <ulink
+ url="http://www.vim.org/scripts/script.php?script_id=90"><application>vcscommand</application></ulink>
+ addon, providing plugins, syntax higlighting definitions, and
+ documentation:
+
+ <example> <title>Files composing the
+ <application>vcscommand</application> addon</title>
+ <programlisting>syntax/vcscommit.vim
+syntax/SVNAnnotate.vim
+syntax/CVSAnnotate.vim
+plugin/vcssvn.vim
+plugin/vcscvs.vim
+plugin/vcscommand.vim
+doc/vcscommand.txt</programlisting>
+ </example>
+
+ </para>
+
+ <para> For an addon to work properly (and its plugins being automatically
+ loaded by &vim;) all its files should be installed under a directory
+ which is a component of the &vim; runtime path, in the appropriate
+ subdirectories. In the example above, if
+ <filename>/usr/share/vim/&vim-tag;/</filename> is the chosen component
+ and if <application>vcscommand</application> should be installed there,
+ then <filename>SVNAnnotate.vim</filename> should be installed as
+ <filename>/usr/share/vim/&vim-tag;/syntax/SVNAnnotate.vim</filename>,
+ <filename>vcssvn.vim</filename> as
+ <filename>/usr/share/vim/&vim-tag;/plugin/vcssvn.vim</filename>, and so
+ on. </para>
+
+ <para> Addons should <emphasis>not</emphasis> be installed directly under
+ a directory contained in the &vim; runtime path. This is because addons
+ can conflict with each other and also because automatically loading
+ plugins takes time. Therefore users shall be given the freedom to choose
+ which addons they want to have enabled and which they don't. The
+ suggested directory where to install addons is
+ <filename>/usr/share/vim/addons</filename>, but any other directory not
+ in the &vim; runtime path will do, as long as you install there a file
+ tree with the appropriate sub-directories in place
+ (<filename>syntax/</filename>, <filename>plugin/</filename>, ...).
+ </para>
+
+ </section>
+
+ <section id="addon-packages">
+ <title>Addon Packages</title>
+
+ <para> Each non-trivial addon<footnote> <para> meaning with
+ "non-trivial" that its size justifies the creation of a
+ &debian; package for that, YMMV </para> </footnote> should
+ be packaged and distributed in &debian; as a separate package.
+ It is recommended that the package is named according to the
+ naming convention
+ <application>vim-<replaceable>ADDON</replaceable> </application>
+ where <replaceable>ADDON</replaceable> is a name identifying the
+ packaged addon. Trivial addons should be collected in suites of
+ &vim; addons and packaged as aggregated &debian; packages. An
+ example of such a suite is distributed as the <ulink
+ url="http://packages.qa.debian.org/vim-scripts">
+ <application>vim-script</application> package</ulink>. </para>
+
+ <para> To ease management of addons (e.g. enabling and disabling
+ them) by both the final users and the local system
+ administrators, each packaged addon should be registered in the
+ <emphasis>&vim; addon registry</emphasis>. The registry is
+ (conceptually) a set of entries, one entry per addon, describing
+ the addon from the point of view of who should configure it: its
+ name and brief description, where it is located on disk, ... All
+ such information should be easily findable in the upstream
+ documentation of the addon. </para>
+
+ <para> Practically, each &debian; package shipping &vim; addons
+ should provide a single file in <ulink
+ url="http://www.yaml.org">YAML</ulink> format describing
+ <emphasis>all</emphasis> addons shipped by the package. The
+ file should be installed by the package in
+ <filename>/usr/share/vim/registry/</filename> and should be
+ named according to the convention
+ <filename><replaceable>PKGNAME</replaceable>.yaml</filename>,
+ where <replaceable>PKGNAME</replaceable> is the name of the
+ &debian; package shipping it. There is no need to create the
+ file in postinst, you can ship it normally as a file contained
+ in your package.<footnote> <para> In the future we might
+ provide a debhelper to installed &vim; registry files in the
+ right place, but it is not available yet. </para>
+ </footnote> </para>
+
+ </section>
+
+ <section id="registry-entry">
+ <title>Registry Entries</title>
+
+ <para> The following information should be made available for each
+ addon registered in the addon registry: <variablelist>
+
+ <varlistentry> <term><emphasis>addon</emphasis> (required
+ field)</term> <listitem> <para>short name of the addon,
+ will be used to refer to the addon (also in command line
+ tools, so beware of spaces, they can be annoying)
+ </para> </listitem> </varlistentry>
+
+ <varlistentry> <term><emphasis>description</emphasis>
+ (required field)</term> <listitem> <para>brief description
+ of the addon, in the same spirit of &debian; package
+ short descriptions</para> </listitem> </varlistentry>
+
+ <varlistentry> <term><emphasis>files</emphasis> (required
+ field)</term> <listitem> <para> list of files which
+ compose the addon. Intuitively all these files should
+ be made available in the appropriate components of the
+ &vim; runtime path for the addon to be working properly.
+ Each file must be specified relative to a component of
+ the &vim; runtime path. </para> </listitem>
+ </varlistentry>
+
+ <varlistentry> <term><emphasis>basedir</emphasis> (optional
+ field, default:
+ <filename>/usr/share/vim/addons</filename>) </term>
+ <listitem> <para> directory where the files composing the
+ addon reside on the filesystem. This field is optional.
+ </para> </listitem> </varlistentry>
+
+ <varlistentry> <term><emphasis>disabledby</emphasis>
+ (optional field)</term> <listitem> <para> &vim; script
+ command that can be used (usually by adding it to
+ <filename>~/.vimrc</filename>) to prevent the addon to
+ be used even when it is loaded. The intended usage of
+ this field is to "blacklist" an undesired addon which
+ files are available, and hence automatically loaded by
+ &vim;, in a component of the &vim; runtime path. This
+ field is optional, if missing the addon cannot be
+ blacklisted. </para> </listitem> </varlistentry>
+
+ </variablelist> </para>
+
+ <para> Note the relevance of the <emphasis>disabledby</emphasis>
+ field: having it is the only way for a user to prevent the
+ automatic loading of an addon which has been installed
+ system-wide by the local system administrator. If the addon you
+ are packaging does not provide a way to be disabled you should
+ patch it to support disabling and forward your patch upstream.
+ Have a look at the <ulink
+ url="http://git.debian.org/?p=pkg-vim/vim-scripts.git;a=tree;f=debian/patches;hb=HEAD">&debian;-specific
+ patches</ulink> in the <ulink
+ url="http://packages.qa.debian.org/vim-scripts"><application>vim-scripts</application></ulink>
+ package for an idea about how to do it. </para>
+
+ <para> A YAML file describing registry entries is a standard YAML
+ file with multiple top-level entries (one per registry entry).
+ All field mentioned above are singleton string fields with the
+ exception of <emphasis>files</emphasis> which contains a list of
+ strings (one for each shipped file). See the <ulink
+ url="http://yaml.org/spec/">YAML file format
+ specification</ulink> for reference ... or the examples of
+ <xref linkend="registry-examples" /> to learn by example.
+ </para>
+
+ <para> You should not attempt to automatically enable the plugin in the
+ postinst for the reasons mentioned above. It is recommended that
+ enabling of addons should be delegated to the local system administrator
+ and users. If you really feel the need to, please consider using <ulink
+ url="http://packages.qa.debian.org/debconf">debconf</ulink> as a way
+ to opt-out from the automatic enabling, and do that strictly using
+ <application>vim-addon-manager</application> (see <xref linkend="tools"
+ />), so that users can blacklist the automatically loaded addon.
+ </para>
+
+ </section>
+
+ </section>
+
+ <section id="tools">
+ <title>Tools</title>
+
+ <para> <command>vim-addons</command> is the tool used by users and local
+ administrator to manage &vim; addons. It is shipped in the <ulink
+ url="http://packages.qa.debian.org/vim-addon-manager"><application>vim-addon-manager</application></ulink>
+ package. Using it the <emphasis>state</emphasis> of an addon can be
+ changed to one of <emphasis>installed</emphasis>,
+ <emphasis>removed</emphasis>, <emphasis>disabled</emphasis> (i.e.
+ prevented to be loaded even if available somewhere in the &vim; runtime
+ path). The state of each addon can be changed both for a single user
+ (playing with symbolic links in <filename>~/.vim</filename>) and for all
+ system users (via <filename>/var/lib/vim/addons/</filename>, which is
+ contained in the &vim; runtime path). </para>
+
+ <para> For more information about <command>vim-addons</command> see its
+ manpage: <code>vim-addons(1)</code>. </para>
+
+ <para> Since <command>vim-addons</command> is the recommended way of
+ managing &vim; addons available in a &debian; system, you should instruct
+ your package users about it. You should hence put a <code>Recommend:
+ vim-addon-manager</code> to your addon package and provide a suitable
+ <filename>README.Debian</filename> with basic instructions about how to
+ use it. See <xref linkend="nutshell" /> for a template where to start
+ from. </para>
+
+ </section>
+
+ <appendix id="registry-examples">
+ <title>&vim; Registry Entry Examples</title>
+
+ <para> Here you can find several examples of YAML files containing
+ entries for the &vim; addon registry. </para>
+
+ <example>
+ <title><filename>vim-runtime.yaml</filename>: entry for the
+ matchit plugin</title>
+
+ <para>The <application>vim-runtime</application> package
+ itself ships an addon: the matchit plugin. It is rather
+ standard as it ships its content under
+ <filename>/usr/share/vim/addons</filename> and has no way to
+ be prevented from being loaded. The content of
+ <filename>/usr/share/vim/registry/vim-runtime.yaml</filename>
+ follows.</para>
+
+ <programlisting>addon: matchit
+description: extended matching with "%" (e.g. if ... then ... else)
+files:
+ - plugin/matchit.vim
+ - doc/matchit.txt</programlisting>
+
+ </example>
+
+ <example>
+ <title><filename>vim-scripts.yaml</filename>: entries for the
+ &vim; scripts addon suite</title>
+
+ <para>The <application>vim-scripts</application> package ships a
+ suite of several addons, for each shipped addon an entry for the
+ addon registry is provided. Since the shipped addons are not
+ installed in the default addon directories the
+ <emphasis>basedir</emphasis> field should be specified. Several
+ addons provide a way for being blacklisted, for example the
+ <application>alternatve</application> addon can be disabled by
+ adding the line <command>let loaded_alternateFile = 1</command>
+ somewhere in <filename>~/.vimrc</filename>. (Part of) the
+ content of
+ <filename>/usr/share/vim/registry/vim-scripts.yaml</filename>
+ follows.</para>
+
+ <programlisting>addon: alternate
+description: "alternate pairing files (e.g. .c/.h) with short ex-commands"
+basedir: /usr/share/vim-scripts/
+disabledby: "let loaded_alternateFile = 1"
+files:
+ - plugin/a.vim
+ - doc/alternate.txt
+---
+addon: gnupg
+description: "transparent editing of gpg encrypted files"
+basedir: /usr/share/vim-scripts/
+disabledby: "let loaded_gnupg = 1"
+files:
+ - plugin/gnupg.vim
+---
+addon: align
+description: "commands and maps for aligned text, equations, declarations, ..."
+basedir: /usr/share/vim-scripts/
+disabledby: "let loaded_alignPlugin = 1"
+files:
+ - plugin/AlignPlugin.vim
+ - doc/Align.txt
+ - plugin/AlignMaps.vim
+ - plugin/cecutil.vim
+ - autoload/Align.vim
+---
+addon: themes
+description: "colors sampler pack: all the color schemes on vim.sf.net"
+basedir: /usr/share/vim-scripts/
+disabledby: "let loaded_themes = 1"
+files:
+ - plugin/themes.vim
+ - colors/adam.vim
+ - colors/adaryn.vim
+<emphasis># long list snipped here</emphasis></programlisting>
+
+ </example>
+
+ <example> <title><filename>vim-latexsuite.yaml</filename>: entries
+ for the &vim; LaTeX suite</title>
+
+ <para>The <application>vim-latexsuite</application> contains
+ several advanced features for editing LaTeX documents with
+ &vim;. (Part of) the content of
+ <filename>/usr/share/vim/registry/vim-latexsuite.yaml</filename>
+ follows.</para>
+
+ <programlisting>addon: latex-suite
+description: "comprehensive set of tools to view, edit, and compile LaTeX documents"
+disabledby: "let did_latexSuite_disabled = 1"
+files:
+ - compiler/tex.vim
+ - doc/imaps.txt.gz
+ - doc/latexhelp.txt.gz
+ - doc/latex-suite-quickstart.txt.gz
+ - doc/latex-suite.txt.gz
+ - ftplugin/bib_latexSuite.vim
+ - ftplugin/latex-suite/bibtex.vim
+ <emphasis># loooong file listing snipped here</emphasis>
+ - ftplugin/tex_latexSuite.vim
+ - ftplugin/tex/texviewer.vim
+ - indent/tex.vim
+ - plugin/filebrowser.vim
+ - plugin/imaps.vim
+ - plugin/libList.vim
+ - plugin/remoteOpen.vim
+ - plugin/SyntaxFolds.vim</programlisting>
+
+ </example>
+
+ </appendix>
+
+</article>
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..e298215
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,452 @@
+#!/usr/bin/make -f
+
+export DH_OPTIONS
+
+# Upstream handles the _FORTIFY_SOURCE flag on their own
+DEB_BUILD_MAINT_OPTIONS=hardening=+all,-fortify
+
+include /usr/share/dpkg/default.mk
+
+BUILDER := team+vim@tracker.debian.org
+
+MAKETEST := no
+ifeq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
+ ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
+ MAKETEST := yes
+ endif
+endif
+
+ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+ NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+ MAKEFLAGS += -j$(NUMJOBS)
+endif
+
+CFGFLAGS = --prefix=/usr --mandir='$${prefix}'/share/man --without-local-dir
+CFGFLAGS += --with-modified-by="$(BUILDER)"
+CFGFLAGS += --with-compiledby="$(BUILDER)"
+CFGFLAGS += --enable-fail-if-missing
+CFGFLAGS += --with-global-runtime='/etc/vim,$$VIM/vimfiles'
+
+TINYFLAGS:=--with-features=small
+TINYFLAGS+=--disable-gui
+TINYFLAGS+=--disable-xsmp
+TINYFLAGS+=--disable-xsmp-interact
+TINYFLAGS+=--disable-netbeans
+TINYFLAGS+=--disable-gpm
+TINYFLAGS+=--enable-nls
+TINYFLAGS+=--enable-acl
+TINYFLAGS+=--disable-terminal
+
+OPTFLAGS:=--enable-cscope
+ifeq ($(DEB_HOST_ARCH_OS),linux)
+ OPTFLAGS+=--enable-gpm
+ OPTFLAGS+=--enable-selinux --disable-smack
+ TINYFLAGS+=--enable-selinux --disable-smack
+else
+ OPTFLAGS+=--disable-gpm
+endif
+OPTFLAGS+=--with-features=huge
+OPTFLAGS+=--enable-acl
+OPTFLAGS+=--enable-terminal
+
+NOXFLAGS:=--without-x
+NOXFLAGS+=--enable-gui=no
+
+GUIFLAGS:=--with-x
+GUIFLAGS+=--enable-xim
+
+GTK2FLAGS:=--enable-gui=gtk2
+GTK2FLAGS+=--enable-gtk2-check
+GTK2FLAGS+=--disable-gnome-check
+GTK2FLAGS+=--disable-motif-check
+GTK2FLAGS+=--disable-athena-check
+GTK2FLAGS+=--disable-fontset
+
+GTK3FLAGS:=--enable-gui=gtk3
+GTK3FLAGS+=--enable-gtk3-check
+GTK3FLAGS+=--disable-gnome-check
+GTK3FLAGS+=--disable-motif-check
+GTK3FLAGS+=--disable-athena-check
+GTK3FLAGS+=--disable-fontset
+
+ATHENAFLAGS:=--enable-gui=athena
+ATHENAFLAGS+=--disable-gtk2-check
+ATHENAFLAGS+=--disable-gtk3-check
+ATHENAFLAGS+=--disable-gnome-check
+ATHENAFLAGS+=--disable-motif-check
+ATHENAFLAGS+=--enable-athena-check
+ATHENAFLAGS+=--enable-fontset
+
+NOINTERPFLAGS:=--disable-luainterp
+NOINTERPFLAGS+=--disable-mzschemeinterp
+NOINTERPFLAGS+=--disable-perlinterp
+ifeq ($(DEB_VENDOR),Ubuntu)
+ NOINTERPFLAGS+=--enable-python3interp --with-python3-config-dir=$(shell python3-config --configdir)
+ NOINTERPFLAGS+=--disable-pythoninterp
+ GTK3FLAGS+=--disable-rubyinterp
+ RUBY_SUBSTVARS=
+else
+ NOINTERPFLAGS+=--disable-pythoninterp
+ NOINTERPFLAGS+=--disable-python3interp
+ RUBY_SUBSTVARS=-Vvim:Ruby-Provides=vim-ruby -Vvim:Ruby-Desc=" Ruby,"
+endif
+NOINTERPFLAGS+=--disable-rubyinterp
+NOINTERPFLAGS+=--disable-tclinterp
+
+ALLINTERPFLAGS:=--enable-luainterp
+ALLINTERPFLAGS+=--disable-mzschemeinterp
+ALLINTERPFLAGS+=--enable-perlinterp
+ALLINTERPFLAGS+=--enable-python3interp --with-python3-config-dir=$(shell python3-config --configdir)
+ALLINTERPFLAGS+=--disable-pythoninterp
+ALLINTERPFLAGS+=--enable-rubyinterp
+ALLINTERPFLAGS+=--enable-tclinterp
+ALLINTERPFLAGS+=--with-tclsh=/usr/bin/tclsh
+
+# Each vim-xxx package is said to be a vim variant and contains only a vim
+# binary built with some compile-time options. Makefile VARIANTS below are
+# one-to-one with those packages with the exception of "vim-basic". In this
+# Makefile vim-basic is used to build 4 packages: "vim", "vim-runtime",
+# "vim-common", "vim-gui-common". "vim-tiny" is the only variant package not
+# depending on vim-runtime.
+
+VARIANTS+=vim-tiny
+VARIANTS+=vim-gtk
+VARIANTS+=vim-gtk3
+VARIANTS+=vim-athena
+VARIANTS+=vim-nox
+VARIANTS+=vim-basic
+
+ifneq ($(origin VARIANT), undefined)
+ VARIANTS = $(VARIANT) vim-basic
+endif
+
+CFLAGS_vim-basic:=$(CFLAGS)
+CFGFLAGS_vim-basic:=$(CFGFLAGS) $(OPTFLAGS) $(NOXFLAGS) $(NOINTERPFLAGS)
+
+CFLAGS_vim-tiny:=$(CFLAGS) -DTINY_VIMRC
+CFGFLAGS_vim-tiny:=$(CFGFLAGS) $(TINYFLAGS)
+
+CFLAGS_vim-gtk:=$(CFLAGS)
+CFGFLAGS_vim-gtk:=$(CFGFLAGS) $(OPTFLAGS) $(GUIFLAGS) $(GTK2FLAGS) $(ALLINTERPFLAGS)
+
+CFLAGS_vim-gtk3:=$(CFLAGS)
+CFGFLAGS_vim-gtk3:=$(CFGFLAGS) $(OPTFLAGS) $(GUIFLAGS) $(ALLINTERPFLAGS) $(GTK3FLAGS)
+
+CFLAGS_vim-athena:=$(CFLAGS)
+CFGFLAGS_vim-athena:=$(CFGFLAGS) $(OPTFLAGS) $(GUIFLAGS) $(ATHENAFLAGS) $(ALLINTERPFLAGS)
+
+CFLAGS_vim-nox:=$(CFLAGS)
+CFGFLAGS_vim-nox:=$(CFGFLAGS) $(OPTFLAGS) $(NOXFLAGS) $(ALLINTERPFLAGS)
+
+NAME:=vim
+# Convert x.y.z to x.y
+VERSION:=$(basename $(DEB_VERSION_UPSTREAM))
+VIMCUR:=$(NAME)$(subst .,,$(VERSION))
+PER_VARIANT_FILES := install postinst prerm lintian-overrides maintscript
+LANGS := da de fr it ja pl ru
+
+DOT_IN_DEPS := debian/vim-common.install
+DOT_IN_DEPS += debian/vim-runtime.links
+DOT_IN_DEPS += debian/vim-runtime.postrm
+DOT_IN_DEPS += debian/vim-runtime.preinst
+DOT_IN_DEPS += debian/runtime/debian.vim
+DOT_IN_DEPS_TINY := debian/tiny/vimrc.tiny
+
+# nothing to do per default
+all:
+
+update-changelog:
+ dh_testdir
+ wget -O debian/changelog.upstream http://ftp.vim.org/pub/vim/patches/$(VERSION)/README
+
+clean: $(foreach v,$(VARIANTS),clean-$(v))
+ dh_testdir
+ dh_testroot
+ [ ! -f src/auto/config.cache ] || make distclean
+ [ ! -f debian/configure.dist ] || mv debian/configure.dist src/auto/configure
+ find src/testdir -name '*.pyc' -delete
+ dh_clean
+
+clean-vim-basic:
+ dh_testdir
+ dh_testroot
+ for x in $(PER_VARIANT_FILES) ; do \
+ rm -f debian/vim.$$x ; \
+ done
+ [ ! -L src/vim-basic/po ] || $(MAKE) -C src/vim-basic/po clean
+ rm -f $(DOT_IN_DEPS)
+ rm -rf src/vim-basic
+
+clean-%: SHADOWDIR=$*
+clean-%:
+ dh_testdir
+ dh_testroot
+ for x in $(PER_VARIANT_FILES) ; do \
+ rm -f debian/$*.$$x ; \
+ done
+ if [ "$*" = "vim-tiny" ]; then \
+ rm -f $(DOT_IN_DEPS_TINY); \
+ fi
+ rm -rf src/$(SHADOWDIR)
+
+build: build-arch-stamp
+
+build-indep: build-indep-stamp
+build-indep-stamp: export DH_OPTIONS=-pvim-doc
+build-indep-stamp: autoconf-stamp
+ dh_testdir
+ dh_prep
+ $(MAKE) -C runtime/doc html
+ $(MAKE) -C debian/policy text html
+ $(MAKE) -C src/po vim.pot
+ touch $@
+
+build-arch: build-arch-stamp
+build-arch-stamp: build-xxd-stamp $(foreach v,$(VARIANTS),build-$(v)-stamp)
+ dh_testdir
+ touch $@
+
+build-xxd-stamp: export DH_OPTIONS=-pxxd
+build-xxd-stamp: build-vim-basic-stamp
+ dh_testdir
+ dh_prep
+ $(MAKE) -C src/vim-basic xxd/xxd
+ touch $@
+
+autoconf-stamp:
+ dh_testdir
+ [ -f debian/configure.dist ] || cp src/auto/configure debian/configure.dist
+# src/Makefile includes src/auto/config.mk, so we need to ensure it exists.
+# distclean will then wipe it out and re-copy it.
+ [ -f src/auto/config.mk ] || cp src/config.mk.dist src/auto/config.mk
+# The autoconf target generates a new configure, and touches some other
+# configure-related things. Need to run distclean afterward or timestamps
+# will be off and the next make that runs will think it needs to run
+# configure. This breaks parallel builds since two configures are being run
+# in the same directory at the same time instead of in their own shadow
+# directories.
+ $(MAKE) -C src autoconf
+ $(MAKE) -C src scratch
+ touch $@
+
+configure-%-stamp: SHADOWDIR=$*
+# When configure.in is being patched by Debian, autoconf-stamp needs to be a
+# prerequisite for this target and autoconf needs to be added to Build-Depends
+configure-%-stamp: autoconf-stamp
+ dh_testdir
+ @echo "*** DEBIAN *** CONFIGURING VARIANT $*"
+ $(MAKE) -C src shadow SHADOWDIR=$(SHADOWDIR)
+ cd src/$(SHADOWDIR) && LDFLAGS="$(LDFLAGS)" CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS_$(*))" ./configure $(CFGFLAGS_$(*))
+ touch $@
+
+build-%-stamp: PKG=$(subst -basic,,$*)
+build-%-stamp: CURCFLAGS=$(CFLAGS_$*)
+build-%-stamp: SHADOWDIR=$*
+build-%-stamp: configure-%-stamp
+ dh_testdir
+ dh_prep -p $(PKG)
+ @echo "*** DEBIAN *** BUILDING VARIANT $*"
+ $(MAKE) -C src/$(SHADOWDIR)
+ $(MAKE) -C runtime/doc tags VIMEXE=$(CURDIR)/src/$(SHADOWDIR)/vim
+ # Ensure $TERM is set to a sane value for testing
+ [ $(MAKETEST) != "yes" ] || env LANG=C.UTF-8 TERM=xterm $(MAKE) -j1 -C src/$(SHADOWDIR) test
+ touch $@
+
+install: install-xxd-stamp $(foreach v,$(VARIANTS),install-$(v)-stamp)
+
+# Use UTF-8 manpages for all languages
+# If a .UTF-8 directory doesn't exist, then the $L directory is already UTF-8.
+define munge-man-directories
+for L in $(LANGS); do \
+ if [ -d "$(DESTDIR)/usr/share/man/$$L.UTF-8" ]; then \
+ rm -rf "$(DESTDIR)/usr/share/man/$$L"; \
+ mv "$(DESTDIR)/usr/share/man/$$L.UTF-8" "$(DESTDIR)/usr/share/man/$$L"; \
+ fi; \
+ rm -rf "$(DESTDIR)/usr/share/man/$$L."*; \
+done
+endef
+
+install-indep-stamp: export DH_OPTIONS=-i
+install-indep-stamp: DESTDIR=$(CURDIR)/debian/tmp
+install-indep-stamp: build-vim-basic-stamp build-indep-stamp $(DOT_IN_DEPS)
+ dh_testdir
+ dh_testroot
+ dh_installdirs
+
+ mkdir -p "$(DESTDIR)/usr/bin"
+ # installruntime requires a "vim" in /usr/bin
+ cp src/vim-basic/vim "$(DESTDIR)/usr/bin"
+ $(MAKE) -C src/vim-basic "DESTDIR=$(DESTDIR)" \
+ installtutorbin \
+ installgtutorbin \
+ installruntime \
+ install-languages \
+ install-icons
+ rm -f "$(DESTDIR)/usr/bin/vim"
+
+ $(munge-man-directories)
+
+ # rm stuff handled by alternatives or our own symlinks
+ find "$(DESTDIR)/usr/share/man" \( -name view.1 -o -name ex.1 -o -name rvim.1 -o -name rview.1 \) -delete
+
+ # helpztags manpage
+ pod2man -c "User Commands" -s 1 -q none -r "vim $(VERSION)" \
+ -d "August 2010" debian/helpztags debian/helpztags.1
+
+ # Icons
+ for sz in 16 32 48; do \
+ cp runtime/vim$${sz}x$${sz}.xpm debian/vim-common/usr/share/pixmaps/vim-$${sz}.xpm; \
+ done
+ gs -sDefaultCMYKProfile=ps_cmyk.icc -sOutputICCProfile=ps_rgb.icc \
+ -dSAFER -dEPSCrop -dBATCH -dNOPAUSE \
+ -sDEVICE=ps2write -sOutputFile=debian/tmplogo.ps runtime/vimlogo.eps
+ ps2pdf debian/tmplogo.ps debian/tmplogo.pdf
+ pdf2svg debian/tmplogo.pdf debian/vim-common/usr/share/pixmaps/gvim.svg
+ cp debian/vim-common/usr/share/pixmaps/gvim.svg \
+ debian/vim-common/usr/share/icons/hicolor/scalable/apps/gvim.svg
+
+ dh_install
+ # adjust things for vim-gui-common
+ cp debian/vim-common/usr/share/man/man1/vim.1 \
+ debian/vim-gui-common/usr/share/man/man1/gvim.1
+ cp debian/vim-common/usr/share/man/man1/vimdiff.1 \
+ debian/vim-gui-common/usr/share/man/man1/gvimdiff.1
+ cp debian/vim-runtime/usr/share/man/man1/vimtutor.1 \
+ debian/vim-gui-common/usr/share/man/man1/gvimtutor.1
+ for L in $(LANGS); do \
+ DIR=usr/share/man/$$L; \
+ [ ! -e "debian/vim-common/$$DIR/man1/vim.1" ] || \
+ cp debian/vim-common/$$DIR/man1/vim.1 \
+ debian/vim-gui-common/$$DIR/man1/gvim.1; \
+ [ ! -e "debian/vim-common/$$DIR/man1/vimdiff.1" ] || \
+ cp debian/vim-common/$$DIR/man1/vimdiff.1 \
+ debian/vim-gui-common/$$DIR/man1/gvimdiff.1; \
+ [ ! -e "debian/vim-runtime/$$DIR/man1/vimtutor.1" ] || \
+ cp debian/vim-runtime/$$DIR/man1/vimtutor.1 \
+ debian/vim-gui-common/$$DIR/man1/gvimtutor.1; \
+ done
+ dh_link
+ dh_installman
+ dh_installchangelogs debian/changelog.upstream
+ dh_installdocs
+ dh_installmime
+ touch $@
+
+install-xxd-stamp: export DH_OPTIONS=-pxxd
+install-xxd-stamp: DESTDIR=$(CURDIR)/debian/xxd
+install-xxd-stamp: build-xxd-stamp
+ dh_testdir
+ dh_testroot
+ $(MAKE) -C src/vim-basic STRIP=: DESTDIR=$(DESTDIR) installtools install-tool-languages
+ rm -r $(DESTDIR)/usr/share/vim
+ $(munge-man-directories)
+ # No xxd.1 translations for Danish or German yet
+ rmdir $(DESTDIR)/usr/share/man/da/man1 $(DESTDIR)/usr/share/man/da \
+ $(DESTDIR)/usr/share/man/de/man1 $(DESTDIR)/usr/share/man/de
+ dh_installchangelogs
+ dh_installdocs
+ touch $@
+
+install-%-stamp: PKG=$(subst -basic,,$*)
+install-%-stamp: export DH_OPTIONS=-p$(PKG)
+install-%-stamp: DESTDIR=$(CURDIR)/debian/$(PKG)
+install-%-stamp: VARIANT=$(patsubst vim-%,%,$*)
+install-%-stamp: build-%-stamp
+ dh_testdir
+ dh_testroot
+ @echo "*** DEBIAN *** INSTALLING VARIANT $*"
+ dh_installdirs
+
+ cp src/$*/vim src/$*/$(subst -,.,$*)
+ # variant-related installations
+ for x in $(PER_VARIANT_FILES) ; do \
+ case "$(PKG)" in \
+ vim-nox|vim|vim-tiny) \
+ sed -e "s:@PKG@:$(PKG):g" -e "s:@VARIANT@:$(VARIANT):g" \
+ -e "s:@COMMON@:vim-common:g" \
+ debian/vim-variant.$$x > debian/$(PKG).$$x ;\
+ ;; \
+ *) \
+ sed -e "s:@PKG@:$(PKG):g" -e "s:@VARIANT@:$(VARIANT):g" \
+ -e "s:@COMMON@:vim-gui-common:g" \
+ debian/vim-variant.$$x > debian/$(PKG).$$x ;\
+ ;; \
+ esac \
+ done
+ for L in $(LANGS); do \
+ sed -e "s:\(.*\)@LANG_ALTS@:\1--slave \$$mandir/$$L/man1/\$$i.1.gz \$$i.$$L.1.gz \$$mandir/$$L/man1/vim.1.gz \\\\\n&:" \
+ -i debian/$(PKG).postinst; \
+ done
+ sed -i "/@LANG_ALTS@/d" debian/$(PKG).postinst
+ # fake help installation for vim-tiny
+ if [ "$(PKG)" = "vim-tiny" ]; then \
+ $(MAKE) -f debian/rules $(DOT_IN_DEPS_TINY); \
+ echo "debian/tiny/doc/ usr/share/vim/$(VIMCUR)" >> debian/vim-tiny.install; \
+ echo "debian/tiny/vimrc.tiny etc/vim" >> debian/vim-tiny.install; \
+ fi
+ dh_install
+ dh_installchangelogs debian/changelog.upstream
+ dh_installdocs
+ dh_link
+ dh_bugfiles -A
+
+ touch $@
+
+%: %.in
+ cat $< | sed 's/@VIMCUR@/$(VIMCUR)/' > $@
+
+binary-indep: export DH_OPTIONS=-i
+binary-indep: install-indep-stamp
+ dh_testdir
+ dh_testroot
+ dh_compress
+ dh_fixperms
+ dh_lintian
+ dh_installdeb
+ dh_gencontrol
+ dh_md5sums
+ dh_builddeb
+
+binary-arch: binary-arch-xxd $(foreach v,$(VARIANTS),binary-arch-$(v))
+
+binary-arch-%: PKG=$(subst -basic,,$*)
+binary-arch-%: export DH_OPTIONS=-p$(PKG) $(foreach v,$(VARIANTS_SKIP),-N$(v))
+binary-arch-%: install-%-stamp
+ dh_testdir
+ dh_testroot
+ dh_strip
+ dh_compress
+ dh_fixperms
+ dh_lintian
+ dh_installdeb
+ dh_shlibdeps
+ dh_gencontrol -- $(RUBY_SUBSTVARS)
+ dh_md5sums
+ dh_builddeb
+
+binary-arch-xxd: export DH_OPTIONS=-pxxd
+binary-arch-xxd: install-xxd-stamp
+ dh_testdir
+ dh_testroot
+ dh_strip
+ dh_compress
+ dh_fixperms
+ dh_installdeb
+ dh_shlibdeps
+ dh_gencontrol
+ dh_md5sums
+ dh_builddeb
+
+binary: beginlog binary-indep binary-arch endlog
+.PHONY: patch unpatch extract clean build install binary-indep binary-arch binary
+
+.PHONY: beginlog endlog
+beginlog:
+ @echo "*** DEBIAN *** BUILD STARTED"
+ @echo "*** DEBIAN *** BUILDING VARIANTS: $(VARIANTS)"
+ @echo "*** DEBIAN *** SKIPPING VARIANTS: $(VARIANTS_SKIP)"
+endlog:
+ @echo "*** DEBIAN *** BUILD COMPLETED"
+
+.NOTPARALLEL:
+# vim: set foldmethod=marker:
diff --git a/debian/runtime/debian.vim.in b/debian/runtime/debian.vim.in
new file mode 100644
index 0000000..a47122b
--- /dev/null
+++ b/debian/runtime/debian.vim.in
@@ -0,0 +1,54 @@
+" Debian system-wide default configuration Vim
+
+set runtimepath=~/.vim,/var/lib/vim/addons,/usr/share/vim/vimfiles,/usr/share/vim/@VIMCUR@,/usr/share/vim/vimfiles/after,/var/lib/vim/addons/after,~/.vim/after
+
+" Normally we use vim-extensions. If you want true vi-compatibility
+" remove change the following statements
+set nocompatible " Use Vim defaults instead of 100% vi compatibility
+set backspace=indent,eol,start " more powerful backspacing
+
+" Now we set some defaults for the editor
+set history=50 " keep 50 lines of command line history
+set ruler " show the cursor position all the time
+
+" modelines have historically been a source of security/resource
+" vulnerabilities -- disable by default, even when 'nocompatible' is set
+set nomodeline
+
+" Suffixes that get lower priority when doing tab completion for filenames.
+" These are files we are not likely to want to edit or read.
+set suffixes=.bak,~,.swp,.o,.info,.aux,.log,.dvi,.bbl,.blg,.brf,.cb,.ind,.idx,.ilg,.inx,.out,.toc
+
+" We know xterm-debian is a color terminal
+if &term =~ "xterm-debian" || &term =~ "xterm-xfree86"
+ set t_Co=16
+ set t_Sf=[3%dm
+ set t_Sb=[4%dm
+endif
+
+" Some Debian-specific things
+if has('gui')
+ " Must define this within the :if so it does not cause problems with
+ " vim-tiny (which does not have +eval)
+ function! <SID>MapExists(name, modes)
+ for mode in split(a:modes, '\zs')
+ if !empty(maparg(a:name, mode))
+ return 1
+ endif
+ endfor
+ return 0
+ endfunction
+
+ " Make shift-insert work like in Xterm
+ autocmd GUIEnter * if !<SID>MapExists("<S-Insert>", "nvso") | execute "map <S-Insert> <MiddleMouse>" | endif
+ autocmd GUIEnter * if !<SID>MapExists("<S-Insert>", "ic") | execute "map! <S-Insert> <MiddleMouse>" | endif
+endif
+
+" Set paper size from /etc/papersize if available (Debian-specific)
+if filereadable("/etc/papersize")
+ let s:papersize = matchstr(readfile('/etc/papersize', '', 1), '\p*')
+ if strlen(s:papersize)
+ exe "set printoptions+=paper:" . s:papersize
+ endif
+endif
+
diff --git a/debian/runtime/gvimrc b/debian/runtime/gvimrc
new file mode 100644
index 0000000..3aaea15
--- /dev/null
+++ b/debian/runtime/gvimrc
@@ -0,0 +1,17 @@
+" Make external commands work through a pipe instead of a pseudo-tty
+"set noguipty
+
+" You can also specify a different font, overriding the default font
+"if has('gui_gtk')
+" set guifont=Bitstream\ Vera\ Sans\ Mono\ 12
+"else
+" set guifont=-misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-1
+"endif
+
+" If you want to run gvim with a dark background, try using a different
+" colorscheme or running 'gvim -reverse'.
+
+" Source a global configuration file if available
+if filereadable("/etc/vim/gvimrc.local")
+ source /etc/vim/gvimrc.local
+endif
diff --git a/debian/runtime/vimrc b/debian/runtime/vimrc
new file mode 100644
index 0000000..bee1572
--- /dev/null
+++ b/debian/runtime/vimrc
@@ -0,0 +1,55 @@
+" All system-wide defaults are set in $VIMRUNTIME/debian.vim and sourced by
+" the call to :runtime you can find below. If you wish to change any of those
+" settings, you should do it in this file (/etc/vim/vimrc), since debian.vim
+" will be overwritten everytime an upgrade of the vim packages is performed.
+" It is recommended to make changes after sourcing debian.vim since it alters
+" the value of the 'compatible' option.
+
+" This line should not be removed as it ensures that various options are
+" properly set to work with the Vim-related packages available in Debian.
+runtime! debian.vim
+
+" Vim will load $VIMRUNTIME/defaults.vim if the user does not have a vimrc.
+" This happens after /etc/vim/vimrc(.local) are loaded, so it will override
+" any settings in these files.
+" If you don't want that to happen, uncomment the below line to prevent
+" defaults.vim from being loaded.
+" let g:skip_defaults_vim = 1
+
+" Uncomment the next line to make Vim more Vi-compatible
+" NOTE: debian.vim sets 'nocompatible'. Setting 'compatible' changes numerous
+" options, so any other options should be set AFTER setting 'compatible'.
+"set compatible
+
+" Vim5 and later versions support syntax highlighting. Uncommenting the next
+" line enables syntax highlighting by default.
+"syntax on
+
+" If using a dark background within the editing area and syntax highlighting
+" turn on this option as well
+"set background=dark
+
+" Uncomment the following to have Vim jump to the last position when
+" reopening a file
+"au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
+
+" Uncomment the following to have Vim load indentation rules and plugins
+" according to the detected filetype.
+"filetype plugin indent on
+
+" The following are commented out as they cause vim to behave a lot
+" differently from regular Vi. They are highly recommended though.
+"set showcmd " Show (partial) command in status line.
+"set showmatch " Show matching brackets.
+"set ignorecase " Do case insensitive matching
+"set smartcase " Do smart case matching
+"set incsearch " Incremental search
+"set autowrite " Automatically save before commands like :next and :make
+"set hidden " Hide buffers when they are abandoned
+"set mouse=a " Enable mouse usage (all modes)
+
+" Source a global configuration file if available
+if filereadable("/etc/vim/vimrc.local")
+ source /etc/vim/vimrc.local
+endif
+
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/source/lintian-overrides b/debian/source/lintian-overrides
new file mode 100644
index 0000000..d93d373
--- /dev/null
+++ b/debian/source/lintian-overrides
@@ -0,0 +1,4 @@
+# vim-tiny provides stub help.txt/tags which are diverted when vim-runtime is
+# installed
+vim source: binaries-have-file-conflict vim-runtime vim-tiny usr/share/vim/vim*/doc/help.txt
+vim source: binaries-have-file-conflict vim-runtime vim-tiny usr/share/vim/vim*/doc/tags
diff --git a/debian/tests/control b/debian/tests/control
new file mode 100644
index 0000000..d6e7173
--- /dev/null
+++ b/debian/tests/control
@@ -0,0 +1,2 @@
+Test-Command: ./debian/tests/variants --version
+Depends: @
diff --git a/debian/tests/variants b/debian/tests/variants
new file mode 100755
index 0000000..71e4164
--- /dev/null
+++ b/debian/tests/variants
@@ -0,0 +1,7 @@
+#!/bin/sh
+set -eu
+
+for variant in /usr/bin/vim.*
+do
+ $variant "$@"
+done
diff --git a/debian/tiny/doc/README.Debian b/debian/tiny/doc/README.Debian
new file mode 100644
index 0000000..7e7bfc3
--- /dev/null
+++ b/debian/tiny/doc/README.Debian
@@ -0,0 +1,7 @@
+
+This directory contains Debian-specific fake help files and tags used by
+the "vim-tiny" package. Their only purpose is to tell the user how to
+install the real VIM online help on Debian if she wants to (i.e.
+installing the "vim-runtime" package).
+
+ -- Stefano Zacchiroli <zack@debian.org> Thu, 03 Nov 2005 22:16:23 +0100
diff --git a/debian/tiny/doc/help.txt b/debian/tiny/doc/help.txt
new file mode 100644
index 0000000..51cc898
--- /dev/null
+++ b/debian/tiny/doc/help.txt
@@ -0,0 +1,38 @@
+*help.txt* For Vim version 7.4. Last change: 2016 Sep 07
+
+ VIM - fake help file for vim-tiny
+
+The Vim online help is not installed on this Debian GNU/Linux system.
+
+WHY ?
+
+Because only the "vim-tiny" package is installed, whose sole purpose is to
+provide the vi command for base installations. As such, it contains a minimal
+version of Vim compiled with no graphical user interface and a small subset of
+features, in order to keep the package size small.
+
+Since the "vim-runtime" package is rather huge when compared to "vim-tiny",
+installing the latter does not automatically install the former.
+
+HOW TO GET A BETTER VIM
+
+To get a more featureful Vim binary (and a vim command, rather than just vi),
+install one of the following packages: vim, vim-nox, vim-athena, vim-gtk, or
+vim-gtk3.
+
+HOW TO OBTAIN HELP
+
+either browse the Vim online help via web starting at
+
+ http://vimhelp.appspot.com/help.txt.html#help.txt
+
+or ask your administrator to install the "vim-doc" package, which contains the
+ HTML version of the online help and browse it starting at
+
+ /usr/share/doc/vim/html/index.html
+
+or ask your administrator to install the "vim-runtime" package, re-run vi and
+ access the online help again. Note that all the above mentioned Vim
+ variants other then "vim-tiny" automatically install the "vim-runtime"
+ package. If you don't suffer from disk space shortage using one of them is
+ recommended.
diff --git a/debian/tiny/doc/tags b/debian/tiny/doc/tags
new file mode 100644
index 0000000..f57fbe5
--- /dev/null
+++ b/debian/tiny/doc/tags
@@ -0,0 +1 @@
+help.txt help.txt /*help.txt*
diff --git a/debian/tiny/vimrc.tiny.in b/debian/tiny/vimrc.tiny.in
new file mode 100644
index 0000000..eac14a2
--- /dev/null
+++ b/debian/tiny/vimrc.tiny.in
@@ -0,0 +1,13 @@
+" Vim configuration file, in effect when invoked as "vi". The aim of this
+" configuration file is to provide a Vim environment as compatible with the
+" original vi as possible. Note that ~/.vimrc configuration files as other
+" configuration files in the runtimepath are still sourced.
+" When Vim is invoked differently ("vim", "view", "evim", ...) this file is
+" _not_ sourced; /etc/vim/vimrc and/or /etc/vim/gvimrc are.
+
+" Debian system-wide default configuration Vim
+set runtimepath=~/.vim,/var/lib/vim/addons,/usr/share/vim/vimfiles,/usr/share/vim/@VIMCUR@,/usr/share/vim/vimfiles/after,/var/lib/vim/addons/after,~/.vim/after
+
+set compatible
+
+" vim: set ft=vim:
diff --git a/debian/vim-common.dirs b/debian/vim-common.dirs
new file mode 100644
index 0000000..8d30e0d
--- /dev/null
+++ b/debian/vim-common.dirs
@@ -0,0 +1,16 @@
+/etc/
+/usr/bin/
+/usr/share/applications/
+/usr/share/icons/hicolor/48x48/apps/
+/usr/share/icons/hicolor/scalable/apps/
+/usr/share/icons/locolor/16x16/apps/
+/usr/share/icons/locolor/32x32/apps/
+/usr/share/man/da/man1/
+/usr/share/man/fr/man1/
+/usr/share/man/it/man1/
+/usr/share/man/ja/man1/
+/usr/share/man/man1/
+/usr/share/man/pl/man1/
+/usr/share/man/ru/man1/
+/usr/share/pixmaps/
+/var/lib/vim/addons/
diff --git a/debian/vim-common.install.in b/debian/vim-common.install.in
new file mode 100644
index 0000000..79abeaa
--- /dev/null
+++ b/debian/vim-common.install.in
@@ -0,0 +1,20 @@
+debian/helpztags usr/bin/
+debian/runtime/debian.vim usr/share/vim/@VIMCUR@/
+debian/runtime/vimrc etc/vim/
+usr/share/applications/vim.desktop
+usr/share/icons/
+usr/share/man/da/man1/vim.1
+usr/share/man/da/man1/vimdiff.1
+usr/share/man/de/man1/vim.1
+usr/share/man/fr/man1/vim.1
+usr/share/man/fr/man1/vimdiff.1
+usr/share/man/it/man1/vim.1
+usr/share/man/it/man1/vimdiff.1
+usr/share/man/ja/man1/vim.1
+usr/share/man/ja/man1/vimdiff.1
+usr/share/man/man1/vim.1
+usr/share/man/man1/vimdiff.1
+usr/share/man/pl/man1/vim.1
+usr/share/man/pl/man1/vimdiff.1
+usr/share/man/ru/man1/vim.1
+usr/share/man/ru/man1/vimdiff.1
diff --git a/debian/vim-common.links b/debian/vim-common.links
new file mode 100644
index 0000000..45c993d
--- /dev/null
+++ b/debian/vim-common.links
@@ -0,0 +1,17 @@
+etc/vim/vimrc usr/share/vim/vimrc
+usr/share/man/da/man1/vim.1 usr/share/man/da/man1/rview.1
+usr/share/man/da/man1/vim.1 usr/share/man/da/man1/rvim.1
+usr/share/man/de/man1/vim.1 usr/share/man/de/man1/rview.1
+usr/share/man/de/man1/vim.1 usr/share/man/de/man1/rvim.1
+usr/share/man/fr/man1/vim.1 usr/share/man/fr/man1/rview.1
+usr/share/man/fr/man1/vim.1 usr/share/man/fr/man1/rvim.1
+usr/share/man/it/man1/vim.1 usr/share/man/it/man1/rview.1
+usr/share/man/it/man1/vim.1 usr/share/man/it/man1/rvim.1
+usr/share/man/ja/man1/vim.1 usr/share/man/ja/man1/rview.1
+usr/share/man/ja/man1/vim.1 usr/share/man/ja/man1/rvim.1
+usr/share/man/man1/vim.1 usr/share/man/man1/rview.1
+usr/share/man/man1/vim.1 usr/share/man/man1/rvim.1
+usr/share/man/pl/man1/vim.1 usr/share/man/pl/man1/rview.1
+usr/share/man/pl/man1/vim.1 usr/share/man/pl/man1/rvim.1
+usr/share/man/ru/man1/vim.1 usr/share/man/ru/man1/rview.1
+usr/share/man/ru/man1/vim.1 usr/share/man/ru/man1/rvim.1
diff --git a/debian/vim-common.lintian-overrides b/debian/vim-common.lintian-overrides
new file mode 100644
index 0000000..cfba641
--- /dev/null
+++ b/debian/vim-common.lintian-overrides
@@ -0,0 +1,2 @@
+# Provided by vim (virtual) packages
+vim-common binary: desktop-command-not-in-package usr/share/applications/vim.desktop vim
diff --git a/debian/vim-common.maintscript b/debian/vim-common.maintscript
new file mode 100644
index 0000000..c30d86c
--- /dev/null
+++ b/debian/vim-common.maintscript
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/vim/vimfiles /etc/vim 2:8.1.0639-2~ vim-common
diff --git a/debian/vim-common.manpages b/debian/vim-common.manpages
new file mode 100644
index 0000000..81e7645
--- /dev/null
+++ b/debian/vim-common.manpages
@@ -0,0 +1 @@
+debian/helpztags.1
diff --git a/debian/vim-common.mime b/debian/vim-common.mime
new file mode 100644
index 0000000..b2b30dd
--- /dev/null
+++ b/debian/vim-common.mime
@@ -0,0 +1,4 @@
+text/plain; view %s; edit=vim %s; compose=vim %s; test=test -x /usr/bin/vim; needsterminal; priority=4
+text/*; view %s; edit=vim %s; compose=vim %s; test=test -x /usr/bin/vim; needsterminal; priority=2
+text/plain; view %s; edit=vi %s; compose=vi %s; needsterminal; priority=3
+text/*; view %s; edit=vi %s; compose=vi %s; needsterminal; priority=1
diff --git a/debian/vim-common.preinst b/debian/vim-common.preinst
new file mode 100644
index 0000000..94c6722
--- /dev/null
+++ b/debian/vim-common.preinst
@@ -0,0 +1,30 @@
+#!/bin/sh
+set -e
+
+rm_conffile() {
+ PKGNAME="$1"
+ CONFFILE="$2"
+ if [ -e "$CONFFILE" ]; then
+ md5sum="$(md5sum "$CONFFILE" | sed -e 's/ .*//')"
+ old_md5sum="$(dpkg-query -W -f='${Conffiles}\n' $PKGNAME | sed -n -e "\\' $CONFFILE '{s/ obsolete$//;s/.* //p}")"
+ if [ "$md5sum" != "$old_md5sum" ]; then
+ echo "Obsolete conffile $CONFFILE has been modified by you."
+ echo "Saving as $CONFFILE.dpkg-bak ..."
+ mv -f "$CONFFILE" "$CONFFILE".dpkg-bak
+ else
+ echo "Removing obsolete conffile $CONFFILE ..."
+ rm -f "$CONFFILE"
+ fi
+ fi
+}
+
+case "$1" in
+ install|upgrade)
+ if dpkg --compare-versions "$2" le "1:7.1.293-1"; then
+ rm_conffile vim-common /etc/vim/vimrc.tiny
+ fi
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/vim-doc.doc-base.referencemanual b/debian/vim-doc.doc-base.referencemanual
new file mode 100644
index 0000000..613a141
--- /dev/null
+++ b/debian/vim-doc.doc-base.referencemanual
@@ -0,0 +1,11 @@
+Document: vim-referencemanual
+Title: Vim reference manual
+Author: Bram Moolenaar <bram@vim.org>
+Section: Editors
+Abstract: The Vim reference manual
+ This document contains a detailed list of all commands for
+ each mode as well as all configurable options.
+
+Format: html
+Index: /usr/share/doc/vim/html/index.html
+Files: /usr/share/doc/vim/html/*.html
diff --git a/debian/vim-doc.doc-base.usermanual b/debian/vim-doc.doc-base.usermanual
new file mode 100644
index 0000000..02f83e0
--- /dev/null
+++ b/debian/vim-doc.doc-base.usermanual
@@ -0,0 +1,11 @@
+Document: vim-usermanual
+Title: Vim user manual
+Author: Bram Moolenaar <bram@vim.org>
+Section: Editors
+Abstract: The Vim user manual.
+ Contains task oriented explanations from simplex to complex
+ on using Vim.
+
+Format: html
+Index: /usr/share/doc/vim/html/usr_toc.html
+Files: /usr/share/doc/vim/html/usr_*.html
diff --git a/debian/vim-doc.docs b/debian/vim-doc.docs
new file mode 100644
index 0000000..2be9981
--- /dev/null
+++ b/debian/vim-doc.docs
@@ -0,0 +1,3 @@
+debian/FAQ
+debian/policy/vim-policy.html
+debian/policy/vim-policy.txt
diff --git a/debian/vim-doc.install b/debian/vim-doc.install
new file mode 100644
index 0000000..eb40aeb
--- /dev/null
+++ b/debian/vim-doc.install
@@ -0,0 +1 @@
+runtime/doc/*.html usr/share/doc/vim/html/
diff --git a/debian/vim-gui-common.dirs b/debian/vim-gui-common.dirs
new file mode 100644
index 0000000..9ed0431
--- /dev/null
+++ b/debian/vim-gui-common.dirs
@@ -0,0 +1,11 @@
+/etc/
+/usr/bin/
+/usr/share/applications/
+/usr/share/man/da/man1/
+/usr/share/man/de/man1/
+/usr/share/man/fr/man1/
+/usr/share/man/it/man1/
+/usr/share/man/ja/man1/
+/usr/share/man/man1/
+/usr/share/man/pl/man1/
+/usr/share/man/ru/man1/
diff --git a/debian/vim-gui-common.install b/debian/vim-gui-common.install
new file mode 100644
index 0000000..3d4b727
--- /dev/null
+++ b/debian/vim-gui-common.install
@@ -0,0 +1,9 @@
+debian/runtime/gvimrc etc/vim/
+usr/bin/gvimtutor
+usr/share/applications/gvim.desktop
+usr/share/man/fr/man1/evim.1
+usr/share/man/it/man1/evim.1
+usr/share/man/ja/man1/evim.1
+usr/share/man/man1/evim.1
+usr/share/man/pl/man1/evim.1
+usr/share/man/ru/man1/evim.1
diff --git a/debian/vim-gui-common.links b/debian/vim-gui-common.links
new file mode 100644
index 0000000..3f41f78
--- /dev/null
+++ b/debian/vim-gui-common.links
@@ -0,0 +1,31 @@
+etc/vim/gvimrc usr/share/vim/gvimrc
+usr/share/man/da/man1/gvim.1 usr/share/man/da/man1/gview.1
+usr/share/man/da/man1/gvim.1 usr/share/man/da/man1/rgview.1
+usr/share/man/da/man1/gvim.1 usr/share/man/da/man1/rgvim.1
+usr/share/man/de/man1/gvim.1 usr/share/man/de/man1/gview.1
+usr/share/man/de/man1/gvim.1 usr/share/man/de/man1/rgview.1
+usr/share/man/de/man1/gvim.1 usr/share/man/de/man1/rgvim.1
+usr/share/man/fr/man1/evim.1 usr/share/man/fr/man1/eview.1
+usr/share/man/fr/man1/gvim.1 usr/share/man/fr/man1/gview.1
+usr/share/man/fr/man1/gvim.1 usr/share/man/fr/man1/rgview.1
+usr/share/man/fr/man1/gvim.1 usr/share/man/fr/man1/rgvim.1
+usr/share/man/it/man1/evim.1 usr/share/man/it/man1/eview.1
+usr/share/man/it/man1/gvim.1 usr/share/man/it/man1/gview.1
+usr/share/man/it/man1/gvim.1 usr/share/man/it/man1/rgview.1
+usr/share/man/it/man1/gvim.1 usr/share/man/it/man1/rgvim.1
+usr/share/man/ja/man1/evim.1 usr/share/man/ja/man1/eview.1
+usr/share/man/ja/man1/gvim.1 usr/share/man/ja/man1/gview.1
+usr/share/man/ja/man1/gvim.1 usr/share/man/ja/man1/rgview.1
+usr/share/man/ja/man1/gvim.1 usr/share/man/ja/man1/rgvim.1
+usr/share/man/man1/evim.1 usr/share/man/man1/eview.1
+usr/share/man/man1/gvim.1 usr/share/man/man1/gview.1
+usr/share/man/man1/gvim.1 usr/share/man/man1/rgview.1
+usr/share/man/man1/gvim.1 usr/share/man/man1/rgvim.1
+usr/share/man/pl/man1/evim.1 usr/share/man/pl/man1/eview.1
+usr/share/man/pl/man1/gvim.1 usr/share/man/pl/man1/gview.1
+usr/share/man/pl/man1/gvim.1 usr/share/man/pl/man1/rgview.1
+usr/share/man/pl/man1/gvim.1 usr/share/man/pl/man1/rgvim.1
+usr/share/man/ru/man1/evim.1 usr/share/man/ru/man1/eview.1
+usr/share/man/ru/man1/gvim.1 usr/share/man/ru/man1/gview.1
+usr/share/man/ru/man1/gvim.1 usr/share/man/ru/man1/rgview.1
+usr/share/man/ru/man1/gvim.1 usr/share/man/ru/man1/rgvim.1
diff --git a/debian/vim-gui-common.lintian-overrides b/debian/vim-gui-common.lintian-overrides
new file mode 100644
index 0000000..d2418e0
--- /dev/null
+++ b/debian/vim-gui-common.lintian-overrides
@@ -0,0 +1,2 @@
+# Provided by gvim (virtual) packages
+vim-gui-common binary: desktop-command-not-in-package usr/share/applications/gvim.desktop gvim
diff --git a/debian/vim-gui-common.mime b/debian/vim-gui-common.mime
new file mode 100644
index 0000000..43607a7
--- /dev/null
+++ b/debian/vim-gui-common.mime
@@ -0,0 +1,2 @@
+text/plain; gview -f %s; edit=gvim -f %s; compose=gvim -f %s; test=test "$DISPLAY" != ""; priority=4
+text/*; gview -f %s; edit=gvim -f %s; compose=gvim -f %s; test=test "$DISPLAY" != "" ; priority=2
diff --git a/debian/vim-registry/vim-runtime.yaml b/debian/vim-registry/vim-runtime.yaml
new file mode 100644
index 0000000..455f144
--- /dev/null
+++ b/debian/vim-registry/vim-runtime.yaml
@@ -0,0 +1,14 @@
+addon: matchit
+description: "extended matching with '%' (e.g. if ... then ... else)"
+files:
+ - plugin/matchit.vim
+---
+addon: editexisting
+description: "edit the file with an existing Vim, if possible"
+files:
+ - plugin/editexisting.vim
+---
+addon: justify
+description: "left and right align text by filling in with extra spaces"
+files:
+ - plugin/justify.vim
diff --git a/debian/vim-runtime.dirs b/debian/vim-runtime.dirs
new file mode 100644
index 0000000..b4f9ea8
--- /dev/null
+++ b/debian/vim-runtime.dirs
@@ -0,0 +1,10 @@
+/usr/bin/
+/usr/share/man/da/man1/
+/usr/share/man/fr/man1/
+/usr/share/man/it/man1/
+/usr/share/man/ja/man1/
+/usr/share/man/man1/
+/usr/share/man/pl/man1/
+/usr/share/man/ru/man1/
+/usr/share/vim/addons/
+/usr/share/vim/registry/
diff --git a/debian/vim-runtime.install b/debian/vim-runtime.install
new file mode 100644
index 0000000..bf2b124
--- /dev/null
+++ b/debian/vim-runtime.install
@@ -0,0 +1,10 @@
+debian/vim-registry/*.yaml usr/share/vim/registry/
+usr/bin/vimtutor
+usr/share/man/da/man1/vimtutor.1
+usr/share/man/fr/man1/vimtutor.1
+usr/share/man/it/man1/vimtutor.1
+usr/share/man/ja/man1/vimtutor.1
+usr/share/man/man1/vimtutor.1
+usr/share/man/pl/man1/vimtutor.1
+usr/share/man/ru/man1/vimtutor.1
+usr/share/vim/
diff --git a/debian/vim-runtime.links.in b/debian/vim-runtime.links.in
new file mode 100644
index 0000000..3c97eb1
--- /dev/null
+++ b/debian/vim-runtime.links.in
@@ -0,0 +1,3 @@
+usr/share/vim/@VIMCUR@/macros/matchit.vim usr/share/vim/addons/plugin/matchit.vim
+usr/share/vim/@VIMCUR@/macros/justify.vim usr/share/vim/addons/plugin/justify.vim
+usr/share/vim/@VIMCUR@/macros/editexisting.vim usr/share/vim/addons/plugin/editexisting.vim
diff --git a/debian/vim-runtime.postinst b/debian/vim-runtime.postinst
new file mode 100644
index 0000000..34b221d
--- /dev/null
+++ b/debian/vim-runtime.postinst
@@ -0,0 +1,34 @@
+#!/bin/sh
+set -e
+
+basedir=/usr/share/vim/@VIMCUR@/doc
+
+rm_diversion() {
+ dpkg-divert --package vim-runtime --rename --remove "$1"
+}
+
+# Used to remove the previous diversion when upgrading from one major release
+# to the next
+remove_previous_diversions() {
+ for v in vim71 vim72a vim72b vim72c; do
+ oldpath="$(echo $1 | sed s/@VIMCUR@/$v/)"
+ if dpkg-divert --list 2>/dev/null | grep -q "$oldpath"; then
+ rm_diversion $oldpath
+ fi
+ done
+}
+
+# Need to run helpztags since we're overwriting /u/s/v/a/d/tags whenever
+# vim-runtime is install/upgraded which breaks the help for other vim addons
+if which helpztags >/dev/null 2>&1; then
+ helpztags /usr/share/vim/addons/doc
+fi
+
+if [ "$1" = "configure" ]; then
+ remove_previous_diversions $basedir/help.txt
+ remove_previous_diversions $basedir/tags
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/vim-runtime.postrm.in b/debian/vim-runtime.postrm.in
new file mode 100644
index 0000000..6536648
--- /dev/null
+++ b/debian/vim-runtime.postrm.in
@@ -0,0 +1,28 @@
+#!/bin/sh
+set -e
+
+vimcur="@VIMCUR@"
+basedir=/usr/share/vim/$vimcur/doc
+
+rm_diversion() {
+ dpkg-divert --package vim-runtime --rename --remove "$1"
+}
+
+# When upgrading to a new major upstream release, we need to remove the old
+# vim-tiny help(tags) diversions
+major_upgrade() {
+ newver="${1#?:}"
+ newver="vim$(echo ${newver%.*-*} | sed 's/\.//g')"
+ [ "$newver" != "$vimcur" ]
+}
+
+rm -f /usr/share/vim/addons/doc/tags
+if [ "$1" = "remove" -o "$1" = "abort-install" -o "$1" = "disappear" ] \
+ || ([ "$1" = "upgrade" ] && major_upgrade $2); then
+ rm_diversion $basedir/help.txt
+ rm_diversion $basedir/tags
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/vim-runtime.preinst.in b/debian/vim-runtime.preinst.in
new file mode 100644
index 0000000..9e5df5f
--- /dev/null
+++ b/debian/vim-runtime.preinst.in
@@ -0,0 +1,27 @@
+#!/bin/sh
+set -e
+
+vimcur="@VIMCUR@"
+basedir=/usr/share/vim/$vimcur/doc
+
+add_diversion() {
+ dpkg-divert --package vim-runtime --add --rename \
+ --divert "$1.vim-tiny" "$1"
+}
+
+major_upgrade() {
+ oldver="${1#?:}"
+ oldver="vim$(echo ${oldver%.*-*} | sed 's/\.//g')"
+ [ "$oldver" != "$vimcur" ]
+}
+
+# Add diversions for any non-upgrade operation or when upgrading across major
+# upstream versions.
+if [ "$1" != "upgrade" ] || major_upgrade $2; then
+ add_diversion $basedir/help.txt
+ add_diversion $basedir/tags
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/vim-tiny.dirs b/debian/vim-tiny.dirs
new file mode 100644
index 0000000..74760d3
--- /dev/null
+++ b/debian/vim-tiny.dirs
@@ -0,0 +1 @@
+/usr/share/vim
diff --git a/debian/vim-tiny.links b/debian/vim-tiny.links
new file mode 100644
index 0000000..268f357
--- /dev/null
+++ b/debian/vim-tiny.links
@@ -0,0 +1 @@
+etc/vim/vimrc.tiny usr/share/vim/vimrc.tiny
diff --git a/debian/vim-variant.install b/debian/vim-variant.install
new file mode 100644
index 0000000..5bd6ff2
--- /dev/null
+++ b/debian/vim-variant.install
@@ -0,0 +1 @@
+src/vim-@VARIANT@/vim.@VARIANT@ usr/bin/
diff --git a/debian/vim-variant.lintian-overrides b/debian/vim-variant.lintian-overrides
new file mode 100644
index 0000000..066e561
--- /dev/null
+++ b/debian/vim-variant.lintian-overrides
@@ -0,0 +1,2 @@
+# vim.xxx files are alternatives for (g)vim, which has a manpage in vim(-gui)-common
+@PKG@ binary: binary-without-manpage usr/bin/vim.@VARIANT@
diff --git a/debian/vim-variant.maintscript b/debian/vim-variant.maintscript
new file mode 100644
index 0000000..456368c
--- /dev/null
+++ b/debian/vim-variant.maintscript
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/@PKG@ @COMMON@ 2:8.0.1451-1~ @PKG@
diff --git a/debian/vim-variant.postinst b/debian/vim-variant.postinst
new file mode 100644
index 0000000..de433d2
--- /dev/null
+++ b/debian/vim-variant.postinst
@@ -0,0 +1,57 @@
+#!/bin/sh
+set -e
+
+pkg=@PKG@
+variant=@VARIANT@
+mandir=/usr/share/man
+
+# add /usr/bin/vim.variant as alternative for /usr/bin/vim. Priority are
+# chosen accordingly to the principle: ``more features, higher priority''
+
+add_variant_alternative () {
+ if [ "$variant" != "tiny" ]; then
+ update-alternatives --install /usr/bin/vim vim /usr/bin/vim.$variant $1
+ update-alternatives --install /usr/bin/vimdiff vimdiff /usr/bin/vim.$variant $1
+ update-alternatives --install /usr/bin/rvim rvim /usr/bin/vim.$variant $1
+ fi
+ update-alternatives --install /usr/bin/rview rview /usr/bin/vim.$variant $1
+ # Since other packages provide these commands, we'll setup alternatives for
+ # their manpages, too.
+ for i in vi view ex editor ; do
+ update-alternatives \
+ --install /usr/bin/$i $i /usr/bin/vim.$variant $1 \
+ @LANG_ALTS@
+ --slave $mandir/man1/$i.1.gz $i.1.gz \
+ $mandir/man1/vim.1.gz
+ done
+ case "$variant" in
+ gtk|gtk3|athena) # gui enabled variants
+ add_gui_variant_alternative $1
+ ;;
+ esac
+}
+
+add_gui_variant_alternative () {
+ for i in gvim gview rgview rgvim evim eview gvimdiff ; do
+ update-alternatives --install /usr/bin/$i $i /usr/bin/vim.$variant $1
+ done
+}
+
+case "$pkg" in
+ vim-tiny)
+ add_variant_alternative 15
+ ;;
+ vim)
+ add_variant_alternative 30
+ ;;
+ vim-nox)
+ add_variant_alternative 40
+ ;;
+ vim-gtk|vim-gtk3|vim-athena)
+ add_variant_alternative 50
+ ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/vim-variant.prerm b/debian/vim-variant.prerm
new file mode 100644
index 0000000..0d7fb68
--- /dev/null
+++ b/debian/vim-variant.prerm
@@ -0,0 +1,43 @@
+#!/bin/sh
+set -e
+
+pkg=@PKG@
+variant=@VARIANT@
+
+# remove /usr/bin/vim.variant as alternative for /usr/bin/vim
+
+remove_variant_alternative () {
+ for i in vi view ex editor rvim rview vimdiff vim; do
+ update-alternatives --remove $i /usr/bin/vim.$variant
+ done
+ case "$variant" in
+ gtk|gtk3|athena) # gui enabled variants
+ remove_gui_variant_alternative
+ ;;
+ esac
+}
+
+remove_gui_variant_alternative () {
+ for i in eview evim gview gvimdiff rgview rgvim gvim; do
+ update-alternatives --remove $i /usr/bin/vim.$variant
+ done
+}
+
+case "$1" in
+ # only remove in remove/deconfigure so we don't disrupt users' preferences
+ remove|deconfigure)
+ remove_variant_alternative
+ ;;
+
+ upgrade|failed-upgrade)
+ ;;
+
+ *)
+ echo "prerm called with unknown argument \`$1'" >&2
+ exit 0
+ ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/vim.dirs b/debian/vim.dirs
new file mode 100644
index 0000000..415f082
--- /dev/null
+++ b/debian/vim.dirs
@@ -0,0 +1 @@
+/usr/bin
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..096644e
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,4 @@
+version=4
+opts=filenamemangle=s%(?:.*?)?v(\d[\d.]+)\.tar\.gz%vim-$1.tar.gz% \
+ https://github.com/vim/vim/tags \
+ (?:.*?)?v(\d[\d.]+)\.tar\.gz