diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-06 02:44:26 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-06 02:44:26 +0000 |
commit | 0cde7a370d07f80208bcd29597cf30d5274f38b0 (patch) | |
tree | e228a85db87eb0491d2937e213bbbab19826b682 | |
parent | Adding upstream version 2:8.1.0875. (diff) | |
download | vim-0cde7a370d07f80208bcd29597cf30d5274f38b0.tar.xz vim-0cde7a370d07f80208bcd29597cf30d5274f38b0.zip |
Adding debian version 2:8.1.0875-5+deb10u2.debian/2%8.1.0875-5+deb10u2debian
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
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&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 |