blob: 6fe116af2e34baae5bd435de960b91e18d85e73d [file] [log] [blame]
Bram Moolenaar8f3f58f2010-01-06 20:52:26 +01001*version7.txt* For Vim version 7.2. Last change: 2009 Dec 02
Bram Moolenaar071d4272004-06-13 20:20:40 +00002
3
4 VIM REFERENCE MANUAL by Bram Moolenaar
5
Bram Moolenaarc81e5e72007-05-05 18:24:42 +00006 *vim7*
Bram Moolenaar071d4272004-06-13 20:20:40 +00007Welcome to Vim 7! A large number of features has been added. This file
8mentions all the new items, changes to existing features and bug fixes
Bram Moolenaar8ea91232006-04-28 22:41:43 +00009since Vim 6.x. Use this command to see the version you are using: >
Bram Moolenaarb2956cd2005-01-27 14:42:53 +000010 :version
Bram Moolenaar071d4272004-06-13 20:20:40 +000011
12See |vi_diff.txt| for an overview of differences between Vi and Vim 7.0.
13See |version4.txt| for differences between Vim 3.x and Vim 4.x.
14See |version5.txt| for differences between Vim 4.x and Vim 5.x.
15See |version6.txt| for differences between Vim 5.x and Vim 6.x.
16
17INCOMPATIBLE CHANGES |incompatible-7|
18
19NEW FEATURES |new-7|
20
Bram Moolenaarbac234e2005-01-17 22:21:07 +000021Vim script enhancements |new-vim-script|
Bram Moolenaar60c78922005-03-20 22:40:14 +000022Spell checking |new-spell|
Bram Moolenaarf75a9632005-09-13 21:20:47 +000023Omni completion |new-omni-completion|
Bram Moolenaarfb670262005-06-05 22:06:27 +000024MzScheme interface |new-MzScheme|
25Printing multi-byte text |new-print-multi-byte|
Bram Moolenaar17be7e62006-03-12 22:13:45 +000026Tab pages |new-tab-pages|
Bram Moolenaar34e9e2f2006-03-14 23:07:19 +000027Undo branches |new-undo-branches|
Bram Moolenaar362e1a32006-03-06 23:29:24 +000028Extended Unicode support |new-more-unicode|
Bram Moolenaar17be7e62006-03-12 22:13:45 +000029More highlighting |new-more-highlighting|
Bram Moolenaar293ee4d2004-12-09 21:34:53 +000030Translated manual pages |new-manpage-trans|
Bram Moolenaar8fc061c2004-12-29 21:03:02 +000031Internal grep |new-vimgrep|
Bram Moolenaar87e25fd2005-07-27 21:13:01 +000032Scroll back in messages |new-scroll-back|
Bram Moolenaarea0cd362006-03-16 21:46:52 +000033Cursor past end of the line |new-onemore|
Bram Moolenaar4399ef42005-02-12 14:29:27 +000034POSIX compatibility |new-posix|
Bram Moolenaare2ac10d2005-03-07 23:26:06 +000035Debugger support |new-debug-support|
Bram Moolenaar0be6e642005-08-04 21:32:22 +000036Remote file explorer |new-netrw-explore|
Bram Moolenaar900b4d72005-12-12 22:05:50 +000037Define an operator |new-define-operator|
Bram Moolenaarade00832006-03-10 21:46:58 +000038Mapping to an expression |new-map-expression|
Bram Moolenaarb3656ed2006-03-20 21:59:49 +000039Visual and Select mode mappings |new-map-select|
Bram Moolenaar17c7c012006-01-26 22:25:15 +000040Location list |new-location-list|
Bram Moolenaar071d4272004-06-13 20:20:40 +000041Various new items |new-items-7|
42
43IMPROVEMENTS |improvements-7|
44
45COMPILE TIME CHANGES |compile-changes-7|
46
47BUG FIXES |bug-fixes-7|
48
Bram Moolenaarc81e5e72007-05-05 18:24:42 +000049VERSION 7.1 |version-7.1|
50Changed |changed-7.1|
51Added |added-7.1|
52Fixed |fixed-7.1|
53
Bram Moolenaar8c8de832008-06-24 22:58:06 +000054VERSION 7.2 |version-7.2|
55Changed |changed-7.2|
56Added |added-7.2|
57Fixed |fixed-7.2|
58
Bram Moolenaar071d4272004-06-13 20:20:40 +000059==============================================================================
60INCOMPATIBLE CHANGES *incompatible-7*
61
62These changes are incompatible with previous releases. Check this list if you
Bram Moolenaarb2956cd2005-01-27 14:42:53 +000063run into a problem when upgrading from Vim 6.x to 7.0.
64
65A ":write file" command no longer resets the 'modified' flag of the buffer,
66unless the '+' flag is in 'cpoptions' |cpo-+|. This was illogical, since the
67buffer is still modified compared to the original file. And when undoing
68all changes the file would actually be marked modified. It does mean that
69":quit" fails now.
Bram Moolenaar071d4272004-06-13 20:20:40 +000070
Bram Moolenaarf4b8e572004-06-24 15:53:16 +000071":helpgrep" now uses a help window to display a match.
72
Bram Moolenaar1cd871b2004-12-19 22:46:22 +000073In an argument list double quotes could be used to include spaces in a file
74name. This caused a difference between ":edit" and ":next" for escaping
75double quotes and it is incompatible with some versions of Vi.
76 Command Vim 6.x file name Vim 7.x file name ~
Bram Moolenaarc9b4b052006-04-30 18:54:39 +000077 :edit foo\"888 foo"888 foo"888
78 :next foo\"888 foo888 foo"888
79 :next a\"b c\"d ab cd a"b and c"d
Bram Moolenaar1cd871b2004-12-19 22:46:22 +000080
Bram Moolenaar8c711452005-01-14 21:53:12 +000081In a |literal-string| a single quote can be doubled to get one.
82":echo 'a''b'" would result in "a b", but now that two quotes stand for one it
83results in "a'b".
84
Bram Moolenaar04a09c12005-08-01 22:02:32 +000085When overwriting a file with ":w! fname" there was no warning for when "fname"
86was being edited by another Vim. Vim now gives an error message |E768|.
87
Bram Moolenaar241a8aa2005-12-06 20:04:44 +000088The support for Mac OS 9 has been removed.
89
Bram Moolenaard2cec5b2006-03-28 21:08:56 +000090Files ending in .tex now have 'filetype' set to "context", "plaintex", or
91"tex". |ft-tex-plugin|
92
Bram Moolenaarf4b8e572004-06-24 15:53:16 +000093
94Minor incompatibilities:
95
Bram Moolenaar8ea91232006-04-28 22:41:43 +000096For filetype detection: For many types, use */.dir/filename instead of
97~/.dir/filename, so that it also works for other user's files.
Bram Moolenaarf4b8e572004-06-24 15:53:16 +000098
Bram Moolenaar910f66f2006-04-05 20:41:53 +000099For quite a few filetypes the indent settings have been moved from the
100filetype plugin to the indent plugin. If you used: >
101 :filetype plugin on
102Then some indent settings may be missing. You need to use: >
103 :filetype plugin indent on
104
Bram Moolenaarf4b8e572004-06-24 15:53:16 +0000105":0verbose" now sets 'verbose' to zero instead of one.
106
107Removed the old and incomplete "VimBuddy" code.
108
109Buffers without a name report "No Name" instead of "No File". It was
110confusing for buffers with a name and 'buftype' set to "nofile".
Bram Moolenaar071d4272004-06-13 20:20:40 +0000111
Bram Moolenaar7b0294c2004-10-11 10:16:09 +0000112When ":file xxx" is used in a buffer without a name, the alternate file name
Bram Moolenaar54a709e2006-05-04 21:57:11 +0000113isn't set. This avoids creating buffers without a name, they are not useful.
Bram Moolenaar7b0294c2004-10-11 10:16:09 +0000114
115The "2html.vim" script now converts closed folds to HTML. This means the HTML
Bram Moolenaar54a709e2006-05-04 21:57:11 +0000116looks like it's displayed, with the same folds open and closed. Use "zR", or
Bram Moolenaarf4630b62005-05-20 21:31:17 +0000117"let html_ignore_folding=1", if no folds should appear in the HTML. (partly by
118Carl Osterwisch)
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000119Diff mode is now also converted to HTML as it is displayed.
Bram Moolenaar7b0294c2004-10-11 10:16:09 +0000120
Bram Moolenaar293ee4d2004-12-09 21:34:53 +0000121Win32: The effect of the <F10> key depended on 'winaltkeys'. Now it depends
122on whether <F10> has been mapped or not. This allows mapping <F10> without
123changing 'winaltkeys'.
124
Bram Moolenaar8c711452005-01-14 21:53:12 +0000125When 'octal' is in 'nrformats' and using CTRL-A on "08" it became "018", which
126is illogical. Now it becomes "9". The leading zero(s) is(are) removed to
127avoid the number becoming octal after incrementing "009" to "010".
Bram Moolenaar1cd871b2004-12-19 22:46:22 +0000128
129When 'encoding' is set to a Unicode encoding, the value for 'fileencodings'
130now includes "default" before "latin1". This means that for files with 8-bit
131encodings the default is to use the encoding specified by the environment, if
132possible. Previously latin1 would always be used, which is wrong in a
133non-latin1 environment, such as Russian.
134
Bram Moolenaard438e912005-01-31 19:21:46 +0000135Previously Vim would exit when there are two windows, both of them displaying
136a help file, and using ":quit". Now only the window is closed.
137
Bram Moolenaar4399ef42005-02-12 14:29:27 +0000138"-w {scriptout}" only works when {scriptout} doesn't start with a digit.
139Otherwise it's used to set the 'window' option.
140
Bram Moolenaar8bf59b92005-03-06 23:40:56 +0000141Previously <Home> and <xHome> could be mapped separately. This had the
142disadvantage that all mappings (with modifiers) had to be duplicated, since
143you can't be sure what the keyboard generates. Now all <xHome> are internally
144translated to <Home>, both for the keys and for mappings. Also for <xEnd>,
145<xF1>, etc.
146
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +0000147":put" now leaves the cursor on the last inserted line.
148
Bram Moolenaar7fae6362005-06-30 22:06:41 +0000149When a .gvimrc file exists then 'compatible' is off, just like when a ".vimrc"
150file exists.
151
Bram Moolenaara2036d22005-08-23 21:04:20 +0000152When making a string upper-case with "vlllU" or similar then the German sharp
153s is replaced with "SS". This does not happen with "~" to avoid backwards
154compatibility problems and because "SS" can't be changed back to a sharp s.
155
Bram Moolenaardd2436f2005-09-05 22:14:46 +0000156"gd" previously found the very first occurrence of a variable in a function,
157that could be the function argument without type. Now it finds the position
158where the type is given.
159
Bram Moolenaare224ffa2006-03-01 00:01:28 +0000160The line continuation in functions was not taken into account, line numbers in
161errors were logical lines, not lines in the sourced file. That made it
162difficult to locate errors. Now the line number in the sourced file is
163reported, relative to the function start. This also means that line numbers
164for ":breakadd func" are different.
165
Bram Moolenaarb3656ed2006-03-20 21:59:49 +0000166When defining a user command with |:command| the special items could be
167abbreviated. This caused unexpected behavior, such as <li> being recognized
168as <line1>. The items can no longer be abbreviated.
169
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000170When executing a FileChangedRO autocommand it is no longer allowed to switch
171to another buffer or edit another file. This is to prevent crashes (the event
172is triggered deep down in the code where changing buffers is not anticipated).
Bram Moolenaar8ea91232006-04-28 22:41:43 +0000173It is still possible to reload the buffer.
174
175At the |more-prompt| and the |hit-enter-prompt|, when the 'more' option is
176set, the 'k', 'u', 'g' and 'b' keys are now used to scroll back to previous
177messages. Thus they are no longer used as typeahead.
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000178
Bram Moolenaar071d4272004-06-13 20:20:40 +0000179==============================================================================
180NEW FEATURES *new-7*
181
Bram Moolenaarbac234e2005-01-17 22:21:07 +0000182Vim script enhancements *new-vim-script*
183-----------------------
Bram Moolenaar071d4272004-06-13 20:20:40 +0000184
185In Vim scripts the following types have been added:
186
Bram Moolenaar8ea91232006-04-28 22:41:43 +0000187 |List| ordered list of items
188 |Dictionary| associative array of items
189 |Funcref| reference to a function
Bram Moolenaar071d4272004-06-13 20:20:40 +0000190
191Many functions and commands have been added to support the new types.
192
Bram Moolenaar31c67ef2005-01-11 21:34:41 +0000193The |string()| function can be used to get a string representation of a
194variable. Works for Numbers, Strings and composites of them. Then |eval()|
195can be used to turn the string back into the variable value.
196
Bram Moolenaar8ea91232006-04-28 22:41:43 +0000197The |:let| command can now use "+=", "-=" and ".=": >
198 :let var += expr " works like :let var = var + expr
199 :let var -= expr " works like :let var = var - expr
200 :let var .= string " works like :let var = var . string
Bram Moolenaarbac234e2005-01-17 22:21:07 +0000201
Bram Moolenaar038eb0e2005-02-27 22:43:26 +0000202With the |:profile| command you can find out where your function or script
Bram Moolenaar8ea91232006-04-28 22:41:43 +0000203is wasting time.
Bram Moolenaar038eb0e2005-02-27 22:43:26 +0000204
Bram Moolenaarb71eaae2006-01-20 23:10:18 +0000205In the Python interface vim.eval() also handles Dictionaries and Lists.
206|python-eval| (G. Sumner Hayes)
207
Bram Moolenaare580b0c2006-03-21 21:33:03 +0000208The |getscript| plugin was added as a convenient way to update scripts from
209www.vim.org automatically. (Charles Campbell)
210
211The |vimball| plugin was added as a convenient way to distribute a set of
212files for a plugin (plugin file, autoload script, documentation). (Charles
213Campbell)
214
Bram Moolenaar843ee412004-06-30 16:16:41 +0000215
Bram Moolenaar60c78922005-03-20 22:40:14 +0000216Spell checking *new-spell*
217--------------
218
219Spell checking has been integrated in Vim. There were a few implementations
220with scripts, but they were slow and/or required an external program.
221
Bram Moolenaar8ea91232006-04-28 22:41:43 +0000222The 'spell' option is used to switch spell checking on or off
223The 'spelllang' option is used to specify the accepted language(s)
224The 'spellfile' option specifies where new words are added
Bram Moolenaar7fae6362005-06-30 22:06:41 +0000225The 'spellsuggest' option specifies the methods used for making suggestions
Bram Moolenaar9ba0eb82005-06-13 22:28:56 +0000226
Bram Moolenaar8f3f58f2010-01-06 20:52:26 +0100227The |]s| and |[s| commands can be used to move to the next or previous error
Bram Moolenaar8ea91232006-04-28 22:41:43 +0000228The |zg| and |zw| commands can be used to add good and wrong words
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000229The |z=| command can be used to list suggestions and correct the word
Bram Moolenaar8ea91232006-04-28 22:41:43 +0000230The |:mkspell| command is used to generate a Vim spell file from word lists
Bram Moolenaar60c78922005-03-20 22:40:14 +0000231
232The "undercurl" highlighting attribute was added to nicely point out spelling
233mistakes in the GUI (based on patch from Marcin Dalecki).
234The "guisp" color can be used to give it a color different from foreground and
235background.
236The number of possible different highlight attributes was raised from about
237220 to over 30000. This allows for the attributes of spelling to be combined
Bram Moolenaar75c50c42005-06-04 22:06:24 +0000238with syntax highlighting attributes. This is also used for syntax
Bram Moolenaar8ea91232006-04-28 22:41:43 +0000239highlighting and marking the Visual area.
Bram Moolenaar60c78922005-03-20 22:40:14 +0000240
241Much more info here: |spell|.
242
243
Bram Moolenaarf75a9632005-09-13 21:20:47 +0000244Omni completion *new-omni-completion*
Bram Moolenaar8ea91232006-04-28 22:41:43 +0000245---------------
Bram Moolenaarf75a9632005-09-13 21:20:47 +0000246
247This could also be called "intellisense", but that is a trademark. It is a
248smart kind of completion. The text in front of the cursor is inspected to
Bram Moolenaar8b6144b2006-02-08 09:20:24 +0000249figure out what could be following. This may suggest struct and class
250members, system functions, etc.
Bram Moolenaarf75a9632005-09-13 21:20:47 +0000251
252Use CTRL-X CTRL-O in Insert mode to start the completion. |i_CTRL-X_CTRL-O|
253
254The 'omnifunc' option is set by filetype plugins to define the function that
255figures out the completion.
256
Bram Moolenaar07d4d732005-10-03 22:04:08 +0000257Currently supported languages:
Bram Moolenaar8b6144b2006-02-08 09:20:24 +0000258 C |ft-c-omni|
259 (X)HTML with CSS |ft-html-omni|
260 JavaScript |ft-javascript-omni|
Bram Moolenaar8ea91232006-04-28 22:41:43 +0000261 PHP |ft-php-omni|
Bram Moolenaar9e54a0e2006-04-14 20:42:25 +0000262 Python
Bram Moolenaarfc1421e2006-04-20 22:17:20 +0000263 Ruby |ft-ruby-omni|
Bram Moolenaar8ea91232006-04-28 22:41:43 +0000264 SQL |ft-sql-omni|
Bram Moolenaar8b6144b2006-02-08 09:20:24 +0000265 XML |ft-xml-omni|
Bram Moolenaarc236c162008-07-13 17:41:49 +0000266 any language with syntax highlighting |ft-syntax-omni|
Bram Moolenaar07d4d732005-10-03 22:04:08 +0000267
Bram Moolenaar8ea91232006-04-28 22:41:43 +0000268You can add your own omni completion scripts.
269
Bram Moolenaar07d4d732005-10-03 22:04:08 +0000270When the 'completeopt' option contains "menu" then matches for Insert mode
Bram Moolenaar8ea91232006-04-28 22:41:43 +0000271completion are displayed in a (rather primitive) popup menu.
Bram Moolenaarf75a9632005-09-13 21:20:47 +0000272
273
Bram Moolenaar325b7a22004-07-05 15:58:32 +0000274MzScheme interface *new-MzScheme*
275------------------
276
277The MzScheme interpreter is supported. |MzScheme|
Bram Moolenaar8ea91232006-04-28 22:41:43 +0000278
279The |:mzscheme| command can be used to execute MzScheme commands
280The |:mzfile| command can be used to execute an MzScheme script file
281
282This depends on Vim being compiled with the |+mzscheme| feature.
Bram Moolenaar325b7a22004-07-05 15:58:32 +0000283
Bram Moolenaar31c67ef2005-01-11 21:34:41 +0000284
Bram Moolenaar8299df92004-07-10 09:47:34 +0000285Printing multi-byte text *new-print-multi-byte*
Bram Moolenaar8ea91232006-04-28 22:41:43 +0000286------------------------
Bram Moolenaar8299df92004-07-10 09:47:34 +0000287
Bram Moolenaar8ea91232006-04-28 22:41:43 +0000288The |:hardcopy| command now supports printing multi-byte characters when using
289PostScript.
290
Bram Moolenaar8299df92004-07-10 09:47:34 +0000291The 'printmbcharset' and 'printmbfont' options are used for this.
292Also see |postscript-cjk-printing|. (Mike Williams)
293
Bram Moolenaar325b7a22004-07-05 15:58:32 +0000294
Bram Moolenaar17be7e62006-03-12 22:13:45 +0000295Tab pages *new-tab-pages*
296---------
297
298A tab page is page with one or more windows with a label (aka tab) at the top.
299By clicking on the label you can quickly switch between the tab pages. And
300with the keyboard, using the |gt| (Goto Tab) command. This is a convenient
301way to work with many windows.
302
303To start Vim with each file argument in a separate tab page use the |-p|
304argument. The maximum number of pages can be set with 'tabpagemax'.
305
Bram Moolenaar8ea91232006-04-28 22:41:43 +0000306The line with tab labels is either made with plain text and highlighting or
Bram Moolenaar17be7e62006-03-12 22:13:45 +0000307with a GUI mechanism. The GUI labels look better but are only available on a
Bram Moolenaar57657d82006-04-21 22:12:41 +0000308few systems. The line can be customized with 'tabline', 'guitablabel' and
309'guitabtooltip'. Whether it is displayed is set with 'showtabline'. Whether
310to use the GUI labels is set with the "e" flag in 'guioptions'.
Bram Moolenaar17be7e62006-03-12 22:13:45 +0000311
312The |:tab| command modifier can be used to have most commands that open a new
Bram Moolenaar8ea91232006-04-28 22:41:43 +0000313window open a new tab page instead.
Bram Moolenaar17be7e62006-03-12 22:13:45 +0000314
Bram Moolenaar0ce29932006-03-13 22:18:45 +0000315The |--remote-tab| argument can be used to edit a file in a new tab page in an
316already running Vim server.
317
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000318Variables starting with "t:" are local to a tab page.
319
Bram Moolenaar17be7e62006-03-12 22:13:45 +0000320More info here: |tabpage|
Bram Moolenaar8ea91232006-04-28 22:41:43 +0000321Most of the GUI stuff was implemented by Yegappan Lakshmanan.
Bram Moolenaar17be7e62006-03-12 22:13:45 +0000322
323
Bram Moolenaar34e9e2f2006-03-14 23:07:19 +0000324Undo branches *new-undo-branches*
325-------------
326
327Previously there was only one line of undo-redo. If, after undoing a number
328of changes, a new change was made all the undone changes were lost. This
Bram Moolenaarea0cd362006-03-16 21:46:52 +0000329could lead to accidentally losing work.
Bram Moolenaar34e9e2f2006-03-14 23:07:19 +0000330
331Vim now makes an undo branch in this situation. Thus you can go back to the
332text after any change, even if they were undone. So long as you do not run
Bram Moolenaar8ea91232006-04-28 22:41:43 +0000333into 'undolevels', when undo information is freed up to limit the memory used.
Bram Moolenaar34e9e2f2006-03-14 23:07:19 +0000334
335To be able to navigate the undo branches each change is numbered sequentially.
336The commands |g-| and |:earlier| go back in time, to older changes. The
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000337commands |g+| and |:later| go forward in time, to newer changes.
Bram Moolenaar34e9e2f2006-03-14 23:07:19 +0000338
339The changes are also timestamped. Use ":earlier 10m" to go to the text as it
340was about ten minutes earlier.
341
Bram Moolenaarea0cd362006-03-16 21:46:52 +0000342The |:undolist| command can be used to get an idea of which undo branches
343exist. The |:undo| command now takes an argument to directly jump to a
Bram Moolenaarca003e12006-03-17 23:19:38 +0000344specific position in this list. The |changenr()| function can be used to
345obtain the change number.
Bram Moolenaarea0cd362006-03-16 21:46:52 +0000346
Bram Moolenaar34e9e2f2006-03-14 23:07:19 +0000347There is no graphical display of the tree with changes, navigation can be
348quite confusing.
349
350
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000351Extended Unicode support *new-more-unicode*
352------------------------
353
354Previously only two combining characters were displayed. The limit is now
355raised to 6. This can be set with the 'maxcombine' option. The default is
356still 2.
357
358|ga| now shows all combining characters, not just the first two.
359
360Previously only 16 bit Unicode characters were supported for displaying. Now
361the full 32 bit character set can be used. Unless manually disabled at
Bram Moolenaar8ea91232006-04-28 22:41:43 +0000362compile time to save a bit of memory.
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000363
364For pattern matching it is now possible to search for individual composing
365characters. |patterns-composing|
366
Bram Moolenaarca003e12006-03-17 23:19:38 +0000367The |8g8| command searches for an illegal UTF-8 byte sequence.
368
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000369
Bram Moolenaar17be7e62006-03-12 22:13:45 +0000370More highlighting *new-more-highlighting*
371-----------------
372
Bram Moolenaar8ea91232006-04-28 22:41:43 +0000373Highlighting matching parens:
Bram Moolenaar5e3cb7e2006-02-27 23:58:35 +0000374
375When moving the cursor through the text and it is on a paren, then the
376matching paren can be highlighted. This uses the new |CursorMoved|
377autocommand event.
378
Bram Moolenaarc1e37902006-04-18 21:55:01 +0000379This means some commands are executed every time you move the cursor. If this
380slows you down too much switch it off with: >
381 :NoMatchParen
382
Bram Moolenaar261bfea2006-03-01 22:12:31 +0000383See |matchparen| for more information.
384
385The plugin uses the |:match| command. It now supports three match patterns.
386The plugin uses the third one. The first one is for the user and the second
387one can be used by another plugin.
Bram Moolenaar5e3cb7e2006-02-27 23:58:35 +0000388
Bram Moolenaar8ea91232006-04-28 22:41:43 +0000389Highlighting the cursor line and column:
Bram Moolenaar17be7e62006-03-12 22:13:45 +0000390
391The 'cursorline' and 'cursorcolumn' options have been added. These highlight
392the screen line and screen column of the cursor. This makes the cursor
Bram Moolenaar8ea91232006-04-28 22:41:43 +0000393position easier to spot. 'cursorcolumn' is also useful to align text. This
394may make screen updating quite slow. The CursorColumn and CursorLine
395highlight groups allow changing the colors used. |hl-CursorColumn|
396|hl-CursorLine|
397
398The number of possible different highlight attributes was raised from about
399220 to over 30000. This allows for the attributes of spelling to be combined
400with syntax highlighting attributes. This is also used for syntax
401highlighting, marking the Visual area, CursorColumn, etc.
Bram Moolenaar17be7e62006-03-12 22:13:45 +0000402
Bram Moolenaar5e3cb7e2006-02-27 23:58:35 +0000403
Bram Moolenaar293ee4d2004-12-09 21:34:53 +0000404Translated manual pages *new-manpage-trans*
405-----------------------
406
407The manual page of Vim and associated programs is now also available in
Bram Moolenaar4ad237d2005-03-11 22:49:40 +0000408several other languages.
409
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +0000410French - translated by David Blanchet
Bram Moolenaar4ad237d2005-03-11 22:49:40 +0000411Italian - translated by Antonio Colombo
412Russian - translated by Vassily Ragosin
Bram Moolenaar899dddf2006-03-26 21:06:50 +0000413Polish - translated by Mikolaj Machowski
Bram Moolenaar293ee4d2004-12-09 21:34:53 +0000414
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +0000415The Unix Makefile installs the Italian manual pages in .../man/it/man1/,
416.../man/it.ISO8859-1/man1/ and .../man/it.UTF-8/man1/. There appears to be no
417standard for what encoding goes in the "it" directory, the 8-bit encoded file
418is used there as a best guess.
419Other languages are installed in similar places.
Bram Moolenaar67fe1a12005-05-22 22:12:58 +0000420The translated pages are not automatically installed when Vim was configured
421with "--disable-nls", but "make install-languages install-tool-languages" will
422do it anyway.
Bram Moolenaarb5bf5b82004-12-24 14:35:23 +0000423
Bram Moolenaar293ee4d2004-12-09 21:34:53 +0000424
Bram Moolenaar8fc061c2004-12-29 21:03:02 +0000425Internal grep *new-vimgrep*
426-------------
427
428The ":vimgrep" command can be used to search for a pattern in a list of files.
429This is like the ":grep" command, but no external program is used. Besides
430better portability, handling of different file encodings and using multi-line
431patterns, this also allows grepping in compressed and remote files.
432|:vimgrep|.
433
Bram Moolenaar05159a02005-02-26 23:04:13 +0000434If you want to use the search results in a script you can use the
Bram Moolenaar2641f772005-03-25 21:58:17 +0000435|getqflist()| function.
Bram Moolenaar05159a02005-02-26 23:04:13 +0000436
Bram Moolenaar8ea91232006-04-28 22:41:43 +0000437To grep files in various directories the "**" pattern can be used. It expands
438into an arbitrary depth of directories. "**" can be used in all places where
439file names are expanded, thus also with |:next| and |:args|.
Bram Moolenaar231334e2005-07-25 20:46:57 +0000440
Bram Moolenaar8fc061c2004-12-29 21:03:02 +0000441
Bram Moolenaar87e25fd2005-07-27 21:13:01 +0000442Scroll back in messages *new-scroll-back*
443-----------------------
444
445When displaying messages, at the |more-prompt| and the |hit-enter-prompt|, The
Bram Moolenaar8ea91232006-04-28 22:41:43 +0000446'k', 'u', 'g' and 'b' keys can be used to scroll back to previous messages.
447This is especially useful for commands such as ":syntax", ":autocommand" and
Bram Moolenaar87e25fd2005-07-27 21:13:01 +0000448":highlight". This is implemented in a generic way thus it works for all
449commands and highlighting is kept. Only works when the 'more' option is set.
450Previously it only partly worked for ":clist".
451
Bram Moolenaar661b1822005-07-28 22:36:45 +0000452The |g<| command can be used to see the last page of messages after you have
453hit <Enter> at the |hit-enter-prompt|. Then you can scroll further back.
454
Bram Moolenaar87e25fd2005-07-27 21:13:01 +0000455
Bram Moolenaarea0cd362006-03-16 21:46:52 +0000456Cursor past end of the line *new-onemore*
457---------------------------
458
459When the 'virtualedit' option contains "onemore" the cursor can move just past
460the end of the line. As if it's on top of the line break.
461
462This makes some commands more consistent. Previously the cursor was always
463past the end of the line if the line was empty. But it is far from Vi
464compatible. It may also break some plugins or Vim scripts. Use with care!
465
466The patch was provided by Mattias Flodin.
467
468
Bram Moolenaar4399ef42005-02-12 14:29:27 +0000469POSIX compatibility *new-posix*
470-------------------
471
472The POSIX test suite was used to verify POSIX compatibility. A number of
473problems have been fixed to make Vim more POSIX compatible. Some of them
474conflict with traditional Vi or expected behavior. The $VIM_POSIX environment
475variable can be set to get POSIX compatibility. See |posix|.
476
Bram Moolenaarc81e5e72007-05-05 18:24:42 +0000477Items that were fixed for both Vi and POSIX compatibility:
Bram Moolenaar4399ef42005-02-12 14:29:27 +0000478- repeating "R" with a count only overwrites text once; added the 'X' flag to
479 'cpoptions' |cpo-X|
480- a vertical movement command that moves to a non-existing line fails; added
481 the '-' flag to 'cpoptions' |cpo--|
482- when preserving a file and doing ":q!" the file can be recovered; added the
483 '&' flag to 'cpoptions' |cpo-&|
484- The 'window' option is partly implemented. It specifies how much CTRL-F and
485 CTRL-B scroll when there is one window. The "-w {number}" argument is now
486 accepted. "-w {scriptout}" only works when {scriptout} doesn't start with a
487 digit.
488- Allow "-c{command}" argument, no space between "-c" and {command}.
489- When writing a file with ":w!" don't reset 'readonly' when 'Z' is present in
490 'cpoptions'.
Bram Moolenaar5313dcb2005-02-22 08:56:13 +0000491- Allow 'l' and '#' flags for ":list", ":print" and ":number".
492- Added the '.' flag to 'cpoptions': ":cd" fails when the buffer is modified.
493- In Ex mode with an empty buffer ":read file" doesn't keep an empty line
494 above or below the new lines.
495- Remove a backslash before a NL for the ":global" command.
496- When ":append", ":insert" or ":change" is used with ":global", get the
497 inserted lines from the command. Can use backslash-NL to separate lines.
498- Can use ":global /pat/ visual" to execute Normal mode commands at each
499 matched line. Use "Q" to continue and go to the next line.
500- The |:open| command has been partially implemented. It stops Ex mode, but
501 redraws the whole screen, not just one line as open mode is supposed to do.
502- Support using a pipe to read the output from and write input to an external
503 command. Added the 'shelltemp' option and has("filterpipe").
504- In ex silent mode the ":set" command output is displayed.
505- The ":@@" and ":**" give an error message when no register was used before.
506- The search pattern "[]-`]" matches ']', '^', '_' and '`'.
507- Autoindent for ":insert" is using the line below the insert.
508- Autoindent for ":change" is using the first changed line.
509- Editing Ex command lines is not done in cooked mode, because CTRL-D and
510 CTRL-T cannot be handled then.
Bram Moolenaar45eeb132005-06-06 21:59:07 +0000511- In Ex mode, "1,3" prints three lines. "%" prints all lines.
512- In Ex mode "undo" would undo all changes since Ex mode was started.
Bram Moolenaar5313dcb2005-02-22 08:56:13 +0000513- Implemented the 'prompt' option.
Bram Moolenaar4399ef42005-02-12 14:29:27 +0000514
515
Bram Moolenaare2ac10d2005-03-07 23:26:06 +0000516Debugger support *new-debug-support*
517----------------
518
519The 'balloonexpr' option has been added. This is a generic way to implement
520balloon functionality. You can use it to show info for the word under the
521mouse pointer.
522
523
Bram Moolenaar0be6e642005-08-04 21:32:22 +0000524Remote file explorer *new-netrw-explore*
525--------------------
526
527The netrw plugin now also supports viewing a directory, when "scp://" is used.
528Deleting and renaming files is possible.
529
530To avoid duplicating a lot of code, the previous file explorer plugin has been
531integrated in the netrw plugin. This means browsing local and remote files
532works the same way.
533
534":browse edit" and ":browse split" use the netrw plugin when it's available
535and a GUI dialog is not possible.
536
537The netrw plugin is maintained by Charles Campbell.
538
539
Bram Moolenaar900b4d72005-12-12 22:05:50 +0000540Define an operator *new-define-operator*
541------------------
542
543Previously it was not possible to define your own operator; a command that is
544followed by a {motion}. Vim 7 introduces the 'operatorfunc' option and the
545|g@| operator. This makes it possible to define a mapping that works like an
546operator. The actual work is then done by a function, which is invoked
547through the |g@| operator.
548
549See |:map-operator| for the explanation and an example.
550
Bram Moolenaar9f2c6e12006-02-04 22:45:44 +0000551
Bram Moolenaarade00832006-03-10 21:46:58 +0000552Mapping to an expression *new-map-expression*
553------------------------
554
555The {rhs} argument of a mapping can be an expression. That means the
556resulting characters can depend on the context. Example: >
557 :inoremap <expr> . InsertDot()
558Here the dot will be mapped to whatever InsertDot() returns.
559
Bram Moolenaar8ea91232006-04-28 22:41:43 +0000560This also works for abbreviations. See |:map-<expr>| for the details.
Bram Moolenaarade00832006-03-10 21:46:58 +0000561
562
Bram Moolenaarb3656ed2006-03-20 21:59:49 +0000563Visual and Select mode mappings *new-map-select*
564-------------------------------
565
566Previously Visual mode mappings applied both to Visual and Select mode. With
567a trick to have the mappings work in Select mode like they would in Visual
568mode.
569
570Commands have been added to define mappings for Visual and Select mode
571separately: |:xmap| and |:smap|. With the associated "noremap" and "unmap"
572commands.
573
574The same is done for menus: |:xmenu|, |:smenu|, etc.
575
576
Bram Moolenaar17c7c012006-01-26 22:25:15 +0000577Location list *new-location-list*
578-------------
579
580The support for a per-window quickfix list (location list) is added. The
581location list can be displayed in a location window (similar to the quickfix
Bram Moolenaar8ea91232006-04-28 22:41:43 +0000582window). You can open more than one location list window. A set of commands
Bram Moolenaar17c7c012006-01-26 22:25:15 +0000583similar to the quickfix commands are added to browse the location list.
Bram Moolenaar9f2c6e12006-02-04 22:45:44 +0000584(Yegappan Lakshmanan)
585
Bram Moolenaar900b4d72005-12-12 22:05:50 +0000586
Bram Moolenaar071d4272004-06-13 20:20:40 +0000587Various new items *new-items-7*
588-----------------
589
590Normal mode commands: ~
591
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000592a", a' and a` New text objects to select quoted strings. |a'|
Bram Moolenaarac6e65f2005-08-29 22:25:38 +0000593i", i' and i` (Taro Muraoka)
Bram Moolenaar071d4272004-06-13 20:20:40 +0000594
Bram Moolenaar05159a02005-02-26 23:04:13 +0000595CTRL-W <Enter> In the quickfix window: opens a new window to show the
596 location of the error under the cursor.
597
Bram Moolenaarff6f0612005-07-19 22:21:12 +0000598|at| and |it| text objects select a block of text between HTML or XML tags.
599
Bram Moolenaarbca84a12005-12-14 22:08:35 +0000600<A-LeftMouse> ('mousemodel' "popup" or "popup-setpos")
601<A-RightMouse> ('mousemodel' "extend")
602 Make a blockwise selection. |<A-LeftMouse>|
Bram Moolenaarff6f0612005-07-19 22:21:12 +0000603
Bram Moolenaard1f56e62006-02-22 21:25:37 +0000604gF Start editing the filename under the cursor and jump
605 to the line number following the file name.
606 (Yegappan Lakshmanan)
607
608CTRL-W F Start editing the filename under the cursor in a new
609 window and jump to the line number following the file
610 name. (Yegappan Lakshmanan)
611
Bram Moolenaar488c6512005-08-11 20:09:58 +0000612Insert mode commands: ~
613
614CTRL-\ CTRL-O Execute a Normal mode command. Like CTRL-O but
Bram Moolenaarc93b83a2006-04-29 22:02:36 +0000615 without moving the cursor. |i_CTRL-\_CTRL-O|
Bram Moolenaar488c6512005-08-11 20:09:58 +0000616
Bram Moolenaar071d4272004-06-13 20:20:40 +0000617Options: ~
618
Bram Moolenaarc93b83a2006-04-29 22:02:36 +0000619'balloonexpr' expression for text to show in evaluation balloon
620'completefunc' The name of the function used for user-specified
621 Insert mode completion. CTRL-X CTRL-U can be used in
622 Insert mode to do any kind of completion. (Taro
623 Muraoka)
624'completeopt' Enable popup menu and other settings for Insert mode
625 completion.
626'cursorcolumn' highlight column of the cursor
627'cursorline' highlight line of the cursor
Bram Moolenaar1d2ba7f2006-02-14 22:29:30 +0000628'formatexpr' expression for formatting text with |gq| and when text
629 goes over 'textwidth' in Insert mode.
Bram Moolenaarc93b83a2006-04-29 22:02:36 +0000630'formatlistpat' pattern to recognize a numbered list for formatting.
631 (idea by Hugo Haas)
632'fsync' Whether fsync() is called after writing a file.
633 (Ciaran McCreesh)
634'guitablabel' expression for text to display in GUI tab page label
635'guitabtooltip' expression for text to display in GUI tab page tooltip
636'macatsui' Mac: use ATSUI text display functions
637'maxcombine' maximum number of combining characters displayed
638'maxmempattern' maximum amount of memory to use for pattern matching
639'mkspellmem' parameters for |:mkspell| memory use
640'mzquantum' Time in msec to schedule MzScheme threads.
641'numberwidth' Minimal width of the space used for the 'number'
642 option. (Emmanuel Renieris)
643'omnifunc' The name of the function used for omni completion.
644'operatorfunc' function to be called for |g@| operator
645'printmbcharset' CJK character set to be used for :hardcopy
646'printmbfont' font names to be used for CJK output of :hardcopy
647'pumheight' maximum number of items to show in the popup menu
648'quoteescape' Characters used to escape quotes inside a string.
649 Used for the a", a' and a` text objects. |a'|
650'shelltemp' whether to use a temp file or pipes for shell commands
651'showtabline' whether to show the tab pages line
Bram Moolenaar60c78922005-03-20 22:40:14 +0000652'spell' switch spell checking on/off
Bram Moolenaarc93b83a2006-04-29 22:02:36 +0000653'spellcapcheck' pattern to locate the end of a sentence
654'spellfile' file where good and wrong words are added
Bram Moolenaar60c78922005-03-20 22:40:14 +0000655'spelllang' languages to check spelling for
Bram Moolenaar42eeac32005-06-29 22:40:58 +0000656'spellsuggest' methods for spell suggestions
Bram Moolenaar3b56eb32005-07-11 22:40:32 +0000657'synmaxcol' maximum column to look for syntax items; avoids very
658 slow redrawing when there are very long lines
Bram Moolenaarc93b83a2006-04-29 22:02:36 +0000659'tabline' expression for text to display in the tab pages line
660'tabpagemax' maximum number of tab pages to open for |-p|
Bram Moolenaar54ee7752005-05-31 22:22:17 +0000661'verbosefile' Log messages in a file.
Bram Moolenaarc93b83a2006-04-29 22:02:36 +0000662'wildoptions' "tagfile" value enables listing the file name of
663 matching tags for CTRL-D command line completion.
664 (based on an idea from Yegappan Lakshmanan)
Bram Moolenaar97b2ad32006-03-18 21:40:56 +0000665'winfixwidth' window with fixed width, similar to 'winfixheight'
Bram Moolenaar86b68352004-12-27 21:59:20 +0000666
Bram Moolenaar071d4272004-06-13 20:20:40 +0000667
668Ex commands: ~
669
Bram Moolenaar843ee412004-06-30 16:16:41 +0000670Win32: The ":winpos" command now also works in the console. (Vipin Aravind)
671
Bram Moolenaar8299df92004-07-10 09:47:34 +0000672|:startreplace| Start Replace mode. (Charles Campbell)
Bram Moolenaarbca84a12005-12-14 22:08:35 +0000673|:startgreplace| Start Virtual Replace mode.
Bram Moolenaar325b7a22004-07-05 15:58:32 +0000674
Bram Moolenaar8299df92004-07-10 09:47:34 +0000675|:0file| Removes the name of the buffer. (Charles Campbell)
Bram Moolenaar325b7a22004-07-05 15:58:32 +0000676
Bram Moolenaar2df6dcc2004-07-12 15:53:54 +0000677|:diffoff| Switch off diff mode in the current window or in all
678 windows.
679
Bram Moolenaarc0197e22004-09-13 20:26:32 +0000680|:delmarks| Delete marks.
681
Bram Moolenaarb5bf5b82004-12-24 14:35:23 +0000682|:exusage| Help for Ex commands (Nvi command).
Bram Moolenaarb5bf5b82004-12-24 14:35:23 +0000683|:viusage| Help for Vi commands (Nvi command).
684
Bram Moolenaar67fe1a12005-05-22 22:12:58 +0000685|:sort| Sort lines in the buffer without depending on an
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000686 external command. (partly by Bryce Wagner)
Bram Moolenaar67fe1a12005-05-22 22:12:58 +0000687
Bram Moolenaarc93b83a2006-04-29 22:02:36 +0000688|:vimgrep| Internal grep command, search for a pattern in files.
689|:vimgrepadd| Like |:vimgrep| but don't make a new list.
690
Bram Moolenaar87e25fd2005-07-27 21:13:01 +0000691|:caddfile| Add error messages to an existing quickfix list
692 (Yegappan Lakshmanan).
Bram Moolenaardb552d602006-03-23 22:59:57 +0000693|:cbuffer| Read error lines from a buffer. (partly by Yegappan
694 Lakshmanan)
695|:cgetbuffer| Create a quickfix list from a buffer but don't jump to
696 the first error.
Bram Moolenaar9f2c6e12006-02-04 22:45:44 +0000697|:caddbuffer| Add errors from the current buffer to the quickfix
698 list.
Bram Moolenaardb552d602006-03-23 22:59:57 +0000699|:cexpr| Read error messages from a Vim expression (Yegappan
700 Lakshmanan).
701|:caddexpr| Add error messages from a Vim expression to an
702 existing quickfix list. (Yegappan Lakshmanan).
703|:cgetexpr| Create a quickfix list from a Vim expression, but
704 don't jump to the first error. (Yegappan Lakshmanan).
Bram Moolenaar4770d092006-01-12 23:22:24 +0000705
Bram Moolenaar8b6144b2006-02-08 09:20:24 +0000706|:lfile| Like |:cfile| but use the location list.
707|:lgetfile| Like |:cgetfile| but use the location list.
708|:laddfile| Like |:caddfile| but use the location list.
709|:lbuffer| Like |:cbuffer| but use the location list.
Bram Moolenaar76b92b22006-03-24 22:46:53 +0000710|:lgetbuffer| Like |:cgetbuffer| but use the location list.
Bram Moolenaar9f2c6e12006-02-04 22:45:44 +0000711|:laddbuffer| Like |:caddbuffer| but use the location list.
Bram Moolenaar8b6144b2006-02-08 09:20:24 +0000712|:lexpr| Like |:cexpr| but use the location list.
Bram Moolenaar76b92b22006-03-24 22:46:53 +0000713|:lgetexpr| Like |:cgetexpr| but use the location list.
Bram Moolenaar8b6144b2006-02-08 09:20:24 +0000714|:laddexpr| Like |:caddexpr| but use the location list.
715|:ll| Like |:cc| but use the location list.
716|:llist| Like |:clist| but use the location list.
717|:lnext| Like |:cnext| but use the location list.
Bram Moolenaarf52c7252006-02-10 23:23:57 +0000718|:lprevious| Like |:cprevious| but use the location list.
Bram Moolenaar8b6144b2006-02-08 09:20:24 +0000719|:lNext| Like |:cNext| but use the location list.
720|:lfirst| Like |:cfirst| but use the location list.
721|:lrewind| Like |:crewind| but use the location list.
722|:llast| Like |:clast| but use the location list.
723|:lnfile| Like |:cnfile| but use the location list.
724|:lpfile| Like |:cpfile| but use the location list.
725|:lNfile| Like |:cNfile| but use the location list.
726|:lolder| Like |:colder| but use the location list.
727|:lnewer| Like |:cnewer| but use the location list.
728|:lwindow| Like |:cwindow| but use the location list.
729|:lopen| Like |:copen| but use the location list.
730|:lclose| Like |:cclose| but use the location list.
Bram Moolenaarf52c7252006-02-10 23:23:57 +0000731|:lmake| Like |:make| but use the location list.
732|:lgrep| Like |:grep| but use the location list.
733|:lgrepadd| Like |:grepadd| but use the location list.
734|:lvimgrep| Like |:vimgrep| but use the location list.
735|:lvimgrepadd| Like |:vimgrepadd| but use the location list.
736|:lhelpgrep| Like |:helpgrep| but use the location list.
737|:lcscope| Like |:cscope| but use the location list.
738|:ltag| Jump to a tag and add matching tags to a location list.
Bram Moolenaar1ef15e32006-02-01 21:56:25 +0000739
Bram Moolenaare224ffa2006-03-01 00:01:28 +0000740|:undojoin| Join a change with the previous undo block.
Bram Moolenaarc93b83a2006-04-29 22:02:36 +0000741|:undolist| List the leafs of the undo tree.
Bram Moolenaare224ffa2006-03-01 00:01:28 +0000742
Bram Moolenaarc93b83a2006-04-29 22:02:36 +0000743|:earlier| Go back in time for changes in the text.
744|:later| Go forward in time for changes in the text.
745
746|:for| Loop over a |List|.
747|:endfor|
748
749|:lockvar| Lock a variable, prevents it from being changed.
750|:unlockvar| Unlock a locked variable.
751
752|:mkspell| Create a Vim spell file.
753|:spellgood| Add a word to the list of good words.
754|:spellwrong| Add a word to the list of bad words
755|:spelldump| Dump list of good words.
756|:spellinfo| Show information about the spell files used.
757|:spellrepall| Repeat a spelling correction for the whole buffer.
758|:spellundo| Remove a word from list of good and bad words.
759
760|:mzscheme| Execute MzScheme commands.
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000761|:mzfile| Execute an MzScheme script file.
Bram Moolenaarc93b83a2006-04-29 22:02:36 +0000762
763|:nbkey| Pass a key to NetBeans for processing.
764
765|:profile| Commands for Vim script profiling.
766|:profdel| Stop profiling for specified items.
767
768|:smap| Select mode mapping.
769|:smapclear|
770|:snoremap|
771|:sunmap|
772
773|:xmap| Visual mode mapping, not used for Select mode.
774|:xmapclear|
775|:xnoremap|
776|:xunmap|
777
778|:smenu| Select mode menu.
779|:snoremenu|
780|:sunmenu|
781
782|:xmenu| Visual mode menu, not used for Select mode.
783|:xnoremenu|
784|:xunmenu|
785
786|:tabclose| Close the current tab page.
787|:tabdo| Perform a command in every tab page.
788|:tabedit| Edit a file in a new tab page.
789|:tabnew| Open a new tab page.
790|:tabfind| Search for a file and open it in a new tab page.
791|:tabnext| Go to the next tab page.
792|:tabprevious| Go to the previous tab page.
793|:tabNext| Go to the previous tab page.
794|:tabfirst| Go to the first tab page.
795|:tabrewind| Go to the first tab page.
796|:tablast| Go to the last tab page.
797|:tabmove| Move the current tab page elsewhere.
798|:tabonly| Close all other tab pages.
799|:tabs| List the tab pages and the windows they contain.
Bram Moolenaarbca84a12005-12-14 22:08:35 +0000800
Bram Moolenaar63a121b2005-12-11 21:36:39 +0000801Ex command modifiers: ~
802
803|:keepalt| Do not change the alternate file.
804
805|:noautocmd| Do not trigger autocommand events.
806
807|:sandbox| Execute a command in the sandbox.
808
Bram Moolenaarc93b83a2006-04-29 22:02:36 +0000809|:tab| When opening a new window create a new tab page.
810
Bram Moolenaar67fe1a12005-05-22 22:12:58 +0000811
Bram Moolenaarb2c2efa2005-12-13 20:09:08 +0000812Ex command arguments: ~
813
814|++bad| Specify what happens with characters that can't be
815 converted and illegal bytes. (code example by Yasuhiro
816 Matsumoto)
817 Also, when a conversion error occurs or illegal bytes
818 are found include the line number in the error
819 message.
820
821
Bram Moolenaara5792f52005-11-23 21:25:05 +0000822New and extended functions: ~
Bram Moolenaar071d4272004-06-13 20:20:40 +0000823
Bram Moolenaarbac234e2005-01-17 22:21:07 +0000824|add()| append an item to a List
825|append()| append List of lines to the buffer
Bram Moolenaare2f98b92006-03-29 21:18:24 +0000826|argv()| without an argument return the whole argument list
Bram Moolenaar87b774d2005-07-20 22:04:36 +0000827|browsedir()| dialog to select a directory
Bram Moolenaarbd404142006-03-25 22:05:04 +0000828|bufnr()| takes an extra argument: create buffer
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000829|byteidx()| index of a character (Ilya Sher)
Bram Moolenaarbac234e2005-01-17 22:21:07 +0000830|call()| call a function with List as arguments
Bram Moolenaarbd404142006-03-25 22:05:04 +0000831|changenr()| number of current change
832|complete()| set matches for Insert mode completion
Bram Moolenaar572cb562005-08-05 21:35:02 +0000833|complete_add()| add match for 'completefunc'
834|complete_check()| check for key pressed, for 'completefunc'
Bram Moolenaarbac234e2005-01-17 22:21:07 +0000835|copy()| make a shallow copy of a List or Dictionary
836|count()| count nr of times a value is in a List or Dictionary
Bram Moolenaar8fd89f02006-03-02 22:51:05 +0000837|cursor()| also accepts an offset for 'virtualedit', and
838 the first argument can be a list: [lnum, col, off]
Bram Moolenaarbac234e2005-01-17 22:21:07 +0000839|deepcopy()| make a full copy of a List or Dictionary
Bram Moolenaarbd404142006-03-25 22:05:04 +0000840|diff_filler()| returns number of filler lines above line {lnum}.
841|diff_hlID()| returns the highlight ID for diff mode
Bram Moolenaarbac234e2005-01-17 22:21:07 +0000842|empty()| check if List or Dictionary is empty
Bram Moolenaarbd404142006-03-25 22:05:04 +0000843|eval()| evaluate {string} and return the result
Bram Moolenaarbac234e2005-01-17 22:21:07 +0000844|extend()| append one List to another or add items from one
845 Dictionary to another
Bram Moolenaarf9393ef2006-04-24 19:47:27 +0000846|feedkeys()| put characters in the typeahead buffer
Bram Moolenaarbac234e2005-01-17 22:21:07 +0000847|filter()| remove selected items from a List or Dictionary
Bram Moolenaar87b774d2005-07-20 22:04:36 +0000848|finddir()| find a directory in 'path'
849|findfile()| find a file in 'path' (Johannes Zellner)
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000850|foldtextresult()| the text displayed for a closed fold at line "lnum"
Bram Moolenaarbac234e2005-01-17 22:21:07 +0000851|function()| make a Funcref out of a function name
Bram Moolenaarbd404142006-03-25 22:05:04 +0000852|garbagecollect()| cleanup unused |Lists| and |Dictionaries| with circular
853 references
Bram Moolenaarbac234e2005-01-17 22:21:07 +0000854|get()| get an item from a List or Dictionary
Bram Moolenaar342337a2005-07-21 21:11:17 +0000855|getbufline()| get a list of lines from a specified buffer
Bram Moolenaar87b774d2005-07-20 22:04:36 +0000856 (Yegappan Lakshmanan)
Bram Moolenaarbfd8fc02005-09-20 23:22:24 +0000857|getcmdtype()| return the current command-line type
858 (Yegappan Lakshmanan)
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000859|getfontname()| get actual font name being used
Bram Moolenaar87b774d2005-07-20 22:04:36 +0000860|getfperm()| get file permission string (Nikolai Weibull)
861|getftype()| get type of file (Nikolai Weibull)
862|getline()| with second argument: get List with buffer lines
Bram Moolenaarbd404142006-03-25 22:05:04 +0000863|getloclist()| list of location list items (Yegappan Lakshmanan)
Bram Moolenaar8fd89f02006-03-02 22:51:05 +0000864|getpos()| return a list with the position of cursor, mark, etc.
Bram Moolenaarbd404142006-03-25 22:05:04 +0000865|getqflist()| list of quickfix errors (Yegappan Lakshmanan)
866|getreg()| get contents of a register
Bram Moolenaarc93b83a2006-04-29 22:02:36 +0000867|gettabwinvar()| get variable from window in specified tab page.
Bram Moolenaarbac234e2005-01-17 22:21:07 +0000868|has_key()| check whether a key appears in a Dictionary
Bram Moolenaarc81e5e72007-05-05 18:24:42 +0000869|haslocaldir()| check if current window used |:lcd|
Bram Moolenaarbd404142006-03-25 22:05:04 +0000870|hasmapto()| check for a mapping to a string
Bram Moolenaarbd404142006-03-25 22:05:04 +0000871|index()| index of item in List
872|inputlist()| prompt the user to make a selection from a list
Bram Moolenaarbac234e2005-01-17 22:21:07 +0000873|insert()| insert an item somewhere in a List
Bram Moolenaarbd404142006-03-25 22:05:04 +0000874|islocked()| check if a variable is locked
Bram Moolenaarbac234e2005-01-17 22:21:07 +0000875|items()| get List of Dictionary key-value pairs
876|join()| join List items into a String
877|keys()| get List of Dictionary keys
878|len()| number of items in a List or Dictionary
879|map()| change each List or Dictionary item
Bram Moolenaarbd404142006-03-25 22:05:04 +0000880|maparg()| extra argument: use abbreviation
881|mapcheck()| extra argument: use abbreviation
882|match()| extra argument: count
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000883|matcharg()| return arguments of |:match| command
Bram Moolenaarbd404142006-03-25 22:05:04 +0000884|matchend()| extra argument: count
Bram Moolenaar2a8d1f82005-02-05 21:43:56 +0000885|matchlist()| list with match and submatches of a pattern in a string
Bram Moolenaarbd404142006-03-25 22:05:04 +0000886|matchstr()| extra argument: count
Bram Moolenaarbac234e2005-01-17 22:21:07 +0000887|max()| maximum value in a List or Dictionary
888|min()| minimum value in a List or Dictionary
Bram Moolenaar5313dcb2005-02-22 08:56:13 +0000889|mkdir()| create a directory
Bram Moolenaarc93b83a2006-04-29 22:02:36 +0000890|pathshorten()| reduce directory names to a single character
Bram Moolenaar4be06f92005-07-29 22:36:03 +0000891|printf()| format text
Bram Moolenaarbd404142006-03-25 22:05:04 +0000892|pumvisible()| check whether the popup menu is displayed
893|range()| generate a List with numbers
Bram Moolenaar2a8d1f82005-02-05 21:43:56 +0000894|readfile()| read a file into a list of lines
Bram Moolenaare580b0c2006-03-21 21:33:03 +0000895|reltime()| get time value, possibly relative
896|reltimestr()| turn a time value into a string
Bram Moolenaarbac234e2005-01-17 22:21:07 +0000897|remove()| remove one or more items from a List or Dictionary
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000898|repeat()| repeat "expr" "count" times (Christophe Poucet)
Bram Moolenaarbac234e2005-01-17 22:21:07 +0000899|reverse()| reverse the order of a List
Bram Moolenaarbd404142006-03-25 22:05:04 +0000900|search()| extra argument:
Bram Moolenaarf75a9632005-09-13 21:20:47 +0000901|searchdecl()| search for declaration of variable
Bram Moolenaarbd404142006-03-25 22:05:04 +0000902|searchpair()| extra argument: line to stop searching
Bram Moolenaar1d2ba7f2006-02-14 22:29:30 +0000903|searchpairpos()| return a List with the position of the match
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000904|searchpos()| return a List with the position of the match
Bram Moolenaar17c7c012006-01-26 22:25:15 +0000905|setloclist()| modify a location list (Yegappan Lakshmanan)
Bram Moolenaarbd404142006-03-25 22:05:04 +0000906|setpos()| set cursor or mark to a position
Bram Moolenaar17c7c012006-01-26 22:25:15 +0000907|setqflist()| modify a quickfix list (Yegappan Lakshmanan)
Bram Moolenaarc93b83a2006-04-29 22:02:36 +0000908|settabwinvar()| set variable in window of specified tab page
Bram Moolenaarbac234e2005-01-17 22:21:07 +0000909|sort()| sort a List
Bram Moolenaar42eeac32005-06-29 22:40:58 +0000910|soundfold()| get the sound-a-like equivalent of a word
Bram Moolenaar42eeac32005-06-29 22:40:58 +0000911|spellbadword()| get a badly spelled word
912|spellsuggest()| get suggestions for correct spelling
Bram Moolenaarbd404142006-03-25 22:05:04 +0000913|split()| split a String into a List
Bram Moolenaar97b2ad32006-03-18 21:40:56 +0000914|str2nr()| convert a string to a number, base 8, 10 or 16
Bram Moolenaarbd404142006-03-25 22:05:04 +0000915|stridx()| extra argument: start position
Bram Moolenaarc93b83a2006-04-29 22:02:36 +0000916|strridx()| extra argument: start position
Bram Moolenaar87b774d2005-07-20 22:04:36 +0000917|string()| string representation of a List or Dictionary
Bram Moolenaarbd404142006-03-25 22:05:04 +0000918|system()| extra argument: filters {input} through a shell command
919|tabpagebuflist()| List of buffers in a tab page
920|tabpagenr()| number of current or last tab page
921|tabpagewinnr()| window number in a tab page
922|tagfiles()| List with tags file names
Bram Moolenaar87b774d2005-07-20 22:04:36 +0000923|taglist()| get list of matching tags (Yegappan Lakshmanan)
924|tr()| translate characters (Ron Aaron)
Bram Moolenaarbac234e2005-01-17 22:21:07 +0000925|values()| get List of Dictionary values
Bram Moolenaarbd404142006-03-25 22:05:04 +0000926|winnr()| takes an argument: what window to use
Bram Moolenaar768b8c42006-03-04 21:58:33 +0000927|winrestview()| restore the view of the current window
928|winsaveview()| save the view of the current window
Bram Moolenaar2a8d1f82005-02-05 21:43:56 +0000929|writefile()| write a list of lines into a file
Bram Moolenaar8299df92004-07-10 09:47:34 +0000930
Bram Moolenaarbee0c5b2005-02-07 22:03:36 +0000931User defined functions can now be loaded automatically from the "autoload"
932directory in 'runtimepath'. See |autoload-functions|.
933
Bram Moolenaar071d4272004-06-13 20:20:40 +0000934
Bram Moolenaarc93b83a2006-04-29 22:02:36 +0000935New Vim variables: ~
936
937|v:insertmode| used for |InsertEnter| and |InsertChange| autocommands
938|v:val| item value in a |map()| or |filter()| function
939|v:key| item key in a |map()| or |filter()| function
940|v:profiling| non-zero after a ":profile start" command
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000941|v:fcs_reason| the reason why |FileChangedShell| was triggered
942|v:fcs_choice| what should happen after |FileChangedShell|
Bram Moolenaarc93b83a2006-04-29 22:02:36 +0000943|v:beval_bufnr| buffer number for 'balloonexpr'
944|v:beval_winnr| window number for 'balloonexpr'
945|v:beval_lnum| line number for 'balloonexpr'
946|v:beval_col| column number for 'balloonexpr'
947|v:beval_text| text under the mouse pointer for 'balloonexpr'
948|v:scrollstart| what caused the screen to be scrolled up
949|v:swapname| name of the swap file for the |SwapExists| event
Bram Moolenaarc81e5e72007-05-05 18:24:42 +0000950|v:swapchoice| what to do for an existing swap file
Bram Moolenaarc93b83a2006-04-29 22:02:36 +0000951|v:swapcommand| command to be executed after handling |SwapExists|
952|v:char| argument for evaluating 'formatexpr'
953
954
Bram Moolenaar071d4272004-06-13 20:20:40 +0000955New autocommand events: ~
956
Bram Moolenaar8299df92004-07-10 09:47:34 +0000957|ColorScheme| after loading a color scheme
Bram Moolenaar1f35bf92006-03-07 22:38:47 +0000958
Bram Moolenaar3d0a6032006-02-09 23:54:54 +0000959|CursorHoldI| the user doesn't press a key for a while in Insert mode
960|CursorMoved| the cursor was moved in Normal mode
961|CursorMovedI| the cursor was moved in Insert mode
962
Bram Moolenaarbd404142006-03-25 22:05:04 +0000963|FileChangedShellPost| after handling a file changed outside of Vim
964
965|InsertEnter| starting Insert or Replace mode
966|InsertChange| going from Insert to Replace mode or back
967|InsertLeave| leaving Insert or Replace mode
968
969|MenuPopup| just before showing popup menu
970
971|QuickFixCmdPre| before :make, :grep et al. (Ciaran McCreesh)
972|QuickFixCmdPost| after :make, :grep et al. (Ciaran McCreesh)
973
974|SessionLoadPost| after loading a session file. (Yegappan Lakshmanan)
975
976|ShellCmdPost| after executing a shell command
977|ShellFilterPost| after filtering with a shell command
978
979|SourcePre| before sourcing a Vim script
980
981|SpellFileMissing| when a spell file can't be found
982
983|SwapExists| found existing swap file when editing a file
984
985|TabEnter| just after entering a tab page
986|TabLeave| just before leaving a tab page
987
988|VimResized| after the Vim window size changed (Yakov Lerner)
989
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000990
Bram Moolenaar96351572006-05-05 21:16:59 +0000991New highlight groups: ~
992
993Pmenu Popup menu: normal item |hl-Pmenu|
994PmenuSel Popup menu: selected item |hl-PmenuSel|
995PmenuThumb Popup menu: scrollbar |hl-PmenuThumb|
996PmenuSbar Popup menu: Thumb of the scrollbar |hl-PmenuSbar|
997
998TabLine tab pages line, inactive label |hl-TabLine|
999TabLineSel tab pages line, selected label |hl-TabLineSel|
1000TabLineFill tab pages line, filler |hl-TabLineFill|
1001
1002SpellBad badly spelled word |hl-SpellBad|
1003SpellCap word with wrong caps |hl-SpellCap|
1004SpellRare rare word |hl-SpellRare|
1005SpellLocal word only exists in other region |hl-SpellLocal|
1006
1007CursorColumn 'cursorcolumn' |hl-CursorColumn|
1008CursorLine 'cursorline' |hl-CursorLine|
1009
1010MatchParen matching parens |pi_paren.txt| |hl-MatchParen|
1011
1012
Bram Moolenaarc0197e22004-09-13 20:26:32 +00001013New items in search patterns: ~
1014|/\%d| \%d123 search for character with decimal number
Bram Moolenaar49325942007-05-10 19:19:59 +00001015|/\]| [\d123] idem, in a collection
Bram Moolenaarc0197e22004-09-13 20:26:32 +00001016|/\%o| \%o103 search for character with octal number
Bram Moolenaar49325942007-05-10 19:19:59 +00001017|/\]| [\o1o3] idem, in a collection
Bram Moolenaarc0197e22004-09-13 20:26:32 +00001018|/\%x| \%x1a search for character with 2 pos. hex number
Bram Moolenaar49325942007-05-10 19:19:59 +00001019|/\]| [\x1a] idem, in a collection
Bram Moolenaarc0197e22004-09-13 20:26:32 +00001020|/\%u| \%u12ab search for character with 4 pos. hex number
Bram Moolenaar49325942007-05-10 19:19:59 +00001021|/\]| [\u12ab] idem, in a collection
Bram Moolenaarc0197e22004-09-13 20:26:32 +00001022|/\%U| \%U1234abcd search for character with 8 pos. hex number
Bram Moolenaar49325942007-05-10 19:19:59 +00001023|/\]| [\U1234abcd] idem, in a collection
Bram Moolenaarc0197e22004-09-13 20:26:32 +00001024 (The above partly by Ciaran McCreesh)
Bram Moolenaar33aec762006-01-22 23:30:12 +00001025
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +00001026|/[[=| [[=a=]] an equivalence class (only for latin1 characters)
1027|/[[.| [[.a.]] a collation element (only works with single char)
Bram Moolenaar5313dcb2005-02-22 08:56:13 +00001028
Bram Moolenaar33aec762006-01-22 23:30:12 +00001029|/\%'m| \%'m match at mark m
1030|/\%<'m| \%<'m match before mark m
1031|/\%>'m| \%>'m match after mark m
1032|/\%V| \%V match in Visual area
1033
Bram Moolenaar5313dcb2005-02-22 08:56:13 +00001034Nesting |/multi| items no longer is an error when an empty match is possible.
1035
1036It is now possible to use \{0}, it matches the preceding atom zero times. Not
1037useful, just for compatibility.
Bram Moolenaarc0197e22004-09-13 20:26:32 +00001038
1039
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +00001040New Syntax/Indent/FTplugin files: ~
1041
Bram Moolenaarb982ca52005-03-28 21:02:15 +00001042Moved all the indent settings from the filetype plugin to the indent file.
1043Implemented b:undo_indent to undo indent settings when setting 'filetype' to a
1044different value.
1045
Bram Moolenaarbd404142006-03-25 22:05:04 +00001046a2ps syntax and ftplugin file. (Nikolai Weibull)
1047ABAB/4 syntax file. (Marius van Wyk)
1048alsaconf ftplugin file. (Nikolai Weibull)
1049AppendMatchGroup ftplugin file. (Dave Silvia)
1050arch ftplugin file. (Nikolai Weibull)
1051asterisk and asteriskvm syntax file. (Tilghman Lesher)
1052BDF ftplugin file. (Nikolai Weibull)
1053BibTeX indent file. (Dorai Sitaram)
Bram Moolenaar437df8f2006-04-27 21:47:44 +00001054BibTeX Bibliography Style syntax file. (Tim Pope)
Bram Moolenaarbd404142006-03-25 22:05:04 +00001055BTM ftplugin file. (Bram Moolenaar)
1056calendar ftplugin file. (Nikolai Weibull)
1057Changelog indent file. (Nikolai Weibull)
Bram Moolenaar57657d82006-04-21 22:12:41 +00001058ChordPro syntax file. (Niels Bo Andersen)
Bram Moolenaarc1e37902006-04-18 21:55:01 +00001059Cmake indent and syntax file. (Andy Cedilnik)
Bram Moolenaarbd404142006-03-25 22:05:04 +00001060conf ftplugin file. (Nikolai Weibull)
1061context syntax and ftplugin file. (Nikolai Weibull)
1062CRM114 ftplugin file. (Nikolai Weibull)
1063cvs RC ftplugin file. (Nikolai Weibull)
1064D indent file. (Jason Mills)
Bram Moolenaard2cec5b2006-03-28 21:08:56 +00001065Debian Sources.list syntax file. (Matthijs Mohlmann)
Bram Moolenaarbd404142006-03-25 22:05:04 +00001066dictconf and dictdconf syntax, indent and ftplugin files. (Nikolai Weibull)
1067diff ftplugin file. (Bram Moolenaar)
1068dircolors ftplugin file. (Nikolai Weibull)
1069django and htmldjango syntax file. (Dave Hodder)
Bram Moolenaar8cacf352006-04-15 20:27:24 +00001070doxygen syntax file. (Michael Geddes)
Bram Moolenaarbd404142006-03-25 22:05:04 +00001071elinks ftplugin file. (Nikolai Weibull)
1072eterm ftplugin file. (Nikolai Weibull)
1073eviews syntax file. (Vaidotas Zemlys)
1074fetchmail RC ftplugin file. (Nikolai Weibull)
Bram Moolenaar437df8f2006-04-27 21:47:44 +00001075FlexWiki syntax and ftplugin file. (George Reilly)
Bram Moolenaarbd404142006-03-25 22:05:04 +00001076Generic indent file. (Dave Silvia)
1077gpg ftplugin file. (Nikolai Weibull)
1078gretl syntax file. (Vaidotas Zemlys)
1079groovy syntax file. (Alessio Pace)
1080group syntax and ftplugin file. (Nikolai Weibull)
1081grub ftplugin file. (Nikolai Weibull)
1082Haskell ftplugin file. (Nikolai Weibull)
1083help ftplugin file. (Nikolai Weibull)
1084indent ftplugin file. (Nikolai Weibull)
1085Javascript ftplugin file. (Bram Moolenaar)
Bram Moolenaar4c3f5362006-04-11 21:38:50 +00001086Kconfig ftplugin and syntax file. (Nikolai Weibull)
Bram Moolenaarbd404142006-03-25 22:05:04 +00001087ld syntax, indent and ftplugin file. (Nikolai Weibull)
1088lftp ftplugin file. (Nikolai Weibull)
1089libao config ftplugin file. (Nikolai Weibull)
1090limits syntax and ftplugin file. (Nikolai Weibull)
1091Lisp indent file. (Sergey Khorev)
1092loginaccess and logindefs syntax and ftplugin file. (Nikolai Weibull)
1093m4 ftplugin file. (Nikolai Weibull)
Bram Moolenaar899dddf2006-03-26 21:06:50 +00001094mailaliases syntax file. (Nikolai Weibull)
Bram Moolenaarbd404142006-03-25 22:05:04 +00001095mailcap ftplugin file. (Nikolai Weibull)
1096manconf syntax and ftplugin file. (Nikolai Weibull)
1097matlab ftplugin file. (Jake Wasserman)
Bram Moolenaar779b74b2006-04-10 14:55:34 +00001098Maxima syntax file. (Robert Dodier)
Bram Moolenaar2a3f7ee2006-02-23 21:34:44 +00001099MGL syntax file. (Gero Kuhlmann)
Bram Moolenaarbd404142006-03-25 22:05:04 +00001100modconf ftplugin file. (Nikolai Weibull)
1101mplayer config ftplugin file. (Nikolai Weibull)
Bram Moolenaar437df8f2006-04-27 21:47:44 +00001102Mrxvtrc syntax and ftplugin file. (Gautam Iyer)
Bram Moolenaarbd404142006-03-25 22:05:04 +00001103MuPAD source syntax, indent and ftplugin. (Dave Silvia)
1104mutt RC ftplugin file. (Nikolai Weibull)
1105nanorc syntax and ftplugin file. (Nikolai Weibull)
1106netrc ftplugin file. (Nikolai Weibull)
1107pamconf syntax and ftplugin file. (Nikolai Weibull)
1108Pascal indent file. (Neil Carter)
1109passwd syntax and ftplugin file. (Nikolai Weibull)
1110PHP compiler plugin. (Doug Kearns)
1111pinfo ftplugin file. (Nikolai Weibull)
Bram Moolenaard2cec5b2006-03-28 21:08:56 +00001112plaintex syntax and ftplugin files. (Nikolai Weibull, Benji Fisher)
Bram Moolenaarbd404142006-03-25 22:05:04 +00001113procmail ftplugin file. (Nikolai Weibull)
1114prolog ftplugin file. (Nikolai Weibull)
1115protocols syntax and ftplugin file. (Nikolai Weibull)
1116quake ftplugin file. (Nikolai Weibull)
1117racc syntax and ftplugin file. (Nikolai Weibull)
Bram Moolenaarbd404142006-03-25 22:05:04 +00001118readline ftplugin file. (Nikolai Weibull)
1119rhelp syntax file. (Johannes Ranke)
Bram Moolenaarc1e37902006-04-18 21:55:01 +00001120rnoweb syntax file. (Johannes Ranke)
Bram Moolenaarbd404142006-03-25 22:05:04 +00001121Relax NG compact ftplugin file. (Nikolai Weibull)
1122Scheme indent file. (Sergey Khorev)
1123screen ftplugin file. (Nikolai Weibull)
1124sensors syntax and ftplugin file. (Nikolai Weibull)
1125services syntax and ftplugin file. (Nikolai Weibull)
1126setserial syntax and ftplugin file. (Nikolai Weibull)
1127sieve syntax and ftplugin file. (Nikolai Weibull)
Bram Moolenaar61660ea2006-04-07 21:40:07 +00001128SiSU syntax file (Ralph Amissah)
Bram Moolenaarbd404142006-03-25 22:05:04 +00001129Sive syntax file. (Nikolai Weibull)
1130slp config, reg and spi syntax and ftplugin files. (Nikolai Weibull)
1131SML indent file. (Saikat Guha)
1132SQL anywhere syntax and indent file. (David Fishburn)
1133SQL indent file.
1134SQL-Informix syntax file. (Dean L Hill)
1135SQL: Handling of various variants. (David Fishburn)
1136sshconfig ftplugin file. (Nikolai Weibull)
Bram Moolenaar8cacf352006-04-15 20:27:24 +00001137Stata and SMCL syntax files. (Jeff Pitblado)
Bram Moolenaarbd404142006-03-25 22:05:04 +00001138sudoers ftplugin file. (Nikolai Weibull)
1139sysctl syntax and ftplugin file. (Nikolai Weibull)
1140terminfo ftplugin file. (Nikolai Weibull)
1141trustees syntax file. (Nima Talebi)
Bram Moolenaarc1e37902006-04-18 21:55:01 +00001142Vera syntax file. (David Eggum)
Bram Moolenaarbd404142006-03-25 22:05:04 +00001143udev config, permissions and rules syntax and ftplugin files. (Nikolai Weibull)
1144updatedb syntax and ftplugin file. (Nikolai Weibull)
1145VHDL indent file (Gerald Lai)
1146WSML syntax file. (Thomas Haselwanter)
1147Xdefaults ftplugin file. (Nikolai Weibull)
1148XFree86 config ftplugin file. (Nikolai Weibull)
1149xinetd syntax, indent and ftplugin file. (Nikolai Weibull)
1150xmodmap ftplugin file. (Nikolai Weibull)
1151Xquery syntax file. (Jean-Marc Vanel)
1152xsd (XML schema) indent file.
1153YAML ftplugin file. (Nikolai Weibull)
1154Zsh ftplugin file. (Nikolai Weibull)
1155
Bram Moolenaar261bfea2006-03-01 22:12:31 +00001156
Bram Moolenaar47136d72004-10-12 20:02:24 +00001157New Keymaps: ~
1158
1159Sinhala (Sri Lanka) (Harshula Jayasuriya)
Bram Moolenaar238a5642006-02-21 22:12:05 +00001160Tamil in TSCII encoding (Yegappan Lakshmanan)
Bram Moolenaarbd404142006-03-25 22:05:04 +00001161Greek in cp737 (Panagiotis Louridas)
1162Polish-slash (HS6_06)
1163Ukrainian-jcuken (Anatoli Sakhnik)
Bram Moolenaarc81e5e72007-05-05 18:24:42 +00001164Kana (Edward L. Fox)
Bram Moolenaar238a5642006-02-21 22:12:05 +00001165
Bram Moolenaar47136d72004-10-12 20:02:24 +00001166
Bram Moolenaar15d0a8c2004-09-06 17:44:46 +00001167New message translations: ~
1168
Bram Moolenaar8c8de832008-06-24 22:58:06 +00001169The Ukrainian messages are now also available in cp1251.
Bram Moolenaar05159a02005-02-26 23:04:13 +00001170Vietnamese message translations and menu. (Phan Vinh Thinh)
1171
Bram Moolenaar071d4272004-06-13 20:20:40 +00001172
Bram Moolenaarf4b8e572004-06-24 15:53:16 +00001173Others: ~
1174
Bram Moolenaar910f66f2006-04-05 20:41:53 +00001175The |:read| command has the |++edit| argument. This means it will use the
1176detected 'fileformat', 'fileencoding' and other options for the buffer. This
1177also fixes the problem that editing a compressed file didn't set these
1178options.
1179
Bram Moolenaar1f35bf92006-03-07 22:38:47 +00001180The Netbeans interface was updated for Sun Studio 10. The protocol number
1181goes from 2.2 to 2.3. (Gordon Prieur)
1182
Bram Moolenaar1056d982006-03-09 22:37:52 +00001183Mac: When starting up Vim will load the $VIMRUNTIME/macmap.vim script to
Bram Moolenaar34e9e2f2006-03-14 23:07:19 +00001184define default command-key mappings. (mostly by Benji Fisher)
Bram Moolenaar1056d982006-03-09 22:37:52 +00001185
Bram Moolenaarf4b8e572004-06-24 15:53:16 +00001186Mac: Add the selection type to the clipboard, so that Block, line and
1187character selections can be used between two Vims. (Eckehard Berns)
1188Also fixes the problem that setting 'clipboard' to "unnamed" breaks using
1189"yyp".
Bram Moolenaar071d4272004-06-13 20:20:40 +00001190
Bram Moolenaara5792f52005-11-23 21:25:05 +00001191Mac: GUI font selector. (Peter Cucka)
Bram Moolenaar592e0a22004-07-03 16:05:59 +00001192
Bram Moolenaar5313dcb2005-02-22 08:56:13 +00001193Mac: support for multi-byte characters. (Da Woon Jung)
Bram Moolenaarf9393ef2006-04-24 19:47:27 +00001194This doesn't always work properly. If you see text drawing problems try
1195switching the 'macatsui' option off.
Bram Moolenaar5313dcb2005-02-22 08:56:13 +00001196
Bram Moolenaar900b4d72005-12-12 22:05:50 +00001197Mac: Support the xterm mouse in the non-GUI version.
Bram Moolenaar567e4de2004-12-31 21:01:02 +00001198
Bram Moolenaar46c9c732004-12-12 11:37:09 +00001199Mac: better integration with Xcode. Post a fake mouse-up event after the odoc
1200event and the drag receive handler to work around a stall after Vim loads a
1201file. Fixed an off-by-one line number error. (Da Woon Jung)
1202
Bram Moolenaard2cec5b2006-03-28 21:08:56 +00001203Mac: When started from Finder change directory to the file being edited or the
1204user home directory.
1205
Bram Moolenaar293ee4d2004-12-09 21:34:53 +00001206Added the t_SI and t_EI escape sequences for starting and ending Insert mode.
Bram Moolenaarc93b83a2006-04-29 22:02:36 +00001207To be used to set the cursor shape to a bar or a block. No default values,
1208they are not supported by termcap/terminfo.
1209
Bram Moolenaar900b4d72005-12-12 22:05:50 +00001210GUI font selector for Motif. (Marcin Dalecki)
1211
1212Nicer toolbar buttons for Motif. (Marcin Dalecki)
1213
1214Mnemonics for the Motif find/replace dialog. (Marcin Dalecki)
1215
Bram Moolenaarc93b83a2006-04-29 22:02:36 +00001216Included a few improvements for Motif from Marcin Dalecki. Draw label
1217contents ourselves to make them handle fonts in a way configurable by Vim and
1218a bit less dependent on the X11 font management.
Bram Moolenaar293ee4d2004-12-09 21:34:53 +00001219
Bram Moolenaarb5bf5b82004-12-24 14:35:23 +00001220Autocommands can be defined local to a buffer. This means they will also work
1221when the buffer does not have a name or no specific name. See
1222|autocmd-buflocal|. (Yakov Lerner)
1223
Bram Moolenaar19a09a12005-03-04 23:39:37 +00001224For xterm most combinations of modifiers with function keys are recognized.
1225|xterm-modifier-keys|
1226
Bram Moolenaarae5bce12005-08-15 21:41:48 +00001227When 'verbose' is set the output of ":highlight" will show where a highlight
1228item was last set.
Bram Moolenaare344bea2005-09-01 20:46:49 +00001229When 'verbose' is set the output of the ":map", ":abbreviate", ":command",
1230":function" and ":autocmd" commands will show where it was last defined.
1231(Yegappan Lakshmanan)
Bram Moolenaarae5bce12005-08-15 21:41:48 +00001232
Bram Moolenaardd2436f2005-09-05 22:14:46 +00001233":function /pattern" lists functions matching the pattern.
1234
Bram Moolenaarf75a9632005-09-13 21:20:47 +00001235"1gd" can be used like "gd" but ignores matches in a {} block that ends before
1236the cursor position. Likewise for "1gD" and "gD".
1237
Bram Moolenaar4463f292005-09-25 22:20:24 +00001238'scrolljump' can be set to a negative number to scroll a percentage of the
1239window height.
1240
Bram Moolenaar07d4d732005-10-03 22:04:08 +00001241The |v:scrollstart| variable has been added to help finding the location in
1242your script that causes the hit-enter prompt.
1243
Bram Moolenaar63a121b2005-12-11 21:36:39 +00001244To make it possible to handle the situation that a file is being edited that
1245is already being edited by another Vim instance, the |SwapExists| event has
1246been added. The |v:swapname|, |v:swapchoice| and |v:swapcommand| variables
1247can be used, for example to use the |client-server| functionality to bring the
1248other Vim to the foreground.
Bram Moolenaar146522e2005-12-16 21:55:46 +00001249When starting Vim with a "-t tag" argument, there is an existing swapfile and
1250the user selects "quit" or "abort" then exit Vim.
Bram Moolenaar63a121b2005-12-11 21:36:39 +00001251
Bram Moolenaareddf53b2006-02-27 00:11:10 +00001252Undo now also restores the '< and '> marks. "gv" selects the same area as
1253before the change and undo.
1254
Bram Moolenaarea0cd362006-03-16 21:46:52 +00001255When editing a search pattern for a "/" or "?" command and 'incsearch' is set
1256CTRL-L can be used to add a character from the current match. CTRL-R CTRL-W
1257will add a word, but exclude the part of the word that was already typed.
1258
Bram Moolenaar97b2ad32006-03-18 21:40:56 +00001259Ruby interface: add line number methods. (Ryan Paul)
1260
Bram Moolenaar910f66f2006-04-05 20:41:53 +00001261The $MYVIMRC environment variable is set to the first found vimrc file.
1262The $MYGVIMRC environment variable is set to the first found gvimrc file.
1263
Bram Moolenaar071d4272004-06-13 20:20:40 +00001264==============================================================================
1265IMPROVEMENTS *improvements-7*
1266
Bram Moolenaarf4b8e572004-06-24 15:53:16 +00001267":helpgrep" accepts a language specifier after the pattern: "pat@it".
1268
Bram Moolenaarc93b83a2006-04-29 22:02:36 +00001269Moved the help for printing to a separate help file. It's quite a lot now.
Bram Moolenaar8299df92004-07-10 09:47:34 +00001270
Bram Moolenaar1f35bf92006-03-07 22:38:47 +00001271When doing completion for ":!cmd", ":r !cmd" or ":w !cmd" executable files are
Bram Moolenaar551dbcc2006-04-25 22:13:59 +00001272found in $PATH instead of looking for ordinary files in the current directory.
Bram Moolenaar1f35bf92006-03-07 22:38:47 +00001273
Bram Moolenaara5792f52005-11-23 21:25:05 +00001274When ":silent" is used and a backwards range is given for an Ex command the
1275range is swapped automatically instead of asking if that is OK.
1276
Bram Moolenaar8bf59b92005-03-06 23:40:56 +00001277The pattern matching code was changed from a recursive function to an
1278iterative mechanism. This avoids out-of-stack errors. State is stored in
1279allocated memory, running out of memory can always be detected. Allows
1280matching more complex things, but Vim may seem to hang while doing that.
1281
Bram Moolenaarb71eaae2006-01-20 23:10:18 +00001282Previously some options were always evaluated in the |sandbox|. Now that only
1283happens when the option was set from a modeline or in secure mode. Applies to
1284'balloonexpr', 'foldexpr', 'foldtext' and 'includeexpr'. (Sumner Hayes)
1285
1286Some commands and expressions could have nasty side effects, such as using
1287CTRL-R = while editing a search pattern and the expression invokes a function
1288that jumps to another window. The |textlock| has been added to prevent this
1289from happening.
1290
Bram Moolenaarf4b8e572004-06-24 15:53:16 +00001291":breakadd here" and ":breakdel here" can be used to set or delete a
1292breakpoint at the cursor.
1293
Bram Moolenaar997fb4b2006-02-17 21:53:23 +00001294It is now possible to define a function with: >
1295 :exe "func Test()\n ...\n endfunc"
1296
Bram Moolenaarc93b83a2006-04-29 22:02:36 +00001297The tutor was updated to make it simpler to use and text was added to explain
1298a few more important commands. Used ideas from Gabriel Zachmann.
Bram Moolenaar071d4272004-06-13 20:20:40 +00001299
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +00001300Unix: When libcall() fails obtain an error message with dlerror() and display
1301it. (Johannes Zellner)
1302
Bram Moolenaarcc016f52005-12-10 20:23:46 +00001303Mac and Cygwin: When editing an existing file make the file name the same case
1304of the edited file. Thus when typing ":e os_UNIX.c" the file name becomes
1305"os_unix.c".
1306
Bram Moolenaar592e0a22004-07-03 16:05:59 +00001307Added "nbsp" in 'listchars'. (David Blanchet)
1308
Bram Moolenaar21cf8232004-07-16 20:18:37 +00001309Added the "acwrite" value for the 'buftype' option. This is for a buffer that
Bram Moolenaara5792f52005-11-23 21:25:05 +00001310does not have a name that refers to a file and is written with BufWriteCmd
Bram Moolenaar21cf8232004-07-16 20:18:37 +00001311autocommands.
1312
Bram Moolenaar325b7a22004-07-05 15:58:32 +00001313For lisp indenting and matching parenthesis: (Sergey Khorev)
1314- square brackets are recognized properly
1315- #\(, #\), #\[ and #\] are recognized as character literals
1316- Lisp line comments (delimited by semicolon) are recognized
1317
Bram Moolenaar89cb5e02004-07-19 20:55:54 +00001318Added the "count" argument to match(), matchend() and matchstr(). (Ilya Sher)
1319
Bram Moolenaarc93b83a2006-04-29 22:02:36 +00001320winnr() takes an optional "$" or "#" argument. (Nikolai Weibull, Yegappan
Bram Moolenaar5eb86f92004-07-26 12:53:41 +00001321Lakshmanan)
1322
Bram Moolenaar768b8c42006-03-04 21:58:33 +00001323Added 's' flag to search(): set ' mark if cursor moved. (Yegappan Lakshmanan)
Bram Moolenaar5eb86f92004-07-26 12:53:41 +00001324Added 'n' flag to search(): don't move the cursor. (Nikolai Weibull)
Bram Moolenaar768b8c42006-03-04 21:58:33 +00001325Added 'c' flag to search(): accept match at the cursor.
1326Added 'e' flag to search(): move to end of the match. (Benji Fisher)
1327Added 'p' flag to search(): return number of sub-pattern. (Benji Fisher)
1328These also apply to searchpos(), searchpair() and searchpairpos().
Bram Moolenaarc93b83a2006-04-29 22:02:36 +00001329
Bram Moolenaar768b8c42006-03-04 21:58:33 +00001330The search() and searchpair() functions have an extra argument to specify
1331where to stop searching. Speeds up searches that should not continue too far.
Bram Moolenaar5eb86f92004-07-26 12:53:41 +00001332
Bram Moolenaard4755bb2004-09-02 19:12:26 +00001333When uncompressing fails in the gzip plugin, give an error message but don't
1334delete the raw text. Helps if the file has a .gz extension but is not
1335actually compressed. (Andrew Pimlott)
1336
1337When C, C++ or IDL syntax is used, may additionally load doxygen syntax.
Bram Moolenaard4755bb2004-09-02 19:12:26 +00001338(Michael Geddes)
1339
Bram Moolenaar97b2ad32006-03-18 21:40:56 +00001340Support setting 'filetype' and 'syntax' to "aaa.bbb" for "aaa" plus "bbb"
1341filetype or syntax.
1342
Bram Moolenaard4755bb2004-09-02 19:12:26 +00001343The ":registers" command now displays multi-byte characters properly.
1344
1345VMS: In the usage message mention that a slash can be used to make a flag
1346upper case. Add color support to the builtin vt320 terminal codes.
1347(Zoltan Arpadffy)
1348
Bram Moolenaar15d0a8c2004-09-06 17:44:46 +00001349For the '%' item in 'viminfo', allow a number to set a maximum for the number
1350of buffers.
1351
Bram Moolenaarc93b83a2006-04-29 22:02:36 +00001352For recognizing the file type: When a file looks like a shell script, check
1353for an "exec" command that starts the tcl interpreter. (suggested by Alexios
1354Zavras)
Bram Moolenaar3fdfa4a2004-10-07 21:02:47 +00001355
1356Support conversion between utf-8 and latin9 (iso-8859-15) internally, so that
1357digraphs still work when iconv is not available.
1358
Bram Moolenaar293ee4d2004-12-09 21:34:53 +00001359When a session file is loaded while editing an unnamed, empty buffer that
1360buffer is wiped out. Avoids that there is an unused buffer in the buffer
1361list.
1362
1363Win32: When libintl.dll supports bind_textdomain_codeset(), use it.
1364(NAKADAIRA Yukihiro)
1365
Bram Moolenaare224ffa2006-03-01 00:01:28 +00001366Win32: Vim was not aware of hard links on NTFS file systems. These are
1367detected now for when 'backupcopy' is "auto". Also fixed a bogus "file has
1368been changed since reading it" error for links.
1369
Bram Moolenaar293ee4d2004-12-09 21:34:53 +00001370When foldtext() finds no text after removing the comment leader, use the
1371second line of the fold. Helps for C-style /* */ comments where the first
1372line is just "/*".
1373
Bram Moolenaar1cd871b2004-12-19 22:46:22 +00001374When editing the same file from two systems (e.g., Unix and MS-Windows) there
1375mostly was no warning for an existing swap file, because the name of the
1376edited file differs (e.g., y:\dir\file vs /home/me/dir/file). Added a flag to
1377the swap file to indicate it is in the same directory as the edited file. The
1378used path then doesn't matter and the check for editing the same file is much
1379more reliable.
1380
Bram Moolenaar900b4d72005-12-12 22:05:50 +00001381Unix: When editing a file through a symlink the swap file would use the name
1382of the symlink. Now use the name of the actual file, so that editing the same
1383file twice is detected. (suggestions by Stefano Zacchiroli and James Vega)
1384
Bram Moolenaar1cd871b2004-12-19 22:46:22 +00001385Client-server communication now supports 'encoding'. When setting 'encoding'
1386in a Vim server to "utf-8", and using "vim --remote fname" in a console,
1387"fname" is converted from the console encoding to utf-8. Also allows Vims
1388with different 'encoding' settings to exchange messages.
1389
Bram Moolenaar86b68352004-12-27 21:59:20 +00001390Internal: Changed ga_room into ga_maxlen, so that it doesn't need to be
1391incremented/decremented each time.
1392
Bram Moolenaar49cd9572005-01-03 21:06:01 +00001393When a register is empty it is not stored in the viminfo file.
1394
Bram Moolenaar8c711452005-01-14 21:53:12 +00001395Removed the tcltags script, it's obsolete.
1396
Bram Moolenaar67fe1a12005-05-22 22:12:58 +00001397":redir @*>>" and ":redir @+>>" append to the clipboard. Better check for
Bram Moolenaar5313dcb2005-02-22 08:56:13 +00001398invalid characters after the register name. |:redir|
1399
1400":redir => variable" and ":redir =>> variable" write or append to a variable.
1401(Yegappan Lakshmanan) |:redir|
Bram Moolenaardcaf10e2005-01-21 11:55:25 +00001402
Bram Moolenaar231334e2005-07-25 20:46:57 +00001403":redir @{a-z}>>" appends to register a to z. (Yegappan Lakshmanan)
Bram Moolenaar67fe1a12005-05-22 22:12:58 +00001404
Bram Moolenaar54ee7752005-05-31 22:22:17 +00001405The 'verbosefile' option can be used to log messages in a file. Verbose
1406messages are not displayed then. The "-V{filename}" argument can be used to
1407log startup messages.
1408
Bram Moolenaardcaf10e2005-01-21 11:55:25 +00001409":let g:" lists global variables.
1410":let b:" lists buffer-local variables.
1411":let w:" lists window-local variables.
1412":let v:" lists Vim variables.
1413
Bram Moolenaard438e912005-01-31 19:21:46 +00001414The stridx() and strridx() functions take a third argument, where to start
1415searching. (Yegappan Lakshmanan)
Bram Moolenaarb71ec9f2005-01-25 22:22:02 +00001416
Bram Moolenaar67fe1a12005-05-22 22:12:58 +00001417The getreg() function takes an extra argument to be able to get the expression
1418for the '=' register instead of the result of evaluating it.
1419
1420The setline() function can take a List argument to set multiple lines. When
1421the line number is just below the last line the line is appended.
1422
Bram Moolenaarbee0c5b2005-02-07 22:03:36 +00001423g CTRL-G also shows the number of characters if it differs from the number of
1424bytes.
1425
Bram Moolenaar5313dcb2005-02-22 08:56:13 +00001426Completion for ":debug" and entering an expression for the '=' register. Skip
1427":" between range and command name. (Peter winters)
1428
1429CTRL-Q in Insert mode now works like CTRL-V by default. Previously it was
1430ignored.
1431
1432When "beep" is included in 'debug' a function or script that causes a beep
1433will result in a message with the source of the error.
1434
Bram Moolenaar05159a02005-02-26 23:04:13 +00001435When completing buffer names, match with "\(^\|[\/]\)" instead of "^", so that
1436":buf stor<Tab>" finds both "include/storage.h" and "storage/main.c".
1437
1438To count items (pattern matches) without changing the buffer the 'n' flag has
1439been added to |:substitute|. See |count-items|.
1440
Bram Moolenaarea0cd362006-03-16 21:46:52 +00001441In a |:substitute| command the \u, \U, \l and \L items now also work for
1442multi-byte characters.
1443
Bram Moolenaar038eb0e2005-02-27 22:43:26 +00001444The "screen.linux" $TERM name is recognized to set the default for
Bram Moolenaar482aaeb2005-09-29 18:26:07 +00001445'background' to "dark". (Ciaran McCreesh) Also for "cygwin" and "putty".
Bram Moolenaar19a09a12005-03-04 23:39:37 +00001446
1447The |FileChangedShell| autocommand event can now use the |v:fcs_reason|
1448variable that specifies what triggered the event. |v:fcs_choice| can be used
1449to reload the buffer or ask the user what to do.
Bram Moolenaar038eb0e2005-02-27 22:43:26 +00001450
Bram Moolenaar8bf59b92005-03-06 23:40:56 +00001451Not all modifiers were recognized for xterm function keys. Added the
1452possibility in term codes to end in ";*X" or "O*X", where X is any character
1453and the * stands for the modifier code.
1454Added the <xUp>, <xDown>, <xLeft> and <xRight> keys, to be able to recognize
1455the two forms that xterm can send their codes in and still handle all possible
1456modifiers.
1457
Bram Moolenaarc0761132005-03-18 20:30:32 +00001458getwinvar() now also works to obtain a buffer-local option from the specified
1459window.
1460
Bram Moolenaarb982ca52005-03-28 21:02:15 +00001461Added the "%s" item to 'errorformat'. (Yegappan Lakshmanan)
Bram Moolenaarb3656ed2006-03-20 21:59:49 +00001462Added the "%>" item to 'errorformat'.
1463
1464For 'errorformat' it was not possible to have a file name that contains the
1465character that follows after "%f". For example, in "%f:%l:%m" the file name
1466could not contain ":". Now include the first ":" where the rest of the
1467pattern matches. In the example a ":" not followed by a line number is
1468included in the file name. (suggested by Emanuele Giaquinta)
Bram Moolenaarb982ca52005-03-28 21:02:15 +00001469
Bram Moolenaar34cdc3e2005-05-18 22:24:46 +00001470GTK GUI: use the GTK file dialog when it's available. Mix from patches by
1471Grahame Bowland and Evan Webb.
1472
Bram Moolenaar9ba0eb82005-06-13 22:28:56 +00001473Added ":scriptnames" to bugreport.vim, so that we can see what plugins were
1474used.
1475
Bram Moolenaar520470a2005-06-16 21:59:56 +00001476Win32: If the user changes the setting for the number of lines a scroll wheel
1477click scrolls it is now used immediately. Previously Vim would need to be
1478restarted.
1479
Bram Moolenaarb2ec3072005-06-17 22:02:20 +00001480When using @= in an expression the value is expression @= contains. ":let @=
1481= value" can be used to set the register contents.
1482
Bram Moolenaar51bab742005-07-08 22:31:03 +00001483A ! can be added to ":popup" to have the popup menu appear at the mouse
1484pointer position instead of the text cursor.
1485
Bram Moolenaard8e9bb22005-07-09 21:14:46 +00001486The table with encodings has been expanded with many MS-Windows codepages,
1487such as cp1250 and cp737, so that these can also be used on Unix without
1488prepending "8bit-".
Bram Moolenaarae5bce12005-08-15 21:41:48 +00001489When an encoding name starts with "microsoft-cp" ignore the "microsoft-" part.
Bram Moolenaard8e9bb22005-07-09 21:14:46 +00001490
1491Added the "customlist" completion argument to a user-defined command. The
1492user-defined completion function should return the completion candidates as a
Bram Moolenaar231334e2005-07-25 20:46:57 +00001493Vim List and the returned results are not filtered by Vim. (Yegappan
1494Lakshmanan)
Bram Moolenaard8e9bb22005-07-09 21:14:46 +00001495
Bram Moolenaar342337a2005-07-21 21:11:17 +00001496Win32: Balloons can have multiple lines if common controls supports it.
1497(Sergey Khorev)
1498
Bram Moolenaar90cfdbe2005-08-12 19:59:19 +00001499For command-line completion the matches for various types of arguments are now
1500sorted: user commands, variables, syntax names, etc.
1501
Bram Moolenaara2036d22005-08-23 21:04:20 +00001502When no locale is set, thus using the "C" locale, Vim will work with latin1
Bram Moolenaara5792f52005-11-23 21:25:05 +00001503characters, using its own isupper()/toupper()/etc. functions.
Bram Moolenaara2036d22005-08-23 21:04:20 +00001504
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00001505When using an rxvt terminal emulator guess the value of 'background' using the
1506COLORFGBG environment variable. (Ciaran McCreesh)
1507
1508Also support t_SI and t_EI on Unix with normal features. (Ciaran McCreesh)
1509
Bram Moolenaardcca87b2005-09-10 19:24:59 +00001510When 'foldcolumn' is one then put as much info in it as possible. This allows
1511closing a fold with the mouse by clicking on the '-'.
1512
Bram Moolenaarbfd8fc02005-09-20 23:22:24 +00001513input() takes an optional completion argument to specify the type of
1514completion supported for the input. (Yegappan Lakshmanan)
1515
Bram Moolenaar4463f292005-09-25 22:20:24 +00001516"dp" works with more than two buffers in diff mode if there is only one where
1517'modifiable' is set.
1518
Bram Moolenaar27dc1952006-03-15 23:06:44 +00001519The 'diffopt' option has three new values: "horizontal", "vertical" and
1520"foldcolumn".
1521
Bram Moolenaar69e0ff92005-09-30 21:23:56 +00001522When the 'include' option contains \zs the file name found is what is being
1523matched from \zs to the end or \ze. Useful to pass more to 'includeexpr'.
1524
Bram Moolenaar07d4d732005-10-03 22:04:08 +00001525Loading plugins on startup now supports subdirectories in the plugin
1526directory. |load-plugins|
1527
Bram Moolenaard5cdbeb2005-10-10 20:59:28 +00001528In the foldcolumn always show the '+' for a closed fold, so that it can be
1529opened easily. It may overwrite another character, esp. if 'foldcolumn' is 1.
1530
1531It is now possible to get the W10 message again by setting 'readonly'. Useful
1532in the FileChangedRO autocommand when checking out the file fails.
1533
Bram Moolenaar784c6142005-10-11 20:34:58 +00001534Unix: When open() returns EFBIG give an appropriate message.
1535
Bram Moolenaar241a8aa2005-12-06 20:04:44 +00001536":mksession" sets the SessionLoad variable to notify plugins. A modeline is
1537added to the session file to set 'filetype' to "vim".
1538
Bram Moolenaard5bc83f2005-12-07 21:07:59 +00001539In the ATTENTION prompt put the "Delete it" choice before "Quit" to make it
1540more logical. (Robert Webb)
1541
Bram Moolenaar63a121b2005-12-11 21:36:39 +00001542When appending to a file while the buffer has no name the name of the appended
1543file would be used for the current buffer. But the buffer contents is
1544actually different from the file content. Don't set the file name, unless the
1545'P' flag is present in 'cpoptions'.
1546
Bram Moolenaar900b4d72005-12-12 22:05:50 +00001547When starting to edit a new file and the directory for the file doesn't exist
1548then Vim will report "[New DIRECTORY]" instead of "[New File] to give the user
1549a hint that something might be wrong.
1550
Bram Moolenaarbca84a12005-12-14 22:08:35 +00001551Win32: Preserve the hidden attribute of the viminfo file.
1552
Bram Moolenaar146522e2005-12-16 21:55:46 +00001553In Insert mode CTRL-A didn't keep the last inserted text when using CTRL-O and
1554then a cursor key. Now keep the previously inserted text if nothing is
1555inserted after the CTRL-O. Allows using CTRL-O commands to move the cursor
1556without losing the last inserted text.
Bram Moolenaarbca84a12005-12-14 22:08:35 +00001557
Bram Moolenaarf4cd3e82005-12-22 22:47:02 +00001558The exists() function now supports checking for autocmd group definition
Bram Moolenaarcc984262005-12-23 22:19:46 +00001559and for supported autocommand events. (Yegappan Lakshmanan)
Bram Moolenaara9b1e742005-12-19 22:14:58 +00001560
Bram Moolenaar4770d092006-01-12 23:22:24 +00001561Allow using ":global" in the sandbox, it doesn't do anything harmful by
1562itself.
1563
Bram Moolenaarb71eaae2006-01-20 23:10:18 +00001564":saveas asdf.c" will set 'filetype' to c when it's empty. Also for ":w
1565asdf.c" when it sets the filename for the buffer.
1566
Bram Moolenaar1d2ba7f2006-02-14 22:29:30 +00001567Insert mode completion for whole lines now also searches unloaded buffers.
Bram Moolenaarb71eaae2006-01-20 23:10:18 +00001568
Bram Moolenaarf740b292006-02-16 22:11:02 +00001569The colortest.vim script can now be invoked directly with ":source" or
Bram Moolenaarc93b83a2006-04-29 22:02:36 +00001570":runtime syntax/colortest.vim".
Bram Moolenaarf740b292006-02-16 22:11:02 +00001571
Bram Moolenaard1f56e62006-02-22 21:25:37 +00001572The 'statusline' option can be local to the window, so that each window can
1573have a different value. (partly by Yegappan Lakshmanan)
1574
Bram Moolenaar238a5642006-02-21 22:12:05 +00001575The 'statusline' option and other options that support the same format can now
1576use these new features:
1577- When it starts with "%!" the value is first evaluated as an expression
1578 before parsing the value.
1579- "%#HLname#" can be used to start highlighting with HLname.
1580
Bram Moolenaard1f56e62006-02-22 21:25:37 +00001581When 'statusline' is set to something that causes an error message then it is
1582made empty to avoid an endless redraw loop. Also for other options, such at
Bram Moolenaarea0cd362006-03-16 21:46:52 +00001583'tabline' and 'titlestring'. ":verbose set statusline" will mention that it
1584was set in an error handler.
Bram Moolenaard1f56e62006-02-22 21:25:37 +00001585
Bram Moolenaar32466aa2006-02-24 23:53:04 +00001586When there are several matching tags, the ":tag <name>" and CTRL-] commands
1587jump to the [count] matching tag. (Yegappan Lakshmanan)
1588
Bram Moolenaar97b2ad32006-03-18 21:40:56 +00001589Win32: In the batch files generated by the install program, use $VIMRUNTIME or
1590$VIM if it's set. Example provided by Mathias Michaelis.
1591Also create a vimtutor.bat batch file.
Bram Moolenaar32466aa2006-02-24 23:53:04 +00001592
Bram Moolenaarb3656ed2006-03-20 21:59:49 +00001593The 'balloonexpr' option is now |global-local|.
1594
Bram Moolenaare580b0c2006-03-21 21:33:03 +00001595The system() function now runs in cooked mode, thus can be interrupted by
1596CTRL-C.
1597
Bram Moolenaar071d4272004-06-13 20:20:40 +00001598==============================================================================
1599COMPILE TIME CHANGES *compile-changes-7*
1600
Bram Moolenaar2079a602005-01-04 21:43:22 +00001601Dropped the support for the BeOS and Amiga GUI. They were not maintained and
1602probably didn't work. If you want to work on this: get the Vim 6.x version
1603and merge it back in.
1604
Bram Moolenaar5313dcb2005-02-22 08:56:13 +00001605When running the tests and one of them fails to produce "test.out" the
1606following tests are still executed. This helps when running out of memory.
1607
Bram Moolenaarf461c8e2005-06-25 23:04:51 +00001608When compiling with EXITFREE defined and the ccmalloc library it is possible
1609to detect memory leaks. Some memory will always reported as leaked, such as
1610allocated by X11 library functions and the memory allocated in alloc_cmdbuff()
1611to store the ":quit" command.
1612
Bram Moolenaar231334e2005-07-25 20:46:57 +00001613Moved the code for printing to src/hardcopy.c.
1614
1615Moved some code from main() to separate functions to make it easier to see
Bram Moolenaarc93b83a2006-04-29 22:02:36 +00001616what is being done. Using a structure to avoid a lot of arguments to the
Bram Moolenaar231334e2005-07-25 20:46:57 +00001617functions.
1618
1619Moved unix_expandpath() to misc1.c, so that it can also be used by os_mac.c
1620without copying the code.
1621
Bram Moolenaar362e1a32006-03-06 23:29:24 +00001622--- Mac ---
1623
1624"make" now creates the Vim.app directory and "make install" copies it to its
1625final destination. (Raf)
1626
Bram Moolenaar27dc1952006-03-15 23:06:44 +00001627Put the runtime directory not directly in Vim.app but in
1628Vim.app/Contents/Resources/vim, so that it's according to Mac specs.
1629
Bram Moolenaar362e1a32006-03-06 23:29:24 +00001630Made it possible to compile with Motif, Athena or GTK without tricks and still
1631being able to use the MacRoman conversion. Added the os_mac_conv.c file.
1632
1633When running "make install" the runtime files are installed as for Unix.
Bram Moolenaare344bea2005-09-01 20:46:49 +00001634Avoids that too many files are copied. When running "make" a link to the
1635runtime files is created to avoid a recursive copy that takes much time.
1636
Bram Moolenaar362e1a32006-03-06 23:29:24 +00001637Configure will attempt to build Vim for both Intel and PowerPC. The
Bram Moolenaareddf53b2006-02-27 00:11:10 +00001638--with-mac-arch configure argument can change it.
1639
Bram Moolenaar362e1a32006-03-06 23:29:24 +00001640--- Win32 ---
1641
1642The Make_mvc.mak file was adjusted to work with the latest MS compilers,
1643including the free version of Visual Studio 2005. (George Reilly)
1644
1645INSTALLpc.txt was updated for the recent changes. (George Reilly)
1646
1647The distributed executable is now produced with the free Visual C++ Toolkit
16482003 and other free SDK chunks. msvcsetup.bat was added to support this.
1649
1650Also generate the .pdb file that can be used to generate a useful crash report
1651on MS-Windows. (George Reilly)
1652
Bram Moolenaar071d4272004-06-13 20:20:40 +00001653==============================================================================
1654BUG FIXES *bug-fixes-7*
1655
Bram Moolenaarf4b8e572004-06-24 15:53:16 +00001656When using PostScript printing on MS-DOS the default 'printexpr' used "lpr"
1657instead of "copy". When 'printdevice' was empty the copy command did not
1658work. Use "LPT1" then.
1659
1660The GTK font dialog uses a font size zero when the font name doesn't include a
1661size. Use a default size of 10.
1662
1663This example in the documentation didn't work:
1664 :e `=foo . ".c" `
1665Skip over the expression in `=expr` when looking for comments, |, % and #.
1666
1667When ":helpgrep" doesn't find anything there is no error message.
1668
1669"L" and "H" did not take closed folds into account.
1670
1671Win32: The "-P title" argument stopped at the first title that matched, even
1672when it doesn't support MDI.
1673
1674Mac GUI: CTRL-^ and CTRL-@ did not work.
1675
1676"2daw" on "word." at the end of a line didn't include the preceding white
1677space.
1678
1679Win32: Using FindExecutable() doesn't work to find a program. Use
1680SearchPath() instead. For executable() use $PATHEXT when the program searched
1681for doesn't have an extension.
1682
1683When 'virtualedit' is set, moving the cursor up after appending a character
1684may move it to a different column. Was caused by auto-formatting moving the
1685cursor and not putting it back where it was.
1686
1687When indent was added automatically and then moving the cursor, the indent was
1688not deleted (like when pressing ESC). The "I" flag in 'cpoptions' can be used
1689to make it work the old way.
1690
Bram Moolenaarf4b8e572004-06-24 15:53:16 +00001691When opening a command-line window, 'textwidth' gets set to 78 by the Vim
1692filetype plugin. Reset 'textwidth' to 0 to avoid lines are broken.
1693
1694After using cursor(line, col) moving up/down doesn't keep the same column.
1695
1696Win32: Borland C before 5.5 requires using ".u." for LowPart and HighPart
1697fields. (Walter Briscoe)
Bram Moolenaar071d4272004-06-13 20:20:40 +00001698
Bram Moolenaar843ee412004-06-30 16:16:41 +00001699On Sinix SYS_NMLN isn't always defined. Define it ourselves. (Cristiano De
1700Michele)
1701
Bram Moolenaar325b7a22004-07-05 15:58:32 +00001702Printing with PostScript may keep the printer waiting for more. Append a
1703CTRL-D to the printer output. (Mike Williams)
1704
Bram Moolenaar2df6dcc2004-07-12 15:53:54 +00001705When converting a string with a hex or octal number the leading '-' was
1706ignored. ":echo '-05' + 0" resulted in 5 instead of -5.
1707
1708Using "@:" to repeat a command line didn't work when it contains control
Bram Moolenaar90cfdbe2005-08-12 19:59:19 +00001709characters. Also remove "'<,'>" when in Visual mode to avoid that it appears
1710twice.
Bram Moolenaar2df6dcc2004-07-12 15:53:54 +00001711
Bram Moolenaar21cf8232004-07-16 20:18:37 +00001712When using file completion for a user command, it would not expand environment
1713variables like for a regular command with a file argument.
1714
1715'cindent': When the argument of a #define looks like a C++ class the next line
1716is indented too much.
1717
1718When 'comments' includes multi-byte characters inserting the middle part and
1719alignment may go wrong. 'cindent' also suffers from this for right-aligned
1720items.
1721
Bram Moolenaar05159a02005-02-26 23:04:13 +00001722Win32: when 'encoding' is set to "utf-8" getenv() still returns strings in the
1723active codepage. Convert to utf-8. Also for $HOME.
1724
Bram Moolenaarab79bcb2004-07-18 21:34:53 +00001725The default for 'helplang' was "zh" for both "zh_cn" and "zh_tw". Now use
1726"cn" or "tw" as intended.
1727
Bram Moolenaar5eb86f92004-07-26 12:53:41 +00001728When 'bin' is set and 'eol' is not set then line2byte() added the line break
1729after the last line while it's not there.
1730
1731Using foldlevel() in a WinEnter autocommand may not work. Noticed when
1732resizing the GUI shell upon startup.
1733
1734Python: Using buffer.append(f.readlines()) didn't work. Allow appending a
1735string with a trailing newline. The newline is ignored.
1736
Bram Moolenaar269ec652004-07-29 08:43:53 +00001737When using the ":saveas f2" command for buffer "f1", the Buffers menu would
1738contain "f2" twice, one of them leading to "f1". Also trigger the BufFilePre
1739and BufFilePost events for the alternate buffer that gets the old name.
1740
Bram Moolenaard4755bb2004-09-02 19:12:26 +00001741strridx() did not work well when the needle is empty. (Ciaran McCreesh)
1742
1743GTK: Avoid a potential hang in gui_mch_wait_for_chars() when input arrives
1744just before it is invoked
1745
1746VMS: Occasionally CR characters were inserted in the file. Expansion of
1747environment variables was not correct. (Zoltan Arpadffy)
1748
1749UTF-8: When 'delcombine' is set "dw" only deleted the last combining character
1750from the first character of the word.
1751
1752When using ":sball" in an autocommand only the filetype in one buffer was
1753detected. Reset did_filetype in enter_buffer().
1754
1755When using ":argdo" and the window already was at the first argument index,
1756but not actually editing it, the current buffer would be used instead.
1757
Bram Moolenaar15d0a8c2004-09-06 17:44:46 +00001758When ":next dir/*" includes many matches, adding the names to the argument
1759list may take an awful lot of time and can't be interrupted. Allow
1760interrupting this.
1761
1762When editing a file that was already loaded in a buffer, modelines were not
1763used. Now window-local options in the modeline are set. Buffer-local options
1764and global options remain unmodified.
1765
1766Win32: When 'encoding' is set to "utf-8" in the vimrc file, files from the
1767command line with non-ASCII characters are not used correctly. Recode the
1768file names when 'encoding' is set, using the Unicode command line.
1769
Bram Moolenaarc0197e22004-09-13 20:26:32 +00001770Win32 console: When the default for 'encoding' ends up to be "latin1", the
1771default value of 'isprint' was wrong.
1772
1773When an error message is given while waiting for a character (e.g., when an
1774xterm reports the number of colors), the hit-enter prompt overwrote the last
1775line. Don't reset msg_didout in normal_cmd() for K_IGNORE.
1776
Bram Moolenaar3fdfa4a2004-10-07 21:02:47 +00001777Mac GUI: Shift-Tab didn't work.
1778
1779When defining tooltip text, don't translate terminal codes, since it's not
1780going to be used like a command.
1781
1782GTK 2: Check the tooltip text for valid utf-8 characters to avoid getting a
1783GTK error. Invalid characters may appear when 'encoding' is changed.
1784
1785GTK 2: Add a safety check for invalid utf-8 sequences, they can crash pango.
1786
1787Win32: When 'encoding' is changed while starting up, use the Unicode command
1788line to convert the file arguments to 'encoding'. Both for the GUI and the
1789console version.
1790
1791Win32 GUI: latin9 text (iso-8859-15) was not displayed correctly, because
1792there is no codepage for latin9. Do our own conversion from latin9 to UCS2.
1793
Bram Moolenaar7b0294c2004-10-11 10:16:09 +00001794When two versions of GTK+ 2 are installed it was possible to use the header
1795files from one and the library from the other. Use GTK_LIBDIR to put the
1796directory for the library early in the link flags.
1797
1798With the GUI find/replace dialog a replace only worked if the pattern was
1799literal text. Now it works for any pattern.
1800
Bram Moolenaar293ee4d2004-12-09 21:34:53 +00001801When 'equalalways' is set and 'eadirection' is "hor", ":quit" would still
1802cause equalizing window heights in the vertical direction.
1803
1804When ":emenu" is used in a startup script the command was put in the typeahead
1805buffer, causing a prompt for the crypt key to be messed up.
1806
1807Mac OS/X: The default for 'isprint' included characters 128-160, causes
1808problems for Terminal.app.
1809
1810When a syntax item with "containedin" is used, it may match in the start or
1811end of a region with a matchgroup, while this doesn't happen for a "contains"
1812argument.
1813
1814When a transparent syntax items matches in another item where the highlighting
1815has already stopped (because of a he= argument), the highlighting would come
1816back.
1817
1818When cscope is used to set the quickfix error list, it didn't get set if there
1819was only one match. (Sergey Khorev)
1820
1821When 'confirm' is set and using ":bdel" in a modified buffer, then selecting
1822"cancel", would still give an error message.
1823
1824The PopUp menu items that started Visual mode didn't work when not in Normal
1825mode. Switching between selecting a word and a line was not possible.
1826
1827Win32: The keypad decimal point always resulted in a '.', while on some
1828keyboards it's a ','. Use MapVirtualKey(VK_DECIMAL, 2).
1829
1830Removed unused function DisplayCompStringOpaque() from gui_w32.c
1831
1832In Visual mode there is not always an indication whether the line break is
1833selected or not. Highlight the character after the line when the line break
1834is included, e.g., after "v$o".
1835
1836GTK: The <F10> key can't be mapped, it selects the menu. Disable that with a
1837GTK setting and do select the menu when <F10> isn't mapped. (David Necas)
1838
1839After "Y" '[ and '] were not at start/end of the yanked text.
1840
1841When a telnet connection is dropped Vim preserves files and exits. While
Bram Moolenaar8ea91232006-04-28 22:41:43 +00001842doing that a SIGHUP may arrive and disturb us, thus ignore it. (Scott
Bram Moolenaar46c9c732004-12-12 11:37:09 +00001843Anderson) Also postpone SIGHUP, SIGQUIT and SIGTERM until it's safe to
1844handle. Added handle_signal().
1845
Bram Moolenaar1cd871b2004-12-19 22:46:22 +00001846When completing a file name on the command line backslashes are required for
1847white space. Was only done for a space, not for a Tab.
1848
1849When configure could not find a terminal library, compiling continued for a
1850long time before reporting the problem. Added a configure check for tgetent()
1851being found in a library.
1852
1853When the cursor is on the first char of the last line a ":g/pat/s///" command
1854may cause the cursor to be displayed below the text.
1855
1856Win32: Editing a file with non-ASCII characters doesn't work when 'encoding'
1857is "utf-8". use _wfullpath() instead of _fullpath(). (Yu-sung Moon)
1858
1859When recovering the 'fileformat' and 'fileencoding' were taken from the
1860original file instead of from the swapfile. When the file didn't exist, was
1861empty or the option was changed (e.g., with ":e ++fenc=cp123 file") it could
1862be wrong. Now store 'fileformat' and 'fileencoding' in the swapfile and use
1863the values when recovering.
1864
1865":bufdo g/something/p" overwrites each last printed text line with the file
1866message for the next buffer. Temporarily clear 'shortmess' to avoid that.
1867
Bram Moolenaarb5bf5b82004-12-24 14:35:23 +00001868Win32: Cannot edit a file starting with # with --remote. Do escape % and #
1869when building the ":drop" command.
1870
Bram Moolenaar8f3f58f2010-01-06 20:52:26 +01001871A comment or | just after an expression-backtick argument was not recognized.
Bram Moolenaar86b68352004-12-27 21:59:20 +00001872E.g. in :e `="foo"`"comment.
1873
Bram Moolenaar567e4de2004-12-31 21:01:02 +00001874"(" does not stop at an empty sentence (single dot and white space) while ")"
1875does. Also breaks "das" on that dot.
1876
1877When doing "yy" with the cursor on a TAB the ruler could be wrong and "k"
1878moved the cursor to another column.
1879
1880When 'commentstring' is '"%s' and there is a double quote in the line a double
1881quote before the fold marker isn't removed in the text displayed for a closed
1882fold.
1883
1884In Visual mode, when 'bin' and 'eol' set, g CTRL-G counted the last line
1885break, resulting in "selected 202 of 201 bytes".
1886
Bram Moolenaar2079a602005-01-04 21:43:22 +00001887Motif: fonts were not used for dialog components. (Marcin Dalecki)
Bram Moolenaar567e4de2004-12-31 21:01:02 +00001888
Bram Moolenaar49cd9572005-01-03 21:06:01 +00001889Motif: After using a toolbar button the keyboard focus would be on the toolbar
Bram Moolenaar2079a602005-01-04 21:43:22 +00001890(Lesstif problem). (Marcin Dalecki)
Bram Moolenaar49cd9572005-01-03 21:06:01 +00001891
Bram Moolenaar1c2fda22005-01-02 11:43:19 +00001892When using "y<C-V>`x" where mark x is in the first column, the last line was
1893not included.
1894
1895Not all test scripts work properly on MS-Windows when checked out from CVS.
1896Use a Vim command to fix all fileformats to dos before executing the tests.
1897
1898When using ":new" and the file fits in the window, lines could still be above
1899the window. Now remove empty lines instead of keeping the relative position.
1900
Bram Moolenaar3d60ec22005-01-05 22:19:46 +00001901Cmdline completion didn't work after ":let var1 var<Tab>".
1902
Bram Moolenaarb7d6e722005-01-09 21:22:45 +00001903When using ":startinsert" or ":startreplace" when already in Insert mode
1904(possible when using CTRL-R =), pressing Esc would directly restart Insert
1905mode. (Peter Winters)
1906
Bram Moolenaar31c67ef2005-01-11 21:34:41 +00001907"2daw" didn't work at end of file if the last word is a single character.
1908
Bram Moolenaar8c711452005-01-14 21:53:12 +00001909Completion for ":next a'<Tab>" put a backslash before single quote, but it was
1910not removed when editing a file. Now halve backslashes in save_patterns().
Bram Moolenaar798c5a72005-01-16 22:06:30 +00001911Also fix expanding a file name with the shell that contains "\'".
Bram Moolenaar8c711452005-01-14 21:53:12 +00001912
Bram Moolenaarb71ec9f2005-01-25 22:22:02 +00001913When doing "1,6d|put" only "fewer lines" was reported. Now a following "more
1914lines" overwrites the message.
1915
1916Configure could not handle "-Dfoo=long\ long" in the TCL config output.
1917
Bram Moolenaarb2956cd2005-01-27 14:42:53 +00001918When searching backwards, using a pattern that matches a newline and uses \zs
1919after that, didn't find a match. Could also get a hang or end up in the right
1920column in the wrong line.
1921
Bram Moolenaard438e912005-01-31 19:21:46 +00001922When $LANG is "sl" for slovenian, the slovak menu was used, since "slovak"
1923starts with "sl".
1924
1925When 'paste' is set in the GUI the Paste toolbar button doesn't work. Clear
1926'paste' when starting the GUI.
1927
Bram Moolenaarf5836682005-02-02 23:09:45 +00001928A message about a wrong viminfo line included the trailing NL.
1929
Bram Moolenaar2a8d1f82005-02-05 21:43:56 +00001930When 'paste' is set in the GUI the toolbar button doesn't work in Insert mode.
1931Use ":exe" in menu.vim to avoid duplicating the commands, instead of using a
1932mapping.
1933
1934Treat "mlterm" as an xterm-like terminal. (Seiichi Sato)
1935
1936":z.4" and ":z=4" didn't work Vi compatible.
1937
Bram Moolenaarbee0c5b2005-02-07 22:03:36 +00001938When sourcing a file, editing it and sourcing it again, it could appear twice
1939in ":scriptnames" and get a new <SID>, because the inode has changed.
1940
1941When $SHELL is set but empty the 'shell' option would be empty. Don't use an
1942empty $SHELL value.
1943
1944A command "w! file" in .vimrc or $EXINIT didn't work. Now it writes an empty
1945file.
1946
1947When a CTRL-F command at the end of the file failed, the cursor was still
1948moved to the start of the line. Now it remains where it is.
1949
1950When using ":s" or "&" to repeat the last substitute and "$" was used to put
1951the cursor in the last column, put the cursor in the last column again. This
1952is Vi compatible.
1953
Bram Moolenaar4399ef42005-02-12 14:29:27 +00001954Vim is not fully POSIX compliant but sticks with traditional Vi behavior.
1955Added a few flags in 'cpoptions' to behave the POSIX way when wanted. The
1956$VIM_POSIX environment variable is checked to set the default.
1957
1958Appending to a register didn't insert a line break like Vi. Added the '>'
1959flag to 'cpoptions' for this.
1960
1961Using "I" in a line with only blanks appended to the line. This is not Vi
1962compatible. Added the 'H' flag in 'coptions' for this.
1963
1964When joining multiple lines the cursor would be at the last joint, but Vi
1965leaves it at the position where "J" would put it. Added the 'q' flag in
1966'cpoptions' for this.
1967
1968Autoindent didn't work for ":insert" and ":append".
1969
1970Using ":append" in an empty buffer kept the dummy line. Now it's deleted to
1971be Vi compatible.
1972
1973When reading commands from a file and stdout goes to a terminal, would still
1974request the xterm version. Vim can't read it, thus the output went to the
1975shell and caused trouble there.
1976
Bram Moolenaar5313dcb2005-02-22 08:56:13 +00001977When redirecting to a register with an invalid name the redirection would
1978still be done (after an error message). Now reset "redir_reg". (Yegappan
1979Lakshmanan)
1980
1981It was not possible to use a NL after a backslash in Ex mode. This is
1982sometimes used to feed multiple lines to a shell command.
1983
Bram Moolenaar05159a02005-02-26 23:04:13 +00001984When 'cmdheight' is set to 2 in .vimrc and the GUI uses the number of lines
1985from the terminal we actually get 3 lines for the cmdline in gvim.
1986
1987When setting $HOME allocated memory would leak.
1988
Bram Moolenaar19a09a12005-03-04 23:39:37 +00001989Win32: bold characters may sometimes write in another character cell. Use
1990unicodepdy[] as for UTF-8. (Taro Muraoka)
1991
1992":w fname" didn't work for files with 'buftype' set to "nofile".
1993
Bram Moolenaare2ac10d2005-03-07 23:26:06 +00001994The method used to locate user commands for completion differed from when they
Bram Moolenaarc81e5e72007-05-05 18:24:42 +00001995are executed. Ambiguous command names were not completed properly.
Bram Moolenaare2ac10d2005-03-07 23:26:06 +00001996
Bram Moolenaar9062a9d2005-03-08 22:46:26 +00001997Incremental search may cause a crash when there is a custom statusline that
1998indirectly invokes ":normal".
1999
2000Diff mode failed when $DIFF_OPTIONS was set in the environment. Unset it
2001before invoking "diff".
2002
Bram Moolenaar4ad237d2005-03-11 22:49:40 +00002003Completion didn't work after ":argdo", ":windo" and ":bufdo". Also for ":set
2004&l:opt" and ":set &g:opt". (Peter Winters)
2005
2006When setting 'ttymouse' to "dec" in an xterm that supports the DEC mouse
2007locator it doesn't work. Now switch off the mouse before selecting another
2008mouse model.
2009
Bram Moolenaarfb269802005-03-15 22:46:30 +00002010When the CursorHold event is triggered and the commands peek for typed
2011characters the typeahead buffer may be messed up, e.g., when a mouse-up event
2012is received. Avoid invoking the autocommands from the function waiting for a
2013character, let it put K_CURSORHOLD in the input buffer.
2014
2015Removed the "COUNT" flag from ":argadd", to avoid ":argadd 1*" to be used like
Bram Moolenaarc0761132005-03-18 20:30:32 +00002016":1argadd *". Same for ":argdelete" and ":argedit".
Bram Moolenaarfb269802005-03-15 22:46:30 +00002017
2018Avoid that $LANG is used for the menus when LC_MESSAGES is "en_US".
2019
Bram Moolenaarc0761132005-03-18 20:30:32 +00002020Added backslashes before dashes in the vim.1 manual page to make the appear as
2021real dashes. (Pierr Habouzit)
2022
2023Where "gq" left the cursor depended on the value of 'formatprg'. Now "gq"
2024always leaves the cursor at the last line of the formatted text.
2025
2026When editing a compressed file, such as "changelog.Debian.gz" file, filetype
2027detection may try to check the contents of the file while it's still
2028compressed. Skip setting 'filetype' for compressed files until they have been
2029decompressed. Required for patterns that end in a "*".
2030
2031Starting with an argument "+cmd" or "-S script" causes the cursor the be moved
2032to the first line. That breaks a BufReadPost autocommand that uses g`".
2033Don't move the cursor if it's somewhere past the first line.
2034
Bram Moolenaarc81e5e72007-05-05 18:24:42 +00002035"gg=G" while 'modifiable' is off was uninterruptible.
Bram Moolenaarc0761132005-03-18 20:30:32 +00002036
Bram Moolenaar60c78922005-03-20 22:40:14 +00002037When 'encoding' is "sjis" inserting CTRL-V u d800 a few times causes a crash.
2038Don't insert a DBCS character with a NUL second byte.
2039
Bram Moolenaar2641f772005-03-25 21:58:17 +00002040In Insert mode CTRL-O <Home> didn't move the cursor. Made "ins_at_eol" global
2041and reset it in nv_home().
2042
Bram Moolenaarb982ca52005-03-28 21:02:15 +00002043Wildcard expansion failed: ":w /tmp/$$.`echo test`". Don't put quotes around
2044spaces inside backticks.
2045
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +00002046After this sequence of commands: Y V p gv: the wrong line is selected. Now
2047let "gv" select the text that was put, since the original text is deleted.
2048This should be the most useful thing to do.
2049
2050":sleep 100u" sleeps for 100 seconds, not 100 usec as one might expect. Give
2051an error message when the argument isn't recognized.
2052
2053In gui_mch_draw_string() in gui_w32.c "unibuflen" wasn't static, resulting in
2054reallocating the buffer every time. (Alexei Alexandrov)
2055
Bram Moolenaar0e21a3f2005-04-17 20:28:32 +00002056When using a Python "atexit" function it was not invoked when Vim exits. Now
2057call Py_Finalize() for that. (Ugo Di Girolamo)
Bram Moolenaar9ba0eb82005-06-13 22:28:56 +00002058This breaks the thread stuff though, fixed by Ugo.
Bram Moolenaar0e21a3f2005-04-17 20:28:32 +00002059
Bram Moolenaardba8a912005-04-24 22:08:39 +00002060GTK GUI: using a .vimrc with "set cmdheight=2 lines=43" and ":split" right
2061after startup, the window layout is messed up. (Michael Schaap) Added
2062win_new_shellsize() call in gui_init() to fix the topframe size.
2063
2064Trick to get ...MOUSE_NM not used when there are vertical splits. Now pass
2065column -1 for the left most window and add MOUSE_COLOFF for others. Limits
2066mouse column to 10000.
2067
2068searchpair() may hang when the end pattern has "\zs" at the end. Check that
2069we find the same position again and advance one character.
2070
2071When in diff mode and making a change that causes the "changed" highlighting
2072to disappear or reappear, it was still highlighted in another window.
2073
Bram Moolenaar34cdc3e2005-05-18 22:24:46 +00002074When a ":next" command fails because the user selects "Abort" at the ATTENTION
2075prompt the argument index was advanced anyway.
2076
2077When "~" is in 'iskeyword' the "gd" doesn't work, it's used for the previous
2078substitute pattern. Put "\V" in the pattern to avoid that.
2079
Bram Moolenaar555b2802005-05-19 21:08:39 +00002080Use of sprintf() sometimes didn't check properly for buffer overflow. Also
2081when using smsg(). Included code for snprintf() to avoid having to do size
2082checks where invoking them
2083
Bram Moolenaarf4630b62005-05-20 21:31:17 +00002084":help \=<Tab>" didn't find "sub-replace-\=". Wild menu for help tags didn't
2085show backslashes. ":he :s\=" didn't work.
2086
2087When reading an errorfile "~/" in a file name was not expanded.
2088
2089GTK GUI: When adding a scrollbar (e.g. when using ":vsplit") in a script or
2090removing it the window size may change. GTK sends us resize events when we
2091change the window size ourselves, but they may come at an unexpected moment.
2092Peek for a character to get any window resize events and fix 'columns' and
2093'lines' to undo this.
2094
Bram Moolenaarb3656ed2006-03-20 21:59:49 +00002095When using the GTK plug mechanism, resizing and focus was not working
2096properly. (Neil Bird)
2097
Bram Moolenaar67fe1a12005-05-22 22:12:58 +00002098After deleting files from the argument list a session file generated with
2099":mksession" may contain invalid ":next" commands.
2100
2101When 'shortmess' is empty and 'keymap' set to accents, in Insert mode CTRL-N
2102may cause the hit-enter prompt. Typing 'a then didn't result in the accented
2103character. Put the character typed at the prompt back in the typeahead buffer
2104so that mapping is done in the right mode.
2105
Bram Moolenaarb2ec3072005-06-17 22:02:20 +00002106setbufvar() and setwinvar() did not give error messages.
2107
2108It was possible to set a variable with an illegal name, e.g. with setbufvar().
Bram Moolenaard857f0e2005-06-21 22:37:39 +00002109It was possible to define a function with illegal name, e.t. ":func F{-1}()"
2110
2111CTRL-W F and "gf" didn't use the same method to get the file name.
Bram Moolenaarb2ec3072005-06-17 22:02:20 +00002112
Bram Moolenaar42eeac32005-06-29 22:40:58 +00002113When reporting a conversion error the line number of the last error could be
2114given. Now report the first encountered error.
2115
2116When using ":e ++enc=name file" and iconv() was used for conversion an error
Bram Moolenaar63a121b2005-12-11 21:36:39 +00002117caused a fall-back to no conversion. Now replace a character with '?' and
Bram Moolenaar42eeac32005-06-29 22:40:58 +00002118continue.
2119
Bram Moolenaar51bab742005-07-08 22:31:03 +00002120When opening a new buffer the local value of 'bomb' was not initialized from
2121the global value.
2122
Bram Moolenaare759a7a2005-07-12 22:50:18 +00002123Win32: When using the "Edit with Vim" entry the file name was limited to about
2124200 characters.
2125
Bram Moolenaar342337a2005-07-21 21:11:17 +00002126When using command line completion for ":e *foo" and the file "+foo" exists
2127the resulting command ":e +foo" doesn't work. Now insert a backslash: ":e
2128\+foo".
2129
Bram Moolenaar87e25fd2005-07-27 21:13:01 +00002130When the translation of "-- More --" was not 10 characters long the following
2131message would be in the wrong position.
2132
2133At the more-prompt the last character in the last line wasn't drawn.
2134
2135When deleting non-existing text while 'virtualedit' is set the '[ and '] marks
2136were not set.
2137
Bram Moolenaar0be6e642005-08-04 21:32:22 +00002138Win32: Could not use "**/" in 'path', it had to be "**\".
2139
Bram Moolenaarae5bce12005-08-15 21:41:48 +00002140The search pattern "\n" did not match at the end of the last line.
2141
2142Searching for a pattern backwards, starting on the NUL at the end of the line
2143and 'encoding' is "utf-8" would match the pattern just before it incorrectly.
2144Affected searchpair('/\*', '', '\*/').
2145
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +00002146For the Find/Replace dialog it was possible that not finding the text resulted
2147in an error message while redrawing, which cleared the syntax highlighting
2148while it was being used, resulting in a crash. Now don't clear syntax
2149highlighting, disable it with b_syn_error.
2150
Bram Moolenaar6e7c7f32005-08-24 22:16:11 +00002151Win32: Combining UTF-8 characters were drawn on the previous character.
2152Could be noticed with a Thai font.
2153
Bram Moolenaarcafda4f2005-09-06 19:25:11 +00002154Output of ":function" could leave some of the typed text behind. (Yegappan
2155Lakshmanan)
2156
Bram Moolenaarcaa0fcf2005-09-07 21:21:14 +00002157When the command line history has only a few lines the command line window
2158would be opened with these lines above the first window line.
2159
2160When using a command line window for search strings ":qa" would result in
2161searching for "qa" instead of quitting all windows.
2162
Bram Moolenaardcca87b2005-09-10 19:24:59 +00002163GUI: When scrolling with the scrollbar and there is a line that doesn't fit
2164redrawing may fail. Make sure w_skipcol is valid before redrawing.
2165
Bram Moolenaar482aaeb2005-09-29 18:26:07 +00002166Limit the values of 'columns' and 'lines' to avoid an overflow in Rows *
2167Columns. Fixed bad effects when running out of memory (command line would be
2168reversed, ":qa!" resulted in ":!aq").
2169
Bram Moolenaara5792f52005-11-23 21:25:05 +00002170Motif: "gvim -iconic" opened the window anyway. (David Harrison)
2171
2172There is a tiny chance that a symlink gets created between checking for an
2173existing file and creating a file. Use the O_NOFOLLOW for open() if it's
2174available.
2175
2176In an empty line "ix<CTRL-O>0" moved the cursor to after the line instead of
2177sticking to the first column.
2178
Bram Moolenaar943d2b52005-12-02 00:50:49 +00002179When using ":wq" and a BufWriteCmd autocmd uses inputsecret() the text was
2180echoed anyway. Set terminal to raw mode in getcmdline().
2181
Bram Moolenaard5bc83f2005-12-07 21:07:59 +00002182Unix: ":w a;b~c" caused an error in expanding wildcards.
2183
Bram Moolenaar63a121b2005-12-11 21:36:39 +00002184When appending to a file with ":w >>fname" in a buffer without a name, causing
2185the buffer to use "fname", the modified flag was reset.
2186
Bram Moolenaarc81e5e72007-05-05 18:24:42 +00002187When appending to the current file the "not edited" flag would be reset.
Bram Moolenaar63a121b2005-12-11 21:36:39 +00002188":w" would overwrite the file accidentally.
2189
Bram Moolenaar900b4d72005-12-12 22:05:50 +00002190Unix: When filtering text with an external command Vim would still read input,
2191causing text typed for the command (e.g., a password) to be eaten and echoed.
2192Don't read input when the terminal is in cooked mode.
2193
Bram Moolenaar146522e2005-12-16 21:55:46 +00002194The Cygwin version of xxd used CR/LF line separators. (Corinna Vinschen)
2195
2196Unix: When filtering text through a shell command some resulting text may be
2197dropped. Now after detecting that the child has exited try reading some more
2198of its output.
2199
Bram Moolenaar3b181812005-12-17 22:10:02 +00002200When inside input(), using "CTRL-R =" and the expression throws an exception
2201the command line was not abandoned but it wasn't used either. Now abandon
2202typing the command line.
2203
Bram Moolenaare3226be2005-12-18 22:10:00 +00002204'delcombine' was also used in Visual and Select mode and for commands like
2205"cl". That was illogical and has been disabled.
2206
2207When recording while a CursorHold autocommand was defined special keys would
2208appear in the register. Now the CursorHold event is not triggered while
2209recording.
2210
Bram Moolenaarf4cd3e82005-12-22 22:47:02 +00002211Unix: the src/configure script used ${srcdir-.}, not all shells understand
2212that. Use ${srcdir:-.} instead.
2213
Bram Moolenaarcc984262005-12-23 22:19:46 +00002214When editing file "a" which is a symlink to file "b" that doesn't exist,
2215writing file "a" to create "b" and then ":split b" resulted in two buffers on
2216the same file with two different swapfile names. Now set the inode in the
2217buffer when creating a new file.
2218
Bram Moolenaarebefac62005-12-28 22:39:57 +00002219When 'esckeys' is not set don't send the xterm code to request the version
2220string, because it may cause trouble in Insert mode.
2221
2222When evaluating an expression for CTRL-R = on the command line it was possible
Bram Moolenaar8ada17c2006-01-19 22:16:24 +00002223to call a function that opens a new window, resulting in errors for
Bram Moolenaarb71eaae2006-01-20 23:10:18 +00002224incremental search, and many other nasty things were possible. Now use the
2225|textlock| to disallow changing the buffer or jumping to another window
Bram Moolenaar4770d092006-01-12 23:22:24 +00002226to protect from unexpected behavior. Same for CTRL-\ e.
Bram Moolenaarebefac62005-12-28 22:39:57 +00002227
2228"d(" deleted the character under the cursor, while the documentation specified
2229an exclusive motion. Vi also doesn't delete the character under the cursor.
2230
2231Shift-Insert in Insert mode could put the cursor before the last character
2232when it just fits in the window. In coladvance() don't stop at the window
2233edge when filling with spaces and when in Insert mode. In mswin.vim avoid
2234getting a beep from the "l" command.
2235
Bram Moolenaar4770d092006-01-12 23:22:24 +00002236Win32 GUI: When Alt-F4 is used to close the window and Cancel is selected in
2237the dialog then Vim would insert <M-F4> in the text. Now it's ignored.
2238
2239When ":silent! {cmd}" caused the swap file dialog, which isn't displayed,
2240there would still be a hit-enter prompt.
2241
Bram Moolenaara40ceaf2006-01-13 22:35:40 +00002242Requesting the termresponse (|t_RV|) early may cause problems with "-c"
2243arguments that invoke an external command or even "-c quit". Postpone it
2244until after executing "-c" arguments.
2245
2246When typing in Insert mode so that a new line is started, using CTRL-G u to
2247break undo and start a new change, then joining the lines with <BS> caused
2248undo info to be missing. Now reset the insertion start point.
2249
2250Syntax HL: When a region start match has a matchgroup and an offset that
2251happens to be after the end of the line then it continued in the next line and
2252stopped at the region end match, making the region continue after that.
2253Now check for the column being past the end of the line in syn_add_end_off().
2254
Bram Moolenaarc32840f2006-01-14 21:23:38 +00002255When changing a file, setting 'swapfile' off and then on again, making another
2256change and killing Vim, then some blocks may be missing from the swapfile.
2257When 'swapfile' is switched back on mark all blocks in the swapfile as dirty.
2258Added mf_set_dirty().
2259
2260Expanding wildcards in a command like ":e aap;<>!" didn't work. Put
2261backslashes before characters that are special to the shell. (Adri Verhoef)
2262
Bram Moolenaar8ada17c2006-01-19 22:16:24 +00002263A CursorHold autocommand would cause a message to be cleared. Don't show the
2264special key for the event for 'showcmd'.
2265
2266When expanding a file name for a shell command, as in "!cmd foo<Tab>" or ":r
2267!cmd foo<Tab>" also escape characters that are special for the shell:
2268"!;&()<>".
2269
Bram Moolenaarb71eaae2006-01-20 23:10:18 +00002270When the name of the buffer was set by a ":r fname" command |cpo-f| no
2271autocommands were triggered to notify about the change in the buffer list.
2272
2273In the quickfix buffer 'bufhidden' was set to "delete", which caused closing
2274the quickfix window to leave an unlisted "No Name" buffer behind every time.
2275
Bram Moolenaar0ac93792006-01-21 22:16:51 +00002276Win32: when using two screens of different size, setting 'lines' to a large
2277value didn't fill the whole screen. (SungHyun Nam)
2278
Bram Moolenaar33aec762006-01-22 23:30:12 +00002279Win32 installer: The generated _vimrc contained an absolute path to diff.exe.
2280After upgrading it becomes invalid. Now use $VIMRUNTIME instead.
2281
Bram Moolenaard12f5c12006-01-25 22:10:52 +00002282The command line was cleared to often when 'showmode' was set and ":silent
2283normal vy" was used. Don't clear the command line unless the mode was
2284actually displayed. Added the "mode_displayed" variable.
2285
Bram Moolenaar280f1262006-01-30 00:14:18 +00002286The "load session" toolbar item could not handle a space or other special
2287characters in v:this_session.
2288
2289":set sta ts=8 sw=4 sts=2" deleted 4 spaces halfway a line instead of 2.
2290
Bram Moolenaar1ef15e32006-02-01 21:56:25 +00002291In a multi-byte file the foldmarker could be recognized in the trail byte.
2292(Taro Muraoka)
2293
Bram Moolenaar0e5bd962006-02-04 00:59:56 +00002294Pasting with CTRL-V and menu didn't work properly when some commands are
2295mapped. Use ":normal!" instead of ":normal". (Tony Apuzzo)
2296
2297Crashed when expanding a file name argument in backticks.
2298
Bram Moolenaarf52c7252006-02-10 23:23:57 +00002299In some situations the menu and scrollbar didn't work, when the value contains
2300a CSI byte. (Yukihiro Nakadaira)
2301
Bram Moolenaar1d2ba7f2006-02-14 22:29:30 +00002302GTK GUI: When drawing the balloon focus changes and we might get a key release
2303event that removed the balloon again. Ignore the key release event.
2304
2305'titleold' was included in ":mkexrc" and ":mksession" files.
2306
Bram Moolenaarf740b292006-02-16 22:11:02 +00002307":set background&" didn't use the same logic as was used when starting up.
2308
Bram Moolenaar997fb4b2006-02-17 21:53:23 +00002309When "umask" is set such that nothing is writable then the viminfo file would
2310be written without write permission. (Julian Bridle)
2311
Bram Moolenaar7e8fd632006-02-18 22:14:51 +00002312Motif: In diff mode dragging one scrollbar didn't update the scrollbar of the
2313other diff'ed window.
2314
Bram Moolenaar238a5642006-02-21 22:12:05 +00002315When editing in an xterm with a different number of colors than expected the
2316screen would be cleared and redrawn, causing the message about the edited file
2317to be cleared. Now set "keep_msg" to redraw the last message.
2318
Bram Moolenaard1f56e62006-02-22 21:25:37 +00002319For a color terminal: When the Normal HL uses bold, possibly to make the color
2320lighter, and another HL group specifies a color it might become light as well.
2321Now reset bold if a HL group doesn't specify bold itself.
2322
Bram Moolenaar32466aa2006-02-24 23:53:04 +00002323When using 256 color xterm the color 255 would show up as color 0. Use a
2324short instead of a char to store the color number.
2325
2326ml_get errors when searching for "\n\zs" in an empty file.
2327
Bram Moolenaara5621492006-02-25 21:55:24 +00002328When selecting a block and using "$" to select until the end of every line and
2329not highlighting the character under the cursor the first character of the
2330block could be unhighlighted.
2331
2332When counting words for the Visual block area and using "$" to select until
2333the end of every line only up to the length of the last line was counted.
2334
Bram Moolenaareddf53b2006-02-27 00:11:10 +00002335"dip" in trailing empty lines left one empty line behind.
2336
Bram Moolenaar5e3cb7e2006-02-27 23:58:35 +00002337The script ID was only remembered globally for each option. When a buffer- or
2338window-local option was set the same "last set" location was changed for all
2339buffers and windows. Now remember the script ID for each local option
2340separately.
2341
2342GUI: The "Replace All" button didn't handle backslashes in the replacement in
2343the same way as "Replace". Escape backslashes so that they are taken
2344literally.
2345
Bram Moolenaare224ffa2006-03-01 00:01:28 +00002346When using Select mode from Insert mode and typing a key, causing lines to be
2347deleted and a message displayed, delayed the effect of inserting the key.
2348Now overwrite the message without delay.
Bram Moolenaar5e3cb7e2006-02-27 23:58:35 +00002349
Bram Moolenaar362e1a32006-03-06 23:29:24 +00002350When 'whichwrap' includes "l" then "dl" and "yl" on a single letter line
2351worked differently. Now recognize all operators when using "l" at the end of
2352a line.
2353
2354GTK GUI: when the font selector returned a font name with a comma in it then
2355it would be handled like two font names. Now put a backslash before the
2356comma.
2357
2358MS-DOS, Win32: When 'encoding' defaults to "latin1" then the value for
2359'iskeyword' was still for CPxxx. And when 'nocompatible' was set 'isprint'
2360would also be the wrong value.
2361
Bram Moolenaar1f35bf92006-03-07 22:38:47 +00002362When a command was defined not to take arguments and no '|' no warning message
2363would be given for using a '|'. Also with ":loadkeymap".
2364
Bram Moolenaara3227e22006-03-08 21:32:40 +00002365Motif: When using a fontset and 'encoding' is "utf-8" and sizeof(wchar_t) !=
2366sizeof(XChar2b) then display was wrong. (Yukihiro Nakadaira)
2367
Bram Moolenaareb94e552006-03-11 21:35:11 +00002368":all" always set the current window to the first window, even when it
2369contains a buffer that is not in the argument list (can't be closed because it
2370is modified). Now go to the window that has the first item of the argument
2371list.
2372
Bram Moolenaar17be7e62006-03-12 22:13:45 +00002373GUI: To avoid left-over pixels from bold text all characters after a character
2374with special attributes were redrawn. Now only do this for characters that
2375actually are bold. Speeds up displaying considerably.
2376
2377When only highlighting changes and the text is scrolled at the same time
2378everything is redraw instead of using a scroll and updating the changed text.
2379E.g., when using ":match" to highlight a paren that the cursor landed on.
2380Added SOME_VALID: Redraw the whole window but also try to scroll to minimize
2381redrawing.
2382
Bram Moolenaarca003e12006-03-17 23:19:38 +00002383Win32: When using Korean IME making it active didn't work properly. (Moon,
2384Yu-sung, 2005 March 21)
2385
Bram Moolenaar97b2ad32006-03-18 21:40:56 +00002386Ruby interface: when inserting/deleting lines display wasn't updated. (Ryan
2387Paul)
Bram Moolenaarca003e12006-03-17 23:19:38 +00002388
Bram Moolenaar910f66f2006-04-05 20:41:53 +00002389--- fixes since Vim 7.0b ---
Bram Moolenaarbd404142006-03-25 22:05:04 +00002390
2391Getting the GCC version in configure didn't work with Solaris sed. First
2392strip any "darwin." and then get the version number.
2393
2394The "autoload" directory was missing from the self-installing executable for
2395MS-Windows.
2396
2397The MS-Windows install program would find "vimtutor.bat" in the install
2398directory. After changing to "c:" also change to "\" to avoid looking in the
2399install directory.
2400
2401To make the 16 bit DOS version compile exclude not used highlight
2402initializations and build a tiny instead of small version.
2403
Bram Moolenaarc81e5e72007-05-05 18:24:42 +00002404finddir() and findfile() accept a negative count and return a List then.
Bram Moolenaar899dddf2006-03-26 21:06:50 +00002405
2406The Python indent file contained a few debugging statements, removed.
2407
2408Expanding {} for a function name, resulting in a name starting with "s:" was
2409not handled correctly.
2410
2411Spelling: renamed COMPOUNDMAX to COMPOUNDWORDMAX. Added several items to be
2412able to handle the new Hungarian dictionary.
2413
2414Mac: Default to building for the current platform only, that is much faster
2415than building a universal binary. Also, using Perl/Python/etc. only works for
2416the current platform.
2417
Bram Moolenaar3991dab2006-03-27 17:01:56 +00002418The time on undo messages disappeared for someone. Using %T for strftime()
2419apparently doesn't work everywhere. Use %H:%M:%S instead.
2420
2421Typing BS at the "z=" prompt removed the prompt.
Bram Moolenaar899dddf2006-03-26 21:06:50 +00002422
Bram Moolenaar779b74b2006-04-10 14:55:34 +00002423--- fixes and changes since Vim 7.0c ---
Bram Moolenaar04a9d452006-03-27 21:03:26 +00002424
2425When jumping to another tab page the Vim window size was always set, even when
2426nothing in the layout changed.
2427
2428Win32 GUI tab pages line wasn't always enabled. Do a proper check for the
2429compiler version.
2430
2431Win32: When switching between tab pages the Vim window was moved when part of
2432it was outside of the screen. Now only do that in the direction of a size
2433change.
2434
2435Win32: added menu to GUI tab pages line. (Yegappan Lakshmanan)
2436
Bram Moolenaard2cec5b2006-03-28 21:08:56 +00002437Mac: Added document icons. (Benji Fisher)
2438
2439Insert mode completion: Using Enter to accept the current match causes
2440confusion. Use CTRL-Y instead. Also, use CTRL-E to go back to the typed
2441text.
2442
Bram Moolenaarb2a460d2007-05-12 15:16:37 +00002443GUI: When there are left and right scrollbars, ":tabedit" kept them instead of
Bram Moolenaard2cec5b2006-03-28 21:08:56 +00002444using the one that isn't needed.
Bram Moolenaar04a9d452006-03-27 21:03:26 +00002445
Bram Moolenaare2f98b92006-03-29 21:18:24 +00002446Using "gP" to replace al the text could leave the cursor below the last line,
2447causing ml_get errors.
2448
2449When 'cursorline' is set don't use the highlighting when Visual mode is
2450active, otherwise it's difficult to see the selected area.
2451
2452The matchparen plugin restricts the search to 100 lines, to avoid a long delay
2453when there are closed folds.
2454
2455Sometimes using CTRL-X s to list spelling suggestions used text from another
2456line.
2457
2458Win32: Set the default for 'isprint' back to the wrong default "@,~-255",
2459because many people use Windows-1252 while 'encoding' is "latin1".
2460
Bram Moolenaar910f66f2006-04-05 20:41:53 +00002461GTK: Added a workaround for gvim crashing when used over an untrusted ssh
2462link, caused by GTK doing something nasty. (Ed Catmur)
2463
2464Win32: The font used for the tab page labels is too big. Use the system menu
2465font. (George Reilly)
2466
2467Win32: Adjusting the window position and size to keep it on the screen didn't
2468work properly when the taskbar is on the left or top of the screen.
2469
2470The installman.sh and installml.sh scripts use ${10}, that didn't work with
2471old shells. And use "test -f" instead of "test -e".
2472
2473Win32: When 'encoding' was set in the vimrc then a directory argument for diff
2474mode didn't work.
2475
2476GUI: at the inputlist() prompt the cursorshape was adjusted as if the windows
2477were still at their old position.
2478
2479The parenmatch plugin didn't remember the highlighting per window.
2480
2481Using ":bd" for a buffer that's the current window in another tab page caused
2482a crash.
2483
2484For a new tab page the 'scroll' option wasn't set to a good default.
2485
2486Using an end offset for a search "/pat/e" didn't work properly for multi-byte
2487text. (Yukihiro Nakadaira)
2488
2489":s/\n/,/" doubled the text when used on the last line.
2490
2491When "search" is in 'foldopen' "[s" and "]s" now open folds.
2492
2493When using a numbered function "dict" can be omitted, but "self" didn't work
2494then. Always add FC_DICT to the function flags when it's part of a
2495dictionary.
2496
2497When "--remote-tab" executes locally it left an empty tab page.
2498
2499"gvim -u NONE", ":set cursorcolumn", "C" in the second line didn't update
2500text. Do update further lines even though the "$" is displayed.
2501
2502VMS: Support GTK better, also enable +clientserver. (Zoltan Arpadffy)
2503
2504When highlighting of statusline or tabline is changed there was no redraw to
2505show the effect.
2506
2507Mac: Added "CFBundleIdentifier" to infplist.xml.
2508
2509Added tabpage-local variables t:var.
2510
2511Win32: Added double-click in tab pages line creates new tab. (Yegappan
2512Lakshmanan)
2513
2514Motif: Added GUI tab pages line. (Yegappan Lakshmanan)
2515
2516Fixed crash when 'lines' was set to 1000 in a modeline.
2517
2518When init_spellfile() finds a writable directory in 'runtimepath' but it
2519doesn't contain a "spell" directory, create one.
2520
2521Win32: executable() also finds "xxd" in the directory where Vim was started,
2522but "!xxd" doesn't work. Append the Vim starting directory to $PATH.
2523
2524The tab page labels are shortened, directory names are reduced to a single
2525letter by default. Added the pathshorten() function to allow a user to do the
2526same.
2527
2528":saveas" now resets 'readonly' if the file was successfully written.
2529
2530Set $MYVIMRC file to the first found .vimrc file.
2531Set $MYGVIMRC file to the first found .gvimrc file.
2532Added menu item "Startup Settings" that edits the $MYVIMRC file
2533
2534Added matcharg().
2535
2536Error message E745 appeared twice. Renamed one to E786.
2537
2538Fixed crash when using "au BufRead * Sexplore" and doing ":help". Was wiping
2539out a buffer that's still in a window.
2540
2541":hardcopy" resulted in an error message when 'encoding' is "utf-8" and
2542'printencoding' is empty. Now it assumes latin1. (Mike Williams)
2543
2544The check for the toolbar feature for Motif, depending on certain included
2545files, wasn't detailed enough, causing building to fail in gui_xmebw.c.
2546
2547Using CTRL-E in Insert mode completion after CTRL-P inserted the first match
2548instead of the original text.
2549
2550When displaying a UTF-8 character with a zero lower byte Vim might think the
2551previous character is double-wide.
2552
2553The "nbsp" item of 'listchars' didn't work when 'encoding' was utf-8.
2554
2555Motif: when Xm/xpm.h is missing gui_xmebw.c would not compile.
2556HAVE_XM_UNHIGHLIGHTT_H was missing a T.
2557
2558Mac: Moved the .icns files into src/os_mac_rsrc, so that they can all be
2559copied at once. Adjusted the Info.plist file for three icons.
2560
2561When Visual mode is active while switching to another tabpage could get ml_get
2562errors.
2563
2564When 'list' is set, 'nowrap' the $ in the first column caused 'cursorcolumn'
2565to move to the right.
2566
2567When a line wraps, 'cursorcolumn' was never displayed past the end of the
2568line.
2569
Bram Moolenaar7b89edc2006-04-06 20:21:51 +00002570'autochdir' was only available when compiled with NetBeans and GUI. Now it's
2571a separate feature, also available in the "big" version.
2572
2573Added CTRL-W gf: open file under cursor in new tab page.
2574
2575When using the menu in the tab pages line, "New Tab" opens the new tab before
2576where the click was. Beyond the labels the new tab appears at the end instead
2577of after the current tab page.
2578
Bram Moolenaar61660ea2006-04-07 21:40:07 +00002579Inside a mapping with an expression getchar() could not be used.
2580
2581When vgetc is used recursively vgetc_busy protects it from being used
2582recursively. But after a ":normal" command the protection was reset.
2583
2584":s/a/b/n" didn't work when 'modifiable' was off.
2585
2586When $VIMRUNTIME includes a multi-byte character then rgb.txt could not be
2587found. (Yukihiro Nakadaira)
2588
2589":mkspell" didn't work correctly for non-ASCII affix flags when conversion is
2590needed on the spell file.
2591
2592glob('/dir/\$ABC/*') didn't work.
2593
Bram Moolenaarc6fe9192006-04-09 21:54:49 +00002594When using several tab pages and changing 'cmdheight' the display could become
2595messed up. Now store the value of 'cmdheight' separately for each tab page.
2596
Bram Moolenaar779b74b2006-04-10 14:55:34 +00002597The user of the Enter key while the popup menu is visible was still confusing.
2598Now use Enter to select the match after using a cursor key.
2599
2600Added "usetab" to 'switchbuf'.
2601
Bram Moolenaar4c3f5362006-04-11 21:38:50 +00002602
2603--- fixes and changes since Vim 7.0d ---
2604
2605Added CTRL-W T: move a window to a new tab page.
2606
2607Using CTRL-X s in Insert mode to complete spelling suggestions and using BS
2608deleted characters before the bad word.
2609
2610A few small fixes for the VMS makefile. (Zoltan Arpadffy)
2611
2612With a window of 91 lines 45 cols, ":vsp" scrolled the window. Copy w_wrow
2613when splitting a window and skip setting the height when it's already at the
2614right value.
2615
2616Using <silent> in a mapping with a shell command and the GUI caused redraw
2617to use wrong attributes.
2618
2619Win32: Using MSVC 4.1 for install.exe resulted in the start menu items to be
2620created in the administrator directory instead of "All Users". Define the
2621CSIDL_ items if they are missing.
2622
Bram Moolenaar18144c82006-04-12 21:52:12 +00002623Motif: The GUI tabline did not use the space above the right scrollbar. Work
2624around a bug in the Motif library. (Yegappan Lakshmanan)
2625
2626The extra files for XML Omni completion are now also installed.
2627|xml-omni-datafile|
2628
2629GTK GUI: when 'm' is missing from 'guioptions' during startup and pressing
2630<F10> GTK produced error messages. Now do create the menu but disable it just
2631after the first gui_mch_update().
2632
2633":mkspell" doesn't work well with the Hungarian dictionary from the Hunspell
2634project. Back to the Myspell dictionary.
2635
2636In help files hide the | used around tags.
2637
2638Renamed pycomplete to pythoncomplete.
2639
2640Added "tabpages" to 'sessionoptions'.
2641
2642When 'guitablabel' is set the effect wasn't visible right away.
2643
2644Fixed a few 'cindent' errors.
2645
Bram Moolenaar7fc904b2006-04-13 20:37:35 +00002646When completing menu names, e.g., after ":emenu", don't sort the entries but
2647keep them in the original order.
2648
2649Fixed a crash when editing a directory in diff mode. Don't trigger
2650autocommands when executing the diff command.
2651
2652Getting a keystroke could get stuck if 'encoding' is a multi-byte encoding and
2653typing a special key.
2654
2655When 'foldignore' is set the folds were not updated right away.
Bram Moolenaar4c3f5362006-04-11 21:38:50 +00002656
Bram Moolenaar9e54a0e2006-04-14 20:42:25 +00002657When a list is indexed with [a : b] and b was greater than the length an error
Bram Moolenaarb21e5842006-04-16 18:30:08 +00002658message was given. Now silently truncate the result.
Bram Moolenaar9e54a0e2006-04-14 20:42:25 +00002659
2660When using BS during Insert mode completion go back to the original text, so
2661that CTRL-N selects the first matching entry.
2662
Bram Moolenaarb21e5842006-04-16 18:30:08 +00002663Added the 'M' flag to 'cinoptions'.
Bram Moolenaar9e54a0e2006-04-14 20:42:25 +00002664
2665Win32: Make the "gvim --help" window appear in the middle of the screen
2666instead of at an arbitrary position. (Randall W. Morris)
2667
Bram Moolenaar8cacf352006-04-15 20:27:24 +00002668Added gettabwinvar() and settabwinvar().
2669
2670Command line completion: pressing <Tab> after ":e /usr/*" expands the whole
2671tree, because it becomes ":e /usr/**". Don't add a star if there already is
2672one.
2673
Bram Moolenaarb21e5842006-04-16 18:30:08 +00002674Added grey10 to grey90 to all GUIs, so that they can all be used for
2675initializing highlighting. Use grey40 for CursorColumn and CursorLine when
2676'background' is "dark".
2677
2678When reading a file and using iconv for conversion, an incomplete byte
2679sequence at the end caused problems. (Yukihiro Nakadaira)
2680
2681
2682--- fixes and changes since Vim 7.0e ---
2683
2684Default color for MatchParen when 'background' is "dark" is now DarkCyan.
2685
2686":syn off" had to be used twice in a file that sets 'syntax' in a modeline.
2687(Michael Geddes)
2688
2689When using ":vsp" or ":sp" the available space wasn't used equally between
2690windows. (Servatius Brandt)
2691
Bram Moolenaara93fa7e2006-04-17 22:14:47 +00002692Expanding <cWORD> on a trailing blank resulted in the first word in the line
2693if 'encoding' is a multi-byte encoding.
2694
2695Spell checking: spellbadword() didn't see a missing capital in the first word
2696of a line. Popup menu now only suggest the capitalized word when appropriate.
2697
Bram Moolenaarf9393ef2006-04-24 19:47:27 +00002698When using whole line completion CTRL-L moves through the matches but it
Bram Moolenaarc1e37902006-04-18 21:55:01 +00002699didn't work when at the original text.
2700
2701When completion finds the longest match, don't go to the first match but stick
2702at the original text, so that CTRL-N selects the first one.
2703
2704Recognize "zsh-beta" like "zsh" for setting the 'shellpipe' default. (James
2705Vega)
2706
2707When using ":map <expr>" and the expression results in something with a
2708special byte (NUL or CSI) then it didn't work properly. Now escape special
2709bytes.
2710
2711The default Visual highlighting for a color xterm with 8 colors was a magenta
2712background, which made magenta text disappear. Now use reverse in this
2713specific situation.
2714
2715After completing the longest match "." didn't insert the same text. Repeating
2716also didn't work correctly for multi-byte text.
2717
2718When using Insert mode completion and BS the whole word that was completed
2719would result in all possible matches. Now stop completion. Also fixes that
2720for spell completion the previous word was deleted.
2721
2722GTK: When 'encoding' is "latin1" and using non-ASCII characters in a file name
2723the tab page label was wrong and an error message would be given.
2724
2725The taglist() function could hang on a tags line with a non-ASCII character.
2726
Bram Moolenaar8424a622006-04-19 21:23:36 +00002727Win32: When 'encoding' differs from the system encoding tab page labels with
2728non-ASCII characters looked wrong. (Yegappan Lakshmanan)
2729
Bram Moolenaarfc1421e2006-04-20 22:17:20 +00002730Motif: building failed when Xm/Notebook.h doesn't exist. Added a configure
2731check, disable GUI tabline when it's missing.
2732
2733Mac: When compiled without multi-byte feature the clipboard didn't work.
2734
2735It was possible to switch to another tab page when the cmdline window is open.
2736
2737Completion could hang when 'lines' is 6 and a preview window was opened.
2738
Bram Moolenaar57657d82006-04-21 22:12:41 +00002739Added CTRL-W gF: open file under cursor in new tab page and jump to the line
2740number following the file name.
Bram Moolenaareb3593b2006-04-22 22:33:57 +00002741Added 'guitabtooltip'. Implemented for Win32 (Yegappan Lakshmanan).
Bram Moolenaar57657d82006-04-21 22:12:41 +00002742
Bram Moolenaarc81e5e72007-05-05 18:24:42 +00002743Added "throw" to 'debug' option: throw an exception for error messages even
Bram Moolenaar57657d82006-04-21 22:12:41 +00002744whey they would otherwise be ignored.
2745
2746When 'keymap' is set and a line contains an invalid entry could get a "No
2747mapping found" warning instead of a proper error message.
2748
2749Motif: default to using XpmAttributes instead of XpmAttributes_21.
2750
Bram Moolenaareb3593b2006-04-22 22:33:57 +00002751A few more changes for 64 bit MS-Windows. (George Reilly)
2752
2753Got ml_get errors when doing "o" and selecting in other window where there are
2754less line shorter than the cursor position in the other window. ins_mouse()
2755was using position in wrong window.
2756
2757Win32 GUI: Crash when giving a lot of messages during startup. Allocate twice
2758as much memory for the dialog template.
2759
2760Fixed a few leaks and wrong pointer use reported by coverity.
2761
2762When showing menus the mode character was sometimes wrong.
Bram Moolenaarfc1421e2006-04-20 22:17:20 +00002763
Bram Moolenaarf9393ef2006-04-24 19:47:27 +00002764Added feedkeys(). (Yakov Lerner)
2765
2766Made matchlist() always return all submatches.
2767
2768Moved triggering QuickFixCmdPost to before jumping to the first location.
2769
2770Mac: Added the 'macatsui' option as a temporary work around for text drawing
2771problems.
2772
2773Line completion on "/**" gave error messages when scanning an unloaded buffer.
Bram Moolenaar4a85b412006-04-23 22:40:29 +00002774
Bram Moolenaar551dbcc2006-04-25 22:13:59 +00002775--- fixes and changes since Vim 7.0f ---
2776
2777Win32: The height of the tab page labels is now adjusted to the font height.
2778(Yegappan Lakshmanan)
2779
2780Win32: selecting the tab label was off by one. (Yegappan Lakshmanan)
Bram Moolenaar4a85b412006-04-23 22:40:29 +00002781
Bram Moolenaar437df8f2006-04-27 21:47:44 +00002782Added tooltips for Motif and GTK tab page labels. (Yegappan Lakshmanan)
Bram Moolenaarf193fff2006-04-27 00:02:13 +00002783
2784When 'encoding' is "utf-8" then ":help spell" would report an illegal byte and
2785the file was not converted from latin1 to utf-8. Now retry with latin1 if
2786reading the file as utf-8 results in illegal bytes.
2787
Bram Moolenaarc93b83a2006-04-29 22:02:36 +00002788Escape the argument of feedkeys() before putting it in the typeahead buffer.
Bram Moolenaarf193fff2006-04-27 00:02:13 +00002789(Yukihiro Nakadaira)
2790
Bram Moolenaarc93b83a2006-04-29 22:02:36 +00002791Added the v:char variable for evaluating 'formatexpr'. (Yukihiro Nakadaira)
Bram Moolenaarf193fff2006-04-27 00:02:13 +00002792
2793With 8 colors Search highlighting combined with Statement highlighted text
2794made the text disappear.
2795
2796VMS: avoid warnings for redefining MAX and MIN. (Zoltan Arpadffy)
2797
2798When 'virtualedit' includes "onemore", stopping Visual selection would still
2799move the cursor left.
2800
2801Prevent that using CTRL-R = in Insert mode can start Visual mode.
2802
Bram Moolenaar49325942007-05-10 19:19:59 +00002803Fixed a crash that occurred when in Insert mode with completion active and a
Bram Moolenaarf193fff2006-04-27 00:02:13 +00002804mapping caused edit() to be called recursively.
2805
2806When using CTRL-O in Insert mode just after the last character while
2807'virtualedit' is "all", then typing CR moved the last character to the next
2808line. Call coladvance() before starting the new line.
2809
Bram Moolenaarc93b83a2006-04-29 22:02:36 +00002810When using |:shell| ignore clicks on the tab page labels. Also when using the
2811command line window.
Bram Moolenaarf193fff2006-04-27 00:02:13 +00002812
Bram Moolenaarc93b83a2006-04-29 22:02:36 +00002813When 'eventignore' is "all" then adding more to ignoring some events, e.g.,
2814for ":vimgrep", would actually trigger more events.
Bram Moolenaarf193fff2006-04-27 00:02:13 +00002815
2816Win32: When a running Vim uses server name GVIM1 then "gvim --remote fname"
Bram Moolenaarc93b83a2006-04-29 22:02:36 +00002817didn't find it. When looking for a server name that doesn't end in a digit
2818and it is not found then use another server with that name and a number (just
2819like on Unix).
Bram Moolenaarf193fff2006-04-27 00:02:13 +00002820
2821When using "double" in 'spellsuggest' when the language doesn't support sound
2822folding resulted in too many suggestions.
2823
Bram Moolenaarb2a460d2007-05-12 15:16:37 +00002824Win32: Dropping a shortcut on the Vim icon didn't edit the referred file like
Bram Moolenaarf193fff2006-04-27 00:02:13 +00002825editing it in another way would. Use fname_expand() in buf_set_name() instead
2826of simply make the file name a full path.
2827
Bram Moolenaar437df8f2006-04-27 21:47:44 +00002828Using feedkeys() could cause Vim to hang.
2829
2830When closing another tab page from the tabline menu in Insert mode the tabline
2831was not updated right away.
2832
2833The syntax menu didn't work in compatible mode.
2834
Bram Moolenaarc93b83a2006-04-29 22:02:36 +00002835After using ":tag id" twice with the same "id", ":ts" and then ":pop" a ":ts"
Bram Moolenaar437df8f2006-04-27 21:47:44 +00002836reported no matching tag. Clear the cached tag name.
2837
2838In Insert mode the matchparen plugin highlighted the wrong paren when there is
2839a string just next to a paren.
2840
Bram Moolenaar8ea91232006-04-28 22:41:43 +00002841GTK: After opening a new tab page the text was sometimes not drawn correctly.
2842Flush output and catch up with events when updating the tab page labels.
2843
Bram Moolenaarc93b83a2006-04-29 22:02:36 +00002844In the GUI, using CTRL-W q to close the last window of a tab page could cause
2845a crash.
Bram Moolenaar8ea91232006-04-28 22:41:43 +00002846
2847GTK: The tab pages line menu was not converted from 'encoding' to utf-8.
2848
Bram Moolenaarc93b83a2006-04-29 22:02:36 +00002849Typing a multi-byte character or a special key at the hit-enter prompt did not
2850work.
2851
2852When 'virtualedit' contains "onemore" CTRL-O in Insert mode still moved the
2853cursor left when it was after the end of the line, even though it's allowed to
2854be there.
2855
Bram Moolenaarc9b4b052006-04-30 18:54:39 +00002856Added test for using tab pages.
2857
2858towupper() and towlower() were not used, because of checking for
2859__STDC__ISO_10646__ instead of __STDC_ISO_10646__. (sertacyildiz)
2860
2861For ":map <expr>" forbid changing the text, jumping to another buffer and
2862using ":normal" to avoid nasty side effects.
2863
Bram Moolenaard68071d2006-05-02 22:08:30 +00002864--- fixes and changes since Vim 7.0g ---
2865
2866Compilation error on HP-UX, use of "dlerr" must be inside a #ifdef.
2867(Gary Johnson)
2868
2869Report +reltime feature in ":version" output.
2870
2871The tar and zip plugins detect failure to get the contents of the archive and
2872edit the file as-is.
2873
2874When the result of 'guitablabel' is empty fall back to the default label.
2875
2876Fixed crash when using ":insert" in a while loop and missing "endwhile".
2877
2878"gt" and other commands could move to another window when |textlock| active
2879and when the command line window was open.
2880
2881Spell checking a file with syntax highlighting and a bad word at the end of
2882the line is ignored could make "]s" hang.
2883
2884Mac: inputdialog() didn't work when compiled with big features.
2885
2886Interrupting ":vimgrep" while it is busy loading a file left a modified and
2887hidden buffer behind. Use enter_cleanup() and leave_cleanup() around
2888wipe_buffer().
2889
2890When making 'keymap' empty the b:keymap_name variable wasn't deleted.
2891
2892Using CTRL-N that searches a long time, pressing space to interrupt the
2893searching and accept the first match, the popup menu was still displayed
2894briefly.
2895
2896When setting the Vim window height with -geometry the 'window' option could be
2897at a value that makes CTRL-F behave differently.
2898
Bram Moolenaar8b2d9c42006-05-03 21:28:47 +00002899When opening a quickfix window in two tabs they used different buffers,
2900causing redrawing problems later. Now use the same buffer for all quickfix
2901windows. (Yegappan Lakshmanan)
2902
2903When 'mousefocus' is set moving the mouse to the text tab pages line would
2904move focus to the first window. Also, the mouse pointer would jump to the
2905active window.
2906
2907In a session file, when an empty buffer is wiped out, do this silently.
2908
2909When one window has the cursor on the last line and another window is resized
2910to make that window smaller, the cursor line could go below the displayed
2911lines. In win_new_height() subtract one from the available space.
2912Also avoid that using "~" lines makes the window scroll down.
2913
2914Mac: When sourcing the "macmap.vim" script and then finding a .vimrc file the
2915'cpo' option isn't set properly, because it was already set and restored.
2916Added the <special> argument to ":map", so that 'cpo' doesn't need to be
2917changed to be able to use <> notation. Also do this for ":menu" for
2918consistency.
2919
2920When using "/encoding=abc" in a spell word list, only "bc" was used.
2921
Bram Moolenaar54a709e2006-05-04 21:57:11 +00002922When 'encoding' and 'printencoding' were both "utf-8" then ":hardcopy" didn't
2923work. (Mike Williams)
2924
2925Mac: When building with "--disable-gui" the install directory would still be
2926"/Applications" and Vim.app would be installed. Now install in /usr/local as
2927usual for a console application.
2928
2929GUI: when doing completion and there is one match and still searching for
2930another, the cursor was displayed at the end of the line instead of after the
2931match. Now show the cursor after the match while still searching for matches.
2932
2933GUI: The mouse shape changed on the statusline even when 'mouse' was empty and
2934they can't be dragged..
2935
2936GTK2: Selecting a button in the confirm() dialog with Tab or cursor keys and
2937hitting Enter didn't select that button. Removed GTK 1 specific code. (Neil
2938Bird)
2939
2940When evaluating 'balloonexpr' takes a long time it could be called
2941recursively, which could cause a crash.
2942
2943exists() could not be used to detect whether ":2match" is supported. Added a
2944check for it specifically.
2945
Bram Moolenaar96351572006-05-05 21:16:59 +00002946GTK1: Tab page labels didn't work. (Yegappan Lakshmanan)
2947
2948Insert mode completion: When finding matches use 'ignorecase', but when adding
2949matches to the list don't use it, so that all words with different case are
2950added, "word", "Word" and "WORD".
2951
2952When 'cursorline' and 'hlsearch' are set and the search pattern is "x\n"
2953the rest of the line was highlighted as a match.
2954
2955Cursor moved while evaluating 'balloonexpr' that invokes ":isearch" and
2956redirects the output. Don't move the cursor to the command line if msg_silent
2957is set.
2958
2959exists() ignored text after a function name and option name, which could
2960result in false positives.
2961
2962exists() ignored characters after the recognized word, which can be wrong when
2963using a name with non-keyword characters. Specifically, these calls no longer
2964allow characters after the name: exists('*funcname') exists('*funcname(...')
2965exists('&option') exists(':cmd') exists('g:name') exists('g:name[n]')
2966exists('g:name.n')
2967
Bram Moolenaar2f567ab2006-05-06 21:47:30 +00002968Trigger the TabEnter autocommand only after entering the current window of the
2969tab page, otherwise the commands are executed with an invalid current window.
2970
2971Win32: When using two monitors and Vim is on the second monitor, changing the
2972width of the Vim window could make it jump to the first monitor.
2973
2974When scrolling back at the more prompt and the quitting a line of text would
2975be left behind when 'cmdheight' is 2 or more.
2976
Bram Moolenaar1423b9d2006-05-07 15:16:06 +00002977Fixed a few things for Insert mode completion, especially when typing BS,
2978CTRL-N or a printable character while still searching for matches.
2979
Bram Moolenaarf193fff2006-04-27 00:02:13 +00002980
Bram Moolenaarc81e5e72007-05-05 18:24:42 +00002981==============================================================================
2982VERSION 7.1 *version-7.1*
2983
2984This section is about improvements made between version 7.0 and 7.1.
2985
2986This is a bug-fix release, there are no fancy new features.
2987
2988
2989Changed *changed-7.1*
2990-------
2991
2992Added setting 'mouse' in vimrc_example.vim.
2993
2994When building with MZscheme also look for include files in the "plt"
2995subdirectory. That's where they are for FreeBSD.
2996
Bram Moolenaar49325942007-05-10 19:19:59 +00002997The Ruby interface module is now called "Vim" instead of "VIM". But "VIM" is
2998an alias, so it's backwards compatible. (Tim Pope)
2999
Bram Moolenaarc81e5e72007-05-05 18:24:42 +00003000
3001Added *added-7.1*
3002-----
3003
3004New syntax files:
Bram Moolenaar49325942007-05-10 19:19:59 +00003005 /var/log/messages (Yakov Lerner)
Bram Moolenaarb2a460d2007-05-12 15:16:37 +00003006 Autohotkey (Nikolai Weibull)
Bram Moolenaarc81e5e72007-05-05 18:24:42 +00003007 AutoIt v3 (Jared Breland)
3008 Bazaar commit file "bzr". (Dmitry Vasiliev)
Bram Moolenaar49325942007-05-10 19:19:59 +00003009 Cdrdao TOC (Nikolai Weibull)
Bram Moolenaarc81e5e72007-05-05 18:24:42 +00003010 Cmusrc (Nikolai Weibull)
Bram Moolenaarb2a460d2007-05-12 15:16:37 +00003011 Conary recipe (rPath Inc)
3012 Framescript (Nikolai Weibull)
Bram Moolenaarc81e5e72007-05-05 18:24:42 +00003013 FreeBasic (Mark Manning)
3014 Hamster (David Fishburn)
3015 IBasic (Mark Manning)
Bram Moolenaarb2a460d2007-05-12 15:16:37 +00003016 Initng (Elan Ruusamae)
Bram Moolenaar49325942007-05-10 19:19:59 +00003017 Ldapconf (Nikolai Weibull)
3018 Litestep (Nikolai Weibull)
Bram Moolenaarb2a460d2007-05-12 15:16:37 +00003019 Privoxy actions file (Doug Kearns)
3020 Streaming Descriptors "sd" (Puria Nafisi Azizi)
Bram Moolenaarc81e5e72007-05-05 18:24:42 +00003021
3022New tutor files:
Bram Moolenaarc81e5e72007-05-05 18:24:42 +00003023 Czech (Lubos Turek)
Bram Moolenaarb2a460d2007-05-12 15:16:37 +00003024 Hungarian (Arpad Horvath)
Bram Moolenaarc81e5e72007-05-05 18:24:42 +00003025 Turkish (Serkan kkk)
3026 utf-8 version of Greek tutor.
3027 utf-8 version of Russian tutor.
3028 utf-8 version of Slowak tutor.
3029
3030New filetype plugins:
3031 Bst (Tim Pope)
3032 Cobol (Tim Pope)
3033 Fvwm (Gautam Iyer)
3034 Hamster (David Fishburn)
3035 Django HTML template (Dave Hodder)
3036
3037New indent files:
3038 Bst (Tim Pope)
3039 Cobol (Tim Pope)
3040 Hamster (David Fishburn)
3041 Django HTML template (Dave Hodder)
3042 Javascript
3043 JSP (David Fishburn)
3044
3045New keymap files:
3046 Bulgarian (Boyko Bantchev)
3047 Mongolian (Natsagdorj Shagdar)
3048 Thaana (Ibrahim Fayaz)
3049 Vietnamese (Samuel Thibault)
3050
3051Other new runtime files:
3052 Ada support files. (Neil Bird, Martin Krischik)
3053 Slovenian menu translations (Mojca Miklavec)
3054 Mono C# compiler plugin (Jarek Sobiecki)
3055
3056
3057Fixed *fixed-7.1*
3058-----
3059
3060Could not build the Win32s version. Added a few structure definitions in
3061src/gui_w32.c
3062
3063
3064Patch 7.0.001
3065Problem: ":set spellsuggest+=10" does not work. (Suresh Govindachar)
3066Solution: Add P_COMMA to the 'spellsuggest' flags.
3067Files: src/option.c
3068
3069Patch 7.0.002
3070Problem: C omni completion has a problem with tags files with a path
3071 containing "#" or "%".
3072Solution: Escape these characters. (Sebastian Baberowski)
3073Files: runtime/autoload/ccomplete.vim
3074
3075Patch 7.0.003
3076Problem: GUI: clicking in the lower part of a label in the tab pages line
3077 while 'mousefocus' is set may warp the mouse pointer. (Robert
3078 Webb)
3079Solution: Check for a negative mouse position.
3080Files: src/gui.c
3081
3082Patch 7.0.004
3083Problem: Compiler warning for debug_saved used before set. (Todd Blumer)
3084Solution: Remove the "else" for calling save_dbg_stuff().
3085Files: src/ex_docmd.c
3086
3087Patch 7.0.005 (extra)
3088Problem: Win32: The installer doesn't remove the "autoload" and "spell"
3089 directories. (David Fishburn)
3090Solution: Add the directories to the list to be removed.
3091Files: nsis/gvim.nsi
3092
3093Patch 7.0.006
3094Problem: Mac: "make shadow" doesn't make a link for infplist.xml. (Axel
3095 Kielhorn)
3096Solution: Make the link.
3097Files: src/Makefile
3098
3099Patch 7.0.007
3100Problem: AIX: compiling fails for message.c. (Ruediger Hornig)
3101Solution: Move the #if outside of memchr().
3102Files: src/message.c
3103
3104Patch 7.0.008
3105Problem: Can't call a function that uses both <SID> and {expr}. (Thomas)
3106Solution: Check both the expanded and unexpanded name for <SID>.
3107Files: src/eval.c
3108
3109Patch 7.0.009
3110Problem: ml_get errors with both 'sidescroll' and 'spell' set.
3111Solution: Use ml_get_buf() instead of ml_get(), get the line from the right
3112 buffer, not the current one.
3113Files: src/spell.c
3114
3115Patch 7.0.010
3116Problem: The spellfile plugin required typing login name and password.
3117Solution: Use "anonymous" and "vim7user" by default. No need to setup a
3118 .netrc file.
3119Files: runtime/autoload/spellfile.vim
3120
3121Patch 7.0.011
3122Problem: Can't compile without the folding and with the eval feature.
3123Solution: Add an #ifdef. (Vallimar)
3124Files: src/option.c
3125
3126Patch 7.0.012
3127Problem: Using the matchparen plugin, moving the cursor in Insert mode to a
3128 shorter line that ends in a brace, changes the preferred column
3129Solution: Use winsaveview()/winrestview() instead of getpos()/setpos().
3130Files: runtime/plugin/matchparen.vim
3131
3132Patch 7.0.013
3133Problem: Insert mode completion: using CTRL-L to add an extra character
3134 also deselects the current match, making it impossible to use
3135 CTRL-L a second time.
3136Solution: Keep the current match. Also make CTRL-L work at the original
3137 text, using the first displayed match.
3138Files: src/edit.c
3139
3140Patch 7.0.014
3141Problem: Compiling gui_xmebw.c fails on Dec Alpha Tru64. (Rolfe)
3142Solution: Disable some code for Motif 1.2 and older.
3143Files: src/gui_xmebw.c
3144
3145Patch 7.0.015
3146Problem: Athena: compilation problems with modern compiler.
3147Solution: Avoid type casts for lvalue. (Alexey Froloff)
3148Files: src/gui_at_fs.c
3149
3150Patch 7.0.016
3151Problem: Printing doesn't work for "dec-mcs" encoding.
3152Solution: Add "dec-mcs", "mac-roman" and "hp-roman8" to the list of
3153 recognized 8-bit encodings. (Mike Williams)
3154Files: src/mbyte.c
3155
3156Patch 7.0.017 (after 7.0.014)
3157Problem: Linking gui_xmebw.c fails on Dec Alpha Tru64. (Rolfe)
3158Solution: Adjust defines for Motif 1.2 and older.
3159Files: src/gui_xmebw.c
3160
3161Patch 7.0.018
3162Problem: VMS: plugins are not loaded on startup.
3163Solution: Remove "**" from the path. (Zoltan Arpadffy)
3164Files: src/main.c
3165
3166Patch 7.0.019
3167Problem: Repeating "VjA789" may cause a crash. (James Vega)
3168Solution: Check the cursor column after moving it to another line.
3169Files: src/ops.c
3170
3171Patch 7.0.020
3172Problem: Crash when using 'mousefocus'. (William Fulton)
3173Solution: Make buffer for mouse coordinates 2 bytes longer. (Juergen Weigert)
3174Files: src/gui.c
3175
3176Patch 7.0.021
3177Problem: Crash when using "\\[" and "\\]" in 'errorformat'. (Marc Weber)
3178Solution: Check for valid submatches after matching the pattern.
3179Files: src/quickfix.c
3180
3181Patch 7.0.022
3182Problem: Using buffer.append() in Ruby may append the line to the wrong
3183 buffer. (Alex Norman)
3184Solution: Properly switch to the buffer to do the appending. Also for
3185 buffer.delete() and setting a buffer line.
3186Files: src/if_ruby.c
3187
3188Patch 7.0.023
3189Problem: Crash when doing spell completion in an empty line and pressing
3190 CTRL-E.
3191Solution: Check for a zero pointer. (James Vega)
3192 Also handle a situation without a matching pattern better, report
3193 "No matches" instead of remaining in undefined CTRL-X mode. And
3194 get out of CTRL-X mode when typing a letter.
3195Files: src/edit.c
3196
3197Patch 7.0.024
3198Problem: It is possible to set arbitrary "v:" variables.
3199Solution: Disallow setting "v:" variables that are not predefined.
3200Files: src/eval.c
3201
3202Patch 7.0.025
3203Problem: Crash when removing an element of a:000. (Nikolai Weibull)
3204Solution: Mark the a:000 list with VAR_FIXED.
3205Files: src/eval.c
3206
3207Patch 7.0.026
3208Problem: Using libcall() may show an old error.
3209Solution: Invoke dlerror() to clear a previous error. (Yukihiro Nakadaira)
3210Files: src/os_unix.c
3211
3212Patch 7.0.027 (extra)
3213Problem: Win32: When compiled with SNIFF gvim may hang on exit.
3214Solution: Translate and dispatch the WM_USER message. (Mathias Michaelis)
3215Files: src/gui_w48.c
3216
3217Patch 7.0.028 (extra)
3218Problem: OS/2: Vim doesn't compile with gcc 3.2.1.
3219Solution: Add argument to after_pathsep(), don't define vim_handle_signal(),
3220 define HAVE_STDARG_H. (David Sanders)
3221Files: src/os_unix.c, src/vim.h, src/os_os2_cfg.h
3222
3223Patch 7.0.029
3224Problem: getchar() may not position the cursor after a space.
3225Solution: Position the cursor explicitly.
3226Files: src/eval.c
3227
3228Patch 7.0.030
3229Problem: The ":compiler" command can't be used in a FileChangedRO event.
3230 (Hari Krishna Dara)
3231Solution: Add the CMDWIN flag to the ":compiler" command.
3232Files: src/ex_cmds.h
3233
3234Patch 7.0.031
3235Problem: When deleting a buffer the buffer-local mappings for Select mode
3236 remain.
3237Solution: Add the Select mode bit to MAP_ALL_MODES. (Edwin Steiner)
3238Files: src/vim.h
3239
3240Patch 7.0.032 (extra, after 7.0.027)
3241Problem: Missing semicolon.
3242Solution: Add the semicolon.
3243Files: src/gui_w48.c
3244
3245Patch 7.0.033
3246Problem: When pasting text, with the menu or CTRL-V, autoindent is removed.
3247Solution: Use "x<BS>" to avoid indent to be removed. (Benji Fisher)
3248Files: runtime/autoload/paste.vim
3249
3250Patch 7.0.034
3251Problem: After doing completion and typing more characters or using BS
3252 repeating with "." didn't work properly. (Martin Stubenschrott)
3253Solution: Don't put BS and other characters in the redo buffer right away,
3254 do this when finishing completion.
3255Files: src/edit.c
3256
3257Patch 7.0.035
3258Problem: Insert mode completion works when typed but not when replayed from
3259 a register. (Hari Krishna Dara)
3260 Also: Mappings for Insert mode completion don't always work.
3261Solution: When finding a non-completion key in the input don't interrupt
3262 completion when it wasn't typed.
3263 Do use mappings when checking for typeahead while still finding
3264 completions. Avoids that completion is interrupted too soon.
3265 Use "compl_pending" in a different way.
3266Files: src/edit.c
3267
3268Patch 7.0.036
3269Problem: Can't compile with small features and syntax highlighting or the
3270 diff feature.
3271Solution: Define LINE_ATTR whenever syntax highlighting or the diff feature
3272 is enabled.
3273Files: src/screen.c
3274
3275Patch 7.0.037
3276Problem: Crash when resizing the GUI window vertically when there is a line
3277 that doesn't fit.
3278Solution: Don't redraw while the screen data is invalid.
3279Files: src/screen.c
3280
3281Patch 7.0.038
3282Problem: When calling complete() from an Insert mode expression mapping
3283 text could be inserted in an improper way.
3284Solution: Make undo_allowed() global and use it in complete().
3285Files: src/undo.c, src/proto/undo.pro, src/eval.c
3286
3287Patch 7.0.039
3288Problem: Calling inputdialog() with a third argument in the console doesn't
3289 work.
3290Solution: Make a separate function for input() and inputdialog(). (Yegappan
3291 Lakshmanan)
3292Files: src/eval.c
3293
3294Patch 7.0.040
3295Problem: When 'cmdheight' is larger than 1 using inputlist() or selecting
3296 a spell suggestion with the mouse gets the wrong entry.
3297Solution: Start listing the first alternative on the last line of the screen.
3298Files: src/eval.c, src/spell.c
3299
3300Patch 7.0.041
3301Problem: cursor([1, 1]) doesn't work. (Peter Hodge)
3302Solution: Allow leaving out the third item of the list and use zero for the
3303 virtual column offset.
3304Files: src/eval.c
3305
3306Patch 7.0.042
3307Problem: When pasting a block of text in Insert mode Vim hangs or crashes.
3308 (Noam Halevy)
3309Solution: Avoid that the cursor is positioned past the NUL of a line.
3310Files: src/ops.c
3311
3312Patch 7.0.043
3313Problem: Using "%!" at the start of 'statusline' doesn't work.
3314Solution: Recognize the special item when the option is being set.
3315Files: src/option.c
3316
3317Patch 7.0.044
3318Problem: Perl: setting a buffer line in another buffer may result in
3319 changing the current buffer.
3320Solution: Properly change to the buffer to be changed.
3321Files: src/if_perl.xs
3322
3323Patch 7.0.045 (extra)
3324Problem: Win32: Warnings when compiling OLE version with MSVC 2005.
3325Solution: Move including vim.h to before windows.h. (Ilya Bobir)
3326Files: src/if_ole.cpp
3327
3328Patch 7.0.046
3329Problem: The matchparen plugin ignores parens in strings, but not in single
3330 quotes, often marked with "character".
3331Solution: Also ignore parens in syntax items matching "character".
3332Files: runtime/plugin/matchparen.vim
3333
3334Patch 7.0.047
3335Problem: When running configure the exit status is wrong.
3336Solution: Handle the exit status properly. (Matthew Woehlke)
3337Files: configure, src/configure
3338
3339Patch 7.0.048
3340Problem: Writing a compressed file fails when there are parens in the name.
3341 (Wang Jian)
3342Solution: Put quotes around the temp file name.
3343Files: runtime/autoload/gzip.vim
3344
3345Patch 7.0.049
3346Problem: Some TCL scripts are not recognized. (Steven Atkinson)
3347Solution: Check for "exec wish" in the file.
3348Files: runtime/scripts.vim
3349
3350Patch 7.0.050
3351Problem: After using the netbeans interface close command a stale pointer
3352 may be used.
3353Solution: Clear the pointer to the closed buffer. (Xaview de Gaye)
3354Files: src/netbeans.c
3355
3356Patch 7.0.051 (after 7.0.44)
3357Problem: The Perl interface doesn't compile or doesn't work properly.
3358Solution: Remove the spaces before #ifdef and avoid an empty line above it.
3359Files: src/if_perl.xs
3360
3361Patch 7.0.052
3362Problem: The user may not be aware that the Vim server allows others more
3363 functionality than desired.
3364Solution: When running Vim as root don't become a Vim server without an
3365 explicit --servername argument.
3366Files: src/main.c
3367
3368Patch 7.0.053
3369Problem: Shortening a directory name may fail when there are multi-byte
3370 characters.
3371Solution: Copy the correct bytes. (Titov Anatoly)
3372Files: src/misc1.c
3373
3374Patch 7.0.054
3375Problem: Mac: Using a menu name that only has a mnemonic or accelerator
3376 causes a crash. (Elliot Shank)
3377Solution: Check for an empty menu name. Also delete empty submenus that
3378 were created before detecting the error.
3379Files: src/menu.c
3380
3381Patch 7.0.055
3382Problem: ":startinsert" in a CmdwinEnter autocommand doesn't take immediate
3383 effect. (Bradley White)
3384Solution: Put a NOP key in the typeahead buffer. Also avoid that using
3385 CTRL-C to go back to the command line moves the cursor left.
3386Files: src/edit.c, src/ex_getln.c
3387
3388Patch 7.0.056
3389Problem: "#!something" gives an error message.
3390Solution: Ignore this line, so that it can be used in an executable Vim
3391 script.
3392Files: src/ex_docmd.c
3393
3394Patch 7.0.057 (extra, after 7.0.45)
3395Problem: Win32: Compilation problem with Borland C 5.5.
3396Solution: Include vim.h as before. (Mark S. Williams)
3397Files: src/if_ole.cpp
3398
3399Patch 7.0.058
Bram Moolenaarc236c162008-07-13 17:41:49 +00003400Problem: The gbk and gb18030 encodings are not recognized.
Bram Moolenaarc81e5e72007-05-05 18:24:42 +00003401Solution: Add aliases to cp936. (Edward L. Fox)
3402Files: src/mbyte.c
3403
3404Patch 7.0.059
3405Problem: The Perl interface doesn't compile with ActiveState Perl 5.8.8.
3406Solution: Remove the __attribute__() items. (Liu Yubao)
3407Files: src/if_perl.xs
3408
3409Patch 7.0.060 (after 7.0.51)
3410Problem: Code for temporarily switching to another buffer is duplicated in
3411 quite a few places.
3412Solution: Use aucmd_prepbuf() and aucmd_restbuf() also when FEAT_AUTOCMD is
3413 not defined.
3414Files: src/buffer.c, src/eval.c, src/fileio.c, src/if_ruby.c,
3415 src/if_perl.xs, src/quickfix.c, src/structs.h
3416
3417Patch 7.0.061
3418Problem: Insert mode completion for Vim commands may crash if there is
3419 nothing to complete.
3420Solution: Instead of freeing the pattern make it empty, so that a "not
3421 found" error is given. (Yukihiro Nakadaira)
3422Files: src/edit.c
3423
3424Patch 7.0.062
3425Problem: Mac: Crash when using the popup menu for spell correction. The
3426 popup menu appears twice when letting go of the right mouse button
3427 early.
3428Solution: Don't show the popup menu on the release of the right mouse
3429 button. Also check that a menu pointer is actually valid.
3430Files: src/proto/menu.pro, src/menu.c, src/normal.c, src/term.c
3431
3432Patch 7.0.063
3433Problem: Tiny chance for a memory leak. (coverity)
3434Solution: Free pointer when next memory allocation fails.
3435Files: src/eval.c
3436
3437Patch 7.0.064
3438Problem: Using uninitialized variable. (Tony Mechelynck)
3439Solution: When not used set "temp" to zero. Also avoid a warning for
3440 "files" in ins_compl_dictionaries().
3441Files: src/edit.c
3442
3443Patch 7.0.065 (extra)
3444Problem: Mac: left-right movement of the scrollwheel causes up-down
3445 scrolling.
3446Solution: Ignore mouse wheel events that are not up-down. (Nicolas Weber)
3447Files: src/gui_mac.c
3448
3449Patch 7.0.066
3450Problem: After the popup menu for Insert mode completion overlaps the tab
3451 pages line it is not completely removed.
3452Solution: Redraw the tab pages line after removing the popup menu. (Ori
3453 Avtalion)
3454Files: src/popupmnu.c
3455
3456Patch 7.0.067
3457Problem: Undo doesn't always work properly when using "scim" input method.
3458 Undo is split up when using preediting.
3459Solution: Reset xim_has_preediting also when preedit_start_col is not
3460 MAXCOL. Don't split undo when <Left> is used while preediting.
3461 (Yukihiro Nakadaira)
3462Files: src/edit.c, src/mbyte.c
3463
3464Patch 7.0.068
3465Problem: When 'ignorecase' is set and using Insert mode completion,
3466 typing characters to change the list of matches, case is not
3467 ignored. (Hugo Ahlenius)
3468Solution: Store the 'ignorecase' flag with the matches where needed.
3469Files: src/edit.c, src/search.c, src/spell.c
3470
3471Patch 7.0.069
3472Problem: Setting 'guitablabel' to %!expand(\%) causes Vim to free an
3473 invalid pointer. (Kim Schulz)
3474Solution: Don't try freeing a constant string pointer.
3475Files: src/buffer.c
3476
3477Patch 7.0.070
3478Problem: Compiler warnings for shadowed variables and uninitialized
3479 variables.
3480Solution: Rename variables such as "index", "msg" and "dup". Initialize
3481 variables.
3482Files: src/edit.c, src/eval.c, src/ex_cmds.c, src/ex_cmds2.c,
3483 src/ex_docmd.c, src/gui_beval.c, src/gui_gtk.c, src/gui_gtk_x11.c,
3484 src/hardcopy.c, src/if_cscope.c, src/main.c, src/mbyte.c,
3485 src/memline.c, src/netbeans.c, src/normal.c, src/option.c,
3486 src/os_unix.c, src/quickfix.c, src/regexp.c, src/screen.c,
3487 src/search.c, src/spell.c, src/ui.c, src/undo.c, src/window.c,
3488 src/version.c
3489
3490Patch 7.0.071
3491Problem: Using an empty search pattern may cause a crash.
3492Solution: Avoid using a NULL pointer.
3493Files: src/search.c
3494
3495Patch 7.0.072
3496Problem: When starting the GUI fails there is no way to adjust settings or
3497 do something else.
3498Solution: Add the GUIFailed autocommand event.
3499Files: src/fileio.c, src/gui.c, src/vim.h
3500
3501Patch 7.0.073
3502Problem: Insert mode completion: Typing <CR> sometimes selects the original
3503 text instead of keeping what was typed. (Justin Constantino)
3504Solution: Don't let <CR> select the original text if there is no popup menu.
3505Files: src/edit.c
3506
3507Patch 7.0.074 (extra)
3508Problem: Win32: tooltips were not converted from 'encoding' to Unicode.
3509Solution: Set the tooltip to use Unicode and do the conversion. Also
3510 cleanup the code for the tab pages tooltips. (Yukihiro Nakadaira)
3511Files: src/gui_w32.c, src/gui_w48.c
3512
3513Patch 7.0.075
3514Problem: winsaveview() did not store the actual value of the desired cursor
3515 column. This could move the cursor in the matchparen plugin.
3516Solution: Call update_curswant() before using the value w_curswant.
3517Files: src/eval.c
3518
3519Patch 7.0.076 (after 7.0.010)
3520Problem: Automatic downloading of spell files only works for ftp.
3521Solution: Don't add login and password for non-ftp URLs. (Alexander Patrakov)
3522Files: runtime/autoload/spellfile.vim
3523
3524Patch 7.0.077
3525Problem: ":unlet v:this_session" causes a crash. (Marius Roets)
3526Solution: When trying to unlet a fixed variable give an error message.
3527Files: src/eval.c
3528
3529Patch 7.0.078
3530Problem: There are two error messages E46.
3531Solution: Change the number for the sandbox message to E794.
3532Files: src/globals.h
3533
3534Patch 7.0.079
3535Problem: Russian tutor doesn't work when 'encoding' is "utf-8".
3536Solution: Use tutor.ru.utf-8 as the master, and generate the other encodings
3537 from it. Select the right tutor depending on 'encoding'. (Alexey
3538 Froloff)
3539Files: runtime/tutor/Makefile, runtime/tutor/tutor.vim,
3540 runtime/tutor/tutor.ru.utf-8
3541
3542Patch 7.0.080
3543Problem: Generating auto/pathdef.c fails for CFLAGS with a backslash.
3544Solution: Double backslashes in the string. (Alexey Froloff)
3545Files: src/Makefile
3546
3547Patch 7.0.081
3548Problem: Command line completion doesn't work for a shell command with an
3549 absolute path.
3550Solution: Don't use $PATH when there is an absolute path.
3551Files: src/ex_getln.c
3552
3553Patch 7.0.082
3554Problem: Calling a function that waits for input may cause List and
3555 Dictionary arguments to be freed by the garbage collector.
3556Solution: Keep a list of all arguments to internal functions.
3557Files: src/eval.c
3558
3559Patch 7.0.083
3560Problem: Clicking with the mouse on an item for inputlist() doesn't work
3561 when 'compatible' is set and/or when 'cmdheight' is more than one.
3562 (Christian J. Robinson)
3563Solution: Also decrement "lines_left" when 'more' isn't set. Set
3564 "cmdline_row" to zero to get all mouse events.
3565Files: src/message.c, src/misc1.c
3566
3567Patch 7.0.084
3568Problem: The garbage collector may do its work while some Lists or
3569 Dictionaries are used internally, e.g., by ":echo" that runs into
3570 the more-prompt or ":echo [garbagecollect()]".
3571Solution: Only do garbage collection when waiting for a character at the
3572 toplevel. Let garbagecollect() set a flag that is handled at the
3573 toplevel before waiting for a character.
3574Files: src/eval.c, src/getchar.c, src/globals.h, src/main.c
3575
3576Patch 7.0.085
3577Problem: When doing "make test" the viminfo file is modified.
3578Solution: Use another viminfo file after setting 'compatible.
3579Files: src/testdir/test56.in
3580
3581Patch 7.0.086
3582Problem: getqflist() returns entries for pattern and text with the number
3583 zero. Passing these to setqflist() results in the string "0".
3584Solution: Use an empty string instead of the number zero.
3585Files: src/quickfix.c
3586
3587Patch 7.0.087
3588Problem: After ":file fname" and ":saveas fname" the 'autochdir' option
3589 does not take effect. (Yakov Lerner)
3590 Commands for handling 'autochdir' are repeated many times.
3591Solution: Add the DO_AUTOCHDIR macro and do_autochdir(). Use it for
3592 ":file fname" and ":saveas fname".
3593Files: src/proto/buffer.pro, src/buffer.c, src/ex_cmds.c, src/macros.h,
3594 src/netbeans.c, src/option.c, src/window.c
3595
3596Patch 7.0.088
3597Problem: When compiled with Perl the generated prototypes have "extern"
3598 unnecessarily added.
3599Solution: Remove the "-pipe" argument from PERL_CFLAGS.
3600Files: src/auto/configure, src/configure.in
3601
3602Patch 7.0.089
3603Problem: "ga" does not work properly for a non-Unicode multi-byte encoding.
3604Solution: Only check for composing chars for utf-8. (Taro Muraoka)
3605Files: src/ex_cmds.c
3606
3607Patch 7.0.090
3608Problem: Cancelling the conform() dialog on the console with Esc requires
3609 typing it twice. (Benji Fisher)
3610Solution: When the start of an escape sequence is found use 'timeoutlen' or
3611 'ttimeoutlen'.
3612Files: src/misc1.c
3613
3614Patch 7.0.091
3615Problem: Using winrestview() while 'showcmd' is set causes the cursor to be
3616 displayed in the wrong position. (Yakov Lerner)
3617Solution: Set the window topline properly.
3618Files: src/eval.c
3619
3620Patch 7.0.092 (after 7.0.082 and 7.0.084)
3621Problem: The list of internal function arguments is obsolete now that
3622 garbage collection is only done at the toplevel.
3623Solution: Remove the list of all arguments to internal functions.
3624Files: src/eval.c
3625
3626Patch 7.0.093
3627Problem: The matchparen plugin can't handle a 'matchpairs' value where a
3628 colon is matched.
3629Solution: Change the split() that is used to change 'matchpairs' into a
3630 List.
3631Files: runtime/plugin/matchparen.vim
3632
3633Patch 7.0.094
3634Problem: When a hidden buffer is made the current buffer and another file
3635 edited later, the file message will still be given. Using
3636 ":silent" also doesn't prevent the file message. (Marvin Renich)
3637Solution: Reset the need_fileinfo flag when reading a file. Don't set
3638 need_fileinfo when msg_silent is set.
3639Files: src/buffer.c, src/fileio.c
3640
3641Patch 7.0.095
3642Problem: The Greek tutor is not available in utf-8. "el" is used for the
3643 language, only "gr" for the country is recognized.
3644Solution: Add the utf-8 Greek tutor. Use it for conversion to iso-8859-7
3645 and cp737. (Lefteris Dimitroulakis)
3646Files: runtime/tutor/Makefile, runtime/tutor/tutor.gr.utf-8,
3647 runtime/tutor/tutor.vim
3648
3649Patch 7.0.096
3650Problem: taglist() returns the filename relative to the tags file, while
3651 the directory of the tags file is unknown. (Hari Krishna Dara)
3652Solution: Expand the file name. (Yegappan Lakshmanan)
3653Files: src/tag.c
3654
3655Patch 7.0.097
3656Problem: ":tabclose N" that closes another tab page does not remove the tab
3657 pages line. Same problem when using the mouse.
3658Solution: Adjust the tab pages line when needed in tabpage_close_other().
3659Files: src/ex_docmd.c
3660
3661Patch 7.0.098
3662Problem: Redirecting command output in a cmdline completion function
3663 doesn't work. (Hari Krishna Dara)
3664Solution: Enable redirection when redirection is started.
3665Files: src/ex_docmd.c, src/ex_getln.c
3666
3667Patch 7.0.099
3668Problem: GUI: When the popup menu is visible using the scrollbar messes up
3669 the display.
3670Solution: Disallow scrolling the current window. Redraw the popup menu
3671 after scrolling another window.
3672Files: src/gui.c
3673
3674Patch 7.0.100
3675Problem: "zug" may report the wrong filename. (Lawrence Kesteloot)
3676Solution: Call home_replace() to fill NameBuff[].
3677Files: src/spell.c
3678
3679Patch 7.0.101
3680Problem: When the "~/.vim/spell" directory does not exist "zg" may create
3681 a wrong directory. "zw" doesn't work.
3682Solution: Use the directory of the file name instead of NameBuff. For "zw"
3683 not only remove a good word but also add the word with "!".
3684Files: src/spell.c
3685
3686Patch 7.0.102
3687Problem: Redrawing cmdline is not correct when using SCIM.
3688Solution: Don't call im_get_status(). (Yukihiro Nakadaira)
3689Files: src/ex_getln.c
3690
3691Patch 7.0.103 (after 7.0.101)
3692Problem: Compiler warning for uninitialized variable. (Tony Mechelynck)
3693Solution: Init variable.
3694Files: src/spell.c
3695
3696Patch 7.0.104
3697Problem: The CursorHoldI event only triggers once in Insert mode. It also
3698 triggers after CTRL-V and other two-key commands.
3699Solution: Set "did_cursorhold" before getting a second key. Reset
3700 "did_cursorhold" after handling a command.
3701Files: src/edit.c, src/fileio.c
3702
3703Patch 7.0.105
3704Problem: When using incremental search the statusline ruler isn't updated.
3705 (Christoph Koegl)
3706Solution: Update the statusline when it contains the ruler.
3707Files: src/ex_getln.c
3708
3709Patch 7.0.106
3710Problem: The spell popup menu uses ":amenu", triggering mappings. Other
3711 PopupMenu autocommands are removed. (John Little)
3712Solution: Use ":anoremenu" and use an autocmd group.
3713Files: runtime/menu.vim
3714
3715Patch 7.0.107
3716Problem: Incremental search doesn't redraw the text tabline. (Ilya Bobir)
3717 Also happens in other situations with one window in a tab page.
3718Solution: Redraw the tabline after clearing the screen.
3719Files: src/screen.c
3720
3721Patch 7.0.108 (extra)
3722Problem: Amiga: Compilation problem.
3723Solution: Have mch_mkdir() return a failure flag. (Willy Catteau)
3724Files: src/os_amiga.c, src/proto/os_amiga.pro
3725
3726Patch 7.0.109
3727Problem: Lisp indenting is confused by escaped quotes in strings. (Dorai
3728 Sitaram)
3729Solution: Check for backslash inside strings. (Sergey Khorev)
3730Files: src/misc1.c
3731
3732Patch 7.0.110
3733Problem: Amiga: Compilation problems when not using libnix.
3734Solution: Change a few #ifdefs. (Willy Catteau)
3735Files: src/memfile.c
3736
3737Patch 7.0.111
3738Problem: The gzip plugin can't handle filenames with single quotes.
3739Solution: Add and use the shellescape() function. (partly by Alexey Froloff)
3740Files: runtime/autoload/gzip.vim, runtime/doc/eval.txt, src/eval.c,
3741 src/mbyte.c, src/misc2.c, src/proto/misc2.pro
3742
3743Patch 7.0.112
3744Problem: Python interface does not work with Python 2.5.
3745Solution: Change PyMem_DEL() to Py_DECREF(). (Sumner Hayes)
3746Files: src/if_python.c
3747
3748Patch 7.0.113
3749Problem: Using CTRL-L in Insert completion when there is no current match
3750 may cause a crash. (Yukihiro Nakadaira)
3751Solution: Check for compl_leader to be NULL
3752Files: src/edit.c
3753
3754Patch 7.0.114
3755Problem: When aborting an insert with CTRL-C an extra undo point is
3756 created in the GUI. (Yukihiro Nakadaira)
3757Solution: Call gotchars() only when advancing.
3758Files: src/getchar.c
3759
3760Patch 7.0.115
3761Problem: When 'ignorecase' is set, Insert mode completion only adds "foo"
3762 and not "Foo" when both are found.
3763 A found match isn't displayed right away when 'completeopt' does
3764 not have "menu" or "menuone".
3765Solution: Do not ignore case when checking if a completion match already
3766 exists. call ins_compl_check_keys() also when not using a popup
3767 menu. (Yukihiro Nakadaira)
3768Files: src/edit.c
3769
3770Patch 7.0.116
3771Problem: 64 bit Windows version reports "32 bit" in the ":version" output.
3772 (M. Veerman)
3773Solution: Change the text for Win64.
3774Files: src/version.c
3775
3776Patch 7.0.117
3777Problem: Using "extend" on a syntax item inside a region with "keepend", an
3778 intermediate item may be truncated.
3779 When applying the "keepend" and there is an offset to the end
3780 pattern the highlighting of a contained item isn't adjusted.
3781Solution: Use the seen_keepend flag to remember when to apply the "keepend"
3782 flag. Adjust the keepend highlighting properly. (Ilya Bobir)
3783Files: src/syntax.c
3784
3785Patch 7.0.118
3786Problem: printf() does not do zero padding for strings.
3787Solution: Do allow zero padding for strings.
3788Files: src/message.c
3789
3790Patch 7.0.119
3791Problem: When going back from Insert to Normal mode the CursorHold event
3792 doesn't trigger. (Yakov Lerner)
3793Solution: Reset "did_cursorhold" when leaving Insert mode.
3794Files: src/edit.c
3795
3796Patch 7.0.120
3797Problem: Crash when using CTRL-R = at the command line and entering
3798 "getreg('=')". (James Vega)
3799Solution: Avoid recursiveness of evaluating the = register.
3800Files: src/ops.c
3801
3802Patch 7.0.121
3803Problem: GUI: Dragging the last status line doesn't work when there is a
3804 text tabline. (Markus Wolf)
3805Solution: Take the text tabline into account when deciding to start modeless
3806 selection.
3807Files: src/gui.c
3808
3809Patch 7.0.122
3810Problem: GUI: When clearing after a bold, double-wide character half a
3811 character may be drawn.
3812Solution: Check for double-wide character and redraw it. (Yukihiro Nakadaira)
3813Files: src/screen.c
3814
3815Patch 7.0.123
3816Problem: On SCO Openserver configure selects the wrong terminal library.
3817Solution: Put terminfo before the other libraries. (Roger Cornelius)
3818 Also fix a small problem compiling on Mac without Darwin.
3819Files: src/configure.in, src/auto/configure
3820
3821Patch 7.0.124
3822Problem: getwinvar() obtains a dictionary with window-local variables, but
3823 it's always for the current window.
3824Solution: Get the variables of the specified window. (Geoff Reedy)
3825Files: src/eval.c
3826
3827Patch 7.0.125
3828Problem: When "autoselect" is in the 'clipboard' option then the '< and '>
3829 marks are set while Visual mode is still active.
3830Solution: Don't set the '< and '> marks when yanking the selected area for
3831 the clipboard.
3832Files: src/normal.c
3833
3834Patch 7.0.126
3835Problem: When 'formatexpr' uses setline() and later internal formatting is
3836 used undo information is not correct. (Jiri Cerny, Benji Fisher)
3837Solution: Set ins_need_undo after using 'formatexpr'.
3838Files: src/edit.c
3839
3840Patch 7.0.127
3841Problem: Crash when swap files has invalid timestamp.
3842Solution: Check return value of ctime() for being NULL.
3843Files: src/memline.c
3844
3845Patch 7.0.128
3846Problem: GUI: when closing gvim is cancelled because there is a changed
3847 buffer the screen isn't updated to show the changed buffer in the
3848 current window. (Krzysztof Kacprzak)
3849Solution: Redraw when closing gvim is cancelled.
3850Files: src/gui.c
3851
3852Patch 7.0.129
3853Problem: GTK GUI: the GTK file dialog can't handle a relative path.
3854Solution: Make the initial directory a full path before passing it to GTK.
3855 (James Vega) Also postpone adding the default file name until
3856 after setting the directory.
3857Files: src/gui_gtk.c
3858
3859Patch 7.0.130 (extra)
3860Problem: Win32: Trying to edit or write devices may cause Vim to get stuck.
3861Solution: Add the 'opendevice' option, default off. Disallow
3862 reading/writing from/to devices when it's off.
3863 Also detect more devices by the full name starting with "\\.\".
3864Files: runtime/doc/options.txt, src/fileio.c, src/option.c, src/option.h,
3865 src/os_win32.c
3866
3867Patch 7.0.131
3868Problem: Win32: "vim -r" does not list all the swap files.
3869Solution: Also check for swap files starting with a dot.
3870Files: src/memline.c
3871
3872Patch 7.0.132 (after 7.0.130)
3873Problem: Win32: Crash when Vim reads from stdin.
3874Solution: Only use mch_nodetype() when there is a file name.
3875Files: src/fileio.c
3876
3877Patch 7.0.133
3878Problem: When searching included files messages are added to the history.
3879Solution: Set msg_hist_off for messages about scanning included files.
3880 Set msg_silent to avoid message about wrapping around.
3881Files: src/edit.c, src/globals.h, src/message.c, src/search.c
3882
3883Patch 7.0.134
3884Problem: Crash when comparing a recursively looped List or Dictionary.
3885Solution: Limit recursiveness for comparing to 1000.
3886Files: src/eval.c
3887
3888Patch 7.0.135
3889Problem: Crash when garbage collecting list or dict with loop.
3890Solution: Don't use DEL_REFCOUNT but don't recurse into Lists and
3891 Dictionaries when freeing them in the garbage collector.
3892 Also add allocated Dictionaries to the list of Dictionaries to
3893 avoid leaking memory.
3894Files: src/eval.c, src/proto/eval.pro, src/tag.c
3895
3896Patch 7.0.136
3897Problem: Using "O" while matching parens are highlighted may not remove the
3898 highlighting. (Ilya Bobir)
3899Solution: Also trigger CursorMoved when a line is inserted under the cursor.
3900Files: src/misc1.c
3901
3902Patch 7.0.137
3903Problem: Configure check for big features is wrong.
3904Solution: Change "==" to "=". (Martti Kuparinen)
3905Files: src/auto/configure, src/configure.in
3906
3907Patch 7.0.138 (extra)
3908Problem: Mac: modifiers don't work with function keys.
3909Solution: Use GetEventParameter() to obtain modifiers. (Nicolas Weber)
3910Files: src/gui_mac.c
3911
3912Patch 7.0.139
3913Problem: Using CTRL-PageUp or CTRL-PageDown in Insert mode to go to another
3914 tab page does not prepare for undo properly. (Stefano Zacchiroli)
3915Solution: Call start_arrow() before switching tab page.
3916Files: src/edit.c
3917
3918Patch 7.0.140 (after 7.0.134)
3919Problem: Comparing recursively looped List or Dictionary doesn't work well.
3920Solution: Detect comparing a List or Dictionary with itself.
3921Files: src/eval.c
3922
3923Patch 7.0.141
3924Problem: When pasting a while line on the command line an extra CR is added
3925 literally.
3926Solution: Don't add the trailing CR when pasting with the mouse.
3927Files: src/ex_getln.c, src/proto/ops.pro, src/ops.c
3928
3929Patch 7.0.142
3930Problem: Using the middle mouse button in Select mode to paste text results
3931 in an extra "y". (Kriton Kyrimis)
3932Solution: Let the middle mouse button replace the selected text with the
3933 contents of the clipboard.
3934Files: src/normal.c
3935
3936Patch 7.0.143
3937Problem: Setting 'scroll' to its default value was not handled correctly.
3938Solution: Compare the right field to PV_SCROLL.
3939Files: src/option.c
3940
3941Patch 7.0.144
3942Problem: May compare two unrelated pointers when matching a pattern against
3943 a string. (Dominique Pelle)
3944Solution: Avoid calling reg_getline() when REG_MULTI is false.
3945Files: src/regexp.c
3946
3947Patch 7.0.145 (after 7.0.142)
3948Problem: Compiler warning.
3949Solution: Add type cast.
3950Files: src/normal.c
3951
3952Patch 7.0.146
3953Problem: When 'switchbuf' is set to "usetab" and the current tab has only a
3954 quickfix window, jumping to an error always opens a new window.
3955 Also, when the buffer is open in another tab page it's not found.
3956Solution: Check for the "split" value of 'switchbuf' properly. Search in
3957 other tab pages for the desired buffer. (Yegappan Lakshmanan)
3958Files: src/buffer.c, src/quickfix.c
3959
3960Patch 7.0.147
3961Problem: When creating a session file and there are several tab pages and
3962 some windows have a local directory a short file name may be used
3963 when it's not valid. (Marius Roets)
3964 A session with multiple tab pages may result in "No Name" buffers.
3965 (Bill McCarthy)
3966Solution: Don't enter tab pages when going through the list, only use a
3967 pointer to the first window in each tab page.
3968 Use "tabedit" instead of "tabnew | edit" when possible.
3969Files: src/ex_docmd.c
3970
3971Patch 7.0.148
3972Problem: When doing "call a.xyz()" and "xyz" does not exist in dictionary
3973 "a" there is no error message. (Yegappan Lakshmanan)
3974Solution: Add the error message.
3975Files: src/eval.c
3976
3977Patch 7.0.149
3978Problem: When resizing a window that shows "~" lines the text sometimes
3979 jumps down.
3980Solution: Remove code that uses "~" lines in some situations. Fix the
3981 computation of the screen line of the cursor. Also set w_skipcol
3982 to handle very long lines.
3983Files: src/misc1.c, src/window.c
3984
3985Patch 7.0.150
3986Problem: When resizing the Vim window scrollbinding doesn't work. (Yakov
3987 Lerner)
3988Solution: Do scrollbinding in set_shellsize().
3989Files: src/term.c
3990
3991Patch 7.0.151
3992Problem: Buttons in file dialog are not according to Gnome guidelines.
3993Solution: Swap Cancel and Open buttons. (Stefano Zacchiroli)
3994Files: src/gui_gtk.c
3995
3996Patch 7.0.152
3997Problem: Crash when using lesstif 2.
3998Solution: Fill in the extension field. (Ben Hutchings)
3999Files: src/gui_xmebw.c
4000
4001Patch 7.0.153
4002Problem: When using cscope and opening the temp file fails Vim crashes.
4003 (Kaya Bekiroglu)
4004Solution: Check for NULL pointer returned from mch_open().
4005Files: src/if_cscope.c
4006
4007Patch 7.0.154
4008Problem: When 'foldnextmax' is negative Vim can hang. (James Vega)
4009Solution: Avoid the fold level becoming negative.
4010Files: src/fold.c, src/syntax.c
4011
4012Patch 7.0.155
4013Problem: When getchar() returns a mouse button click there is no way to get
4014 the mouse coordinates.
4015Solution: Add v:mouse_win, v:mouse_lnum and v:mouse_col.
4016Files: runtime/doc/eval.txt, src/eval.c, src/vim.h
4017
4018Patch 7.0.156 (extra)
4019Problem: Vim doesn't compile for Amiga OS 4.
4020Solution: Various changes for Amiga OS4. (Peter Bengtsson)
4021Files: src/feature.h, src/mbyte.c, src/memfile.c, src/memline.c,
4022 src/os_amiga.c, src/os_amiga.h, src/pty.c
4023
4024Patch 7.0.157
4025Problem: When a function is used recursively the profiling information is
4026 invalid. (Mikolaj Machowski)
4027Solution: Put the start time on the stack instead of in the function.
4028Files: src/eval.c
4029
4030Patch 7.0.158
4031Problem: In a C file with ":set foldmethod=syntax", typing {<CR> on the
4032 last line results in the cursor being in a closed fold. (Gautam
4033 Iyer)
4034Solution: Open fold after inserting a new line.
4035Files: src/edit.c
4036
4037Patch 7.0.159
4038Problem: When there is an I/O error in the swap file the cause of the error
4039 cannot be seen.
4040Solution: Use PERROR() instead of EMSG() where possible.
4041Files: src/memfile.c
4042
4043Patch 7.0.160
4044Problem: ":@a" echoes the command, Vi doesn't do that.
4045Solution: Set the silent flag in the typeahead buffer to avoid echoing the
4046 command.
4047Files: src/ex_docmd.c, src/normal.c, src/ops.c, src/proto/ops.pro
4048
4049Patch 7.0.161
4050Problem: Win32: Tab pages line popup menu isn't using the right encoding.
4051 (Yongwei Wu)
4052Solution: Convert the text when necessary. Also fixes the Find/Replace
4053 dialog title. (Yegappan Lakshmanan)
4054Files: src/gui_w48.c
4055
4056Patch 7.0.162
4057Problem: "vim -o a b" when file "a" triggers the ATTENTION dialog,
4058 selecting "Quit" exits Vim instead of editing "b" only.
4059 When file "b" triggers the ATTENTION dialog selecting "Quit" or
4060 "Abort" results in editing file "a" in that window.
4061Solution: When selecting "Abort" exit Vim. When selecting "Quit" close the
4062 window. Also avoid hit-enter prompt when selecting Abort.
4063Files: src/buffer.c, src/main.c
4064
4065Patch 7.0.163
4066Problem: Can't retrieve the position of a sign after it was set.
4067Solution: Add the netbeans interface getAnno command. (Xavier de Gaye)
4068Files: runtime/doc/netbeans.txt, src/netbeans.c
4069
4070Patch 7.0.164
4071Problem: ":redir @+" doesn't work.
4072Solution: Accept "@+" just like "@*". (Yegappan Lakshmanan)
4073Files: src/ex_docmd.c
4074
4075Patch 7.0.165
4076Problem: Using CTRL-L at the search prompt adds a "/" and other characters
4077 without escaping, causing the pattern not to match.
4078Solution: Escape special characters with a backslash.
4079Files: src/ex_getln.c
4080
4081Patch 7.0.166
4082Problem: Crash in cscope code when connection could not be opened.
4083 (Kaya Bekiroglu)
4084Solution: Check for the file descriptor to be NULL.
4085Files: src/if_cscope.c
4086
4087Patch 7.0.167
4088Problem: ":function" redefining a dict function doesn't work properly.
4089 (Richard Emberson)
4090Solution: Allow a function name to be a number when it's a function
4091 reference.
4092Files: src/eval.c
4093
4094Patch 7.0.168
4095Problem: Using uninitialized memory and memory leak. (Dominique Pelle)
4096Solution: Use alloc_clear() instead of alloc() for w_lines. Free
4097 b_ml.ml_stack after recovery.
4098Files: src/memline.c, src/window.c
4099
4100Patch 7.0.169
4101Problem: With a Visual block selection, with the cursor in the left upper
4102 corner, pressing "I" doesn't remove the highlighting. (Guopeng
4103 Wen)
4104Solution: When checking if redrawing is needed also check if Visual
4105 selection is still active.
4106Files: src/screen.c
4107
4108Patch 7.0.170 (extra)
4109Problem: Win32: Using "gvim --remote-tab foo" when gvim is minimized while
4110 it previously was maximized, un-maximizing doesn't work properly.
4111 And the labels are not displayed properly when 'encoding' is
4112 utf-8.
4113Solution: When minimized check for SW_SHOWMINIMIZED. When updating the tab
4114 pages line use TCM_SETITEMW instead of TCM_INSERTITEMW. (Liu
4115 Yubao)
4116Files: src/gui_w48.c
4117
4118Patch 7.0.171 (extra)
4119Problem: VMS: A file name with multiple paths is written in the wrong file.
4120Solution: Get the actually used file name. (Zoltan Arpadffy)
4121 Also add info to the :version command about compilation.
4122Files: src/Make_vms.mms, src/buffer.c, src/os_unix.c, src/version.c
4123
4124Patch 7.0.172
4125Problem: Crash when recovering and quitting at the "press-enter" prompt.
4126Solution: Check for "msg_list" to be NULL. (Liu Yubao)
4127Files: src/ex_eval.c
4128
4129Patch 7.0.173
4130Problem: ":call f().TT()" doesn't work. (Richard Emberson)
4131Solution: When a function returns a Dictionary or another composite continue
4132 evaluating what follows.
4133Files: src/eval.c
4134
4135Patch 7.0.174
4136Problem: ":mksession" doesn't restore window layout correctly in tab pages
4137 other than the current one. (Zhibin He)
4138Solution: Use the correct topframe for producing the window layout commands.
4139Files: src/ex_docmd.c
4140
4141Patch 7.0.175
4142Problem: The result of tr() is missing the terminating NUL. (Ingo Karkat)
4143Solution: Add the NUL.
4144Files: src/eval.c
4145
4146Patch 7.0.176
4147Problem: ":emenu" isn't executed directly, causing the encryption key
4148 prompt to fail. (Life Jazzer)
4149Solution: Fix wrong #ifdef.
4150Files: src/menu.c
4151
4152Patch 7.0.177
4153Problem: When the press-enter prompt gets a character from a non-remappable
4154 mapping, it's put back in the typeahead buffer as remappable,
4155 which may cause an endless loop.
4156Solution: Restore the non-remappable flag and the silent flag when putting a
4157 char back in the typeahead buffer.
4158Files: src/getchar.c, src/message.c, src/normal.c
4159
4160Patch 7.0.178
4161Problem: When 'enc' is "utf-8" and 'ignorecase' is set the result of ":echo
4162 ("\xe4" == "\xe4")" varies.
4163Solution: In mb_strnicmp() avoid looking past NUL bytes.
4164Files: src/mbyte.c
4165
4166Patch 7.0.179
4167Problem: Using ":recover" or "vim -r" without a swapfile crashes Vim.
4168Solution: Check for "buf" to be unequal NULL. (Yukihiro Nakadaira)
4169Files: src/memline.c
4170
4171Patch 7.0.180 (extra, after 7.0.171)
4172Problem: VMS: build failed. Problem with swapfiles.
4173Solution: Add "compiled_arch". Always expand path and pass it to
4174 buf_modname(). (Zoltan Arpadffy)
4175Files: src/globals.h, src/memline.c, src/os_unix.c, runtime/menu.vim
4176
4177Patch 7.0.181
4178Problem: When reloading a file that starts with an empty line, the reloaded
4179 buffer has an extra empty line at the end. (Motty Lentzitzky)
4180Solution: Delete all lines, don't use bufempty().
4181Files: src/fileio.c
4182
4183Patch 7.0.182
4184Problem: When using a mix of undo and "g-" it may no longer be possible to
4185 go to every point in the undo tree. (Andy Wokula)
4186Solution: Correctly update pointers in the undo tree.
4187Files: src/undo.c
4188
4189Patch 7.0.183
4190Problem: Crash in ":let" when redirecting to a variable that's being
4191 displayed. (Thomas Link)
4192Solution: When redirecting to a variable only do the assignment when
4193 stopping redirection to avoid that setting the variable causes a
4194 freed string to be accessed.
4195Files: src/eval.c
4196
4197Patch 7.0.184
4198Problem: When the cscope program is called "mlcscope" the Cscope interface
4199 doesn't work.
4200Solution: Accept "\S*cscope:" instead of "cscope:". (Frodak D. Baksik)
4201Files: src/if_cscope.c
4202
4203Patch 7.0.185
4204Problem: Multi-byte characters in a message are displayed with attributes
4205 from what comes before it.
4206Solution: Don't use the attributes for a multi-byte character. Do use
4207 attributes for special characters. (Yukihiro Nakadaira)
4208Files: src/message.c
4209
4210Patch 7.0.186
4211Problem: Get an ml_get error when 'encoding' is "utf-8" and searching for
4212 "/\_s*/e" in an empty buffer. (Andrew Maykov)
4213Solution: Don't try getting the line just below the last line.
4214Files: src/search.c
4215
4216Patch 7.0.187
4217Problem: Can't source a remote script properly.
4218Solution: Add the SourceCmd event. (Charles Campbell)
4219Files: runtime/doc/autocmd.txt, src/ex_cmds2.c, src/fileio.c, src/vim.h
4220
4221Patch 7.0.188 (after 7.0.186)
4222Problem: Warning for wrong pointer type.
4223Solution: Add a type cast.
4224Files: src/search.c
4225
4226Patch 7.0.189
4227Problem: Translated message about finding matches is truncated. (Yukihiro
4228 Nakadaira)
4229Solution: Enlarge the buffer. Also use vim_snprintf().
4230Files: src/edit.c
4231
4232Patch 7.0.190
4233Problem: "syntax spell default" results in an error message.
4234Solution: Change 4 to 7 for STRNICMP(). (Raul Nunez de Arenas Coronado)
4235Files: src/syntax.c
4236
4237Patch 7.0.191
4238Problem: The items used by getqflist() and setqflist() don't match.
4239Solution: Support the "bufnum" item for setqflist(). (Yegappan Lakshmanan)
4240Files: runtime/doc/eval.txt, src/quickfix.c
4241
4242Patch 7.0.192
4243Problem: When 'swapfile' is switched off in an empty file it is possible
4244 that not all blocks are loaded into memory, causing ml_get errors
4245 later.
4246Solution: Rename "dont_release" to "mf_dont_release" and also use it to
4247 avoid using the cached line and locked block.
4248Files: src/globals.h, src/memfile.c, src/memline.c
4249
4250Patch 7.0.193
4251Problem: Using --remote or --remote-tab with an argument that matches
4252 'wildignore' causes a crash.
4253Solution: Check the argument count before using ARGLIST[0].
4254Files: src/ex_cmds.c
4255
4256Patch 7.0.194
4257Problem: Once an ml_get error is given redrawing part of the screen may
4258 cause it again, resulting in an endless loop.
4259Solution: Don't give the error message for a recursive call.
4260Files: src/memline.c
4261
4262Patch 7.0.195
4263Problem: When a buffer is modified and 'autowriteall' is set, ":quit"
4264 results in an endless loop when there is a conversion error while
4265 writing. (Nikolai Weibull)
4266Solution: Make autowrite() return FAIL if the buffer is still changed after
4267 writing it.
4268 /* put the cursor on the last char, for 'tw' formatting */
4269Files: src/ex_cmds2.c
4270
4271Patch 7.0.196
4272Problem: When using ":vert ball" the computation of the mouse pointer
4273 position may be off by one column. (Stefan Karlsson)
4274Solution: Recompute the frame width when moving the vertical separator from
4275 one window to another.
4276Files: src/window.c
4277
4278Patch 7.0.197 (extra)
4279Problem: Win32: Compiling with EXITFREE doesn't work.
4280Solution: Adjust a few #ifdefs. (Alexei Alexandrof)
4281Files: src/misc2.c, src/os_mswin.c
4282
4283Patch 7.0.198 (extra)
4284Problem: Win32: Compiler warnings. No need to generate gvim.exe.mnf.
4285Solution: Add type casts. Use "*" for processorArchitecture. (George Reilly)
4286Files: src/Make_mvc.mak, src/eval.c, src/gvim.exe.mnf, src/misc2.c
4287
4288Patch 7.0.199
4289Problem: When using multi-byte characters the combination of completion and
4290 formatting may result in a wrong cursor position.
4291Solution: Don't decrement the cursor column, use dec_cursor(). (Yukihiro
4292 Nakadaira) Also check for the column to be zero.
4293Files: src/edit.c
4294
4295Patch 7.0.200
4296Problem: Memory leaks when out of memory.
4297Solution: Free the memory.
4298Files: src/edit.c, src/diff.c
4299
4300Patch 7.0.201
4301Problem: Message for ":diffput" about buffer not being in diff mode may be
4302 wrong.
4303Solution: Check for buffer in diff mode but not modifiable.
4304Files: src/diff.c
4305
4306Patch 7.0.202
4307Problem: Problems on Tandem systems while compiling and at runtime.
4308Solution: Recognize root uid is 65535. Check select() return value for it
4309 not being supported. Avoid wrong function prototypes. Mention
4310 use of -lfloss. (Matthew Woehlke)
4311Files: src/Makefile, src/ex_cmds.c, src/fileio.c, src/main.c,
4312 src/osdef1.h.in, src/osdef2.h.in, src/os_unix.c, src/pty.c,
4313 src/vim.h
4314
4315Patch 7.0.203
4316Problem: 0x80 characters in a register are not handled correctly for the
4317 "@" command.
4318Solution: Escape CSI and 0x80 characters. (Yukihiro Nakadaira)
4319Files: src/ops.c
4320
4321Patch 7.0.204
4322Problem: Cscope: Parsing matches for listing isn't done properly.
4323Solution: Check for line number being found. (Yu Zhao)
4324Files: src/if_cscope.c
4325
4326Patch 7.0.205 (after 7.0.203)
4327Problem: Can't compile.
4328Solution: Always include the vim_strsave_escape_csi function.
4329Files: src/getchar.c
4330
4331Patch 7.0.206 (after 7.0.058)
4332Problem: Some characters of the "gb18030" encoding are not handled
4333 properly.
4334Solution: Do not use "cp936" as an alias for "gb18030" encoding. Instead
4335 initialize 'encoding' to "cp936".
4336Files: src/mbyte.c, src/option.c
4337
4338Patch 7.0.207
4339Problem: After patch 2.0.203 CSI and K_SPECIAL characters are escaped when
4340 recorded and then again when the register is executed.
4341Solution: Remove escaping before putting the recorded characters in a
4342 register. (Yukihiro Nakadaira)
4343Files: src/getchar.c, src/ops.c, src/proto/getchar.pro
4344
4345Patch 7.0.208 (after 7.0.171 and 7.0.180)
4346Problem: VMS: changes to path handling cause more trouble than they solve.
4347Solution: Revert changes.
4348Files: src/buffer.c, src/memline.c, src/os_unix.c
4349
4350Patch 7.0.209
4351Problem: When replacing a line through Python the cursor may end up beyond
4352 the end of the line.
4353Solution: Check the cursor column after replacing the line.
4354Files: src/if_python.c
4355
4356Patch 7.0.210
4357Problem: ":cbuffer" and ":lbuffer" always fail when the buffer is modified.
4358 (Gary Johnson)
4359Solution: Support adding a !. (Yegappan Lakshmanan)
4360Files: runtime/doc/quickfix.txt, src/ex_cmds.h
4361
4362Patch 7.0.211
4363Problem: With ":set cindent noai bs=0" using CTRL-U in Insert mode will
4364 delete auto-indent. After ":set ai" it doesn't.
4365Solution: Also check 'cindent' being set. (Ryan Lortie)
4366Files: src/edit.c
4367
4368Patch 7.0.212
4369Problem: The GUI can't be terminated with SIGTERM. (Mark Logan)
4370Solution: Use the signal protection in the GUI as in the console, allow
4371 signals when waiting for 100 msec or longer.
4372Files: src/ui.c
4373
4374Patch 7.0.213
4375Problem: When 'spellfile' has two regions that use the same sound folding
4376 using "z=" will cause memory to be freed twice. (Mark Woodward)
4377Solution: Clear the hashtable properly so that the items are only freed once.
4378Files: src/spell.c
4379
4380Patch 7.0.214
4381Problem: When using <f-args> in a user command it's not possible to have an
4382 argument end in '\ '.
4383Solution: Change the handling of backslashes. (Yakov Lerner)
4384Files: runtime/doc/map.txt, src/ex_docmd.c
4385
4386Patch 7.0.215 (extra)
4387Problem: Mac: Scrollbar size isn't set. Context menu has disabled useless
4388 Help entry. Call to MoreMasterPointers() is ignored.
4389Solution: Call SetControlViewSize() in gui_mch_set_scrollbar_thumb(). Use
4390 kCMHelpItemRemoveHelp for ContextualMenuSelect(). Remove call to
4391 MoreMasterPointers(). (Nicolas Weber)
4392Files: src/gui_mac.c
4393
4394Patch 7.0.216
4395Problem: ":tab wincmd ]" does not open a tab page. (Tony Mechelynck)
4396Solution: Copy the cmdmod.tab value to postponed_split_tab and use it.
4397Files: src/globals.h, src/ex_docmd.c, src/if_cscope.c, src/window.c
4398
4399Patch 7.0.217
4400Problem: This hangs when pressing "n": ":%s/\n/,\r/gc". (Ori Avtalion)
4401Solution: Set "skip_match" to advance to the next line.
4402Files: src/ex_cmds.c
4403
4404Patch 7.0.218
4405Problem: "%B" in 'statusline' always shows zero in Insert mode. (DervishD)
4406Solution: Remove the exception for Insert mode, check the column for being
4407 valid instead.
4408Files: src/buffer.c
4409
4410Patch 7.0.219
4411Problem: When using the 'editexisting.vim' script and a file is being
4412 edited in another tab page the window is split. The "+123"
4413 argument is not used.
4414Solution: Make the tab page with the file the current tab page. Set
4415 v:swapcommand when starting up to the first "+123" or "-c" command
4416 line argument.
4417Files: runtime/macros/editexisting.vim, src/main.c
4418
4419Patch 7.0.220
4420Problem: Crash when using winnr('#') in a new tab page. (Andy Wokula)
4421Solution: Check for not finding the window.
4422Files: src/eval.c
4423
4424Patch 7.0.221
4425Problem: finddir() uses 'path' by default, where "." means relative to the
4426 current file. But it works relative to the current directory.
4427 (Tye Zdrojewski)
4428Solution: Add the current buffer name to find_file_in_path_option() for the
4429 relative file name.
4430Files: runtime/doc/eval.txt, src/eval.c
4431
4432Patch 7.0.222
4433Problem: Perl indenting using 'cindent' works almost right.
4434Solution: Recognize '#' to start a comment. (Alex Manoussakis) Added '#'
4435 flag in 'cinoptions'.
4436Files: runtime/doc/indent.txt, src/misc1.c
4437
4438Patch 7.0.223
4439Problem: Unprintable characters in completion text mess up the popup menu.
4440 (Gombault Damien)
4441Solution: Use strtrans() to make the text printable.
4442Files: src/charset.c, src/popupmnu.c
4443
4444Patch 7.0.224
4445Problem: When expanding "##" spaces are escaped twice. (Pavol Juhas)
4446Solution: Don't escape the spaces that separate arguments.
4447Files: src/eval.c, src/ex_docmd.c, src/proto/ex_docmd.pro
4448
4449Patch 7.0.225
4450Problem: When using setline() in an InsertEnter autocommand and doing "A"
4451 the cursor ends up on the last byte in the line. (Yukihiro
4452 Nakadaira)
4453Solution: Only adjust the column when using setline() for the cursor line.
4454 Move it back to the head byte if necessary.
4455Files: src/eval.c, src/misc2.c
4456
4457Patch 7.0.226
4458Problem: Display flickering when updating signs through the netbeans
4459 interface. (Xavier de Gaye)
4460Solution: Remove the redraw_later(CLEAR) call.
4461Files: src/netbeans.c
4462
4463Patch 7.0.227
4464Problem: Crash when closing a window in the GUI. (Charles Campbell)
4465Solution: Don't call out_flush() from win_free().
4466Files: src/window.c
4467
4468Patch 7.0.228
4469Problem: Cygwin: problem with symlink to DOS style path.
4470Solution: Invoke cygwin_conv_to_posix_path(). (Luca Masini)
4471Files: src/os_unix.c
4472
4473Patch 7.0.229
4474Problem: When 'pastetoggle' starts with Esc then pressing Esc in Insert
4475 mode will not time out. (Jeffery Small)
4476Solution: Use KL_PART_KEY instead of KL_PART_MAP, so that 'ttimeout' applies
4477 to the 'pastetoggle' key.
4478Files: src/getchar.c
4479
4480Patch 7.0.230
4481Problem: After using ":lcd" a script doesn't know how to restore the
4482 current directory.
4483Solution: Add the haslocaldir() function. (Bob Hiestand)
4484Files: runtime/doc/usr_41.txt, runtime/doc/eval.txt, src/eval.c
4485
4486Patch 7.0.231
4487Problem: When recovering from a swap file the page size is likely to be
4488 different from the minimum. The block used for the first page
4489 then has a buffer of the wrong size, causing a crash when it's
4490 reused later. (Zephaniah Hull)
4491Solution: Reallocate the buffer when the page size changes. Also check that
4492 the page size is at least the minimum value.
4493Files: src/memline.c
4494
4495Patch 7.0.232 (extra)
4496Problem: Mac: doesn't support GUI tab page labels.
4497Solution: Add GUI tab page labels. (Nicolas Weber)
4498Files: src/feature.h, src/gui.c, src/gui.h, src/gui_mac.c,
4499 src/proto/gui_mac.pro
4500
4501Patch 7.0.233 (extra)
4502Problem: Mac: code formatted badly.
4503Solution: Fix code formatting
4504Files: src/gui_mac.c
4505
4506Patch 7.0.234
4507Problem: It's possible to use feedkeys() from a modeline. That is a
4508 security issue, can be used for a trojan horse.
4509Solution: Disallow using feedkeys() in the sandbox.
4510Files: src/eval.c
4511
4512Patch 7.0.235
4513Problem: It is possible to use writefile() in the sandbox.
4514Solution: Add a few more checks for the sandbox.
4515Files: src/eval.c
4516
4517Patch 7.0.236
4518Problem: Linux 2.4 uses sysinfo() with a mem_unit field, which is not
4519 backwards compatible.
4520Solution: Add an autoconf check for sysinfo.mem_unit. Let mch_total_mem()
4521 return Kbyte to avoid overflow.
4522Files: src/auto/configure, src/configure.in, src/config.h.in,
4523 src/option.c, src/os_unix.c
4524
4525Patch 7.0.237
4526Problem: For root it is recommended to not use 'modeline', but in
4527 not-compatible mode the default is on.
4528Solution: Let 'modeline' default to off for root.
4529Files: runtime/doc/options.txt, src/option.c
4530
4531Patch 7.0.238
4532Problem: Crash when ":match" pattern runs into 'maxmempattern'. (Yakov
4533 Lerner)
4534Solution: Don't free the regexp program of match_hl.
4535Files: src/screen.c
4536
4537Patch 7.0.239
4538Problem: When using local directories and tab pages ":mksession" uses a
4539 short file name when it shouldn't. Window-local options from a
4540 modeline may be applied to the wrong window. (Teemu Likonen)
4541Solution: Add the did_lcd flag, use the full path when it's set. Don't use
4542 window-local options from the modeline when using the current
4543 window for another buffer in ":doautoall".
4544Files: src/fileio.c, src/ex_docmd.c
4545
4546Patch 7.0.240
4547Problem: Crash when splitting a window in the GUI. (opposite of 7.0.227)
4548Solution: Don't call out_flush() from win_alloc(). Also avoid this for
4549 win_delete(). Also block autocommands while the window structure
4550 is invalid.
4551Files: src/window.c
4552
4553Patch 7.0.241
4554Problem: ":windo throw 'foo'" loops forever. (Andy Wokula)
4555Solution: Detect that win_goto() doesn't work.
4556Files: src/ex_cmds2.c
4557
4558Patch 7.0.242 (extra)
4559Problem: Win32: Using "-register" in a Vim that does not support OLE causes
4560 a crash.
4561Solution: Don't use EMSG() but mch_errmsg(). Check p_go for being NULL.
4562 (partly by Michael Wookey)
4563Files: src/gui_w32.c
4564
4565Patch 7.0.243 (extra)
4566Problem: Win32: When GvimExt is built with MSVC 2005 or later, the "Edit
4567 with vim" context menu doesn't appear in the Windows Explorer.
4568Solution: Embed the linker manifest file into the resources of GvimExt.dll.
4569 (Mathias Michaelis)
4570Files: src/GvimExt/Makefile
4571
4572
Bram Moolenaar49325942007-05-10 19:19:59 +00004573Fixes after Vim 7.1a BETA:
4574
4575The extra archive had CVS directories included below "farsi" and
4576"runtime/icons". CVS was missing the farsi icon files.
4577
4578Fix compiling with Gnome 2.18, undefine bind_textdomain_codeset. (Daniel
4579Drake)
4580
4581Mac: "make install" didn't copy rgb.txt.
4582
4583When editing a compressed file while there are folds caused "ml_get" errors
4584and some lines could be missing. When decompressing failed option values were
4585not restored.
4586
4587
4588Patch 7.1a.001
4589Problem: Crash when downloading a spell file. (Szabolcs Horvat)
4590Solution: Avoid that did_set_spelllang() is used recursively when a new
4591 window is opened for the download.
4592 Also avoid wiping out the wrong buffer.
4593Files: runtime/autoload/spellfile.vim, src/buffer.c, src/ex_cmds.c,
4594 src/spell.c
4595
4596Patch 7.1a.002 (extra)
4597Problem: Compilation error with MingW.
4598Solution: Check for LPTOOLTIPTEXT to be defined.
4599Files: src/gui_w32.c
4600
4601
Bram Moolenaarb2a460d2007-05-12 15:16:37 +00004602Fixes after Vim 7.1b BETA:
4603
4604Made the Mzscheme interface build both with old and new versions of Mzscheme,
4605using an #ifdef. (Sergey Khorev)
4606Mzscheme interface didn't link, missing function. Changed order of libraries
4607in the configure script.
4608
4609Ruby interface didn't compile on Mac. Changed #ifdef. (Kevin Ballard)
4610
4611Patch 7.1b.001 (extra)
4612Problem: Random text in a source file. No idea how it got there.
4613Solution: Delete the text.
4614Files: src/gui_w32.c
4615
4616Patch 7.1b.002
4617Problem: When 'maxmem' is large there can be an overflow in computations.
4618 (Thomas Wiegner)
4619Solution: Use the same mechanism as in mch_total_mem(): first reduce the
4620 multiplier as much as possible.
4621Files: src/memfile.c
4622
Bram Moolenaar8c8de832008-06-24 22:58:06 +00004623==============================================================================
4624VERSION 7.2 *version-7.2*
4625
4626This section is about improvements made between version 7.1 and 7.2.
4627
4628This is mostly a bug-fix release. The main new feature is floating point
4629support. |Float|
4630
4631
4632Changed *changed-7.2*
4633-------
4634
4635Changed the command line buffer name from "command-line" to "[Command Line]".
4636
4637Removed optional ! for ":caddexpr", ":cgetexpr", ":cgetfile", ":laddexpr",
4638":lgetexpr" and ":lgetfile". They are not needed. (Yegappan Lakshmanan)
4639
4640An offset for syntax matches worked on bytes instead of characters. That is
4641inconsistent and can easily be done wrong. Use character offsets now.
4642(Yukihiro Nakadaira)
4643
4644The FileChangedShellPost event was also given when a file didn't change.
4645(John Little)
4646
4647When the current line is long (doesn't fit) the popup menu can't be seen.
4648Display it below the screen line instead of below the text line.
4649(Francois Ingelrest)
4650
4651Switched to autoconf version 2.62.
4652
4653Moved including fcntl.h to vim.h and removed it from all .c files.
4654
4655Introduce macro STRMOVE(d, s), like STRCPY() for overlapping strings.
4656Use it instead of mch_memmove(p, p + x, STRLEN(p + x) + 1).
4657
Bram Moolenaarc236c162008-07-13 17:41:49 +00004658Removed the bulgarian.vim keymap file, two more standard ones replace it.
4659(Boyko Bantchev)
4660
4661Increased the maximum number of tag matches for command line completion from
4662200 to 300.
4663
Bram Moolenaared39e1d2008-08-09 17:55:22 +00004664Renamed help file sql.txt to ft_sql.txt and ada.txt to ft_ada.txt.
4665
Bram Moolenaar8c8de832008-06-24 22:58:06 +00004666
4667Added *added-7.2*
4668-----
4669
4670New syntax files:
Bram Moolenaarc236c162008-07-13 17:41:49 +00004671 CUDA (Timothy B. Terriberry)
Bram Moolenaar8c8de832008-06-24 22:58:06 +00004672 Cdrdao config (Nikolai Weibull)
4673 Coco/R (Ashish Shukla)
Bram Moolenaared39e1d2008-08-09 17:55:22 +00004674 Denyhosts config (Nikolai Weibull)
Bram Moolenaar8c8de832008-06-24 22:58:06 +00004675 Dtrace script (Nicolas Weber)
4676 Git output, commit, config, rebase, send-email (Tim Pope)
Bram Moolenaarc236c162008-07-13 17:41:49 +00004677 HASTE and HastePreProc (M. Tranchero)
4678 Haml (Tim Pope)
Bram Moolenaar8c8de832008-06-24 22:58:06 +00004679 Host conf (Nikolai Weibull)
4680 Linden script (Timo Frenay)
Bram Moolenaar8c8de832008-06-24 22:58:06 +00004681 MS messages (Kevin Locke)
4682 PDF (Tim Pope)
4683 ProMeLa (Maurizio Tranchero)
4684 Reva Foth (Ron Aaron)
Bram Moolenaarc236c162008-07-13 17:41:49 +00004685 Sass (Tim Pope)
4686 Symbian meta-makefile, MMP (Ron Aaron)
Bram Moolenaar8c8de832008-06-24 22:58:06 +00004687 VOS CM macro (Andrew McGill)
4688 XBL (Doug Kearns)
4689
4690New tutor files:
4691 Made UTF-8 versions of all the tutor files.
4692 Greek renamed from ".gr" to ".el" (Greek vs Greece).
4693 Esperanto (Dominique Pelle)
4694 Croatian (Paul B. Mahol)
4695
4696New filetype plugins:
4697 Cdrdao config (Nikolai Weibull)
4698 Debian control files (Debian Vim maintainers)
4699 Denyhosts (Nikolai Weibull)
4700 Dos .ini file (Nikolai Weibull)
4701 Dtrace script (Nicolas Weber)
Bram Moolenaared39e1d2008-08-09 17:55:22 +00004702 FnameScript (Nikolai Weibull)
Bram Moolenaar8c8de832008-06-24 22:58:06 +00004703 Git, Git config, Git commit, Git rebase, Git send-email (Tim Pope)
Bram Moolenaarc236c162008-07-13 17:41:49 +00004704 Haml (Tim Pope)
Bram Moolenaar8c8de832008-06-24 22:58:06 +00004705 Host conf (Nikolai Weibull)
Bram Moolenaared39e1d2008-08-09 17:55:22 +00004706 Host access (Nikolai Weibull)
Bram Moolenaarc236c162008-07-13 17:41:49 +00004707 Logtalk (Paulo Moura)
Bram Moolenaar8c8de832008-06-24 22:58:06 +00004708 MS messages (Kevin Locke)
Bram Moolenaared39e1d2008-08-09 17:55:22 +00004709 NSIS script (Nikolai Weibull)
Bram Moolenaar8c8de832008-06-24 22:58:06 +00004710 PDF (Tim Pope)
4711 Reva Forth (Ron Aaron)
Bram Moolenaarc236c162008-07-13 17:41:49 +00004712 Sass (Tim Pope)
Bram Moolenaar8c8de832008-06-24 22:58:06 +00004713
4714New indent files:
Bram Moolenaared39e1d2008-08-09 17:55:22 +00004715 DTD (Nikolai Weibull)
Bram Moolenaar8c8de832008-06-24 22:58:06 +00004716 Dtrace script (Nicolas Weber)
4717 Erlang (Csaba Hoch)
Bram Moolenaared39e1d2008-08-09 17:55:22 +00004718 FrameScript (Nikolai Weibull)
Bram Moolenaar8c8de832008-06-24 22:58:06 +00004719 Git config (Tim Pope)
Bram Moolenaarc236c162008-07-13 17:41:49 +00004720 Haml (Tim Pope)
4721 Logtalk (Paulo Moura)
4722 Sass (Tim Pope)
Bram Moolenaar8c8de832008-06-24 22:58:06 +00004723 Tiny Fugue (Christian J. Robinson)
4724
Bram Moolenaarc236c162008-07-13 17:41:49 +00004725New compiler plugins:
4726 RSpec (Tim Pope)
4727
Bram Moolenaar8c8de832008-06-24 22:58:06 +00004728New keymap files:
4729 Croatian (Paul B. Mahol)
4730 Russian Dvorak (Serhiy Boiko)
4731 Ukrainian Dvorak (Serhiy Boiko)
Bram Moolenaarc236c162008-07-13 17:41:49 +00004732 Removed plain Bulgarian, "bds" and phonetic are sufficient.
Bram Moolenaar8c8de832008-06-24 22:58:06 +00004733
4734Other new runtime files:
Bram Moolenaared39e1d2008-08-09 17:55:22 +00004735 Esperanto menu and message translations. (Dominique Pelle)
4736 Finnish menu and message translations. (Flammie Pirinen)
Bram Moolenaar6dfc28b2010-02-11 14:19:15 +01004737 Brazilian Portuguese message translations. (Eduardo Dobay)
Bram Moolenaar8c8de832008-06-24 22:58:06 +00004738
4739Added floating point support. |Float|
4740
4741Added argument to mode() to return a bit more detail about the current mode.
4742(Ben Schmidt)
4743
Bram Moolenaar8f3f58f2010-01-06 20:52:26 +01004744Added support for BSD console mouse: |sysmouse|. (Paul B. Mahol)
Bram Moolenaar8c8de832008-06-24 22:58:06 +00004745
4746Added the "newtab" value for the 'switchbuf' option. (partly by Yegappan
4747Lakshmanan)
4748
4749Improved error messages for the netbeans interface. (Philippe Fremy)
4750
4751Added support for using xterm mouse codes for screen. (Micah Cowan)
4752
4753Added support for cross compiling:
4754Adjusted configure.in and added INSTALLcross.txt. (Marc Haisenko) Fixed
4755mistakes in configure.in after that.
4756Don't use /usr/local/include and /usr/local/lib in configure. (Philip
4757Prindeville)
4758For cross compiling the Cygwin version on Unix, change VIM.TLB to vim.tlb in
4759src/vim.rc. (Tsuneo Nakagawa)
4760
4761Added v:searchforward variable: What direction we're searching in. (Yakov
4762Lerner)
4763
4764
4765Fixed *fixed-7.2*
4766-----
4767
4768Patch 7.1.001
4769Problem: Still can't build with Gnome libraries.
4770Solution: Fix typo in bind_textdomain_codeset. (Mike Kelly)
4771Files: src/gui_gtk.c, src/gui_gtk_x11.c
4772
4773Patch 7.1.002
4774Problem: Oracle Pro*C/C++ files are not detected.
4775Solution: Add the missing star. (Micah J. Cowan)
4776Files: runtime/filetype.vim
4777
4778Patch 7.1.003 (extra)
4779Problem: The "Tear off this menu" message appears in the message history
4780 when using a menu. (Yongwei Wu)
4781Solution: Disable message history when displaying the menu tip.
4782Files: src/gui_w32.c
4783
4784Patch 7.1.004
4785Problem: Crash when doing ":next directory". (Raphael Finkel)
4786Solution: Do not use "buf", it may be invalid after autocommands.
4787Files: src/ex_cmds.c
4788
4789Patch 7.1.005
4790Problem: "cit" used on <foo></foo> deletes <foo>. Should not delete
4791 anything and start insertion, like "ci'" does on "". (Michal
4792 Bozon)
4793Solution: Handle an empty object specifically. Made it work consistent for
4794 various text objects.
4795Files: src/search.c
4796
4797Patch 7.1.006
4798Problem: Resetting 'modified' in a StdinReadPost autocommand doesn't work.
4799Solution: Set 'modified' before the autocommands instead of after it.
4800Files: src/buffer.c
4801
4802Patch 7.1.007 (extra)
4803Problem: Mac: Context menu doesn't work on Intel Macs.
4804 Scrollbars are not dimmed when Vim is not the active application.
4805Solution: Remove the test whether context menus are supported. They are
4806 always there in OS/X. Handle the dimming. (Nicolas Weber)
4807Files: src/gui_mac.c, src/gui.h
4808
4809Patch 7.1.008
4810Problem: getfsize() returns a negative number for very big files.
4811Solution: Check for overflow and return -2.
4812Files: runtime/doc/eval.txt, src/eval.c
4813
4814Patch 7.1.009
4815Problem: In diff mode, displaying the difference between a tab and spaces
4816 is not highlighted correctly.
4817Solution: Only change highlighting at the end of displaying a tab.
4818Files: src/screen.c
4819
4820Patch 7.1.010
4821Problem: The Gnome session file doesn't restore tab pages.
4822Solution: Add SSOP_TABPAGES to the session flags. (Matias D'Ambrosio)
4823Files: src/gui_gtk_x11.c
4824
4825Patch 7.1.011
4826Problem: Possible buffer overflow when $VIMRUNTIME is very long. (Victor
4827 Stinner)
4828Solution: Use vim_snprintf().
4829Files: src/main.c
4830
4831Patch 7.1.012
4832Problem: ":let &shiftwidth = 'asdf'" doesn't produce an error message.
4833Solution: Check for a string argument. (Chris Lubinski)
4834Files: src/option.c
4835
4836Patch 7.1.013
4837Problem: ":syn include" only loads the first file, while it is documented
4838 as doing the equivalent of ":runtime!".
4839Solution: Change the argument to source_runtime(). (James Vega)
4840Files: src/syntax.c
4841
4842Patch 7.1.014
4843Problem: Crash when doing C indenting. (Chris Monson)
4844Solution: Obtain the current line again after invoking cin_islabel().
4845Files: src/edit.c
4846
4847Patch 7.1.015
4848Problem: MzScheme interface: current-library-collection-paths produces no
4849 list. Interface doesn't build on a Mac.
4850Solution: Use a list instead of a pair. (Bernhard Fisseni) Use "-framework"
4851 argument for MZSCHEME_LIBS in configure.
4852Files: src/configure.in, src/if_mzsch.c, src/auto/configure
4853
4854Patch 7.1.016 (after patch 7.1.012)
4855Problem: Error message about setting 'diff' to a string.
4856Solution: Don't pass an empty string to set_option_value() when setting
4857 'diff'.
4858Files: src/quickfix.c, src/popupmnu.c
4859
4860Patch 7.1.017
4861Problem: ":confirm w" does give a prompt when 'readonly' is set, but not
4862 when the file permissions are read-only. (Michael Schaap)
4863Solution: Provide a dialog in both situations. (Chris Lubinski)
4864Files: src/ex_cmds.c, src/fileio.c, src/proto/fileio.pro
4865
4866Patch 7.1.018
4867Problem: When 'virtualedit' is set a "p" of a block just past the end of
4868 the line inserts before the cursor. (Engelke)
4869Solution: Check for the cursor being just after the line (Chris Lubinski)
4870Files: src/ops.c
4871
4872Patch 7.1.019
4873Problem: ":py" asks for an argument, ":py asd" then gives the error that
4874 ":py" isn't implemented. Should already happen for ":py".
4875Solution: Compare with ex_script_ni. (Chris Lubinski)
4876Files: src/ex_docmd.c
4877
4878Patch 7.1.020
4879Problem: Reading from uninitialized memory when using a dialog. (Dominique
4880 Pelle)
4881Solution: In msg_show_console_dialog() append a NUL after every appended
4882 character.
4883Files: src/message.c
4884
4885Patch 7.1.021 (after 7.1.015)
4886Problem: Mzscheme interface doesn't compile on Win32.
4887Solution: Fix the problem that 7.1.015 fixed in a better way. (Sergey Khorev)
4888Files: src/if_mzsch.c
4889
4890Patch 7.1.022
4891Problem: When setting 'keymap' twice the b:keymap_name variable isn't set.
4892 (Milan Berta)
4893Solution: Don't unlet b:keymap_name for ":loadkeymap". (Martin Toft)
4894Files: src/digraph.c
4895
4896Patch 7.1.023
4897Problem: "dw" in a line with one character deletes the line. Vi and nvi
4898 don't do this. (Kjell Arne Rekaa)
4899Solution: Check for one-character words especially.
4900Files: src/search.c
4901
4902Patch 7.1.024
4903Problem: Using a pointer that has become invalid. (Chris Monson)
4904Solution: Obtain the line pointer again after we looked at another line.
4905Files: src/search.c
4906
4907Patch 7.1.025
4908Problem: search() and searchpos() don't use match under cursor at start of
4909 line when using 'bc' flags. (Viktor Kojouharov)
4910Solution: Don't go to the previous line when the 'c' flag is present.
4911 Also fix that "j" doesn't move the cursor to the right column.
4912Files: src/eval.c, src/search.c
4913
4914Patch 7.1.026
4915Problem: "[p" doesn't work in Visual mode. (David Brown)
4916Solution: Use checkclearop() instead of checkclearopq().
4917Files: src/normal.c
4918
4919Patch 7.1.027
4920Problem: On Sun systems opening /dev/fd/N doesn't work, and they are used
4921 by process substitutions.
4922Solution: Allow opening specific character special files for Sun systems.
4923 (Gary Johnson)
4924Files: src/fileio.c, src/os_unix.h
4925
4926Patch 7.1.028
4927Problem: Can't use last search pattern for ":sort". (Brian McKee)
Bram Moolenaar6dfc28b2010-02-11 14:19:15 +01004928Solution: When the pattern is empty use the last search pattern. (Martin
Bram Moolenaar8c8de832008-06-24 22:58:06 +00004929 Toft)
4930Files: runtime/doc/change.txt, src/ex_cmds.c
4931
4932Patch 7.1.029 (after 7.1.019)
4933Problem: Can't compile when all interfaces are used. (Taylor Venable)
4934Solution: Only check for ex_script_ni when it's defined.
4935Files: src/ex_docmd.c
4936
4937Patch 7.1.030
4938Problem: The "vimtutor" shell script checks for "vim6" but not for "vim7".
4939 (Christian Robinson)
4940Solution: Check for more versions, but prefer using "vim".
4941Files: src/vimtutor
4942
4943Patch 7.1.031
4944Problem: virtcol([123, '$']) doesn't work. (Michael Schaap)
4945Solution: When '$' is used for the column number get the last column.
4946Files: runtime/doc/eval.txt, src/eval.c
4947
4948Patch 7.1.032
4949Problem: Potential crash when editing a command line. (Chris Monson)
4950Solution: Check the position to avoid access before the start of an array.
4951Files: src/ex_getln.c
4952
4953Patch 7.1.033
4954Problem: A buffer is marked modified when it was first deleted and then
4955 added again using a ":next" command. (John Mullin)
4956Solution: When checking if a buffer is modified use the BF_NEVERLOADED flag.
4957Files: src/option.c
4958
4959Patch 7.1.034
4960Problem: Win64: A few compiler warnings. Problems with optimizer.
4961Solution: Use int instead of size_t. Disable the optimizer in one function.
4962 (George V. Reilly)
4963Files: src/eval.c, src/spell.c
4964
4965Patch 7.1.035
4966Problem: After ":s/./&/#" all listed lines have a line number. (Yakov
4967 Lerner)
4968Solution: Reset the line number flag when not using the "&" flag.
4969Files: src/ex_cmds.c
4970
4971Patch 7.1.036
4972Problem: Completing ":echohl" argument should include "None". (Ori
4973 Avtalion) ":match" should have "none" too.
4974Solution: Add flags to use expand_highlight(). Also fix that when disabling
4975 FEAT_CMDL_COMPL compilation fails. (Chris Lubinski)
4976Files: src/eval.c, src/ex_docmd.c, src/ex_getln.c, src/proto/syntax.pro
4977 src/syntax.c
4978
4979Patch 7.1.037
4980Problem: strcpy() used for overlapping strings. (Chris Monson)
4981Solution: Use mch_memmove() instead.
4982Files: src/option.c
4983
4984Patch 7.1.038
4985Problem: When 'expandtab' is set then a Tab copied for 'copyindent' is
4986 expanded to spaces, even when 'preserveindent' is set. (Alexei
4987 Alexandrov)
4988Solution: Remove the check for 'expandtab'. Also fix that ">>" doesn't obey
4989 'preserveindent'. (Chris Lubinski)
4990Files: src/misc1.c
4991
4992Patch 7.1.039
4993Problem: A tag in a help file that starts with "help-tags" and contains a
4994 percent sign may make Vim crash. (Ulf Harnhammar)
4995Solution: Use puts() instead of fprintf().
4996Files: src/ex_cmds.c
4997
4998Patch 7.1.040
4999Problem: ":match" only supports three matches.
5000Solution: Add functions clearmatches(), getmatches(), matchadd(),
5001 matchdelete() and setmatches(). Changed the data structures for
5002 this. A small bug in syntax.c is fixed, so newly created
5003 highlight groups can have their name resolved correctly from their
5004 ID. (Martin Toft)
5005Files: runtime/doc/eval.txt, runtime/doc/pattern.txt,
5006 runtime/doc/usr_41.txt, src/eval.c, src/ex_docmd.c,
5007 src/proto/window.pro, src/screen.c, src/structs.h, src/syntax.c,
5008 src/testdir/Makefile, src/testdir/test63.in,
5009 src/testdir/test63.ok, src/window.c
5010
5011Patch 7.1.041 (extra, after 7.1.040)
5012Problem: Some changes for patch 7.1.040 are in extra files.
5013Solution: Update the extra files.
5014Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
5015 src/testdir/Make_os2.mak, src/testdir/Make_vms.mms
5016
5017Patch 7.1.042 (after 7.1.040)
5018Problem: Internal error when using matchadd(). (David Larson)
5019Solution: Check the third argument to be present before using the fourth
5020 argument. (Martin Toft)
5021Files: src/eval.c
5022
5023Patch 7.1.043
5024Problem: In Ex mode using CTRL-D twice may cause a crash. Cursor isn't
5025 positioned properly after CTRL-D.
5026Solution: Set prev_char properly. Position the cursor correctly. (Antony
5027 Scriven)
5028Files: src/ex_getln.c
5029
5030Patch 7.1.044
5031Problem: In Insert mode 0 CTRL-T deletes all indent, it should add indent.
5032 (Gautam Iyer)
5033Solution: Check for CTRL-D typed.
5034Files: src/edit.c
5035
5036Patch 7.1.045
5037Problem: Unnecessary screen redrawing. (Jjgod Jiang)
5038Solution: Reset "must_redraw" after clearing the screen.
5039Files: src/screen.c
5040
5041Patch 7.1.046
5042Problem: ":s" command removes combining characters. (Ron Aaron)
5043Solution: Copy composing characters individually. (Chris Lubinski)
5044Files: src/regexp.c
5045
5046Patch 7.1.047
5047Problem: vim_regcomp() called with invalid argument. (Xiaozhou Liu)
5048Solution: Change TRUE to RE_MAGIC + RE_STRING.
5049Files: src/ex_eval.c
5050
5051Patch 7.1.048
5052Problem: The matchparen plugin doesn't update the match when scrolling with
5053 the mouse wheel. (Ilya Bobir)
5054Solution: Set the match highlighting for text that can be scrolled into the
5055 viewable area without moving the cursor. (Chris Lubinski)
5056Files: runtime/plugin/matchparen.vim
5057
5058Patch 7.1.049
5059Problem: Cannot compile GTK2 version with Hangul input feature.
5060Solution: Don't define FEAT_XFONTSET when using GTK2.
5061Files: src/feature.h
5062
5063Patch 7.1.050
5064Problem: Possible crash when using C++ indenting. (Chris Monson)
5065Solution: Keep the line pointer to the line to compare with. Avoid going
5066 past the end of line.
5067Files: src/misc1.c
5068
5069Patch 7.1.051
5070Problem: Accessing uninitialized memory when finding spell suggestions.
5071Solution: Don't try swapping characters at the end of a word.
5072Files: src/spell.c
5073
5074Patch 7.1.052
5075Problem: When creating a new match not all fields are initialized, which
5076 may lead to unpredictable results.
5077Solution: Initialise rmm_ic and rmm_maxcol.
5078Files: src/window.c
5079
5080Patch 7.1.053
5081Problem: Accessing uninitialized memory when giving a message.
5082Solution: Check going the length before checking for a NUL byte.
5083Files: src/message.c
5084
5085Patch 7.1.054
5086Problem: Accessing uninitialized memory when displaying the fold column.
5087Solution: Add a NUL to the extra array. (Dominique Pelle). Also do this in
5088 a couple of other situations.
5089Files: src/screen.c
5090
5091Patch 7.1.055
5092Problem: Using strcpy() with arguments that overlap.
5093Solution: Use mch_memmove() instead.
5094Files: src/buffer.c, src/charset.c, src/eval.c, src/ex_getln.c,
5095 src/misc1.c, src/regexp.c, src/termlib.c
5096
5097Patch 7.1.056
5098Problem: More prompt does not behave correctly after scrolling back.
5099 (Randall W. Morris)
5100Solution: Avoid lines_left becomes negative. (Chris Lubinski) Don't check
5101 mp_last when deciding to show the more prompt. (Martin Toft)
5102Files: src/message.c
5103
5104Patch 7.1.057
5105Problem: Problem with CursorHoldI when using "r" in Visual mode (Max
5106 Dyckhoff)
5107Solution: Ignore CursorHold(I) when getting a second character for a Normal
5108 mode command. Also abort the "r" command in Visual when a special
5109 key is typed.
5110Files: src/normal.c
5111
5112Patch 7.1.058
5113Problem: When 'rightleft' is set the completion menu is positioned wrong.
5114 (Baha-Eddine MOKADEM)
5115Solution: Fix the completion menu. (Martin Toft)
5116Files: src/popupmnu.c, src/proto/search.pro, src/search.c
5117
5118Patch 7.1.059
5119Problem: When in Ex mode and doing "g/^/vi" and then pressing CTRL-C Vim
5120 hangs and beeps. (Antony Scriven)
5121Solution: Clear "got_int" in the main loop to avoid the hang. When typing
5122 CTRL-C twice in a row abort the ":g" command. This is Vi
5123 compatible.
5124Files: src/main.c
5125
5126Patch 7.1.060
5127Problem: Splitting quickfix window messes up window layout. (Marius
5128 Gedminas)
5129Solution: Compute the window size in a smarter way. (Martin Toft)
5130Files: src/window.c
5131
5132Patch 7.1.061
5133Problem: Win32: When 'encoding' is "latin1" 'ignorecase' doesn't work for
5134 characters with umlaut. (Joachim Hofmann)
5135Solution: Do not use islower()/isupper()/tolower()/toupper() but our own
5136 functions. (Chris Lubinski)
5137Files: src/mbyte.c, src/regexp.c, src/vim.h
5138
5139Patch 7.1.062 (after 7.1.038)
5140Problem: Indents of C comments can be wrong. (John Mullin)
5141Solution: Adjust ind_len. (Chris Lubinski)
5142Files: src/misc1.c
5143
5144Patch 7.1.063 (after 7.1.040)
Bram Moolenaarc236c162008-07-13 17:41:49 +00005145Problem: Warning for uninitialized variable.
Bram Moolenaar8c8de832008-06-24 22:58:06 +00005146Solution: Initialise it to NULL.
5147Files: src/ex_docmd.c
5148
5149Patch 7.1.064
5150Problem: On Interix some files appear not to exist.
5151Solution: Remove the top bit from st_mode. (Ligesh)
5152Files: src/os_unix.c
5153
5154Patch 7.1.065 (extra)
5155Problem: Win32: Compilation problem for newer version of w32api.
5156Solution: Only define __IID_DEFINED__ when needed. (Chris Sutcliffe)
5157Files: src/Make_ming.mak, src/iid_ole.c
5158
5159Patch 7.1.066
5160Problem: When 'bomb' is set or reset the file should be considered
5161 modified. (Tony Mechelynck)
5162Solution: Handle like 'endofline'. (Martin Toft)
5163Files: src/buffer.c, src/fileio.c, src/option.c, src/structs.h
5164
5165Patch 7.1.067
5166Problem: 'thesaurus' doesn't work when 'infercase' is set. (Mohsin)
5167Solution: Don't copy the characters being completed but check the case and
5168 apply it to the suggested word. Also fix that the first word in
5169 the thesaurus line is not used. (Martin Toft)
5170Files: src/edit.c
5171
5172Patch 7.1.068
5173Problem: When 'equalalways' is set and splitting a window, it's possible
5174 that another small window gets bigger.
5175Solution: Only equalize window sizes when after a split the windows are
5176 smaller than another window. (Martin Toft)
5177Files: runtime/doc/options.txt, runtime/doc/windows.txt, src/window.c
5178
5179Patch 7.1.069
5180Problem: GTK GUI: When using confirm() without a default button there still
5181 is a default choice.
5182Solution: Ignore Enter and Space when there is no default button. (Chris
5183 Lubinski)
5184Files: src/gui_gtk.c
5185
5186Patch 7.1.070 (extra)
5187Problem: Win32 GUI: When using confirm() without a default button there
5188 still is a default choice.
5189Solution: Set focus on something else than a button. (Chris Lubinski)
5190Files: src/gui_w32.c
5191
5192Patch 7.1.071 (after 7.1.040)
5193Problem: Regexp patterns are not tested.
5194Solution: Add a basic test, to be expanded later.
5195 Also add (commented-out) support for valgrind.
5196Files: src/testdir/Makefile, src/testdir/test64.in, src/testdir/test64.ok
5197
5198Patch 7.1.072 (extra, after 7.1.041 and 7.1.071)
5199Problem: Some changes for patch 7.1.071 are in extra files.
5200Solution: Update the extra files. Also fix a few warnings from the DOS test
5201 makefile.
5202Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
5203 src/testdir/Make_os2.mak, src/testdir/Make_vms.mms
5204
5205Patch 7.1.073 (after 7.1.062)
5206Problem: Wrong cursor position and crash when 'preserveindent' is set.
5207 (Charles Campbell)
5208Solution: Handle the situation that we start without indent. (Chris
5209 Lubinski)
5210Files: src/misc1.c
5211
5212Patch 7.1.074
Bram Moolenaarc236c162008-07-13 17:41:49 +00005213Problem: Crash when calling string() on a recursively nested List.
Bram Moolenaar8c8de832008-06-24 22:58:06 +00005214Solution: Check result value for being NULL. (Yukihiro Nakadaira)
5215Files: src/eval.c
5216
5217Patch 7.1.075
5218Problem: ":let v:statusmsg" reads memory already freed.
5219Solution: Don't set v:statusmsg when listing it.
5220Files: src/eval.c
5221
5222Patch 7.1.076
5223Problem: Another strcpy() with overlapping arguments.
5224Solution: Use mch_memmove(). (Dominique Pelle) And another one.
5225Files: src/ex_docmd.c, src/normal.c
5226
5227Patch 7.1.077
5228Problem: Using "can_spell" without initializing it. (Dominique Pelle)
5229Solution: Set a default for get_syntax_attr().
5230Files: src/syntax.c
5231
5232Patch 7.1.078
5233Problem: Dropping a file name on gvim that contains a CSI byte doesn't work
5234 when editing the command line.
5235Solution: Escape the CSI byte when inserting in the input buffer. (Yukihiro
5236 Nakadaira)
5237Files: src/gui.c, src/ui.c
5238
5239Patch 7.1.079
5240Problem: When the locale is "C" and 'encoding' is "latin1" then the "@"
5241 character in 'isfname', 'isprint', etc. doesn't pick up accented
5242 characters.
5243Solution: Instead of isalpha() use MB_ISLOWER() and MB_ISUPPER().
5244Files: src/charset.c, src/macros.h
5245
5246Patch 7.1.080 (extra)
5247Problem: Compiler warnings for using "const char *" for "char *".
5248Solution: Add type casts. (Chris Sutcliffe)
5249Files: src/GvimExt/gvimext.cpp
5250
5251Patch 7.1.081
5252Problem: Command line completion for a shell command: "cat </tmp/file<Tab>"
5253 doesn't work.
5254Solution: Start the file name at any character that can't be in a file name.
5255 (Martin Toft)
5256Files: src/ex_docmd.c
5257
5258Patch 7.1.082
5259Problem: After a ":split" the matchparen highlighting isn't there.
5260Solution: Install a WinEnter autocommand. Also fixes that after
5261 ":NoMatchParen" only the current window is updated. (Martin Toft)
5262Files: runtime/doc/pi_paren.txt, runtime/plugin/matchparen.vim
5263
5264Patch 7.1.083 (after 7.1.081)
5265Problem: Command line completion doesn't work with wildcards.
5266Solution: Add vim_isfilec_or_wc() and use it. (Martin Toft)
5267Files: src/charset.c, src/proto/charset.pro, src/ex_docmd.c
5268
5269Patch 7.1.084
5270Problem: Using the "-nb" argument twice causes netbeans not to get
5271 fileOpened events.
5272Solution: Change "&" to "&&". (Xavier de Gaye)
5273Files: src/ex_cmds.c
5274
5275Patch 7.1.085
5276Problem: ":e fold.c" then ":sp fold.c" results in folds of original window
5277 to disappear. (Akita Noek)
5278Solution: Invoke foldUpdateAll() for all windows of the changed buffer.
5279 (Martin Toft)
5280Files: src/ex_cmds.c
5281
5282Patch 7.1.086
5283Problem: Crash when using specific Python syntax highlighting. (Quirk)
5284Solution: Check for a negative index, coming from a keyword match at the
5285 start of a line from a saved state.
5286Files: src/syntax.c
5287
5288Patch 7.1.087
5289Problem: Reading past ":cscope find" command. Writing past end of a buffer.
5290Solution: Check length of the argument before using the pattern. Use
5291 vim_strncpy(). (Dominique Pelle)
5292Files: if_cscope.c
5293
5294Patch 7.1.088 (extra)
5295Problem: The coordinates used by ":winpos" differ from what getwinposx()
5296 and getwinposy() return.
5297Solution: Use MoveWindowStructure() instead of MoveWindow(). (Michael Henry)
5298Files: src/gui_mac.c
5299
5300Patch 7.1.089
5301Problem: ":let loaded_getscriptPlugin" doesn't clear to eol, result is
5302 "#1in".
5303Solution: Clear to the end of the screen after displaying the first variable
5304 value.
5305Files: src/eval.c
5306
5307Patch 7.1.090
5308Problem: Compiler warning on Mac OS X 10.5.
5309Solution: Don't redeclare sigaltstack(). (Hisashi T Fujinaka)
5310Files: src/os_unix.c
5311
5312Patch 7.1.091 (extra)
5313Problem: Win32: Can't embed Vim inside another application.
5314Solution: Add the --windowid argument. (Nageshwar)
5315Files: runtime/doc/gui_w32.txt, runtime/doc/starting.txt,
5316 runtime/doc/vi_diff.txt, src/globals.h, src/gui_w32.c, src/main.c
5317
5318Patch 7.1.092 (extra, after 7.1.088)
5319Problem: Wrong arguments for MoveWindowStructure().
5320Solution: Remove "TRUE". (Michael Henry)
5321Files: src/gui_mac.c
5322
5323Patch 7.1.093
5324Problem: Reading past end of a screen line when determining cell width.
5325 (Dominique Pelle)
5326Solution: Add an argument to mb_off2cells() for the maximum offset.
5327Files: src/globals.h, src/gui.c, src/mbyte.c, src/proto/mbyte.pro,
5328 src/screen.c
5329
5330Patch 7.1.094
5331Problem: When checking if syntax highlighting is present, looking in the
5332 current buffer instead of the specified one.
5333Solution: Use "buf" instead of "curbuf".
5334Files: src/syntax.c
5335
5336Patch 7.1.095
5337Problem: The FocusLost and FocusGained autocommands are triggered
5338 asynchronously in the GUI. This may cause arbitrary problems.
5339Solution: Put the focus event in the input buffer and handle it when ready
5340 for it.
5341Files: src/eval.c, src/getchar.c, src/gui.c, src/gui_gtk_x11.c,
5342 src/keymap.h
5343
5344Patch 7.1.096
5345Problem: Reading past end of a string when resizing Vim. (Dominique Pelle)
5346Solution: Check the string pointer before getting the char it points to.
5347Files: src/message.c
5348
5349Patch 7.1.097
5350Problem: ":setlocal stl=%!1+1" does not work.
5351Solution: Adjust check for pointer. (Politz)
5352Files: src/option.c
5353
5354Patch 7.1.098
5355Problem: ":call s:var()" doesn't work if "s:var" is a Funcref. (Andy Wokula)
5356Solution: Before converting "s:" into a script ID, check if it is a Funcref.
5357Files: src/eval.c
5358
5359Patch 7.1.099
5360Problem: When the 'keymap' and 'paste' options have a non-default value,
5361 ":mkexrc" and ":mksession" do not correctly set the options.
5362Solution: Set the options with side effects before other options.
5363Files: src/option.c
5364
5365Patch 7.1.100
5366Problem: Win32: Executing cscope doesn't always work properly.
5367Solution: Use another way to invoke cscope. (Mike Williams)
5368Files: src/if_cscope.c, src/if_cscope.h, src/main.c,
5369 src/proto/if_cscope.pro
5370
5371Patch 7.1.101
5372Problem: Ruby: The Buffer.line= method does not work.
5373Solution: Add the "self" argument to set_current_line(). (Jonathan Hankins)
5374Files: src/if_ruby.c
5375
5376Patch 7.1.102
5377Problem: Perl interface doesn't compile with new version of Perl.
5378Solution: Add two variables to the dynamic library loading. (Suresh
5379 Govindachar)
5380Files: src/if_perl.xs
5381
5382Patch 7.1.103
5383Problem: Using "dw" with the cursor past the end of the last line (using
5384 CTRL-\ CTRL-O from Insert mode) deletes a character. (Tim Chase)
5385Solution: Don't move the cursor back when the movement failed.
5386Files: src/normal.c
5387
5388Patch 7.1.104 (after 7.1.095)
5389Problem: When 'lazyredraw' is set a focus event causes redraw to be
5390 postponed until a key is pressed.
5391Solution: Instead of not returning from vgetc() when a focus event is
5392 encountered return K_IGNORE. Add plain_vgetc() for when the
5393 caller doesn't want to get K_IGNORE.
5394Files: src/digraph.c, src/edit.c, src/ex_cmds.c, src/ex_getln.c,
5395 src/getchar.c, src/normal.c, src/proto/getchar.pro, src/window.c
5396
5397Patch 7.1.105
5398Problem: Internal error when using "0 ? {'a': 1} : {}". (A.Politz)
5399Solution: When parsing a dictionary value without using the value, don't try
5400 obtaining the key name.
5401Files: src/eval.c
5402
5403Patch 7.1.106
5404Problem: ":messages" doesn't quit listing on ":".
5405Solution: Break the loop when "got_int" is set.
5406Files: src/message.c
5407
5408Patch 7.1.107
5409Problem: When doing a block selection and using "s" to change the text,
5410 while triggering auto-indenting, causes the wrong text to be
5411 repeated in other lines. (Adri Verhoef)
5412Solution: Compute the change of indent and compensate for that.
5413Files: src/ops.c
5414
5415Patch 7.1.108 (after 7.1.100)
5416Problem: Win32: Compilation problems in Cscope code. (Jeff Lanzarotta)
5417Solution: Use (long) instead of (intptr_t) when it's not defined.
5418Files: src/if_cscope.c
5419
5420Patch 7.1.109
5421Problem: GTK: when there are many tab pages, clicking on the arrow left of
5422 the labels moves to the next tab page on the right. (Simeon Bird)
5423Solution: Check the X coordinate of the click and pass -1 as value for the
5424 left arrow.
5425Files: src/gui_gtk_x11.c, src/term.c
5426
5427Patch 7.1.110 (after 7.1.102)
5428Problem: Win32: Still compilation problems with Perl.
5429Solution: Change the #ifdefs. (Suresh Govindachar)
5430Files: src/if_perl.xs
5431
5432Patch 7.1.111
5433Problem: When using ":vimgrep" with the "j" flag folds from another buffer
5434 may be displayed. (A.Politz)
5435Solution: When not jumping to another buffer update the folds.
5436Files: src/quickfix.c
5437
5438Patch 7.1.112
5439Problem: Using input() with a wrong argument may crash Vim. (A.Politz)
5440Solution: Init the input() return value to NULL.
5441Files: src/eval.c
5442
5443Patch 7.1.113
5444Problem: Using map() to go over an empty list causes memory to be freed
5445 twice. (A.Politz)
5446Solution: Don't clear the typeval in restore_vimvar().
5447Files: src/eval.c
5448
5449Patch 7.1.114
5450Problem: Memory leak in getmatches().
5451Solution: Don't increment the refcount twice.
5452Files: src/eval.c
5453
5454Patch 7.1.115 (after 7.1.105)
5455Problem: Compiler warning for uninitialized variable. (Tony Mechelynck)
5456Solution: Init variable to NULL.
5457Files: src/eval.c
5458
5459Patch 7.1.116
5460Problem: Cannot display Unicode characters above 0x10000.
5461Solution: Remove the replacement with a question mark when UNICODE16 is not
5462 defined. (partly by Nicolas Weber)
5463Files: src/screen.c
5464
5465Patch 7.1.117
Bram Moolenaar6dfc28b2010-02-11 14:19:15 +01005466Problem: Can't check whether Vim was compiled with Gnome. (Tony Mechelynck)
Bram Moolenaar8c8de832008-06-24 22:58:06 +00005467Solution: Add gui_gnome to the has() list.
5468Files: src/eval.c
5469
5470Patch 7.1.118 (after 7.1.107)
5471Problem: Compiler warning for Visual C compiler.
5472Solution: Add typecast. (Mike Williams)
5473Files: src/ops.c
5474
5475Patch 7.1.119
5476Problem: Crash when 'cmdheight' set to very large value. (A.Politz)
5477Solution: Limit 'cmdheight' to 'lines' minus one. Store right value of
5478 'cmdheight' when running out of room.
5479Files: src/option.c, src/window.c
5480
5481Patch 7.1.120
5482Problem: Can't properly check memory leaks while running tests.
5483Solution: Add an argument to garbagecollect(). Delete functions and
5484 variables in the test scripts.
5485Files: runtime/doc/eval.txt src/eval.c, src/globals.h, src/main.c,
5486 src/testdir/Makefile, src/testdir/test14.in,
5487 src/testdir/test26.in, src/testdir/test34.in,
5488 src/testdir/test45.in, src/testdir/test47.in,
5489 src/testdir/test49.in, src/testdir/test55.in,
5490 src/testdir/test56.in, src/testdir/test58.in,
5491 src/testdir/test59.in, src/testdir/test60.in,
5492 src/testdir/test60.vim, src/testdir/test62.in,
5493 src/testdir/test63.in, src/testdir/test64.in,
5494
5495Patch 7.1.121
5496Problem: Using ":cd %:h" when editing a file in the current directory
5497 results in an error message for using an empty string.
5498Solution: When "%:h" results in an empty string use ".".
5499Files: src/eval.c
5500
5501Patch 7.1.122
5502Problem: Mac: building Vim.app fails. Using wrong architecture.
5503Solution: Use line continuation for the gui_bundle dependency. Detect the
5504 system architecture with "uname -a".
5505Files: src/main.aap
5506
5507Patch 7.1.123
5508Problem: Win32: ":edit foo ~ foo" expands "~".
5509Solution: Change the call to expand_env().
5510Files: src/ex_docmd.c, src/misc1.c, src/proto/misc1.pro, src/option.c
5511
5512Patch 7.1.124 (extra)
5513Problem: Mac: When dropping a file on Vim.app that is already in the buffer
5514 list (from .viminfo) results in editing an empty, unnamed buffer.
5515 (Axel Kielhorn) Also: warning for unused variable.
Bram Moolenaarc236c162008-07-13 17:41:49 +00005516Solution: Move to the buffer of the first argument. Delete unused variable.
Bram Moolenaar8c8de832008-06-24 22:58:06 +00005517Files: src/gui_mac.c
5518
5519Patch 7.1.125
5520Problem: The TermResponse autocommand event is not always triggered. (Aron
5521 Griffix)
5522Solution: When unblocking autocommands check if v:termresponse changed and
5523 trigger the event then.
5524Files: src/buffer.c, src/diff.c, src/ex_getln.c, src/fileio.c,
5525 src/globals.h, src/misc2.c, src/proto/fileio.pro, src/window.c
5526
5527Patch 7.1.126 (extra)
5528Problem: ":vimgrep */*" fails when a BufRead autocommand changes directory.
5529 (Bernhard Kuhn)
5530Solution: Change back to the original directory after loading a file.
5531 Also: use shorten_fname1() to avoid duplicating code.
5532Files: src/buffer.c, src/ex_docmd.c, src/fileio.c, src/gui_gtk.c,
5533 src/gui_w48.c, src/proto/ex_docmd.pro, src/proto/fileio.pro,
5534 src/quickfix.c
5535
5536Patch 7.1.127
5537Problem: Memory leak when doing cmdline completion. (Dominique Pelle)
5538Solution: Free "orig" argument of ExpandOne() when it's not used.
5539Files: src/ex_getln.c
5540
5541Patch 7.1.128 (extra)
5542Problem: Build problems with new version of Cygwin.
5543Solution: Remove -D__IID_DEFINED__, like with MingW. (Guopeng Wen)
5544Files: src/Make_cyg.mak
5545
5546Patch 7.1.129 (extra)
5547Problem: Win32: Can't get the user name when it is longer than 15
5548 characters.
5549Solution: Use UNLEN instead of MAX_COMPUTERNAME_LENGTH. (Alexei Alexandrov)
5550Files: src/os_win32.c
5551
5552Patch 7.1.130
5553Problem: Crash with specific order of undo and redo. (A.Politz)
5554Solution: Clear and adjust pointers properly. Add u_check() for debugging.
5555Files: src/undo.c, src/structs.h
5556
5557Patch 7.1.131
5558Problem: ":mksession" always adds ":setlocal autoread". (Christian J.
5559 Robinson)
5560Solution: Skip boolean global/local option using global value.
5561Files: src/option.c
5562
5563Patch 7.1.132
5564Problem: getpos("'>") may return a negative column number for a Linewise
5565 selection. (A.Politz)
5566Solution: Don't add one to MAXCOL.
5567Files: src/eval.c
5568
5569Patch 7.1.133 (after 7.1.126)
5570Problem: shorten_fname1() linked when it's not needed.
5571Solution: Add #ifdef.
5572Files: src/fileio.c
5573
5574Patch 7.1.134 (extra)
5575Problem: Win32: Can't build with VC8
5576Solution: Detect the MSVC version instead of using NMAKE_VER.
5577 (Mike Williams)
5578Files: src/Make_mvc.mak
5579
5580Patch 7.1.135
5581Problem: Win32: When editing a file c:\tmp\foo and c:\tmp\\foo we have two
5582 buffers for the same file. (Suresh Govindachar)
5583Solution: Invoke FullName_save() when a path contains "//" or "\\".
5584Files: src/buffer.c
5585
5586Patch 7.1.136
5587Problem: Memory leak when using Ruby syntax highlighting. (Dominique Pelle)
5588Solution: Free the contained-in list.
5589Files: src/syntax.c
5590
5591Patch 7.1.137
5592Problem: Build failure when using EXITFREE. (Dominique Pelle)
5593Solution: Add an #ifdef around using clip_exclude_prog.
5594Files: src/misc2.c
5595
5596Patch 7.1.138
5597Problem: The Perl Msg() function doesn't stop when "q" is typed at the more
5598 prompt. (Hari Krishna Dara)
5599Solution: Check got_int.
5600Files: src/if_perl.xs
5601
5602Patch 7.1.139
5603Problem: When using marker folding and ending Insert mode with CTRL-C the
5604 current fold is truncated. (Fred Kater)
5605Solution: Ignore got_int while updating folds.
5606Files: src/fold.c
5607
5608Patch 7.1.140
5609Problem: v:count is set only after typing a non-digit, that makes it
5610 difficult to make a nice mapping.
5611Solution: Set v:count while still typing the count.
5612Files: src/normal.c
5613
5614Patch 7.1.141
5615Problem: GTK: -geom argument doesn't support a negative offset.
5616Solution: Compute position from the right/lower corner.
5617Files: src/gui_gtk_x11.c
5618
5619Patch 7.1.142
5620Problem: ":redir @A>" doesn't work.
5621Solution: Ignore the extra ">" also when appending. (James Vega)
5622Files: src/ex_docmd.c
5623
5624Patch 7.1.143
5625Problem: Uninitialized memory read when diffing three files. (Dominique
5626 Pelle)
5627Solution: Remove "+ !notset" so that we don't use fields that were not
5628 computed.
5629Files: src/diff.c
5630
5631Patch 7.1.144
5632Problem: After ":diffup" cursor can be in the wrong position.
5633Solution: Force recomputing the cursor position.
5634Files: src/diff.c
5635
5636Patch 7.1.145
5637Problem: Insert mode completion: When using the popup menu, after
5638 completing a word and typing a non-word character Vim is still
5639 completing the same word, following CTRL-N doesn't work.
5640 Insert mode Completion: When using CTRL-X O and there is only
5641 "struct." before the cursor, typing one char to reduce the
5642 matches, then BS completion stops.
5643Solution: When typing a character that is not part of the item being
5644 completed, stop complete mode. For whole line completion also
5645 accept a space. For file name completion stop at a path
5646 separator.
5647 For omni completion stay in completion mode even if completing
5648 with empty string.
5649Files: src/edit.c
5650
5651Patch 7.1.146 (extra)
5652Problem: VMS: Files with a very rare record organization (VFC) cannot be
5653 properly written by Vim.
5654 On older VAX systems mms runs into a syntax error.
5655Solution: Check for this special situation. Do not wrap a comment, make it
5656 one long line. (Zoltan Arpadffy)
5657Files: src/fileio.c, src/Make_vms.mms
5658
5659Patch 7.1.147 (after 7.1.127)
5660Problem: Freeing memory already freed when completing user name. (Meino
5661 Cramer)
5662Solution: Use a flag to remember if "orig" needs to be freed.
5663Files: src/ex_getln.c
5664
5665Patch 7.1.148
5666Problem: Some types are not found by configure.
5667Solution: Test for the sys/types.h header file. (Sean Boudreau)
5668Files: src/configure.in, src/auto/configure
5669
5670Patch 7.1.149
5671Problem: GTK GUI: When the completion popup menu is used scrolling another
5672 window by the scrollbar is OK, but using the scroll wheel it
5673 behaves line <Enter>.
5674Solution: Ignore K_MOUSEDOWN and K_MOUSEUP. Fix redrawing the popup menu.
5675Files: src/edit.c, src/gui.c
5676
5677Patch 7.1.150
5678Problem: When 'clipboard' has "unnamed" using "p" in Visual mode doesn't
5679 work correctly. (Jianrong Yu)
5680Solution: When 'clipboard' has "unnamed" also obtain the selection when
5681 getting the default register.
5682Files: src/ops.c
5683
5684Patch 7.1.151
5685Problem: Using whole line completion with 'ignorecase' and 'infercase' set
5686 and the line is empty get an lalloc(0) error.
5687Solution: Don't try changing case for an empty match. (Matthew Wozniski)
5688Files: src/edit.c
5689
5690Patch 7.1.152
5691Problem: Display problem when 'hls' and 'cursorcolumn' are set and
5692 searching for "$". (John Mullin) Also when scrolling
5693 horizontally when 'wrap' is off.
5694Solution: Keep track of the column where highlighting was set. Check the
5695 column offset when skipping characters.
5696Files: src/screen.c
5697
5698Patch 7.1.153
5699Problem: Compiler warnings on SGI. Undefined XpmAllocColor (Charles
5700 Campbell)
5701Solution: Add type casts. Init st_dev and st_ino separately. Don't use
5702 type casts for vim_snprintf() when HAVE_STDARG_H is defined.
5703 Define XpmAllocColor when needed.
5704Files: src/eval.c, src/ex_cmds.c, src/fileio.c, src/misc2.c,
5705 src/gui_xmebw.c
5706
5707Patch 7.1.154
5708Problem: Compiler warning for signed/unsigned compare.
5709Solution: Add type cast.
5710Files: src/screen.c
5711
5712Patch 7.1.155
5713Problem: Crash when 'undolevels' is 0 and repeating "udd". (James Vega)
5714Solution: When there is only one branch use u_freeheader() to delete it.
5715Files: src/undo.c
5716
5717Patch 7.1.156
5718Problem: Overlapping arguments for strcpy() when expanding command line
5719 variables.
5720Solution: Use mch_memmove() instead of STRCPY(). Also fix a few typos.
5721 (Dominique Pelle)
5722Files: src/ex_docmd.c
5723
5724Patch 7.1.157
5725Problem: In Ex mode, :" gives an error at end-of-file. (Michael Hordijk)
5726Solution: Only give an error for an empty line, not for a comment.
5727Files: src/ex_docmd.c
5728
5729Patch 7.1.158 (extra)
5730Problem: Win32 console: When 'encoding' is "utf-8" and typing Alt-y the
5731 result is wrong. Win32 GUI: Alt-y results in "u" when 'encoding'
5732 is "cp1250" (Lukas Cerman)
5733Solution: For utf-8 don't set the 7th bit in a byte, convert to the correct
5734 byte sequence. For cp1250, when conversion to 'encoding' results
5735 in the 7th bit not set, set the 7th bit after conversion.
5736Files: src/os_win32.c, src/gui_w48.c
5737
5738Patch 7.1.159
5739Problem: strcpy() has overlapping arguments.
5740Solution: Use mch_memmove() instead. (Dominique Pelle)
5741Files: src/ex_cmds.c
5742
5743Patch 7.1.160
5744Problem: When a focus autocommand is defined, getting or losing focus
5745 causes the hit-enter prompt to be redrawn. (Bjorn Winckler)
5746Solution: Overwrite the last line.
5747Files: src/message.c
5748
5749Patch 7.1.161
5750Problem: Compilation errors with tiny features and EXITFREE.
5751Solution: Add #ifdefs. (Dominique Pelle)
5752Files: src/edit.c, src/misc2.c
5753
5754Patch 7.1.162
5755Problem: Crash when using a modifier before "while" or "for". (A.Politz)
5756Solution: Skip modifiers when checking for a loop command.
5757Files: src/proto/ex_docmd.pro, src/ex_docmd.c, src/ex_eval.c
5758
5759Patch 7.1.163
5760Problem: Warning for the unknown option 'bufsecret'.
5761Solution: Remove the lines .vim that use this option. (Andy Wokula)
5762Files: runtime/menu.vim
5763
5764Patch 7.1.164
5765Problem: Reading past end of regexp pattern. (Dominique Pelle)
5766Solution: Use utf_ptr2len().
5767Files: src/regexp.c
5768
5769Patch 7.1.165
5770Problem: Crash related to getting X window ID. (Dominique Pelle)
5771Solution: Don't trust the window ID that we got in the past, check it every
5772 time.
5773Files: src/os_unix.c
5774
5775Patch 7.1.166
5776Problem: Memory leak for using "gp" in Visual mode.
5777Solution: Free memory in put_register(). (Dominique Pelle)
5778Files: src/ops.c
5779
5780Patch 7.1.167
5781Problem: Xxd crashes when using "xxd -b -c 110". (Debian bug 452789)
5782Solution: Allocate more memory. Fix check for maximum number of columns.
5783Files: src/xxd/xxd.c
5784
5785Patch 7.1.168 (extra)
5786Problem: Win32 GUI: Since patch 7.1.095, when the Vim window does not have
5787 focus, clicking in it doesn't position the cursor. (Juergen
5788 Kraemer)
5789Solution: Don't reset s_button_pending just after receiving focus.
5790Files: src/gui_w48.c
5791
5792Patch 7.1.169
5793Problem: Using uninitialized variable when system() fails. (Dominique
5794 Pelle)
5795Solution: Let system() return an empty string when it fails.
5796Files: src/eval.c
5797
5798Patch 7.1.170
5799Problem: Valgrind warning for overlapping arguments for strcpy().
5800Solution: Use mch_memmove() instead. (Dominique Pelle)
5801Files: src/getchar.c
5802
5803Patch 7.1.171
5804Problem: Reading one byte before allocated memory.
5805Solution: Check index not to become negative. (Dominique Pelle)
5806Files: src/ex_getln.c
5807
5808Patch 7.1.172
5809Problem: When 'buftype' is "acwrite" Vim still checks if the file or
5810 directory exists before overwriting.
5811Solution: Don't check for overwriting when the buffer name is not a file
5812 name.
5813Files: src/ex_cmds.c
5814
5815Patch 7.1.173
5816Problem: Accessing freed memory. (Dominique Pelle)
5817Solution: Don't call reg_getline() to check if a line is the first in the
5818 file.
5819Files: src/regexp.c
5820
5821Patch 7.1.174
5822Problem: Writing NUL past end of a buffer.
5823Solution: Copy one byte less when using strncat(). (Dominique Pelle)
5824Files: src/ex_cmds.c, src/ex_docmd.c,
5825
5826Patch 7.1.175
5827Problem: <BS> doesn't work with some combination of 'sts', 'linebreak' and
5828 'backspace'. (Francois Ingelrest)
5829Solution: When adding white space results in not moving back delete one
5830 character.
5831Files: src/edit.c
5832
5833Patch 7.1.176
5834Problem: Building with Aap fails when the "compiledby" argument contains
5835 '<' or '>' characters. (Alex Yeh)
5836Solution: Change how quoting is done in the Aap recipe.
5837Files: src/main.aap
5838
5839Patch 7.1.177
5840Problem: Freeing memory twice when in debug mode while reading a script.
5841Solution: Ignore script input while in debug mode.
5842Files: src/ex_cmds2.c, src/getchar.c, src/globals.h
5843
5844Patch 7.1.178
5845Problem: "%" doesn't work on "/* comment *//* comment */".
5846Solution: Don't handle the "//" in "*//*" as a C++ comment. (Markus
5847 Heidelberg)
5848Files: src/search.c
5849
5850Patch 7.1.179
5851Problem: Need to check for TCL 8.5.
5852Solution: Adjust configure script. (Alexey Froloff)
5853Files: src/configure.in, src/auto/configure
5854
5855Patch 7.1.180
5856Problem: Regexp patterns not tested sufficiently.
5857Solution: Add more checks to the regexp test.
5858Files: src/testdir/test64.in, src/testdir/test64.ok
5859
5860Patch 7.1.181
5861Problem: Accessing uninitialized memory in Farsi mode. (Dominique Pelle)
5862Solution: Only invoke lrF_sub() when there is something to do.
5863Files: src/ex_cmds.c
5864
5865Patch 7.1.182
5866Problem: When using tab pages and an argument list the session file may
5867 contain wrong "next" commands. (Alexander Bluem)
5868Solution: Use "argu" commands and only when needed.
5869Files: src/ex_docmd.c
5870
5871Patch 7.1.183
5872Problem: "Internal error" for ":echo matchstr('a', 'a\%[\&]')" (Mitanu
5873 Paul)
5874Solution: Inside "\%[]" detect \&, \| and \) as an error.
5875Files: src/regexp.c
5876
5877Patch 7.1.184
5878Problem: Crash when deleting backwards over a line break in Insert mode.
5879Solution: Don't advance the cursor when it's already on the NUL after a
5880 line. (Matthew Wozniski)
5881Files: src/normal.c
5882
5883Patch 7.1.185
5884Problem: Using "gR" with a multi-byte encoding and typing a CR pushes
5885 characters onto the replace stack incorrectly, resulting in BS
5886 putting back the wrong characters. (Paul B. Mahol)
5887Solution: Push multi-byte characters onto the replace stack in reverse byte
5888 order. Add replace_push_mb().
5889Files: src/edit.c, src/misc1.c, src/proto/edit.pro
5890
5891Patch 7.1.186
5892Problem: "expand('<afile>')" returns a bogus value after changing
5893 directory. (Dave Fishburn)
5894Solution: Copy "autocmd_fname" to allocated memory and expand to full
5895 filename. Shorten the path when expanding <afile>.
5896Files: src/ex_docmd.c, src/fileio.c
5897
5898Patch 7.1.187
5899Problem: Win32 GUI: Custom completion using system() no longer works
5900 after patch 7.1.104. (Erik Falor)
5901Solution: Loop when safe_vgetc() returns K_IGNORE.
5902Files: src/ex_getln.c
5903
5904Patch 7.1.188
5905Problem: When 'showmode' is off the message for changing a readonly file is
Bram Moolenaar8f3f58f2010-01-06 20:52:26 +01005906 given in the second column instead of the first. (Payl B. Mahol)
Bram Moolenaar8c8de832008-06-24 22:58:06 +00005907Solution: Put the W10 message in the first column.
5908Files: src/edit.c
5909
5910Patch 7.1.189 (after 7.1.104)
5911Problem: Patch 7.1.104 was incomplete.
5912Solution: Also call plain_vgetc() in ask_yesno().
5913Files: src/misc1.c
5914
5915Patch 7.1.190
5916Problem: Cursor after end-of-line: "iA sentence.<Esc>)"
5917Solution: Move cursor back and make motion inclusive.
5918Files: src/normal.c
5919
5920Patch 7.1.191
5921Problem: Win32 GUI: after patch 7.1.168 there is still a problem when
5922 clicking in a scrollbar. (Juergen Jottkaerr)
5923Solution: Don't check the input buffer when dragging the scrollbar.
5924Files: src/gui.c
5925
5926Patch 7.1.192
5927Problem: With Visual block selection, "s" and typing something, CTRL-C
5928 doesn't stop Vim from repeating the replacement in other lines,
5929 like happens for "I".
5930Solution: Check for "got_int" to be set.
5931Files: src/ops.c
5932
5933Patch 7.1.193
5934Problem: Some Vim 5.x digraphs are missing in Vim 7, even though the
5935 character pairs are not used. (Philippe de Muyter)
5936Solution: Add those Vim 5.x digraphs that don't conflict with others.
5937Files: src/digraph.c
5938
5939Patch 7.1.194
5940Problem: ":echo glob('~/{}')" results in /home/user//.
5941Solution: Don't add a slash if there already is one.
5942Files: src/os_unix.c
5943
5944Patch 7.1.195
5945Problem: '0 mark doesn't work for "~/foo ~ foo".
5946Solution: Don't expand the whole file name, only "~/".
5947Files: src/mark.c
5948
5949Patch 7.1.196 (extra)
5950Problem: Win32 GUI: "\n" in a tooltip doesn't cause a line break. (Erik
5951 Falor)
5952Solution: Use the TTM_SETMAXTIPWIDTH message.
5953Files: src/gui_w32.c
5954
5955Patch 7.1.197
5956Problem: Mac: "make install" doesn't work when prefix defined.
5957Solution: Pass different arguments to "make installruntime". (Jjgod Jiang)
5958Files: src/Makefile
5959
5960Patch 7.1.198
5961Problem: Hang when using ":s/\n//gn". (Burak Gorkemli)
5962Solution: Set "skip_match".
5963Files: src/ex_cmds.c
5964
5965Patch 7.1.199
5966Problem: Can't do command line completion for a specific file name
5967 extension.
5968Solution: When the pattern ends in "$" don't add a star for completion and
5969 remove the "$" before matching with file names.
5970Files: runtime/doc/cmdline.txt, src/ex_getln.c
5971
5972Patch 7.1.200 (after 7.1.177 and 7.1.182)
5973Problem: Compiler warnings for uninitialized variables.
5974Solution: Init variables.
5975Files: src/ex_cmds2.c, src/ex_docmd.c
5976
5977Patch 7.1.201
5978Problem: When reading stdin 'fenc' and 'ff are not set.
5979Solution: Set the options after reading stdin. (Ben Schmidt)
5980Files: src/fileio.c
5981
5982Patch 7.1.202
5983Problem: Incomplete utf-8 byte sequence is not checked for validity.
5984Solution: Check the bytes that are present for being valid. (Ben Schmidt)
5985Files: src/mbyte.c
5986
5987Patch 7.1.203
5988Problem: When 'virtualedit' is "onemore" then "99|" works but ":normal 99|"
5989 doesn't. (Andy Wokula)
5990Solution: Check for "onemore" flag in check_cursor_col().
5991Files: src/misc2.c
5992
5993Patch 7.1.204 (extra)
5994Problem: Win32: Using the example at 'balloonexpr' the balloon disappears
5995 after four seconds and then comes back again. Also moves the
5996 mouse pointer a little bit. (Yongwei Wu)
5997Solution: Set the autopop time to 30 seconds (the max value). (Sergey
5998 Khorev) Move the mouse two pixels forward and one back to end up
5999 in the same position (really!).
6000Files: src/gui_w32.c
6001
6002Patch 7.1.205
6003Problem: Can't get the operator in an ":omap".
6004Solution: Add the "v:operator" variable. (Ben Schmidt)
6005Files: runtime/doc/eval.txt, src/eval.c, src/normal.c, src/vim.h
6006
6007Patch 7.1.206
6008Problem: Compiler warnings when using MODIFIED_BY.
6009Solution: Add type casts. (Ben Schmidt)
6010Files: src/version.c
6011
6012Patch 7.1.207
6013Problem: Netbeans: "remove" cannot delete one line.
6014Solution: Remove partial lines and whole lines properly. Avoid a memory
6015 leak. (Xavier de Gaye)
6016Files: src/netbeans.c
6017
6018Patch 7.1.208
6019Problem: On Alpha get an unaligned access error.
6020Solution: Store the dictitem pointer before using it. (Matthew Luckie)
6021Files: src/eval.c
6022
6023Patch 7.1.209
6024Problem: GTK: When using the netrw plugin and doing ":gui" Vim hangs.
6025Solution: Stop getting a selection after three seconds. This is a hack.
6026Files: src/gui_gtk_x11.c
6027
6028Patch 7.1.210
6029Problem: Listing mapping for 0xdb fails when 'encoding' is utf-8. (Tony
6030 Mechelynck)
6031Solution: Recognize K_SPECIAL KS_EXTRA KE_CSI as a CSI byte.
6032Files: src/mbyte.c
6033
6034Patch 7.1.211
6035Problem: The matchparen plugin may take an unexpected amount of time, so
6036 that it looks like Vim hangs.
6037Solution: Add a timeout to searchpair(), searchpairpos(), search() and
6038 searchpos(). Use half a second timeout in the plugin.
6039Files: runtime/doc/eval.txt, runtime/plugin/matchparen.vim, src/edit.c,
6040 src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, src/normal.c,
6041 src/proto/eval.pro, src/proto/ex_cmds2.pro, src/proto/search.pro,
6042 src/search.c
6043
6044Patch 7.1.212
6045Problem: Accessing a byte before a line.
6046Solution: Check that the column is 1 or more. (Dominique Pelle)
6047Files: src/edit.c
6048
6049Patch 7.1.213
6050Problem: A ":tabedit" command that results in the "swap file exists" dialog
6051 and selecting "abort" doesn't close the new tab. (Al Budden)
6052Solution: Pass "old_curwin" to do_exedit().
6053Files: src/ex_docmd.c
6054
6055Patch 7.1.214
6056Problem: ":1s/g\n\zs1//" deletes characters from the first line. (A Politz)
6057Solution: Start replacing in the line where the match starts.
6058Files: src/ex_cmds.c
6059
6060Patch 7.1.215
6061Problem: It is difficult to figure out what syntax items are nested at a
6062 certain position.
6063Solution: Add the synstack() function.
6064Files: runtime/doc/eval.txt, src/eval.c, src/proto/syntax.pro,
6065 src/syntax.c
6066
6067Patch 7.1.216
6068Problem: Variants of --remote-tab are not mentioned for "vim --help".
6069Solution: Display optional -wait and -silent.
6070Files: src/main.c
6071
6072Patch 7.1.217
6073Problem: The "help-tags" tag may be missing from runtime/doc/tags when it
6074 was generated during "make install".
6075Solution: Add the "++t" argument to ":helptags" to force adding the tag.
6076Files: runtime/doc/Makefile, runtime/doc/various.txt, src/ex_cmds.c,
6077 src/ex_cmds.h
6078
6079Patch 7.1.218
6080Problem: A syntax region without a "keepend", containing a region with
6081 "extend" could be truncated at the end of the containing region.
6082Solution: Do not call syn_update_ends() when there are no keepend items.
6083Files: src/syntax.c
6084
6085Patch 7.1.219 (after 7.1.215)
6086Problem: synstack() returns situation after the current character, can't
6087 see the state for a one-character region.
6088Solution: Don't update ending states in the requested column.
6089Files: runtime/doc/eval.txt, src/eval.c, src/hardcopy.c,
6090 src/proto/syntax.pro, src/screen.c, src/spell.c, src/syntax.c
6091
6092Patch 7.1.220
6093Problem: When a ")" or word movement command moves the cursor back from the
6094 end of the line it may end up on the trail byte of a multi-byte
6095 character. It's also moved back when it isn't needed.
6096Solution: Add the adjust_cursor() function.
6097Files: src/normal.c
6098
6099Patch 7.1.221
6100Problem: When inserting a "(", triggering the matchparen plugin, the
6101 following highlighting may be messed up.
6102Solution: Before triggering the CursorMovedI autocommands update the display
6103 to update the stored syntax stacks for the change.
6104Files: src/edit.c
6105
6106Patch 7.1.222 (after 7.1.217)
6107Problem: Wildcards in argument of ":helptags" are not expanded. (Marcel
6108 Svitalsky)
6109Solution: Expand wildcards in the directory name.
6110Files: src/ex_cmds.c
6111
6112Patch 7.1.223
6113Problem: glob() doesn't work properly when 'shell' is "sh" or "bash" and
6114 the expanded name contains spaces, '~', single quotes and other
6115 special characters. (Adri Verhoef, Charles Campbell)
6116Solution: For Posix shells define a vimglob() function to list the matches
6117 instead of using "echo" directly.
6118Files: src/os_unix.c
6119
6120Patch 7.1.224
6121Problem: When using "vim -F -o file1 file2" only one window is
6122 right-to-left. Same for "-H". (Ben Schmidt)
6123Solution: use set_option_value() to set 'rightleft'.
6124Files: src/main.c
6125
6126Patch 7.1.225
Bram Moolenaarc236c162008-07-13 17:41:49 +00006127Problem: Using uninitialized value when XGetWMNormalHints() fails.
Bram Moolenaar8c8de832008-06-24 22:58:06 +00006128Solution: Check the return value. (Dominique Pelle)
6129Files: src/os_unix.c
6130
6131Patch 7.1.226
6132Problem: Command line completion doesn't work when a file name contains a
6133 '&' character.
6134Solution: Accept all characters in a file name, except ones that end a
6135 command or white space.
6136Files: src/ex_docmd.c
6137
6138Patch 7.1.227
6139Problem: Hang in syntax HL when moving over a ")". (Dominique Pelle)
6140Solution: Avoid storing a syntax state in the wrong position in the list of
6141 remembered states.
6142Files: src/syntax.c
6143
6144Patch 7.1.228
6145Problem: When 'foldmethod' is "indent" and a fold is created with ">>" it
6146 can't be closed with "zc". (Daniel Shahaf)
6147Solution: Reset the "small" flag of a fold when adding a line to it.
6148Files: src/fold.c
6149
6150Patch 7.1.229
6151Problem: A fold is closed when it shouldn't when 'foldmethod' is "indent"
6152 and backspacing a non-white character so that the indent increases.
6153Solution: Keep the fold open after backspacing a character.
6154Files: src/edit.c
6155
6156Patch 7.1.230
6157Problem: Memory leak when executing SourceCmd autocommands.
6158Solution: Free the memory. (Dominique Pelle)
6159Files: src/ex_cmds2.c
6160
6161Patch 7.1.231
6162Problem: When shifting lines the change is acted upon multiple times.
6163Solution: Don't have shift_line() call changed_bytes.
6164Files: src/edit.c, src/ops.c, src/proto/edit.pro, src/proto/ops.pro
6165
6166Patch 7.1.232 (after 7.1.207 and 7.1.211)
6167Problem: Compiler warnings with MSVC.
6168Solution: Add type casts. (Mike Williams)
6169Files: src/ex_cmds2.c, src/netbeans.c
6170
6171Patch 7.1.233
6172Problem: Crash when doing Insert mode completion for a user defined
6173 command. (Yegappan Lakshmanan)
6174Solution: Don't use the non-existing command line.
6175Files: src/ex_getln.c
6176
6177Patch 7.1.234
6178Problem: When diff'ing three files the third one isn't displayed correctly.
6179 (Gary Johnson)
6180Solution: Compute the size of diff blocks correctly when merging blocks.
6181 Compute filler lines correctly when scrolling.
6182Files: src/diff.c
6183
6184Patch 7.1.235
6185Problem: Pattern matching is slow when using a lot of simple patterns.
6186Solution: Avoid allocating memory by not freeing it when it's not so much.
6187 (Alexei Alexandrov)
6188Files: src/regexp.c
6189
6190Patch 7.1.236
6191Problem: When using 'incsearch' and 'hlsearch' a complicated pattern may
6192 make Vim hang until CTRL-C is pressed.
6193Solution: Add the 'redrawtime' option.
6194Files: runtime/doc/options.txt, src/ex_cmds.c, src/ex_docmd.c,
6195 src/ex_getln.c, src/gui.c, src/misc1.c, src/normal.c,
6196 src/option.c, src/quickfix.c, src/regexp.c, src/proto/regexp.pro,
6197 src/proto/search.pro, src/search.c, src/screen.c,
6198 src/option.h, src/spell.c, src/structs.h, src/syntax.c, src/tag.c,
6199 src/vim.h
6200
6201Patch 7.1.237
6202Problem: Compiler warning on an Alpha processor in Motif code.
6203Solution: Change a typecast. (Adri Verhoef)
6204Files: src/gui_motif.c
6205
6206Patch 7.1.238
6207Problem: Using the 'c' flag with searchpair() may cause it to fail. Using
6208 the 'r' flag doesn't work when 'wrapscan' is set. (A.Politz)
6209Solution: Only use the 'c' flag for the first search, not for repeating.
6210 When using 'r' imply 'W'. (Antony Scriven)
6211Files: src/eval.c
6212
6213Patch 7.1.239 (after 7.1.233)
6214Problem: Compiler warning for sprintf() argument.
6215Solution: Add a typecast. (Nico Weber)
6216Files: src/ex_getln.c
6217
6218Patch 7.1.240
6219Problem: When "gUe" turns a German sharp s into SS the operation stops
6220 before the end of the word. Latin2 has the same sharp s but it's
6221 not changed to SS there.
6222Solution: Make sure all the characters are operated upon. Detect the sharp
6223 s in latin2. Also fixes that changing case of a multi-byte
Bram Moolenaarc236c162008-07-13 17:41:49 +00006224 character that changes the byte count doesn't always work.
Bram Moolenaar8c8de832008-06-24 22:58:06 +00006225Files: src/ops.c
6226
6227Patch 7.1.241
6228Problem: Focus change events not always ignored. (Erik Falor)
6229Solution: Ignore K_IGNORE in Insert mode in a few more places.
6230Files: src/edit.c
6231
6232Patch 7.1.242 (after 7.1.005)
6233Problem: "cib" doesn't work properly on "(x)". (Tim Pope)
6234Solution: Use ltoreq() instead of lt(). Also fix "ciT" on "<a>x</a>".
6235Files: src/search.c
6236
6237Patch 7.1.243 (after 7.1.240)
6238Problem: "U" doesn't work on all text in Visual mode. (Adri Verhoef)
6239Solution: Loop over all the lines to be changed. Add tests for this.
6240Files: src/ops.c, src/testdir/test39.in, src/testdir/test39.ok
6241
6242Patch 7.1.244
6243Problem: GUI may have part of the command line cut off.
6244Solution: Don't round the number of lines up, always round down.
6245 (Tony Houghton, Scott Dillard)
6246Files: src/gui.c
6247
6248Patch 7.1.245
6249Problem: Pressing CTRL-\ three times causes Vim to quit. (Ranganath Rao).
6250 Also for f CTRL-\ CTRL-\.
6251Solution: When going to cooked mode in mch_delay() set a flag to ignore
6252 SIGQUIT.
6253Files: src/os_unix.c
6254
6255Patch 7.1.246
6256Problem: Configure hangs when the man pager is something strange. (lorien)
6257Solution: Set MANPAGER and PAGER to "cat". (Micah Cowan)
6258Files: src/auto/configure, src/configure.in
6259
6260Patch 7.1.247
6261Problem: When using Netbeans backspacing in Insert mode skips a character
6262 now and then. (Ankit Jain)
6263Solution: Avoid calling netbeans_removed(), it frees the line pointer.
6264 (partly by Dominique Pelle).
6265Files: src/misc1.c
6266
6267Patch 7.1.248
6268Problem: Can't set the '" mark. Can't know if setpos() was successful.
6269Solution: Allow setting the '" mark with setpos(). Have setpos() return a
6270 value indicating success/failure.
6271Files: runtime/doc/eval.txt, src/eval.c, src/mark.c
6272
6273Patch 7.1.249
6274Problem: After "U" the cursor can be past end of line. (Adri Verhoef)
6275Solution: Adjust the cursor position in u_undoline().
6276Files: src/undo.c
6277
6278Patch 7.1.250
6279Problem: ":setglobal fenc=anything" gives an error message in a buffer
6280 where 'modifiable' is off. (Ben Schmidt)
6281Solution: Don't give an error if 'modifiable' doesn't matter.
6282Files: src/option.c
6283
6284Patch 7.1.251
6285Problem: Using freed memory when spell checking enabled.
6286Solution: Obtain the current line again after calling spell_move_to().
6287 (Dominique Pelle)
6288Files: src/screen.c
6289
6290Patch 7.1.252 (after 7.1.243)
6291Problem: Test 39 fails when the environment has a utf-8 locale. (Dominique
6292 Pelle)
6293Solution: Force 'encoding' to be latin1.
6294Files: src/testdir/test39.in
6295
6296Patch 7.1.253
6297Problem: ":sort" doesn't work in a one line file. (Patrick Texier)
6298Solution: Don't sort if there is only one line. (Dominique Pelle)
6299Files: src/ex_cmds.c
6300
6301Patch 7.1.254
6302Problem: Tests 49 and 55 fail when the locale is French.
6303Solution: Using C messages for test 49. Filter the error message in test 55
6304 such that it works when the number is halfway the message.
6305Files: src/testdir/test49.in, src/testdir/test55.in
6306
6307Patch 7.1.255
6308Problem: Vim doesn't support utf-32. (Yongwei Wu)
6309Solution: Add aliases for utf-32, it's the same as ucs-4.
6310Files: src/mbyte.c
6311
6312Patch 7.1.256
6313Problem: findfile() also returns directories.
6314Solution: Cleanup the code for finding files and directories in a list of
6315 directories. Remove the ugly global ff_search_ctx.
6316Files: src/eval.c, src/misc2.c, src/vim.h, src/tag.c
6317
6318Patch 7.1.257
6319Problem: Configure can't always find the Tcl header files.
6320Solution: Also look in /usr/local/include/tcl$tclver and
6321 /usr/include/tcl$tclver (James Vega)
6322Files: src/auto/configure, src/configure.in
6323
6324Patch 7.1.258
6325Problem: Crash when doing "d/\n/e" and 'virtualedit' is "all". (Andy Wokula)
6326Solution: Avoid that the column becomes negative. Also fixes other problems
6327 with the end of a pattern match is in column zero. (A.Politz)
6328Files: src/search.c
6329
6330Patch 7.1.259
6331Problem: Cursor is in the wrong position when 'rightleft' is set,
6332 'encoding' is "utf-8" and on an illegal byte. (Dominique Pelle)
6333Solution: Only put the cursor in the first column when actually on a
6334 double-wide character. (Yukihiro Nakadaira)
6335Files: src/screen.c
6336
6337Patch 7.1.260
6338Problem: Cursor positioning problem after ^@ wrapping halfway when
6339 'encoding' is utf-8.
6340Solution: Only count a position for printable characters. (partly by
6341 Yukihiro Nakadaira)
6342Files: src/charset.c
6343
6344Patch 7.1.261
6345Problem: When a 2 byte BOM is detected Vim uses UCS-2, which doesn't work
6346 for UTF-16 text. (Tony Mechelynck)
6347Solution: Default to UTF-16.
6348Files: src/fileio.c, src/testdir/test42.ok
6349
6350Patch 7.1.262
6351Problem: Can't get the process ID of Vim.
6352Solution: Implement getpid().
6353Files: src/eval.c, runtime/doc/eval.txt
6354
6355Patch 7.1.263
6356Problem: The filetype can consist of two dot separated names. This works
6357 for syntax and ftplugin, but not for indent. (Brett Stahlman)
6358Solution: Use split() and loop over each dot separated name.
6359Files: runtime/indent.vim
6360
6361Patch 7.1.264
6362Problem: Crash when indenting lines. (Dominique Pelle)
6363Solution: Set the cursor column when changing the cursor line.
6364Files: src/ops.c, src/misc1.c
6365
6366Patch 7.1.265
6367Problem: When 'isfname' contains a space, cmdline completion can hang.
6368 (James Vega)
6369Solution: Reset the "len" variable.
6370Files: src/ex_docmd.c
6371
6372Patch 7.1.266
6373Problem: When the version string returned by the terminal contains
6374 unexpected characters, it is used as typed input. (James Vega)
6375Solution: Assume the escape sequence ends in a letter.
6376Files: src/term.c
6377
6378Patch 7.1.267
Bram Moolenaarc236c162008-07-13 17:41:49 +00006379Problem: When changing folds cursor may be positioned in the wrong place.
Bram Moolenaar8c8de832008-06-24 22:58:06 +00006380Solution: Call changed_window_setting_win() instead of
6381 changed_window_setting().
6382Files: src/fold.c
6383
6384Patch 7.1.268
6385Problem: Always shows "+" at end of screen line with: ":set
6386 listchars=eol:$,extends:+ nowrap list cursorline" (Gary Johnson)
6387Solution: Check for lcs_eol_one instead of lcs_eol.
6388Files: src/screen.c
6389
6390Patch 7.1.269
6391Problem: The matchparen plugin has an arbitrary limit for the number of
6392 lines to look for a match.
6393Solution: Rely on the searchpair() timeout.
6394Files: runtime/plugin/matchparen.vim
6395
6396Patch 7.1.270
6397Problem: ":?foo?" matches in current line since patch 7.1.025. (A.Politz)
6398Solution: Remove the SEARCH_START flag.
6399Files: src/ex_docmd.c, src/search.c
6400
6401Patch 7.1.271
6402Problem: In a Vim build without autocommands, checking a file that was
6403 changed externally causes the current buffer to be changed
6404 unexpectedly. (Karsten Hopp)
6405Solution: Store "curbuf" instead of "buf".
6406Files: src/fileio.c
6407
6408Patch 7.1.272
6409Problem: The special buffer name [Location List] is not used for a buffer
6410 displayed in another tab page.
6411Solution: Use FOR_ALL_TAB_WINDOWS instead of FOR_ALL_WINDOWS. (Hiroaki
6412 Nishihara)
6413Files: src/buffer.c
6414
6415Patch 7.1.273
6416Problem: When profiling on Linux Vim exits early. (Liu Yubao)
6417Solution: When profiling don't exit on SIGPROF.
6418Files: src/Makefile, src/os_unix.c
6419
6420Patch 7.1.274 (after 7.1.272)
6421Problem: Compiler warning for optimized build.
6422Solution: Init win to NULL.
6423Files: src/buffer.c
6424
6425Patch 7.1.275 (extra)
6426Problem: Mac: ATSUI and 'antialias' don't work properly together.
6427Solution: Fix this and the input method. (Jjgod Jiang)
6428Files: src/vim.h, src/gui_mac.c
6429
6430Patch 7.1.276
6431Problem: "gw" uses 'formatexpr', even though the docs say it doesn't.
6432Solution: Don't use 'formatexpr' for "gw".
6433Files: src/vim.h, src/edit.c, src/ops.c, src/proto/ops.pro
6434
6435Patch 7.1.277
6436Problem: Default for 'paragraphs' misses some items (Colin Watson)
6437Solution: Add TP, HP, Pp, Lp and It to 'paragraphs'. (James Vega)
6438Files: runtime/doc/options.txt, src/option.c
6439
6440Patch 7.1.278 (extra, after 7.1.275)
6441Problem: Build failure when USE_CARBONKEYHANDLER is not defined.
6442Solution: Remove #ifdef.
6443Files: src/gui_mac.c
6444
6445Patch 7.1.279
6446Problem: When using cscope temporary files are left behind.
6447Solution: Send the quit command to cscope and give it two seconds to exit
6448 nicely before killing it. (partly by Dominique Pelle)
6449Files: src/if_cscope.c
6450
6451Patch 7.1.280 (after 7.1.275)
6452Problem: Mac: build problems when not using multibyte feature. (Nicholas
6453 Stallard)
6454Solution: Don't define USE_IM_CONTROL when not using multibyte.
6455Files: src/vim.h
6456
6457Patch 7.1.281 (after 7.1.279)
6458Problem: sa.sa_mask is not initialized. Cscope may not exit.
6459Solution: Use sigemptyset(). Use SIGKILL instead of SIGTERM. (Dominique
6460 Pelle)
6461Files: src/if_cscope.c
6462
6463Patch 7.1.282 (extra)
6464Problem: Win64: Edit with Vim context menu isn't installed correctly.
6465 Compiler warnings and a few other things.
6466Solution: Add [ and ] to entry of class name. Use UINT_PTR instead of UINT.
6467 And a fixes for the other things. (George V. Reilly)
6468Files: src/GvimExt/Makefile, src/dosinst.c, src/if_ole.cpp, src/if_ole.h,
6469 src/if_ole.idl, src/INSTALLpc.txt, src/Make_mvc.mak,
6470 src/os_win32.c,
6471
6472Patch 7.1.283
6473Problem: Non-extra part for 7.1.282.
6474Solution: Various changes.
6475Files: src/ex_docmd.c, src/globals.h, src/if_cscope.c, src/main.c,
6476 src/mark.c, src/netbeans.c, src/popupmnu.c, src/vim.h,
6477 src/window.c
6478
6479Patch 7.1.284
6480Problem: Compiler warnings for functions without prototype.
6481Solution: Add the function prototypes. (Patrick Texier)
6482Files: src/eval.c, src/quickfix.c
6483
6484Patch 7.1.285 (extra)
6485Problem: Mac: dialog hotkeys don't work.
6486Solution: Add hotkey support. (Dan Sandler)
6487Files: src/gui_mac.c
6488
6489Patch 7.1.286 (after 7.1.103)
6490Problem: "w" at the end of the buffer moves the cursor past the end of the
6491 line. (Markus Heidelberg)
6492Solution: Move the cursor back from the NUL when it was moved forward.
6493Files: src/normal.c
6494
6495Patch 7.1.287
6496Problem: Crash when reversing a list after using it. (Andy Wokula)
6497Solution: Update the pointer to the last used element. (Dominique Pelle)
6498Files: src/eval.c
6499
6500Patch 7.1.288 (after 7.1.281)
6501Problem: Cscope still leaves behind temp files when using gvim.
6502Solution: When getting the ECHILD error loop for a while until cscope exits.
6503 (Dominique Pelle)
6504Files: if_cscope.c
6505
6506Patch 7.1.289
6507Problem: When EXITFREE is defined and 'acd' is set freed memory is used.
6508 (Dominique Pelle)
6509Solution: Reset p_acd before freeing all buffers.
6510Files: src/misc2.c
6511
6512Patch 7.1.290
6513Problem: Reading bytes that were not written when spell checking and a line
6514 has a very large indent.
6515Solution: Don't copy the start of the next line when it only contains
6516 spaces. (Dominique Pelle)
6517Files: src/spell.c
6518
6519Patch 7.1.291 (after 7.1.288)
6520Problem: Compiler warning.
6521Solution: Change 50 to 50L.
6522Files: src/if_cscope.c
6523
6524Patch 7.1.292
6525Problem: When using a pattern with "\@<=" the submatches can be wrong.
6526 (Brett Stahlman)
6527Solution: Save the submatches when attempting a look-behind match.
6528Files: src/regexp.c
6529
6530Patch 7.1.293
6531Problem: Spell checking considers super- and subscript characters as word
6532 characters.
6533Solution: Recognize the Unicode super and subscript characters.
6534Files: src/spell.c
6535
6536Patch 7.1.294
6537Problem: Leaking memory when executing a shell command.
6538Solution: Free memory when not able to save for undo. (Dominique Pelle)
6539Files: src/ex_cmds.c
6540
6541Patch 7.1.295
6542Problem: Vimtutor only works with vim, not gvim.
6543Solution: Add the -g flag to vimtutor. (Dominique Pelle) Add gvimtutor.
6544Files: src/Makefile, src/gvimtutor, src/vimtutor, runtime/doc/vimtutor.1
6545
6546Patch 7.1.296
6547Problem: SELinux is not supported.
6548Solution: Detect the selinux library and use mch_copy_sec(). (James Vega)
6549Files: src/auto/configure, src/config.h.in, src/configure.in,
6550 src/fileio.c, src/memfile.c, src/os_unix.c, src/proto/os_unix.pro
6551
6552Patch 7.1.297
6553Problem: When using the search/replace dialog the parenmatch highlighting
6554 can be wrong. (Tim Duncan)
6555Solution: In the GUI redraw function invoke the CursorMoved autocmd.
6556Files: src/gui.c
6557
6558Patch 7.1.298 (after 7.1.295)
6559Problem: src/gvimtutor is not distributed.
6560Solution: Add it to the list of distributed files.
6561Files: Filelist
6562
6563Patch 7.1.299
6564Problem: Filetype detection doesn't work properly for file names ending in
6565 a part that is ignored and contain a space or other special
6566 characters.
6567Solution: Escape the special characters using the new fnameescape function.
6568Files: runtime/doc/eval.txt, runtime/filetype.vim, src/eval.c,
6569 src/ex_getln.c, src/proto/ex_getln.pro, src/vim.h
6570
6571Patch 7.1.300
6572Problem: Value of asmsyntax argument isn't checked for valid characters.
6573Solution: Only accepts letters and digits.
6574Files: runtime/filetype.vim
6575
6576Patch 7.1.301
6577Problem: When the "File/Save" menu is used in Insert mode, a tab page label
6578 is not updated to remove the "+".
6579Solution: Call draw_tabline() from showruler(). (Bjorn Winckler)
6580Files: src/screen.c
6581
6582Patch 7.1.302 (after 7.1.299)
6583Problem: Compilation error on MS-Windows.
6584Solution: Don't use xp_shell when it's not defined.
6585Files: src/ex_getln.c
6586
6587Patch 7.1.303 (after 7.1.302)
6588Problem: Compilation error on MS-Windows, again.
6589Solution: Declare p.
6590Files: src/ex_getln.c
6591
6592Patch 7.1.304
6593Problem: Shortpath_for_invalid_fname() does not work correctly and is
6594 unnecessary complex.
6595Solution: Clean up shortpath_for_invalid_fname(). (mostly by Yegappan
6596 Lakshmanan)
6597Files: src/eval.c
6598
6599Patch 7.1.305
6600Problem: Editing a compressed file with special characters in the name
6601 doesn't work properly.
6602Solution: Escape special characters.
6603Files: runtime/autoload/gzip.vim
6604
6605Patch 7.1.306
6606Problem: Some Unicode characters are handled like word characters while
6607 they are symbols.
6608Solution: Adjust the table for Unicode classification.
6609Files: src/mbyte.c
6610
6611Patch 7.1.307
6612Problem: Many warnings when compiling with Python 2.5.
6613Solution: Use ssize_t instead of int for some types. (James Vega)
6614Files: src/if_python.c
6615
6616Patch 7.1.308
6617Problem: When in readonly mode ":options" produces an error.
6618Solution: Reset 'readonly'. (Gary Johnson)
6619Files: runtime/optwin.vim
6620
6621Patch 7.1.309
6622Problem: Installing and testing with a shadow directory doesn't work.
6623 (James Vega)
6624Solution: Add "po" to the list of directories to link. Also link the Vim
6625 scripts in testdir. And a few more small fixes.
6626Files: src/Makefile
6627
6628Patch 7.1.310
6629Problem: Incomplete utf-8 byte sequence at end of the file is not detected.
6630 Accessing memory that wasn't written.
6631Solution: Check the last bytes in the buffer for being a valid utf-8
6632 character. (mostly by Ben Schmidt)
6633 Also fix that the reported line number of the error was wrong.
6634Files: src/fileio.c
6635
6636Patch 7.1.311
6637Problem: Compiler warning for missing sentinel in X code.
6638Solution: Change 0 to NULL. (Markus Heidelberg)
6639Files: src/mbyte.c
6640
6641Patch 7.1.312
6642Problem: The .po files have mistakes in error numbers.
6643Solution: Search for these mistakes in the check script. (Dominique Pelle)
6644Files: src/po/check.vim
6645
6646Patch 7.1.313
6647Problem: When the netbeans interface setModified call is used the status
6648 lines and window title are not updated.
6649Solution: Redraw the status lines and title. (Philippe Fremy)
6650Files: src/netbeans.c
6651
6652Patch 7.1.314
6653Problem: The value of 'pastetoggle' is written to the session file without
6654 any escaping. (Randall Hansen)
6655Solution: Use put_escstr(). (Ben Schmidt)
6656Files: src/option.c
6657
6658Patch 7.1.315
6659Problem: Crash with specific search pattern using look-behind match.
6660 (Andreas Politz)
6661Solution: Also save the value of "need_clear_subexpr".
6662Files: src/regexp.c
6663
6664Patch 7.1.316
6665Problem: When 'cscopetag' is set ":tag" gives an error message instead of
6666 going to the next tag in the tag stack.
6667Solution: Don't call do_cstag() when there is no argument. (Mark Goldman)
6668Files: src/ex_docmd.c
6669
6670Patch 7.1.317
6671Problem: Compiler warnings in Motif calls.
6672Solution: Change zero to NULL. (Dominique Pelle)
6673Files: src/gui_motif.c
6674
6675Patch 7.1.318
6676Problem: Memory leak when closing xsmp connection. Crash on exit when
6677 using Lesstif.
6678Solution: Don't close the X display to work around a Lesstif bug. Free
6679 clientid. Also fix a leak for Motif and Athena. (Dominique Pelle)
6680Files: src/gui_x11.c, src/os_unix.c
6681
6682Patch 7.1.319
6683Problem: When a register has an illegal utf-8 sequence, pasting it on the
6684 command line causes an illegal memory access.
6685Solution: Use mb_cptr2char_adv(). (Dominique Pelle)
6686Files: src/ex_getln.c
6687
6688Patch 7.1.320 (extra)
6689Problem: Win64: Warnings while compiling Python interface.
6690Solution: Use PyInt in more places. Also update version message for the
6691 console. (George Reilly)
6692Files: src/if_python.c, src/version.c
6693
6694Patch 7.1.321 (extra)
6695Problem: Win32 / Win64: Install file is outdated.
6696Solution: Update the text for recent compiler. (George Reilly)
6697Files: src/INSTALLpc.txt
6698
6699Patch 7.1.322
6700Problem: Can't get start of Visual area in an <expr> mapping.
6701Solution: Add the 'v' argument to getpos().
6702Files: runtime/doc/eval.txt, src/eval.c
6703
6704Patch 7.1.323
Bram Moolenaarc236c162008-07-13 17:41:49 +00006705Problem: Test 19 fails with some termcaps. (Dominique Pelle)
Bram Moolenaar8c8de832008-06-24 22:58:06 +00006706Solution: Set the t_kb and t_kD termcap values.
6707Files: src/testdir/test19.in, src/testdir/test38.in
6708
6709Patch 7.1.324
6710Problem: File name path length on Unix is limited to 1024.
6711Solution: Use PATH_MAX when it's more than 1000.
6712Files: src/os_unix.h
6713
6714Patch 7.1.325
6715Problem: When editing a command line that's longer than available space in
6716 the window, the characters at the end are in reverse order.
6717Solution: Increment the insert position even when the command line doesn't
6718 fit. (Ingo Karkat)
6719Files: src/ex_getln.c
6720
6721Patch 7.1.326
6722Problem: ":s!from!to!" works, but ":smagic!from!to!" doesn't. It sees the
6723 "!" as a flag to to the command. Same for ":snomagic". (Johan
6724 Spetz)
6725Solution: When checking for a forced command also ignore ":smagic" and
6726 ":snomagic". (Ian Kelling)
6727Files: src/ex_docmd.c
6728
6729Patch 7.1.327
6730Problem: The GUI tutor is installed when there is no GUI version.
6731Solution: Only install gvimtutor when building a GUI version.
6732Files: src/Makefile
6733
6734Patch 7.1.328
6735Problem: Crash when using Cygwin and non-posix path name in tags file.
6736Solution: Use separate buffer for posix path. (Ben Schmidt)
6737Files: src/os_unix.c
6738
6739Patch 7.1.329
6740Problem: When the popup menu is removed a column of cells, the right halve
6741 of double-wide characters, may not be redrawn.
6742Solution: Check if the right halve of a character needs to be redrawn.
6743 (Yukihiro Nakadaira)
6744Files: src/screen.c
6745
6746Patch 7.1.330
6747Problem: Reading uninitialized memory when using Del in replace mode.
6748Solution: Use utfc_ptr2len_len() instead of mb_ptr2len(). (Dominique Pelle)
6749Files: src/misc1.c
6750
6751
6752Warning for missing sentinel in gui_xmldlg.c. (Dominique Pelle)
6753
6754A search offset from the end of a match didn't work properly for multi-byte
6755characters. (Yukihiro Nakadaira)
6756
6757When displaying the value of 'key' don't show "*****" when the value is empty.
6758(Ben Schmidt)
6759
6760Internal error when compiled with EXITFREE and using the nerd_tree plugin.
6761Set last_msg_hist to NULL when history becomes empty. Call
6762free_all_functions() after garbage collection. (Dominique Pelle)
6763
6764GTK with XIM: <S-Space> does not work. (Yukihiro Nakadaira)
6765
6766Some shells do not support "echo -n", which breaks glob(). Use "echo" instead
6767of "echo -n $1; echo". (Gary Johnson)
6768
6769"echo 22,44" printed "22" on top of the command, the error messages caused
6770the rest not to be cleared. Added the need_clr_eos flag.
6771
6772Netbeans events are handled while updating the screen, causing a crash.
6773Change the moment when events are handled. Rename nb_parse_messages() to
6774netbeans_parse_messages(). (Xavier de Gaye)
6775
6776Test 11 was broken after patch 7.1.186 on Win32 console. (Daniel Shahaf)
6777Use shellescape() on the file name.
6778
6779IM was turned off in im_preedit_end_cb() for no good reason. (Takuhiro
6780Nishioka)
6781
6782A corrupted spell file could cause Vim to use lots of memory. Better
6783detection for running into the end of the file. (idea from James Vega)
6784
6785Mac: Included a patch to make it build with GTK. Moved language init to
6786mac_lang_init() function. (Ben Schmidt)
6787
6788Problem with 'wildmenu' after ":lcd", up/down arrows don't work. (Erik Falor)
6789
6790Fix configure.in to avoid "implicitly declared" warnings when running
6791configure.
6792
6793Fixed a memory leak when redefining a keymap. (Dominique Pelle)
6794
6795Setting 'pastetoggle' to "jj" didn't work.
6796
6797'ic' and 'smartcase' don't work properly when using \%V in a search pattern.
6798(Kana Natsuno)
Bram Moolenaarb2a460d2007-05-12 15:16:37 +00006799
Bram Moolenaarc236c162008-07-13 17:41:49 +00006800Patch 7.2a.001
6801Problem: On some systems X11/Xlib.h exists (from X11-dev package) but
6802 X11/Intrinsic.h does not (in Xt-dev package). This breaks the
6803 build. Also, on Solaris 9 sys/ptem.h isn't found.
6804Solution: Have configure only accept X11 when X11/Intrinsic.h exists.
6805 Check for sys/ptem.h while including sys/stream.h. (Vladimir
6806 Marek)
6807Files: src/auto/configure, src/configure.in
6808
6809Patch 7.2a.002
6810Problem: getbufvar(N, "") gets the dictionary of the current buffer instead
6811 of buffer N.
6812Solution: Set curbuf before calling find_var_in_ht(). (Kana Natsuno)
6813Files: src/eval.c
6814
6815Patch 7.2a.003
6816Problem: Leaking memory when using ":file name" and using access control
6817 lists.
6818Solution: Invoke mch_free_acl() in vim_rename(). (Dominique Pelle)
6819Files: src/fileio.c
6820
6821Patch 7.2a.004
6822Problem: Some systems can't get spell files by ftp.
6823Solution: Use http when it looks like it's possible. (James Vega)
6824Files: runtime/autoload/spellfile.vim
6825
6826Patch 7.2a.005
6827Problem: A few error messages use confusing names. Misspelling.
6828Solution: Change "dissallows" to "disallows". (Dominique Pelle) Change
6829 "number" to "Number".
6830Files: src/eval.c, src/fileio.c
6831
6832Patch 7.2a.006
6833Problem: Reading past NUL in a string.
6834Solution: Check for invalid utf-8 byte sequence. (Dominique Pelle)
6835Files: src/charset.c
6836
6837Patch 7.2a.007
6838Problem: ":let v = 1.2.3" was OK in Vim 7.1, now it gives an error.
6839Solution: Don't look for a floating point number after the "." operator.
6840Files: src/eval.c
6841
6842Patch 7.2a.008
6843Problem: printf("%g", 1) doesn't work.
6844Solution: Convert Number to Float when needed.
6845Files: src/message.c
6846
6847Patch 7.2a.009
6848Problem: cygwin_conv_to_posix_path() does not specify buffer size.
6849Solution: Use new Cygwin function: cygwin_conv_path(). (Corinna Vinschen)
6850Files: src/main.c, src/os_unix.c
6851
6852Patch 7.2a.010
6853Problem: When a file name has an illegal byte sequence Vim may read
6854 uninitialised memory.
6855Solution: Don't use UTF_COMPOSINGLIKE() on an illegal byte. In
6856 msg_outtrans_len_attr() use char2cells() instead of ptr2cells().
6857 In utf_ptr2char() don't check second byte when first byte is
Bram Moolenaare37d50a2008-08-06 17:06:04 +00006858 illegal. (Dominique Pelle)
Bram Moolenaarc236c162008-07-13 17:41:49 +00006859Files: src/mbyte.c, src/message.c
6860
6861Patch 7.2a.011
6862Problem: The Edit/Startup Settings menu doesn't work.
6863Solution: Expand environment variables. (Ben Schmidt)
6864Files: runtime/menu.vim
6865
6866Patch 7.2a.012
6867Problem: Compiler warnings for casting int to pointer.
6868Solution: Add cast to long in between. (Martin Toft)
6869Files: src/gui_gtk_x11.c
6870
6871Patch 7.2a.013
6872Problem: shellescape() does not escape "%" and "#" characters.
6873Solution: Add find_cmdline_var() and use it when the second argument to
6874 shellescape() is non-zero.
6875Files: runtime/doc/eval.txt, src/eval.c, src/ex_docmd.c,
6876 src/proto/ex_docmd.pro, src/proto/misc2.pro, src/misc2.c
6877
6878Patch 7.2a.014
6879Problem: Problem with % in message.
6880Solution: Put % in single quotes.
6881Files: src/eval.c
6882
6883Patch 7.2a.015 (after 7.2a.010)
6884Problem: Misaligned messages.
6885Solution: Compute length of unprintable chars correctly.
6886Files: src/message.c
6887
6888Patch 7.2a.016
6889Problem: Using CTRL-W v in the quickfix window results in two quickfix
6890 windows, which is not allowed. ":tab split" should be allowed to
6891 open a new quickfix window in another tab.
6892Solution: For CTRL-W v instead of splitting the window open a new one.
6893 When using ":tab" do allow splitting the quickfix window (was
6894 already included in patch 7.2a.013).
6895Files: src/window.c
6896
6897Patch 7.2a.017
6898Problem: ":doautoall" executes autocommands for all buffers instead of just
6899 for loaded buffers.
6900Solution: Change "curbuf" to "buf".
6901Files: src/fileio.c
6902
6903Patch 7.2a.018
6904Problem: Compiler warnings when compiling with Gnome. (Tony Mechelynck)
6905Solution: Add type casts.
6906Files: src/gui_gtk_x11.c
6907
6908Patch 7.2a.019
6909Problem: ":let &g:tw = 44" sets the local option value. (Cyril Slobin)
6910Solution: Use get_varp_scope() instead of get_varp(). (Ian Kelling)
6911Files: src/option.c
6912
6913There is no way to avoid adding /usr/local/{include|lib} to the build
6914commands. Add the --with-local-dir argument to configure. (Michael
6915Haubenwallner)
6916
6917When using CTRL-D after ":help", the number of matches could be thousands.
6918Restrict to TAG_MANY to avoid this taking too long. (Ian Kelling)
6919
6920The popup menu could be placed at a weird location. Caused by w_wcol computed
6921by curs_columns(). (Dominique Pelle)
6922
6923Overlapping STRCPY() arguments when using %r item in 'errorformat'. Use
6924STRMOVE() instead. (Ralf Wildenhues)
6925
6926Mac: On Leopard gvim, when using the mouse wheel nothing would happen until
Bram Moolenaare37d50a2008-08-06 17:06:04 +00006927another event occurs, such as moving the mouse. Then the recorded scrolling
Bram Moolenaarc236c162008-07-13 17:41:49 +00006928would take place all at once. (Eckehard Berns)
6929
6930Solution for cursor color not reflecting IM status for GTK 2. Add
6931preedit_is_active flag. (SungHyun Nam)
6932
6933filereadable() can hang on a FIFO on Linux. Use open() instead of fopen(),
6934with O_NONBLOCK. (suggested by Lars Kotthoff)
6935
6936Included patch to support Perl 5.10. (Yasuhiro Matsumoto)
6937
6938When files are dropped on gvim while the screen is being updated, ignore the
6939drop command to avoid freeing memory that is being used.
6940
6941In a terminal, when drawing the popup menu over double-wide characters, half
6942characters may not be cleared properly. (Yukihiro Nakadaira)
6943
6944The #ifdef for including "vimio.h" was inconsistent. In a few files it
6945depended on MSWIN, which isn't defined until later.
6946
Bram Moolenaare37d50a2008-08-06 17:06:04 +00006947Patch 7.2b.001
6948Problem: Compilation problem: mb_fix_col() missing with multi-byte feature
6949 but without GUI or clipboard.
6950Solution: Remove #ifdef.
6951Files: src/mbyte.c
6952
6953Patch 7.2b.002
6954Problem: Compiler warnings for signed/unsigned mismatch.
6955Solution: Add type casts.
6956Files: src/screen.c
6957
6958Patch 7.2b.003
6959Problem: Still a compilation problem, check_col() and check_row() missing.
6960Solution: Add FEAT_MBYTE to the #if.
6961Files: src/ui.c
6962
6963Patch 7.2b.004
6964Problem: Trying to free memory for a static string when using ":helpgrep".
6965 (George Reilly)
6966Solution: Set 'cpo' to empty_option instead of an empty string. Also for
6967 searchpair() and substitute().
6968Files: src/quickfix.c, src/eval.c
6969
6970Patch 7.2b.005
6971Problem: The special character "!" isn't handled properly in shellescape().
6972 (Jan Minar)
6973Solution: Escape "!" when using a "csh" like shell and with
6974 shellescape(s, 1). Twice for both. Also escape <NL>.
6975Files: src/misc2.c
6976
6977Patch 7.2b.006
6978Problem: Reading past end of string when reading info from tags line.
6979Solution: Break the loop when encountering a NUL. (Dominique Pelle)
6980Files: src/tag.c
6981
6982Patch 7.2b.007
6983Problem: Part of a message cannot be translated.
6984Solution: Put _() around the message.
6985Files: src/search.c
6986
6987Patch 7.2b.008
6988Problem: A few filetypes are not detected or not detected properly.
6989Solution: Add filetype detection patterns. (Nikolai Weibull)
6990Files: runtime/filetype.vim
6991
6992Patch 7.2b.009
6993Problem: Reading past end of screen line. (Epicurus)
6994Solution: Avoid going past the value of Columns.
6995Files: src/screen.c
6996
6997Patch 7.2b.010
6998Problem: ":mksession" doesn't work for ":map , foo", ":sunmap ,". (Ethan
6999 Mallove)
7000Solution: Check for "nxo", "nso" and other strange mapping combinations.
7001Files: src/getchar.c
7002
7003Patch 7.2b.011
7004Problem: Configure for TCL ends up with include file in compiler command.
7005 (Richard Hogg)
7006Solution: Delete items from $TCL_DEFS that do not start with a dash.
7007Files: src/auto/configure, src/configure.in
7008
7009Patch 7.2b.012
7010Problem: Build failure with +multi_byte but without +diff.
7011Solution: Add #ifdef. (Patrick Texier)
7012Files: src/main.c
7013
7014Patch 7.2b.013
7015Problem: Build fails with tiny features and Perl. (Dominique Pelle)
7016Solution: Define missing functions. Also when compiling Python.
7017Files: src/if_perl.xs, src/if_python.c
7018
7019Patch 7.2b.014
7020Problem: Configure uses an unsafe temp file to store commands.
7021Solution: Create the temp file in local directory.
7022Files: src/auto/configure, src/configure.in
7023
7024Patch 7.2b.015
7025Problem: Build fails on Mac when using Aap.
7026Solution: Fix typo in configure script.
7027Files: src/auto/configure, src/configure.in
7028
7029Patch 7.2b.016
7030Problem: Build fails with normal features but without +autocmd.
7031Solution: Fix #ifdefs. (Ian Kelling)
7032Files: src/eval.c, src/ex_cmds.c, src/quickfix.c, src/option.c,
7033 src/ex_docmd.c
7034
7035Patch 7.2b.017
7036Problem: "vim -O foo foo" results in only one window. (Zdenek Sekera)
7037Solution: Handle result of ATTENTION prompt properly. (Ian Kelling)
7038Files: src/main.c
7039
7040Patch 7.2b.018
7041Problem: When doing command line completion on a file name for a csh-like
7042 shell argument a '!' character isn't escaped properly.
7043Solution: Add another backslash.
7044Files: src/ex_getln.c, src/misc2.c, src/proto/misc2.pro, src/screen.c
7045
7046Patch 7.2b.019 (extra)
7047Problem: Win32: Various compiler warnings.
7048Solution: Use __w64 attribute. Comment-out unused parameters. Adjust a few
7049 #ifdefs. (George Reilly)
7050Files: src/gui_w48.c, src/GvimExt/gvimext.cpp, src/Make_mvc.mak,
7051 src/os_mswin.c, src/os_win32.c, src/vim.h
7052
7053Patch 7.2b.020
7054Problem: ":sort n" doesn't handle negative numbers. (James Vega)
7055Solution: Include '-' in the number.
7056Files: src/charset.c, src/ex_cmds.c
7057
7058Patch 7.2b.021
7059Problem: Reloading doesn't read the BOM correctly. (Steve Gardner)
7060Solution: Accept utf-8 BOM when specified file encoding is utf-8.
7061Files: src/fileio.c
7062
7063Patch 7.2b.022
7064Problem: When using ":normal" while updating the status line the count of
7065 an operator is lost. (Dominique Pelle)
7066Solution: Save and restore "opcount".
7067Files: src/ex_docmd.c, src/globals.h, src/normal.c
7068
7069Patch 7.2b.023
7070Problem: Crash when using the result of synstack(0,0). (Matt Wozniski)
7071Solution: Check for v_list to be NULL in a few more places.
7072Files: src/eval.c
7073
7074Patch 7.2b.024
7075Problem: Using ":gui" while the netrw plugin is active causes a delay in
7076 updating the display.
7077Solution: Don't check for terminal codes when starting the GUI.
7078Files: src/term.c
7079
7080Patch 7.2b.025
7081Problem: When the CursorHold event triggers a pending count is lost.
7082 (Juergen Kraemer)
7083Solution: Save the counts and restore them.
7084Files: src/normal.c, src/structs.h
7085
7086Patch 7.2b.026
7087Problem: The GTK 2 file chooser causes the ~/.recently-used.xbel file to be
7088 written over and over again. This may cause a significant
7089 slowdown. (Guido Berhoerster)
7090Solution: Don't use the GTK 2 file chooser.
7091Files: src/gui_gtk.c
7092
7093Patch 7.2b.027
7094Problem: Memory leak for Python, Perl, etc. script command with end marker.
7095Solution: Free the memory of the end marker. (Andy Kittner)
7096Files: src/ex_getln.c
7097
7098Patch 7.2b.028
7099Problem: Reading uninitialized memory when doing ":gui -f". (Dominique
7100 Pelle)
7101Solution: Don't position the cursor when the screen size is invalid.
7102Files: src/gui.c
7103
7104Patch 7.2b.029
7105Problem: ":help a" doesn't jump to "a" tag in docs. (Tony Mechelynck)
7106Solution: Get all tags and throw away more than TAG_MANY after sorting.
7107 When there is no argument find matches for "help" to avoid a long
7108 delay.
7109Files: src/ex_cmds.c, src/ex_getln.c
7110
7111Patch 7.2b.030
7112Problem: When changing the value of t_Co from 8 to 16 the Visual
7113 highlighting keeps both reverse and a background color.
7114Solution: Remove the attribute when setting the default highlight color.
7115 (Markus Heidelberg)
7116Files: src/syntax.c
7117
7118Error when cancelling completion menu and auto-formatting. (fixed by Ian
7119Kelling)
7120
Bram Moolenaared39e1d2008-08-09 17:55:22 +00007121Patch 7.2c.001
7122Problem: ":let x=[''] | let x += x" causes hang. (Matt Wozniski)
7123Solution: Only insert elements up to the original length of the List.
7124Files: runtime/doc/eval.txt, src/eval.c
7125
7126Patch 7.2c.002
7127Problem: fnameescape() doesn't handle a leading '+' or '>'. (Jan Minar)
7128Solution: Escape a leading '+' and '>'. And a single '-'.
7129Files: runtime/doc/eval.txt, src/ex_getln.c
7130
7131Patch 7.2c.003
7132Problem: Searching for "foo\%[bar]\+" gives a "Corrupted regexp program"
7133 error. (Joachim Hofmann)
7134Solution: Mark the \%[] item as not being simple.
7135Files: src/regexp.c
7136
7137On Vista access to system directories is virtualized. (Michael Mutschler)
7138Adjusted the manifest file to avoid this. (George Reilly)
7139
7140Memory leak when using CTRL-C to cancel listing the jump list. (Dominique
7141Pelle)
7142
7143Mac: Could not build with Perl interface.
7144
Bram Moolenaar49325942007-05-10 19:19:59 +00007145
Bram Moolenaar071d4272004-06-13 20:20:40 +00007146 vim:tw=78:ts=8:ft=help:norl: