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