home *** CD-ROM | disk | FTP | other *** search
/ vim.ftp.fu-berlin.de / 2015-02-03.vim.ftp.fu-berlin.de.tar / vim.ftp.fu-berlin.de / runtime / dos / doc / version6.txt < prev    next >
Encoding:
Text File  |  2012-05-31  |  577.7 KB  |  14,531 lines

  1. *version6.txt*  For Vim version 7.3.  Last change: 2008 Aug 06
  2.  
  3.  
  4.           VIM REFERENCE MANUAL    by Bram Moolenaar
  5.  
  6.  
  7. Welcome to Vim Version 6.0!  A large number of features has been added.  This
  8. file mentions all the new items that have been added, changes to existing
  9. features and bug fixes compared to Vim 5.x.
  10.  
  11. See |vi_diff.txt| for an overview of differences between Vi and Vim 6.0.
  12. See |version4.txt| for differences between Vim 3.0 and Vim 4.0.
  13. See |version5.txt| for differences between Vim 4.0 and Vim 5.0.
  14.  
  15. INCOMPATIBLE CHANGES            |incompatible-6|
  16.  
  17. Cursor position in Visual mode        |curpos-visual|
  18. substitute command Vi compatible    |substitute-CR|
  19. global option values introduced        |new-global-values|
  20. 'fileencoding' changed            |fileencoding-changed|
  21. Digraphs changed            |digraphs-changed|
  22. Filetype detection changed        |filetypedetect-changed|
  23. Unlisted buffers introduced        |new-unlisted-buffers|
  24. CTRL-U in Command-line mode changed    |CTRL-U-changed|
  25. Ctags gone                |ctags-gone|
  26. Documentation reorganized        |documentation-6|
  27. Modeless selection and clipboard    |modeless-and-clipboard|
  28. Small incompatibilities            |incomp-small-6|
  29.  
  30. NEW FEATURES                |new-6|
  31.  
  32. Folding                    |new-folding|
  33. Vertically split windows        |new-vertsplit|
  34. Diff mode                |new-diff-mode|
  35. Easy Vim: click-and-type        |new-evim|
  36. User manual                |new-user-manual|
  37. Flexible indenting            |new-indent-flex|
  38. Extended search patterns        |new-searchpat|
  39. UTF-8 support                |new-utf-8|
  40. Multi-language support            |new-multi-lang|
  41. Plugin support                |new-plugins|
  42. Filetype plugins            |new-filetype-plugins|
  43. File browser                |new-file-browser|
  44. Editing files over a network        |new-network-files|
  45. Window for command-line editing        |new-cmdwin|
  46. Debugging mode                |new-debug-mode|
  47. Cursor in virtual position        |new-virtedit|
  48. Debugger interface            |new-debug-itf|
  49. Communication between Vims        |new-vim-server|
  50. Buffer type options            |new-buftype|
  51. Printing                |new-printing|
  52. Ports                    |ports-6|
  53. Quickfix extended            |quickfix-6|
  54. Operator modifiers            |new-operator-mod|
  55. Search Path                |new-search-path|
  56. Writing files improved            |new-file-writing|
  57. Argument list                |new-argument-list|
  58. Restore a View                |new-View|
  59. Color schemes                |new-color-schemes|
  60. Various new items            |new-items-6|
  61.  
  62. IMPROVEMENTS                |improvements-6|
  63.  
  64. COMPILE TIME CHANGES            |compile-changes-6|
  65.  
  66. BUG FIXES                |bug-fixes-6|
  67.  
  68. VERSION 6.1            |version-6.1|
  69. Changed                    |changed-6.1|
  70. Added                    |added-6.1|
  71. Fixed                    |fixed-6.1|
  72.  
  73. VERSION 6.2            |version-6.2|
  74. Changed                    |changed-6.2|
  75. Added                    |added-6.2|
  76. Fixed                    |fixed-6.2|
  77.  
  78. VERSION 6.3            |version-6.3|
  79. Changed                    |changed-6.3|
  80. Added                    |added-6.3|
  81. Fixed                    |fixed-6.3|
  82.  
  83. VERSION 6.4            |version-6.4|
  84. Changed                    |changed-6.4|
  85. Added                    |added-6.4|
  86. Fixed                    |fixed-6.4|
  87.  
  88. ==============================================================================
  89. INCOMPATIBLE CHANGES                *incompatible-6*
  90.  
  91. These changes are incompatible with previous releases.  Check this list if you
  92. run into a problem when upgrading from Vim 5.x to 6.0
  93.  
  94.  
  95. Cursor position in Visual mode            *curpos-visual*
  96. ------------------------------
  97.  
  98. When going from one window to another window on the same buffer while in
  99. Visual mode, the cursor position of the other window is adjusted to keep the
  100. same Visual area.  This can be used to set the start of the Visual area in one
  101. window and the end in another.  In vim 5.x the cursor position of the other
  102. window would be used, which could be anywhere and was not very useful.
  103.  
  104.  
  105. Substitute command Vi compatible        *substitute-CR*
  106. --------------------------------
  107.  
  108. The substitute string (the "to" part of the substitute command) has been made
  109. Vi compatible.  Previously a CTRL-V had a special meaning and could be used to
  110. prevent a <CR> to insert a line break.  This made it impossible to insert a
  111. CTRL-V before a line break.  Now a backslash is used to prevent a <CR> to
  112. cause a line break.  Since the number of backslashes is halved, it is still
  113. possible to insert a line break at the end of the line.  This now works just
  114. like Vi, but it's not compatible with Vim versions before 6.0.
  115.  
  116. When a ":s" command doesn't make any substitutions, it no longer sets the '[
  117. and '] marks.  This is not related to Vi, since it doesn't have these marks.
  118.  
  119.  
  120. Global option values introduced            *new-global-values*
  121. -------------------------------
  122.  
  123. There are now global values for options which are local to a buffer or window.
  124. Previously the local options were copied from one buffer to another.  When
  125. editing another file this could cause option values from a modeline to be used
  126. for the wrong file.  Now the global values are used when entering a buffer
  127. that has not been used before.  Also, when editing another buffer in a window,
  128. the local window options are reset to their global values.  The ":set" command
  129. sets both the local and global values, this is still compatible.  But a
  130. modeline only sets the local value, this is not backwards compatible.
  131.  
  132. ":let &opt = val" now sets the local and global values, like ":set".  New
  133. commands have been added to set the global or local value:
  134.     :let &opt = val        like ":set"
  135.     :let &g:opt = val    like ":setglobal"
  136.     :let &l:opt = val    like ":setlocal"
  137.  
  138.  
  139. 'fileencoding' changed                *fileencoding-changed*
  140. ----------------------
  141.  
  142. 'fileencoding' was used in Vim 5.x to set the encoding used inside all of Vim.
  143. This was a bit strange, because it was local to a buffer and worked for all
  144. buffers.  It could never be different between buffers, because it changed the
  145. way text in all buffers was interpreted.
  146. It is now used for the encoding of the file related to the buffer.  If you
  147. still set 'fileencoding' it is likely to be overwritten by the detected
  148. encoding from 'fileencodings', thus it is "mostly harmless".
  149. The old FileEncoding autocommand now does the same as the new EncodingChanged
  150. event.
  151.  
  152.  
  153. Digraphs changed                *digraphs-changed*
  154. ----------------
  155.  
  156. The default digraphs now correspond to RFC1345.  This is very different from
  157. what was used in Vim 5.x. |digraphs|
  158.  
  159.  
  160. Filetype detection changed            *filetypedetect-changed*
  161. --------------------------
  162.  
  163. The filetype detection previously was using the "filetype" autocommand group.
  164. This caused confusion with the FileType event name (case is ignored).  The
  165. group is now called "filetypedetect".  It still works, but if the "filetype"
  166. group is used the autocommands will not be removed by ":filetype off".
  167.    The support for 'runtimepath' has made the "myfiletypefile" and
  168. "mysyntaxfile" mechanism obsolete.  They are still used for backwards
  169. compatibility.
  170.  
  171. The connection between the FileType event and setting the 'syntax' option was
  172. previously in the "syntax" autocommand group.  That caused confusion with the
  173. Syntax event name.  The group is now called "syntaxset".
  174.  
  175. The distributed syntax files no longer contain "syntax clear".  That makes it
  176. possible to include one in the other without tricks.  The syntax is now
  177. cleared when the 'syntax' option is set (by an autocommand added from
  178. synload.vim).  This makes the syntax cleared when the value of 'syntax' does
  179. not correspond to a syntax file.  Previously the existing highlighting was
  180. kept.
  181.  
  182.  
  183. Unlisted buffers introduced            *new-unlisted-buffers*
  184. ---------------------------
  185.  
  186. There is now a difference between buffers which don't appear in the buffer
  187. list and buffers which are really not in the buffer list.  Commands like
  188. ":ls", ":bnext", ":blast" and the Buffers menu will skip buffers not in the
  189. buffer list. |unlisted-buffer|
  190. The 'buflisted' option can be used to make a buffer appear in the buffer list
  191. or not.
  192.  
  193. Several commands that previously added a buffer to the buffer list now create
  194. an unlisted buffer.  This means that a ":bnext" and ":ball" will not find these
  195. files until they have actually been edited.  For example, buffers used for the
  196. alternative file by ":write file" and ":read file".
  197.    Other commands previously completely deleted a buffer and now only remove
  198. the buffer from the buffer list.  Commands relying on a buffer not to be
  199. present might fail.  For example, a ":bdelete" command in an autocommand that
  200. relied on something following to fail (was used in the automatic tests).
  201. |:bwipeout| can be used for the old meaning of ":bdelete".
  202.  
  203. The BufDelete autocommand event is now triggered when a buffer is removed from
  204. the buffer list.  The BufCreate event is only triggered when a buffer is
  205. created that is added to the buffer list, or when an existing buffer is added
  206. to the buffer list.  BufAdd is a new name for BufCreate.
  207. The new BufNew event is for creating any buffer and BufWipeout for really
  208. deleting a buffer.
  209.  
  210. When doing Insert mode completion, only buffers in the buffer list are
  211. scanned.  Added the 'U' flag to 'complete' to do completion from unlisted
  212. buffers.
  213.  
  214. Unlisted buffers are not stored in a viminfo file.
  215.  
  216.  
  217. CTRL-U in Command-line mode changed        *CTRL-U-changed*
  218. -----------------------------------
  219.  
  220. Using CTRL-U when editing the command line cleared the whole line.  Most
  221. shells only delete the characters before the cursor.  Made it work like that.
  222. (Steve Wall)
  223.  
  224. You can get the old behavior with CTRL-E CTRL-U: >
  225.     :cnoremap <C-U> <C-E><C-U>
  226.  
  227.  
  228. Ctags gone                    *ctags-gone*
  229. ----------
  230.  
  231. Ctags is no longer part of the Vim distribution.  It's now a grown-up program
  232. by itself, it deserves to be distributed separately.
  233. Ctags can be found here: http://ctags.sf.net/.
  234.  
  235.  
  236. Documentation reorganized            *documentation-6*
  237. -------------------------
  238.  
  239. The documentation has been reorganized, an item may not be where you found it
  240. in Vim 5.x.
  241. - The user manual was added, some items have been moved to it from the
  242.   reference manual.
  243. - The quick reference is now in a separate file (so that it can be printed).
  244.  
  245. The examples in the documentation were previously marked with a ">" in the
  246. first column.  This made it difficult to copy/paste them.  There is now a
  247. single ">" before the example and it ends at a "<" or a non-blank in the first
  248. column.  This also looks better without highlighting.
  249.  
  250. 'helpfile' is no longer used to find the help tags file.  This allows a user
  251. to add its own help files (e.g., for plugins).
  252.  
  253.  
  254. Modeless selection and clipboard        *modeless-and-clipboard*
  255. --------------------------------
  256.  
  257. The modeless selection is used to select text when Visual mode can't be used,
  258. for example when editing the command line or at the more prompt.
  259. In Vim 5.x the modeless selection was always used.  On MS-Windows this caused
  260. the clipboard to be overwritten, with no way to avoid that.  The modeless
  261. selection now obeys the 'a' and 'A' flags in 'guioptions' and "autoselect" and
  262. "autoselectml" in 'clipboard'.  By default there is no automatic copy on
  263. MS-Windows.  Use the |c_CTRL-Y| command to manually copy the selection.
  264.  
  265. To get the old behavior back, do this: >
  266.  
  267.     :set clipboard^=autoselectml guioptions+=A
  268.  
  269.  
  270. Small incompatibilities                *incomp-small-6*
  271. -----------------------
  272.  
  273. 'backupdir', 'cdpath', 'directory', 'equalprg', 'errorfile', 'formatprg',
  274. 'grepprg', 'helpfile', 'makeef', 'makeprg', 'keywordprg', 'cscopeprg',
  275. 'viminfo' and 'runtimepath' can no longer be set from a modeline, for better
  276. security.
  277.  
  278. Removed '_' from the 'breakat' default: It's commonly used in keywords.
  279.  
  280. The default for 'mousehide' is on, because this works well for most people.
  281.  
  282. The Amiga binary is now always compiled with "big" features.  The "big" binary
  283. archive no longer exists.
  284.  
  285. The items "[RO]", "[+]", "[help]", "[Preview]" and "[filetype]" in
  286. 'statusline' no longer have a leading space.
  287.  
  288. Non-Unix systems: When expanding wildcards for the Vim arguments, don't use
  289. 'suffixes'.  It now works as if the shell had expanded the arguments.
  290.  
  291. The 'lisp', 'smartindent' and 'cindent' options are not switched off when
  292. 'paste' is set.  The auto-indenting is disabled when 'paste' is set, but
  293. manual indenting with "=" still works.
  294.  
  295. When formatting with "=" uses 'cindent' or 'indentexpr' indenting, and there
  296. is no change in indent, this is not counted as a change ('modified' isn't set
  297. and there is nothing to undo).
  298.  
  299. Report 'modified' as changed when 'fileencoding' or 'fileformat' was set.
  300. Thus it reflects the possibility to abandon the buffer without losing changes.
  301.  
  302. The "Save As" menu entry now edits the saved file.  Most people expect it to
  303. work like this.
  304.  
  305. A buffer for a directory is no longer added to the Buffers menu.
  306.  
  307. Renamed <Return> to <Enter>, since that's what it's called on most keyboards.
  308. Thus it's now the hit-enter prompt instead of the hit-return prompt.
  309. Can map <Enter> just like <CR> or <Return>.
  310.  
  311. The default for the 'viminfo' option is now '20,"50,h when 'compatible' isn't
  312. set.  Most people will want to use it, including beginners, but it required
  313. setting the option, which isn't that easy.
  314.  
  315. After using ":colder" the newer error lists are overwritten.  This makes it
  316. possible to use ":grep" to browse in a tree-like way.  Must use ":cnewer 99"
  317. to get the old behavior.
  318.  
  319. The patterns in 'errorformat' would sometimes ignore case (MS-Windows) and
  320. sometimes not (Unix).  Now case is always ignored.  Add "\C" to the pattern to
  321. match case.
  322.  
  323. The 16 bit MS-DOS version is now compiled without the +listcmds feature
  324. (buffer list manipulation commands).  They are not often needed and this
  325. executable needs to be smaller.
  326.  
  327. 'sessionoptions' now includes "curdir" by default.  This means that restoring
  328. a session will result in the current directory being restored, instead of
  329. going to the directory where the session file is located.
  330.  
  331. A session deleted all buffers, deleting all marks.  Now keep the buffer list,
  332. it shouldn't hurt for some existing buffers to remain present.
  333. When the argument list is empty ":argdel *" caused an error message.
  334.  
  335. No longer put the search pattern from a tag jump in the history.
  336.  
  337. Use "SpecialKey" highlighting for unprintable characters instead of "NonText".
  338. The idea is that unprintable text or any text that's displayed differently
  339. from the characters in the file is using "SpecialKey", and "NonText" is used
  340. for text that doesn't really exist in the file.
  341.  
  342. Motif now uses the system default colors for the menu and scrollbar.  Used to
  343. be grey.  It's still possible to set the colors with ":highlight" commands and
  344. resources.
  345.  
  346. Formatting text with "gq" breaks a paragraph at a non-empty blank line.
  347. Previously the line would be removed, which wasn't very useful.
  348.  
  349. ":normal" does no longer hang when the argument ends in half a command.
  350. Previously Vim would wait for more characters to be typed, without updating
  351. the screen.  Now it pretends an <Esc> was typed.
  352.  
  353. Bitmaps for the toolbar are no longer searched for in "$VIM/bitmaps" but in
  354. the "bitmaps" directories in 'runtimepath'.
  355.  
  356. Now use the Cmdline-mode menus for the hit-enter prompt instead of the Normal
  357. mode menus.  This generally works better and allows using the "Copy" menu to
  358. produce CTRL-Y to copy the modeless selection.
  359.  
  360. Moved the font selection from the Window to the Edit menu, together with the
  361. other settings.
  362.  
  363. The default values for 'isfname' include more characters to make "gf" work
  364. better.
  365.  
  366. Changed the license for the documentation to the Open Publication License.
  367. This seemed fair, considering the inclusion of parts of the Vim book, which is
  368. also published under the OPL.  The downside is that we can't force someone who
  369. would sell copies of the manual to contribute to Uganda.
  370.  
  371. After  "ayy  don't let  ""yy  or  :let @" = val  overwrite the "a register.
  372. Use the unnamed register instead.
  373.  
  374. MSDOS: A pattern "*.*" previously also matched a file name without a dot.
  375. This was inconsistent with other versions.
  376.  
  377. In Insert mode, CTRL-O CTRL-\ CTRL-N {cmd} remains in Normal mode.  Previously
  378. it would go back to Insert mode, thus confusing the meaning of CTRL-\ CTRL-N,
  379. which is supposed to take us to Normal mode (especially in ":amenu").
  380.  
  381. Allow using ":" commands after an operator.  Could be used to implement a new
  382. movement command.  Thus it no longer aborts a pending operator.
  383.  
  384. For the Amiga the "-d {device}" argument was possible.  When compiled with the
  385. diff feature, this no longer works.  Use "-dev {device}" instead. |-dev|
  386.  
  387. Made the default mappings for <S-Insert> in Insert mode insert the text
  388. literally, avoids that special characters like BS cause side effects.
  389.  
  390. Using ":confirm" applied to the rest of the line.  Now it applies only to the
  391. command right after it.  Thus ":confirm if x | edit | endif" no longer works,
  392. use ":if x | confirm edit | endif".  This was the original intention, that it
  393. worked differently was a bug.
  394.  
  395. ==============================================================================
  396. NEW FEATURES                        *new-6*
  397.  
  398. Folding                            *new-folding*
  399. -------
  400.  
  401. Vim can now display a buffer with text folded.  This allows overviewing the
  402. structure of a file quickly.  It is also possible to yank, delete and put
  403. folded text, for example to move a function to another position.
  404.  
  405. There is a whole bunch of new commands and options related to folding.
  406. See |folding|.
  407.  
  408.  
  409. Vertically split windows                *new-vertsplit*
  410. ------------------------
  411.  
  412. Windows can also be split vertically.  This makes it possible to have windows
  413. side by side.  One nice use for this is to compare two similar files (see
  414. |new-diff-mode|).  The 'scrollbind' option can be used to synchronize
  415. scrolling.
  416.  
  417. A vertical split can be created with the commands:
  418.     :vsplit      or  CTRL-W v  or CTRL-W CTRL-V    |:vsplit|
  419.     :vnew                        |:vnew|
  420.     :vertical {cmd}                    |:vertical|
  421. The last one is a modifier, which has a meaning for any command that splits a
  422. window.  For example: >
  423.     :vertical stag main
  424. Will vertically split the window and jump to the tag "main" in the new window.
  425.  
  426. Moving from window to window horizontally can be done with the |CTRL-W_h| and
  427. |CTRL-W_l| commands.  The |CTRL-W_k| and |CTRL-W_j| commands have been changed
  428. to jump to the window above or below the cursor position.
  429.  
  430. The vertical and horizontal splits can be mixed as you like.  Resizing windows
  431. is easy when using the mouse, just position the pointer on a status line or
  432. vertical separator and drag it.  In the GUI a special mouse pointer shape
  433. indicates where you can drag a status or separator line.
  434.  
  435. To resize vertically split windows use the |CTRL-W_<| and |CTRL-W_>| commands.
  436. To make a window the maximum width use the CTRL-W | command |CTRL-W_bar|.
  437.  
  438. To force a new window to use the full width or height of the Vim window,
  439. these two modifiers are available:
  440.     :topleft {cmd}        New window appears at the top with full
  441.                 width or at the left with full height.
  442.     :botright {cmd}        New window appears at the bottom with full
  443.                 width or at the right with full height.
  444. This can be combined with ":vertical" to force a vertical split: >
  445.     :vert bot dsplit DEBUG
  446. This will open a window at the far right, occupying the full height of the Vim
  447. window, with the cursor on the first definition of "DEBUG".
  448. The help window is opened at the top, like ":topleft" was used, if the current
  449. window is fewer than 80 characters wide.
  450.  
  451. A few options can be used to set the preferences for vertically split windows.
  452. They work similar to their existing horizontal equivalents:
  453.     horizontal    vertical ~
  454.     'splitbelow'    'splitright'
  455.     'winheight'    'winwidth'
  456.     'winminheight'    'winminwidth'
  457. It's possible to set 'winminwidth' to zero, so that temporarily unused windows
  458. hardly take up space without closing them.
  459.  
  460. The new 'eadirection' option tells where 'equalalways' applies:
  461.     :set eadirection=both        both directions
  462.     :set eadirection=ver        equalize window heights
  463.     :set eadirection=hor        equalize windows widths
  464. This can be used to avoid changing window sizes when you want to keep them.
  465.  
  466. Since windows can become quite narrow with vertical splits, text lines will
  467. often not fit.  The 'sidescrolloff' has been added to keep some context left
  468. and right of the cursor.  The 'listchars' option has been extended with the
  469. "precedes" item, to show a "<" for example, when there is text left off the
  470. screen. (Utz-Uwe Haus)
  471.  
  472. "-O" command line argument: Like "-o" but split windows vertically. (Scott
  473. Urban)
  474.  
  475. Added commands to move the current window to the very top (CTRL-W K), bottom
  476. (CTRL-W J), left (CTRL-W H) and right (CTRL-W L).  In the new position the
  477. window uses the full width/height of the screen.
  478.  
  479. When there is not enough room in the status line for both the file name and
  480. the ruler, use up to half the width for the ruler.  Useful for narrow windows.
  481.  
  482.  
  483. Diff mode                        *new-diff-mode*
  484. ---------
  485.  
  486. In diff mode Vim shows the differences between two, three or four files.
  487. Folding is used to hide the parts of the file that are equal.
  488. Highlighting is used to show deleted and changed lines.
  489. See |diff-mode|.
  490.  
  491. An easy way to start in diff mode is to start Vim as "vimdiff file1 file2".
  492. Added the vimdiff manpage.
  493.  
  494. In a running Vim the |:diffsplit| command starts diff mode for the current
  495. file and another file.  The |:diffpatch| command starts diff mode using the
  496. current file and a patch file.  The |:diffthis| command starts diff mode for
  497. the current window.
  498.  
  499. Differences can be removed with the |:diffget| and |:diffput| commands.
  500.  
  501. - The 'diff' option switches diff mode on in a window.
  502. - The |:diffupdate| command refreshes the diffs.
  503. - The 'diffopt' option changes how diffs are displayed.
  504. - The 'diffexpr' option can be set how a diff is to be created.
  505. - The 'patchexpr' option can be set how patch is applied to a file.
  506. - Added the "diff" folding method.  When opening a window for diff-mode, set
  507.   'foldlevel' to zero and 'foldenable' on, to close the folds.
  508. - Added the DiffAdd, DiffChange, DiffDelete and DiffText highlight groups to
  509.   specify the highlighting for differences.  The defaults are ugly...
  510. - Unix: make a vimdiff symbolic link for "make install".
  511. - Removed the now obsolete "vimdiff.vim" script from the distribution.
  512. - Added the "[c" and "]c" commands to move to the next/previous change in diff
  513.   mode.
  514.  
  515.  
  516. Easy Vim: click-and-type                *new-evim*
  517. ------------------------
  518.  
  519. eVim stands for "Easy Vim".  This is a separate program, but can also be
  520. started as "vim -y".
  521.  
  522. This starts Vim with 'insertmode' set to allow click-and-type editing.  The
  523. $VIMRUNTIME/evim.vim script is used to add mappings and set options to be able
  524. to do most things like Notepad.  This is only for people who can't stand two
  525. modes.
  526.  
  527. eView does the same but in readonly mode.
  528.  
  529. In the GUI a CTRL-C now only interrupts when busy with something, not when
  530. waiting for a character.  Allows using CTRL-C to copy text to the clipboard.
  531.  
  532.  
  533. User manual                        *new-user-manual*
  534. -----------
  535.  
  536. The user manual has been added.  It is organised around editing tasks.  It
  537. reads like a book, from start to end.  It should allow beginners to start
  538. learning Vim.  It helps everybody to learn using the most useful Vim features.
  539. It is much easier to read than the reference manual, but omits details.  See
  540. |user-manual|.
  541.  
  542. The user manual includes parts of the Vim book by Steve Oualline |frombook|.
  543. It is published under the OPL |manual-copyright|.
  544.  
  545. When syntax highlighting is not enabled, the characters in the help file which
  546. mark examples ('>' and '<') and header lines ('~') are replaced with a space.
  547.  
  548. When closing the help window, the window layout is restored from before
  549. opening it, if the window layout didn't change since then.
  550. When opening the help window, put it at the top of the Vim window if the
  551. current window is fewer than 80 characters and not full width.
  552.  
  553.  
  554. Flexible indenting                    *new-indent-flex*
  555. ------------------
  556.  
  557. Automatic indenting is now possible for any language.  It works with a Vim
  558. script, which makes it very flexible to compute the indent.
  559.  
  560. The ":filetype indent on" command enables using the provided indent scripts.
  561. This is explained in the user manual: |30.3|.
  562.  
  563. The 'indentexpr' option is evaluated to get the indent for a line.  The
  564. 'indentkeys' option tells when to trigger re-indenting.  Normally these
  565. options are set from an indent script.  Like Syntax files, indent scripts will
  566. be created and maintained by many people.
  567.  
  568.  
  569. Extended search patterns                *new-searchpat*
  570. ------------------------
  571.  
  572. Added the possibility to match more than one line with a pattern. (partly by
  573. Loic Grenie)
  574. New items in a search pattern for multi-line matches:
  575. \n        match end-of-line, also in []
  576. \_[]        match characters in range and end-of-line
  577. \_x        match character class and end-of-line
  578. \_.        match any character or end-of-line
  579. \_^        match start-of-line, can be used anywhere in the regexp
  580. \_$        match end-of-line, can be used anywhere in the regexp
  581.  
  582. Various other new items in search patterns:
  583. \c        ignore case for the whole pattern
  584. \C        match case for the whole pattern
  585. \m        magic on for the following
  586. \M        magic off for the following
  587. \v        make following characters "very magic"
  588. \V        make following characters "very nomagic"
  589.  
  590. \@!        don't match atom before this.
  591.         Example: "foo\(bar\)\@!" matches "foo " but not "foobar".
  592. \@=        match atom, resulting in  zero-width match
  593.         Example: "foo\(bar\)\@=" matches "foo" in "foobar".
  594. \@<!        don't match preceding atom before the current position
  595. \@<=        match preceding atom before the current position
  596. \@>        match preceding atom as a subexpression
  597.  
  598. \&        match only when branch before and after it match
  599.  
  600. \%[]        optionally match a list of atoms; "end\%[if]" matches "end",
  601.         "endi" and "endif"
  602. \%(\)        like \(\), but without creating a back-reference; there can be
  603.         any number of these, overcomes the limit of nine \( \) pairs
  604. \%^        match start-of-file (Chase Tingley)
  605. \%$        match end-of-file (Chase Tingley)
  606. \%#        Match with the cursor position. (Chase Tingley)
  607. \?        Just like "\=" but can't be used in a "?" command.
  608.  
  609. \%23l        match in line 23
  610. \%<23l        match before line 23
  611. \%>23l        match after line 23
  612. \%23c, \%<23c, \%>23c   match in/before/after column 23
  613. \%23v, \%<23v, \%>23v    match in/before/after virtual column 23
  614.  
  615.  
  616. For syntax items:
  617. \z(...\)    external reference match set (in region start pattern)
  618. \z1 - \z9    external reference match use (in region skip or end pattern)
  619.     (Scott Bigham)
  620.  
  621. \zs        use position as start of match
  622. \ze        use position as end of match
  623.  
  624. Removed limit of matching only up to 32767 times with *, \+, etc.
  625.  
  626. Added support to match multi-byte characters. (partly by Muraoka Taro)
  627. Made "\<" and "\>" work for UTF-8. (Muraoka Taro)
  628.  
  629.  
  630. UTF-8 support                        *new-utf-8*
  631. -------------
  632.  
  633. Vim can now edit files in UTF-8 encoding.  Up to 31 bit characters can be
  634. used, but only 16 bit characters are displayed.  Up to two combining
  635. characters are supported, they overprint the preceding character.
  636. Double-wide characters are also supported.  See |UTF-8|.
  637.  
  638. UCS-2, UCS-4 and UTF-16 encodings are supported too, they are converted to
  639. UTF-8 internally.  There is also support for editing Unicode files in a Latin1
  640. environment.  Other encodings are converted with iconv() or an external
  641. converter specified with 'charconvert'.
  642.  
  643. Many new items for Multi-byte support:
  644. - Added 'encoding' option: specifies character encoding used inside Vim.  It
  645.   can be any 8-bit encoding, some double-byte encodings or Unicode.
  646.   It is initialized from the environment when a supported value is found.
  647. - Added 'fileencoding' and 'fileencodings': specify character coding in a
  648.   file, similar to 'fileformat' and 'fileformats'.
  649.   When 'encoding' is "utf-8" and 'fileencodings' is "utf-8,latin1" this will
  650.   automatically switch to latin1 if a file does not contain valid UTF-8.
  651. - Added 'bomb' option and detection of a BOM at the start of a file.  Can be
  652.   used with "ucs-bom" in 'fileencodings' to automatically detect a Unicode
  653.   file if it starts with a BOM.  Especially useful on MS-Windows (NT and
  654.   2000), which uses ucs-2le files with a BOM (e.g., when exporting the
  655.   registry).
  656. - Added the 'termencoding' option: Specifies the encoding used for the
  657.   terminal.  Useful to put Vim in utf-8 mode while in a non-Unicode locale: >
  658.     :let &termencoding = &encoding
  659.     :set encoding=utf-8
  660. - When 'viminfo' contains the 'c' flag, the viminfo file is converted from the
  661.   'encoding' it was written with to the current 'encoding'.
  662. - Added ":scriptencoding" command: convert lines in a sourced script to
  663.   'encoding'.  Useful for menu files.
  664. - Added 'guifontwide' to specify a font for double-wide characters.
  665. - Added Korean support for character class detection.  Also fix cls() in
  666.   search.c. (Chong-Dae Park)
  667. - Win32: Typing multi-byte characters without IME. (Alexander Smishlajev)
  668. - Win32 with Mingw: compile with iconv library. (Ron Aaron)
  669. - Win32 with MSVC: dynamically load iconv.dll library. (Muraoka Taro)
  670. - Make it possible to build a version with multi-byte and iconv support with
  671.   Borland 5.5.  (Yasuhiro Matsumoto)
  672. - Added 'delcombine' option: Delete combining character separately. (Ron
  673.   Aaron)
  674. - The "xfontset" feature isn't required for "xim".  These are now two
  675.   independent features.
  676. - XIM: enable XIM when typing a language character (Insert mode, Search
  677.   pattern, "f" or "r" command).  Disable XIM when typing a Normal mode
  678.   command.
  679. - When the XIM is active, show "XIM" in the 'showmode' message. (Nam SungHyun)
  680. - Support "CursorIM" for XIM.  (Nam SungHyun)
  681. - Added 'm' flag to 'formatoptions': When wrapping words, allow splitting at
  682.   each multibyte character, not only at a space.
  683. - Made ":syntax keyword" work with multi-byte characters.
  684. - Added support for Unicode upper/lowercase flipping and comparing. (based on
  685.   patch by Raphael Finkel)
  686.   Let "~" on multi-byte characters that have a third case ("title case")
  687.   switch between the three cases. (Raphael Finkel)
  688.  
  689. Allow defining digraphs for multi-byte characters.
  690. Added RFC1345 digraphs for Unicode.
  691. Most Normal mode commands that accept a character argument, like "r", "t" and
  692. "f" now accept a digraph.  The 'D' flag in 'cpoptions' disables this to remain
  693. Vi compatible.
  694.  
  695. Added Language mapping and 'keymap' to be able to type multi-byte characters:
  696. - Added the ":lmap" command and friends: Define mappings that are used when
  697.   typing characters in the language of the text.  Also for "r", "t", etc.  In
  698.   Insert and Command-line mode CTRL-^ switches the use of the mappings on/off.
  699.   CTRL-^ also toggles the use of an input method when no language mappings are
  700.   present.  Allows switching the IM back on halfway typing.
  701. - "<char-123>" argument to ":map", allows to specify the decimal, octal or
  702.   hexadecimal value of a character.
  703. - Implemented the 'keymap' option: Load a keymap file.  Uses ":lnoremap" to
  704.   define mappings for the keymap.  The new ":loadkeymap" command is used in
  705.   the keymap file.
  706. - Added 'k' flag in 'statusline': Value of "b:keymap_name" or 'keymap' when
  707.   it's being used.  Uses "<lang>" when no keymap is loaded and ":lmap"s are
  708.   active.  Show this text in the default statusline too.
  709. - Added the 'iminsert' and 'imsearch' options: Specify use of langmap mappings
  710.   and Input Method with an option. (Muraoka Taro)
  711.   Added 'imcmdline' option: When set the input method is always enabled when
  712.   starting to edit a command line.  Useful for a XIM that uses dead keys to
  713.   type accented characters.
  714.   Added 'imactivatekey' option to better control XIM.  (Muraoka Taro)
  715. - When typing a mapping that's not finished yet, display the last character
  716.   under the cursor in Insert mode and Command-line mode.  Looks good for dead
  717.   characters.
  718. - Made the 'langmap' option recognize multi-byte characters.  But mapping only
  719.   works for 8-bit characters.  Helps when using UTF-8.
  720. - Use a different cursor for when ":lmap" mappings are active.  Can specify
  721.   two highlight groups for an item in 'guicursor'.  By default "lCursor" and
  722.   "Cursor" are equal, the user must set a color he likes.
  723.   Use the cursor color for hangul input as well. (Sung-Hyun Nam)
  724. - Show "(lang)" for 'showmode' when language mapping is enabled.
  725. - UTF-8: Made "r" work with a ":lmap" that includes a composing character.
  726.   Also works for "f", which now works to find a character that includes a
  727.   composing character.
  728.  
  729. Other multi-byte character additions:
  730. - Support double-byte single-width characters for euc-jp: Characters starting
  731.   with 0x8E.  Added ScreenLines2[] to store the second byte.
  732.  
  733.  
  734. Multi-language support                    *new-multi-lang*
  735. ----------------------
  736.  
  737. The messages used in Vim can be translated.  Several translations are
  738. available.  This uses the gettext mechanism.  It allows adding a translation
  739. without recompiling Vim.  |multi-lang| (partly by Marcin Dalecki)
  740.  
  741. The translation files are in the src/po directory.  The src/po/README.txt file
  742. explains a few things about doing a translation.
  743.  
  744. Menu translations are available as well.  This uses the new |:menutranslate|
  745. command.  The translations are found in the runtime directory "lang".  This
  746. allows a user to add a translation.
  747.  
  748. Added |:language| command to set the language (locale) for messages, time and
  749. character type.  This allows switching languages in Vim without changing the
  750. locale outside of Vim.
  751.  
  752. Made it possible to have vimtutor use different languages.  (Eduardo Fernandez)
  753. Spanish (Eduardo Fernandez), Italian (Antonio Colombo), Japanese (Yasuhiro
  754. Matsumoto) and French (Adrien Beau) translations are included.
  755. Added "vimtutor.bat": script to start Vim on a copy of the tutor file for
  756. MS-Windows. (Dan Sharp)
  757.  
  758. - Added v:lang variable to be able to get current language setting.
  759.   (Marcin Dalecki)  Also v:lc_time and v:ctype.
  760. - Make it possible to translate the dialogs used by the menus.  Uses global
  761.   "menutrans_" variables.  ":menutrans clear" deletes them.
  762. - removed "broken locale" (Marcin Dalecki).
  763. - Don't use color names in icons, use RGB values.  The names could be
  764.   translated.
  765. - Win32: Added global IME support (Muraoka)
  766. - Win32: Added dynamic loading of IME support.
  767. - ":messages" prints a message about who maintains the messages or the
  768.   translations.  Useful to find out where to make a remark about a wrong
  769.   translation.
  770. - --disable-nls argument for configure: Disable use of gettext(). (Sung-Hyun
  771.   Nam)
  772. - Added NLS support for Win32 with the MingW compiler. (Eduardo Fernandez)
  773. - When available, call bind_textdomain_codeset() to have gettext() translate
  774.   messages to 'encoding'.  This requires GNU gettext 0.10.36 or later.
  775. - Added gettext support for Win32.  This means messages will be translated
  776.   when the locale is set and libintl.dll can be found.  (Muraoka Taro)
  777.   Also made it work with MingW compiler.  (Eduardo Fernandez)
  778.   Detect the language and set $LANG to get the appropriate translated messages
  779.   (if supported).  Also use $LANG to select a language, v:lang is a very
  780.   different kind of name.
  781. - Made gvimext.dll use translated messages, if possible. (Yasuhiro Matsumoto)
  782.  
  783.  
  784. Plugin support                    *new-plugins*
  785. --------------
  786.  
  787. To make it really easy to load a Vim script when starting Vim, the "plugin"
  788. runtime directory can be used.  All "*.vim" files in it will be automatically
  789. loaded.  For Unix, the directory "~/.vim/plugin" is used by default.  The
  790. 'runtimepath' option can be set to look in other directories for plugins.
  791. |load-plugins| |add-plugin|
  792.  
  793. The |:runtime| command has been added to load one or more files in
  794. 'runtimepath'.
  795.  
  796. Standard plugins:
  797. netrw.vim - Edit files over a network |new-network-files|
  798. gzip.vim - Edit compressed files
  799. explorer.vim - Browse directories |new-file-browser|
  800.  
  801. Added support for local help files. |add-local-help|.
  802. When searching for help tags, all "doc/tags" files in 'runtimepath' are used.
  803. Added the ":helptags" command: Generate a tags file for a help directory.
  804. The first line of each help file is automagically added to the "LOCAL
  805. ADDITIONS" section in doc/help.txt.
  806.  
  807. Added the <unique> argument to ":map": only add a mapping when it wasn't
  808. defined before.
  809.  
  810. When displaying an option value with 'verbose' set will give a message about
  811. where the option was last set.  Very useful to find out which script did set
  812. the value.
  813.  
  814. The new |:scriptnames| command displays a list of all scripts that have been
  815. sourced.
  816.  
  817. GUI: For Athena, Motif and GTK look for a toolbar bitmap in the "bitmaps"
  818. directories in 'runtimepath'.  Allows adding your own bitmaps.
  819.  
  820.  
  821. Filetype plugins                *new-filetype-plugins*
  822. -----------------
  823.  
  824. A new group of files has been added to do settings for specific file types.
  825. These can be options and mappings which are specifically used for one value of
  826. 'filetype'.
  827.  
  828. The files are located in "$VIMRUNTIME/ftplugin".  The 'runtimepath' option
  829. makes it possible to use several sets of plugins: Your own, system-wide,
  830. included in the Vim distribution, etc.
  831.  
  832. To be able to make this work, several features were added:
  833. - Added the "s:" variables, local to a script.  Avoids name conflicts with
  834.   global variables.  They can be used in the script and in functions,
  835.   autocommands and user commands defined in the script.  They are kept between
  836.   invocations of the same script.  |s:var|
  837. - Added the global value for local options.  This value is used when opening
  838.   a new buffer or editing another file.  The option value specified in a
  839.   modeline or filetype setting is not carried over to another buffer.
  840.   ":set" sets both the local and the global value.
  841.   ":setlocal" sets the local option value only.
  842.   ":setglobal" sets or displays the global value for a local option.
  843.   ":setlocal name<" sets a local option to its global value.
  844. - Added the buffer-local value for some global options: 'equalprg', 'makeprg',
  845.   'errorformat', 'grepprg', 'path', 'dictionary', 'thesaurus', 'tags',
  846.   'include' and 'define'.  This allows setting a local value for these global
  847.   options, without making it incompatible.
  848. - Added mappings and abbreviations local to a buffer: ":map <buffer>".
  849. - In a mapping "<Leader>" can be used to get the value of the "mapleader"
  850.   variable.  This simplifies mappings that use "mapleader".  "<Leader>"
  851.   defaults to "\".  "<LocalLeader>" does the same with "maplocalleader".  This
  852.   is to be used for mappings local to a buffer.
  853. - Added <SID> Script ID to define functions and mappings local to a script.
  854. - Added <script> argument to ":noremap" and ":noremenu": Only remap
  855.   script-local mappings.  Avoids that mappings from other scripts get in the
  856.   way, but does allow using mappings defined in the script.
  857. - User commands can be local to a buffer: ":command -buffer".
  858.  
  859. The new ":setfiletype" command is used in the filetype detection autocommands,
  860. to avoid that 'filetype' is set twice.
  861.  
  862.  
  863. File browser                        *new-file-browser*
  864. ------------
  865.  
  866. When editing a directory, the explorer plugin will list the files in the
  867. directory.  Pressing <Enter> on a file name edits that file.  Pressing <Enter>
  868. on a directory moves the browser to that directory.
  869.  
  870. There are several other possibilities, such as opening a file in the preview
  871. window, renaming files and deleting files.
  872.  
  873.  
  874. Editing files over a network                *new-network-files*
  875. ----------------------------
  876.  
  877. Files starting with scp://, rcp://, ftp:// and http:// are recognized as
  878. remote files.  An attempt is made to access these files with the indicated
  879. method.  For http:// only reading is possible, for the others writing is also
  880. supported.  Uses the netrw.vim script as a standard "plugin". |netrw|
  881.  
  882. Made "gf" work on a URL.  It no longer assumes the file is local on the
  883. computer (mostly didn't work anyway, because the full path was required).
  884. Adjusted test2 for this.
  885.  
  886. Allow using a URL in 'path'.  Makes ":find index.html" work.
  887.  
  888. GTK: Allow dropping a http:// and ftp:// URL on Vim.  The netrw plugin takes
  889. care of downloading the file. (MiKael Berthe)
  890.  
  891.  
  892. Window for command-line editing                *new-cmdwin*
  893. -------------------------------
  894.  
  895. The Command-line window can be used to edit a command-line with Normal and
  896. Insert mode commands.  When it is opened it contains the history.  This allows
  897. copying parts of previous command lines. |cmdwin|
  898.  
  899. The command-line window can be opened from the command-line with the key
  900. specified by the 'cedit' option (like Nvi).  It can also be opened directly
  901. from Normal mode with "q:", "q/" and "q?".
  902.  
  903. The 'cmdwinheight' is used to specify the initial height of the window.
  904.  
  905. In Insert mode CTRL-X CTRL-V can be used to complete an Ex command line, like
  906. it's done on the command-line.  This is also useful for writing Vim scripts!
  907.  
  908. Additionally, there is "improved Ex mode".  Entered when Vim is started as
  909. "exim" or "vim -E", and with the "gQ" command.  Works like repeated use of
  910. ":", with full command-line editing and completion. (Ulf Carlsson)
  911.  
  912.  
  913. Debugging mode                        *new-debug-mode*
  914. --------------
  915.  
  916. In debugging mode sourced scripts and user functions can be executed line by
  917. line.  There are commands to step over a command or step into it. |debug-mode|
  918.  
  919. Breakpoints can be set to run until a certain line in a script or user
  920. function is executed. |:breakadd|
  921.  
  922. Debugging can be started with ":debug {cmd}" to debug what happens when a
  923. command executes.  The |-D| argument can be used to debug while starting up.
  924.  
  925.  
  926. Cursor in virtual position                *new-virtedit*
  927. --------------------------
  928.  
  929. Added the 'virtualedit' option: Allow positioning the cursor where there is no
  930. actual character in Insert mode, Visual mode or always. (Matthias Kramm)
  931. This is especially useful in Visual-block mode.  It allows positioning a
  932. corner of the area where there is no text character.  (Many improvements by
  933. Chase Tingley)
  934.  
  935.  
  936. Debugger interface                    *new-debug-itf*
  937. ------------------
  938.  
  939. This was originally made to work with Sun Visual Workshop. (Gordon Prieur)
  940. See |debugger.txt|, |sign.txt| and |workshop.txt|.
  941.  
  942. Added the ":sign" command to define and place signs.  They can be displayed
  943. with two ASCII characters or an icon.  The line after it can be highlighted.
  944. Useful to display breakpoints and the current PC position.
  945.  
  946. Added the |:wsverb| command to execute debugger commands.
  947.  
  948. Added balloon stuff: 'balloondelay' and 'ballooneval' options.
  949.  
  950. Added "icon=" argument for ":menu".  Allows defining a specific icon for a
  951. ToolBar item.
  952.  
  953.  
  954. Communication between Vims                *new-vim-server*
  955. --------------------------
  956.  
  957. Added communication between two Vims.  Makes it possible to send commands from
  958. one Vim to another.  Works for X-Windows and MS-Windows |clientserver|.
  959.  
  960. Use "--remote" to have files be edited in an already running Vim.
  961. Use "--remote-wait" to do the same and wait for the editing to finish.
  962. Use "--remote-send" to send commands from one Vim to another.
  963. Use "--remote-expr" to have an expression evaluated in another Vim.
  964. Use "--serverlist" to list the currently available Vim servers.  (X only)
  965. There are also functions to communicate between the server and the client.
  966. |remote_send()| |remote_expr()|
  967.  
  968. (X-windows version implemented by Flemming Madsen, MS-Windows version by Paul
  969. Moore)
  970.  
  971. Added the command server name to the window title, so you can see which server
  972. name belongs to which Vim.
  973.  
  974. Removed the OleVim directory and SendToVim.exe and EditWithVim.exe from the
  975. distribution.  Can now use "gvim --remote" and "gvim --remote-send", which is
  976. portable.
  977.  
  978. GTK+: Support running Vim inside another window.  Uses the --socketid argument
  979. (Neil Bird)
  980.  
  981.  
  982. Buffer type options                    *new-buftype*
  983. -------------------
  984.  
  985. The 'buftype' and 'bufhidden' options have been added.  They can be set to
  986. have different kinds of buffers.  For example:
  987. - 'buftype' = "quickfix": buffer with error list
  988. - 'buftype' = "nofile" and 'bufhidden' = "delete": scratch buffer that will be
  989.   deleted as soon as there is no window displaying it.
  990.  
  991. 'bufhidden' can be used to overrule the 'hidden' option for one buffer.
  992.  
  993. In combination with 'buflisted' and 'swapfile' this offers the possibility to
  994. use various kinds of special buffers.  See |special-buffers|.
  995.  
  996.  
  997. Printing                        *new-printing*
  998. --------
  999.  
  1000. Included first implementation of the ":hardcopy" command for printing
  1001. to paper.  For MS-Windows any installed printer can be used.  For other
  1002. systems a PostScript file is generated, which can be printed with the
  1003. 'printexpr' option.
  1004. (MS-Windows part by Vince Negri, Vipin Aravind, PostScript by Vince Negri and
  1005. Mike Williams)
  1006.  
  1007. Made ":hardcopy" work with multi-byte characters. (Muraoka Taro, Yasuhiro
  1008. Matsumoto)
  1009.  
  1010. Added options to tune the way printing works: (Vince Negri)
  1011. - 'printoptions' defines various things.
  1012. - 'printheader' specifies the header format.  Added "N" field to 'statusline'
  1013.   for the page number.
  1014. - 'printfont' specifies the font name and attributes.
  1015. - 'printdevice' defines the default printer for ":hardcopy!".
  1016.  
  1017.  
  1018. Ports                            *ports-6*
  1019. -----
  1020.  
  1021. Port to OS/390 Unix (Ralf Schandl)
  1022. - A lot of changes to handle EBCDIC encoding.
  1023. - Changed Ctrl('x') to Ctrl_x define.
  1024.  
  1025. Included jsbmouse support. (Darren Garth)
  1026. Support for dec mouse in Unix. (Steve Wall)
  1027.  
  1028. Port to 16-bit MS Windows (Windows 3.1x) (Vince Negri)
  1029.  
  1030. Port to QNX.  Supports the Photon GUI, mouse, etc. (Julian Kinraid)
  1031.  
  1032. Allow cross-compiling the Win32 version with Make_ming.mak. (Ron Aaron)
  1033. Added Python support for compiling with Mingw. (Ron Aaron)
  1034.  
  1035. Dos 32 bit: Added support the Windows clipboard. (David Kotchan)
  1036.  
  1037. Win32: Dynamically load Perl and Python.  Allows compiling Vim with these
  1038. interfaces and will try to find the DLLs at runtime. (Muraoka Taro)
  1039.  
  1040. Compiling the Win32 GUI with Cygwin.  Also compile vimrun, dosinst and
  1041. uninstall.  (Gerfried)
  1042.  
  1043. Mac: Make Vim compile with the free MPW compiler supplied by Apple.  And
  1044. updates for CodeWarrior. (Axel Kielhorn)
  1045.  
  1046. Added typecasts and ifdefs as a start to make Vim work on Win64 (George
  1047. Reilly)
  1048.  
  1049.  
  1050. Quickfix extended                    *quickfix-6*
  1051. -----------------
  1052.  
  1053. Added the "error window".  It contains all the errors of the current error
  1054. list.  Pressing <Enter> in a line makes Vim jump to that line (in another
  1055. window).  This makes it easy to navigate through the error list.
  1056. |quickfix-window|.
  1057.  
  1058. - |:copen| opens the quickfix window.
  1059. - |:cclose| closes the quickfix window.
  1060. - |:cwindow| takes care that there is a quickfix window only when there are
  1061.   recognized errors. (Dan Sharp)
  1062.  
  1063. - Quickfix also knows "info", next to "warning" and "error" types.  "%I" can be
  1064.   used for the start of a multi-line informational message. (Tony Leneis)
  1065. - The "%p" argument can be used in 'errorformat' to get the column number from
  1066.   a line where "^" points to the column. (Stefan Roemer)
  1067. - When using "%f" in 'errorformat' on a DOS/Windows system, also include "c:"
  1068.   in the filename, even when using "%f:".
  1069.  
  1070.  
  1071. Operator modifiers                    *new-operator-mod*
  1072. ------------------
  1073.  
  1074. Insert "v", "V" or CTRL-V between an operator and a motion command to force
  1075. the operator to work characterwise, linewise or blockwise. |o_v|
  1076.  
  1077.  
  1078. Search Path                        *new-search-path*
  1079. -----------
  1080.  
  1081. Vim can search in a directory tree not only in downwards but also upwards.
  1082. Works for the 'path', 'cdpath' and 'tags' options. (Ralf Schandl)
  1083.  
  1084. Also use "**" for 'tags' option. (Ralf Schandl)
  1085.  
  1086. Added 'includeexpr', can be used to modify file name found by 'include'
  1087. option.
  1088. Also use 'includeexpr' for "gf" and "<cfile>" when the file can't be found
  1089. without modification.  Useful for doing "gf" on the name after an include or
  1090. import statement.
  1091.  
  1092. Added the 'cdpath' option: Locations to find a ":cd" argument. (Raf)
  1093.  
  1094. Added the 'suffixesadd' option: Suffixes to be added to a file name when
  1095. searching for a file for the "gf", "[I", etc. commands.
  1096.  
  1097.  
  1098. Writing files improved                    *new-file-writing*
  1099. ----------------------
  1100.  
  1101. Added the 'backupcopy' option: Select whether a file is to be copied or
  1102. renamed to make a backup file.  Useful on Unix to speed up writing an ordinary
  1103. file.  Useful on other systems to preserve file attributes and when editing a
  1104. file on a Unix filesystem.
  1105.  
  1106. Added the 'autowriteall' option.  Works like 'autowrite' but for more
  1107. commands.
  1108.  
  1109. Added the 'backupskip' option: A list of file patterns to skip making a backup
  1110. file when it matches.  The default for Unix includes "/tmp/*", this makes
  1111. "crontab -e" work.
  1112.  
  1113. Added support for Access Control Lists (ACL) for FreeBSD and Win32.  The ACL
  1114. is copied from the original file to the new file (or the backup if it's
  1115. copied).
  1116. ACL is also supported for AIX, Solaris and generic POSIX. (Tomas Ogren)
  1117. And on SGI.
  1118.  
  1119.  
  1120. Argument list                        *new-argument-list*
  1121. -------------
  1122.  
  1123. The support for the argument list has been extended.  It can now be
  1124. manipulated to contain the files you want it to contain.
  1125.  
  1126. The argument list can now be local to a window.  It is created with the
  1127. |:arglocal| command.  The |:argglobal| command can be used to go back to the
  1128. global argument list.
  1129.  
  1130. The |:argdo| command executes a command on all files in the argument list.
  1131.  
  1132. File names can be added to the argument list with |:argadd|.  File names can
  1133. be removed with |:argdelete|.
  1134.  
  1135. "##" can be used like "#", it is replaced by all the names in the argument
  1136. list concatenated.  Useful for ":grep foo ##".
  1137.  
  1138. The |:argedit| adds a file to the argument list and edits it.  Like ":argadd"
  1139. and then ":edit".
  1140.  
  1141.  
  1142. Restore a View                        *new-View*
  1143. --------------
  1144.  
  1145. The ":mkview" command writes a Vim script with the settings and mappings for
  1146. one window.  When the created file is sourced, the view of the window is
  1147. restored.  It's like ":mksession" for one window.
  1148. The View also contains the local argument list and manually created, opened
  1149. and closed folds.
  1150.  
  1151. Added the ":loadview" command and the 'viewdir' option: Allows for saving and
  1152. restoring views of a file with simple commands.  ":mkview 1" saves view 1 for
  1153. the current file, ":loadview 1" loads it again.  Also allows quickly switching
  1154. between two views on one file.  And saving and restoring manual folds and the
  1155. folding state.
  1156.  
  1157. Added 'viewoptions' to specify how ":mkview" works.
  1158.  
  1159. ":mksession" now also works fine with vertical splits.  It has been further
  1160. improved and restores the view of each window.  It also works properly with
  1161. preview and quickfix windows.
  1162.  
  1163. 'sessionoptions' is used for ":mkview" as well.
  1164. Added "curdir" and "sesdir" to 'sessionoptions'.  Allows selection of what
  1165. the current directory will be restored to.
  1166.  
  1167. The session file now also contains the argument list(s).
  1168.  
  1169.  
  1170. Color schemes                        *new-color-schemes*
  1171. -------------
  1172.  
  1173. Support for loading a color scheme.  Added the ":colorscheme" command.
  1174. Automatically add menu entries for available schemes.
  1175. Should now properly reset the colors when 'background' or 't_Co' is changed.
  1176. ":highlight clear" sets the default colors again.
  1177. ":syntax reset" sets the syntax highlight colors back to the defaults.
  1178. For ":set bg&" guess the value.  This allows a color scheme to switch back to
  1179. the default colors.
  1180. When syntax highlighting is switched on and a color scheme was defined, reload
  1181. the color scheme to define the colors.
  1182.  
  1183.  
  1184. Various new items                    *new-items-6*
  1185. -----------------
  1186.  
  1187. Normal mode commands: ~
  1188.  
  1189. "gi"        Jump to the ^ mark and start Insert mode.  Also works when the
  1190.         mark is just after the line. |gi|
  1191.  
  1192. "g'm" and "g`m"
  1193.         Jump to a mark without changing the jumplist.  Now you can use
  1194.         g`" to jump to the last known position in a file without side
  1195.         effects.  Also useful in mappings.
  1196.  
  1197. [', [`, ]' and ]`
  1198.         move the cursor to the next/previous lowercase mark.
  1199.  
  1200. g_        Go to last non-blank in line. (Steve Wall)
  1201.  
  1202.  
  1203. Options: ~
  1204.  
  1205. 'autoread'    When detected that a file changed outside of Vim,
  1206.         automatically read a buffer again when it's not changed.
  1207.         It has a global and a local value.  Use ":setlocal autoread<"
  1208.         to go back to using the global value for 'autoread'.
  1209.  
  1210. 'debug'        When set to "msg" it will print error messages that would
  1211.         otherwise be omitted.  Useful for debugging 'indentexpr' and
  1212.         'foldexpr'.
  1213.  
  1214. 'lispwords'    List of words used for lisp indenting.  It was previously hard
  1215.         coded.  Added a number of Lisp names to the default.
  1216.  
  1217. 'fold...'    Many new options for folding.
  1218.  
  1219. 'modifiable'    When off, it is impossible to make changes to a buffer.
  1220.         The %m and %M items in 'statusline' show a '-'.
  1221.  
  1222. 'previewwindow' Set in the preview window.  Used in a session file to mark a
  1223.         window as the preview window.
  1224.  
  1225. 'printfont'
  1226. 'printexpr'
  1227. 'printheader'
  1228. 'printdevice'
  1229. 'printoptions'    for ":hardcopy".
  1230.  
  1231. 'buflisted'    Makes a buffer appear in the buffer list or not.
  1232.  
  1233. Use "vim{version}:" for modelines, only to be executed when the version is
  1234. >= {version}.  Also "vim>{version}", "vim<{version}" and "vim={version}".
  1235.  
  1236.  
  1237. Ex commands: ~
  1238.  
  1239. :sav[eas][!] {file}
  1240.         Works like ":w file" and ":e #", but without loading the file
  1241.         again and avoiding other side effects. |:saveas|
  1242.  
  1243. :silent[!] {cmd}
  1244.         Execute a command silently.  Also don't use a delay that would
  1245.         come after the message.  And don't do 'showmatch'.
  1246.         RISCOS: Removed that "!~cmd" didn't output anything, and
  1247.         didn't wait for <Enter> afterwards.  Can use ":silent !cmd"
  1248.         now.
  1249. :menu <silent>  Add a menu that won't echo Ex commands.
  1250. :map <silent>   Add a mapping that won't echo Ex commands.
  1251.  
  1252. :checktime    Check for changed buffers.
  1253.  
  1254. :verbose {cmd}  Set 'verbose' for one command.
  1255.  
  1256. :echomsg {expr}
  1257. :echoerr {expr} Like ":echo" but store the message in the history. (Mark
  1258.         Waggoner)
  1259.  
  1260. :grepadd    Works just like ":grep" but adds to the current error list
  1261.         instead of defining a new list. |:grepadd|
  1262.  
  1263. :finish        Finish sourcing a file.  Can be used to skip the rest of a Vim
  1264.         script. |:finish|
  1265.  
  1266. :leftabove
  1267. :aboveleft    Split left/above current window.
  1268.  
  1269. :rightbelow
  1270. :belowright    Split right/below current window.
  1271.  
  1272. :first, :bfirst, :ptfirst, etc.
  1273.         Alias for ":rewind".  It's more logical compared to ":last".
  1274.  
  1275. :enew        Edit a new, unnamed buffer.  This is needed, because ":edit"
  1276.         re-edits the same file. (Wall)
  1277.  
  1278. :quitall    Same as ":qall".
  1279.  
  1280. :match        Define match highlighting local to a window.  Allows
  1281.         highlighting an item in the current window without interfering
  1282.         with syntax highlighting.
  1283.  
  1284. :menu enable
  1285. :menu disable    Commands to enable/disable menu entries without removing them.
  1286.         (Monish Shah)
  1287.  
  1288. :windo        Execute a command in all windows.
  1289. :bufdo        Execute a command in all buffers.
  1290.  
  1291. :wincmd        Window (CTRL-W) command.  Useful when a Normal mode command
  1292.         can't be used (e.g., for a CursorHold autocommand).  See
  1293.         |CursorHold-example| for a nice application with it.
  1294.  
  1295. :lcd and :lchdir
  1296.         Set local directory for a window. (Benjie Chen)
  1297.  
  1298. :hide {command}
  1299.         Execute {command} with 'hidden' set.
  1300.  
  1301. :emenu        in Visual mode to execute a ":vmenu" entry.
  1302.  
  1303. :popup        Pop up a popup menu.
  1304.  
  1305. :redraw        Redraw the screen even when busy with a script or function.
  1306.  
  1307. :hardcopy    Print to paper.
  1308.  
  1309. :compiler    Load a Vim script to do settings for a specific compiler.
  1310.  
  1311. :z#        List numbered lines. (Bohdan Vlasyuk)
  1312.  
  1313.  
  1314. New marks: ~
  1315.  
  1316. '( and ')    Begin or end of current sentence.  Useful in Ex commands.
  1317. '{ and '}    Begin or end of current paragraph.  Useful in Ex commands.
  1318. '.        Position of the last change in the current buffer.
  1319. '^        Position where Insert mode was stopped.
  1320.  
  1321. Store the ^ and . marks in the viminfo file.  Makes it possible to jump to the
  1322. last insert position or changed text.
  1323.  
  1324.  
  1325. New functions: ~
  1326. argidx()    Current index in argument list.
  1327. buflisted()    Checks if the buffer exists and has 'buflisted' set.
  1328. cindent()    Get indent according to 'cindent'.
  1329. eventhandler()    Returns 1 when inside an event handler and interactive
  1330.         commands can't be used.
  1331. executable()    Checks if a program or batch script can be executed.
  1332. filewritable()    Checks if a file can be written. (Ron Aaron)
  1333. foldclosed()    Find out if there is a closed fold. (Johannes Zellner).
  1334. foldcloseend()    Find the end of a closed fold.
  1335. foldlevel()    Find out the foldlevel. (Johannes Zellner)
  1336. foreground()    Move the GUI window to the foreground.
  1337. getchar()    Get one character from the user.  Can be used to define a
  1338.         mapping that takes an argument.
  1339. getcharmod()    Get last used key modifier.
  1340. getbufvar()    gets the value of an option or local variable in a buffer (Ron
  1341.         Aaron)
  1342. getfsize()    Return the size of a file.
  1343. getwinvar()    gets the value of an option or local variable in a window (Ron
  1344.         Aaron)
  1345. globpath()    Find matching files in a list of directories.
  1346. hasmapto()    Detect if a mapping to a string is already present.
  1347. iconv()        Convert a string from one encoding to another.
  1348. indent()    gets the indent of a line (Ron Aaron)
  1349. inputdialog()    Like input() but use a GUI dialog when possible.  Currently
  1350.         only works for Win32, Motif, Athena and GTK.
  1351.         Use inputdialog() for the Edit/Settings/Text Width menu.  Also
  1352.         for the Help/Find.. and Toolbar FindHelp items.
  1353.         (Win32 support by Thore B. Karlsen)
  1354.         (Win16 support by Vince Negri)
  1355. inputsecret()    Ask the user to type a string without showing the typed keys.
  1356.         (Charles Campbell)
  1357. libcall()    for Unix (Neil Bird, Johannes Zellner, Stephen Wall)
  1358. libcallnr()    for Win32 and Unix
  1359. lispindent()    Get indent according to 'lisp'.
  1360. mode()        Return a string that indicates the current mode.
  1361. nextnonblank()    Skip blank lines forwards.
  1362. prevnonblank()    Skip blank lines backwards.  Useful to for indent scripts.
  1363. resolve()    MS-Windows: resolve a shortcut to the file it points to.
  1364.         Unix: resolve a symbolic link.
  1365. search()    Search for a pattern.
  1366. searchpair()    Search for matching pair.  Can be used in indent files to find
  1367.         the "if" matching an endif.
  1368. setbufvar()    sets an option or variable local to a buffer (Ron Aaron)
  1369. setwinvar()    sets an option or variable local to a window (Ron Aaron)
  1370. stridx()    Search for first occurrence of one string in another.
  1371. strridx()    Search for last occurrence of one string in another.
  1372. tolower()    Convert string to all-lowercase.
  1373. toupper()    Convert string to all-uppercase.
  1374. type()        Check the type of an expression.
  1375. wincol()    window column of the cursor
  1376. winwidth()    Width of a window. (Johannes Zellner)
  1377. winline()    window line of the cursor
  1378.  
  1379.  
  1380. Added expansion of curly braces in variable and function names.  This can be
  1381. used for variable names that include the value of an option.  Or a primitive
  1382. form of arrays. (Vince Negri)
  1383.  
  1384.  
  1385. New autocommand events: ~
  1386. BufWinEnter    Triggered when a buffer is displayed in a window, after using
  1387.         the modelines.  Can be used to load a view.
  1388. BufWinLeave    Triggered when a buffer is no longer in a window.  Also
  1389.         triggered when exiting Vim.  Can be used to save views.
  1390. FileChangedRO    Triggered before making the first change to a read-only file.
  1391.         Can be used to check-out the file. (Scott Graham)
  1392. TermResponse    Triggered when the terminal replies to the version-request.
  1393.         The v:termresponse internal variable holds the result.  Can be
  1394.         used to react to the version of the terminal.  (Ronald Schild)
  1395. FileReadCmd    Triggered before reading a file.
  1396. BufReadCmd    Triggered before reading a file into a buffer.
  1397. FileWriteCmd    Triggered before writing a file.
  1398. BufWriteCmd    Triggered before writing a buffer into a file.
  1399. FileAppendCmd    Triggered before appending to a file.
  1400. FuncUndefined    Triggered when a user function is not defined. (Ron Aaron)
  1401.  
  1402. The autocommands for the *Cmd events read or write the file instead of normal
  1403. file read/write.  Use this in netrw.vim to be able to edit files on a remote
  1404. system. (Charles Campbell)
  1405.  
  1406.  
  1407. New Syntax files: ~
  1408.  
  1409. bdf        BDF font definition (Nikolai Weibull)
  1410. catalog        SGML catalog (Johannes Zellner)
  1411. debchangelog    Debian Changelog (Wichert Akkerman)
  1412. debcontrol    Debian Control (Wichert Akkerman)
  1413. dot        dot (Markus Mottl)
  1414. dsl        DSSSL syntax (Johannes Zellner)
  1415. eterm        Eterm configuration (Nikolai Weibull)
  1416. indent        Indent profile (Nikolai Weibull)
  1417. lftp        LFTP (Nikolai Weibull)
  1418. lynx        Lynx config (Doug Kearns)
  1419. mush        mush sourcecode (Bek Oberin)
  1420. natural        Natural (Marko Leipert)
  1421. pilrc        Pal resource compiler (Brian Schau)
  1422. plm        PL/M (Philippe Coulonges)
  1423. povini        Povray configuration (David Necas)
  1424. ratpoison    Ratpoison config/command (Doug Kearns)
  1425. readline    readline config (Nikolai Weibull)
  1426. screen        Screen RC (Nikolai Weibull)
  1427. specman        Specman (Or Freund)
  1428. sqlforms    SQL*Forms (Austin Ziegler)
  1429. terminfo    terminfo (Nikolai Weibull)
  1430. tidy        Tidy configuration (Doug Kearns)
  1431. wget        Wget configuration (Doug Kearns)
  1432.  
  1433.  
  1434. Updated many syntax files to work both with Vim 5.7 and 6.0.
  1435.  
  1436. Interface to Ruby. (Shugo Maeda)
  1437. Support dynamic loading of the Ruby interface on MS-Windows. (Muraoka Taro)
  1438. Support this for Mingw too. (Benoit Cerrina)
  1439.  
  1440. Win32: Added possibility to load TCL dynamically. (Muraoka Taro)
  1441. Also for Borland 5.5. (Dan Sharp)
  1442.  
  1443. Win32: When editing a file that is a shortcut (*.lnk file), edit the file it
  1444. links to.  Unless 'binary' is set, then edit the shortcut file itself.
  1445. (Yasuhiro Matsumoto)
  1446.  
  1447. The ":command" command now accepts a "-bar" argument.  This allows the user
  1448. command to be followed by "| command".
  1449.  
  1450. The preview window is now also used by these commands:
  1451. - |:pedit| edits the specified file in the preview window
  1452. - |:psearch| searches for a word in included files, like |:ijump|, and
  1453.   displays the found text in the preview window.
  1454. Added the CTRL-W P command: go to preview window.
  1455.  
  1456. MS-DOS and MS-Windows also read the system-wide vimrc file $VIM/vimrc.  Mostly
  1457. for NT systems with multiple users.
  1458.  
  1459. A double-click of the mouse on a character that has a "%" match selects from
  1460. that character to the match.  Similar to "v%".
  1461.  
  1462. "-S session.vim" argument: Source a script file when starting up.  Convenient
  1463. way to start Vim with a session file.
  1464.  
  1465. Added "--cmd {command}" Vim argument to execute a command before a vimrc file
  1466. is loaded. (Vince Negri)
  1467.  
  1468. Added the "-M" Vim argument: reset 'modifiable' and 'write', thus disallow
  1469. making changes and writing files.
  1470.  
  1471. Added runtime/delmenu.vim.  Source this to remove all menus and prepare for
  1472. loading new menus.  Useful when changing 'langmenu'.
  1473.  
  1474. Perl script to filter Perl error messages to quickfix usable format. (Joerg
  1475. Ziefle)
  1476.  
  1477. Added runtime/macros/less.vim: Vim script to simulate less, but with syntax
  1478. highlighting.
  1479.  
  1480. MS-Windows install program: (Jon Merz)
  1481. - The Win32 program can now create shortcuts on the desktop and install Vim in
  1482.   the Start menu.
  1483. - Possibly remove old "Edit with Vim" entries.
  1484. - The Vim executable is never moved or $PATH changed.  A small batch file is
  1485.   created in a directory in $PATH.  Fewer choices to be made.
  1486. - Detect already installed Vim versions and offer to uninstall them first.
  1487.  
  1488. Improved the MS-Windows uninstal program.  It now also deletes the entries in
  1489. the Start menu, icons from the desktop and the created batch files. (Jon Merz)
  1490. Also made it possible to delete only some of these.  Also unregister gvim for
  1491. OLE.
  1492.  
  1493. Generate a self-installing Vim package for MS-Windows.  This uses NSIS. (Jon
  1494. Merz et al.)
  1495.  
  1496. Added ":filetype detect".  Try detecting the filetype again.  Helps when
  1497. writing a new shell script, after adding "#!/bin/csh".
  1498.  
  1499. Added ":augroup! name" to delete an autocommand group.  Needed for the
  1500. client-server "--remote-wait".
  1501.  
  1502. Add the Vim version number to the viminfo file, useful for debugging.
  1503.  
  1504. ==============================================================================
  1505. IMPROVEMENTS                        *improvements-6*
  1506.  
  1507. Added the 'n' flag in 'cpoptions': When omitted text of wrapped lines is not
  1508. put between line numbers from 'number' option.  Makes it a lot easier to read
  1509. wrapped lines.
  1510.  
  1511. When there is a format error in a tags file, the byte position is reported so
  1512. that the error can be located.
  1513.  
  1514. "gf" works in Visual mode: Use the selected text as the file name. (Chase
  1515. Tingley)
  1516.  
  1517. Allow ambiguous mappings.  Thus "aa" and "aaa" can both be mapped, the longest
  1518. matching one is used.  Especially useful for ":lmap" and 'keymap'.
  1519.  
  1520. Encryption: Ask the key to be typed twice when crypting the first time.
  1521. Otherwise a typo might cause the text to be lost forever. (Chase Tingley)
  1522.  
  1523. The window title now has "VIM" on the end.  The file name comes first, useful
  1524. in the taskbar.  A "+" is added when the file is modified.  "=" is added for
  1525. a read-only file.  "-" is added for a file with 'modifiable' off.
  1526.  
  1527. In Visual mode, mention the size of the selected area in the 'showcmd'
  1528. position.
  1529.  
  1530. Added the "b:changedtick" variable.  Incremented at each change, also for
  1531. undo.  Can be used to take action only if the buffer has been changed.
  1532.  
  1533. In the replacement string of a ":s" command "\=" can be used to replace with
  1534. the result of an expression.  From this expression the submatch() function can
  1535. be used to access submatches.
  1536.  
  1537. When doing ":qall" and there is a change in a buffer that is being edited in
  1538. another window, jump to that window, instead of editing that buffer in the
  1539. current window.
  1540.  
  1541. Added the "++enc=" and "++ff=" arguments to file read/write commands to force
  1542. using the given 'encoding' or 'fileformat'.  And added the "v:cmdarg"
  1543. variable, to be used for FileReadCmd autocommands that read/write the file
  1544. themselves.
  1545.  
  1546. When reading stdin, first read the text in binary mode and then re-read it
  1547. with automatic selection of 'fileformat' and 'fileencoding'.  This avoids
  1548. problems with not being able to rewind the file (e.g., when a line near the
  1549. end of the file ends in LF instead of CR-LF).
  1550. When reading text from stdin and the buffer is empty, don't mark it changed.
  1551. Allows exiting without trouble.
  1552.  
  1553. Added an ID to many error messages.  This will make it easier to find help for
  1554. a message.
  1555.  
  1556. Insert mode:
  1557. - "CTRL-G j" and "CTRL-G k" can be used to insert in another line in the same
  1558.   column.  Useful for editing a table.
  1559. - Added Thesaurus completion with CTRL-X CTRL-T. (Vince Negri)
  1560. - Added the 'thesaurus' option, to use instead of 'dictionary' for thesaurus
  1561.   completion.  Added the 's' flag in 'complete'.
  1562. - Made CTRL-X CTRL-L in Insert mode use the 'complete' option.  It now also
  1563.   scans other loaded buffers for matching lines.
  1564. - CTRL-R now also works in Insert mode while doing completion with CTRL-X or
  1565.   CTRL-N. (Neil Bird)
  1566. - When doing Insert mode completion, when completion is finished check for a
  1567.   match with words from 'cinkeys' or 'indentkeys'.
  1568.  
  1569. Performance:
  1570. - Made display updating more efficient.  Insert/delete lines may be used for
  1571.   all changes, also for undo/redo.
  1572. - The display is not redrawn when there is typeahead in Insert mode.  Speeds
  1573.   up CTRL-R a lot.
  1574. - Improved speed of screen output for 32 bit DOS version. (Vince Negri)
  1575. - When dragging with the mouse, there is a lookahead to skip mouse codes when
  1576.   there is another one next.  Makes dragging with the mouse a lot faster.
  1577. - Also a memory usage improvement: When calling u_save with a single line,
  1578.   don't save it if the line was recently saved for the same undo already.
  1579. - When using a script that appends one character at a time, the amount of
  1580.   allocated memory was growing steadily.  Also when 'undolevels' is -1.
  1581.   Caused by the line saved for "U" never to be freed.  Now free an undo block
  1582.   when it becomes empty.
  1583. - GUI and Dos32: Use a vertical scroll region, to make scrolling in a
  1584.   vertically split window faster.  No need to redraw the whole window.
  1585. - When scrolling isn't possible with terminal codes (e.g., for a vertically
  1586.   split window) redraw from ScreenLines[].  That should be faster than going
  1587.   through the lines with win_line(), especially when using syntax
  1588.   highlighting.
  1589. - The Syntax menu is now pre-generated by a separate script.  Makes loading
  1590.   the menu 70% faster.  This can halve the startup time of gvim.
  1591. - When doing ":help tag", don't open help.txt first, jump directly to the help
  1592.   tag.  It's faster and avoids an extra message.
  1593. - Win32: When a file name doesn't end in ".lnk" don't try resolving a
  1594.   shortcut, it takes quite a bit of time.
  1595. - Don't update the mouse pointer shape while there are typeahead characters.
  1596. - Change META[] from a string into an array, avoids using strchr() on it.
  1597. - Don't clear the command line when adding characters, avoids that screen_fill
  1598.   is called but doesn't do anything.
  1599.  
  1600. Robustness:
  1601. - Unix: Check for running out of stack space when executing a regexp.  Avoids
  1602.   a nasty crash.  Only works when the system supports running the signal
  1603.   function on another stack.
  1604. - Disallow ":source <dirname>".  On unix it's possible to read a directory,
  1605.   does not make sense to use it as Vim commands.
  1606.  
  1607. Security:
  1608. - When reading from or writing to a temporary file, check that it isn't a
  1609.   symbolic link.  Gives some protection against symlink attacks.
  1610. - When creating a backup file copy or a swap file, check for it already
  1611.   existing to avoid a symlink attack. (Colin Phipps)
  1612. - Evaluating options which are an expression is done in a |sandbox|.  If the
  1613.   option was set by a modeline, it cannot cause damage.
  1614. - Use a secure way to generate temp file names: Create a private directory for
  1615.   temp files.  Used for Unix, MS-DOS and OS/2.
  1616. - 'makeef' can be empty, which means that an internally generated file name is
  1617.   used.  The old default was "/tmp/file", which is a security risk.
  1618.   Writing 'makeef' in the current directory fails in a read-only directory and
  1619.   causes trouble when using ":grep" on all files.  Made the default empty for
  1620.   all systems, so that a temp file is used.
  1621. - The command from a tags file is executed in the sandbox for better security.
  1622. - The Ruby, Tcl and Python interfaces cannot be used from the sandbox.  They
  1623.   might do dangerous things.  Perl is still possible, but limited to the Safe
  1624.   environment. (Donnie Smith)
  1625.  
  1626. Syntax highlighting:
  1627. - Optimized the speed by caching the state stack all over the file, not just
  1628.   the part being displayed.  Required for folding.
  1629. - Added ":syntax sync fromstart": Always parse from the start of the file.
  1630. - Added the "display" argument for syntax items: use the item only when
  1631.   displaying the result.  Can make parsing faster for text that isn't going to
  1632.   be displayed.
  1633. - When using CTRL-L, the cached states are deleted, to force parsing the text
  1634.   again.
  1635. - Use elfhash algorithm for table of keywords.  This should give a better
  1636.   distribution and speedup keyword lookup. (Campbell)
  1637. - Also allow the "lc" leading context for skip and end patterns. (Scott
  1638.   Bigham)
  1639. - Syntax items can have the "extend" argument to undo the effect of a
  1640.   "keepend" argument of an item it is contained in.  Makes it possible to have
  1641.   some contained items extend a region while others don't.
  1642. - ":syntax clear" now deletes the b:current_syntax variable.  That's logical,
  1643.   since no syntax is defined after this command.
  1644. - Added ":syntax enable": switch on syntax highlighting without changing the
  1645.   colors.  This allows specifying the colors in the .vimrc file without the
  1646.   need for a mysyntaxfile.
  1647. - Added ":syntax reset": reset the colors to their defaults.
  1648. - Added the "contains=TOP" and "contains=CONTAINED" arguments.  Makes it
  1649.   possible to define a transparent item that doesn't contain itself.
  1650. - Added a "containedin" argument to syntax items.  Allows adding a contained
  1651.   item to an existing item (e.g., to highlight a name in a comment).
  1652.  
  1653. Modeless selection:
  1654. - When in the command-line window, use modeless selection in the other
  1655.   windows.  Makes it possible to copy visible text to the command-line window.
  1656. - Support modeless selection on the cmdline in a terminal.  Previously it was
  1657.   only possible for the GUI.
  1658. - Make double-right-click in modeless selection select a whole word.  Single
  1659.   right click doesn't use the word selection started by a double-left-click.
  1660.   Makes it work like in Visual mode.
  1661. - The modeless selection no longer has an implied automatic copy to the
  1662.   clipboard.  It now obeys the 'a' and 'A' flags in 'guioptions' or
  1663.   "autoselect" and "autoselectml" in 'clipboard'.
  1664. - Added the CTRL-Y command in Cmdline-mode to copy the modeless selection to
  1665.   the clipboard.  Also works at the hit-enter prompt and the more prompt.
  1666.   Removed the mappings in runtime/mswin.vim for CTRL-Y and CTRL-Z in
  1667.   cmdline-mode to be able to use CTRL-Y in the new way.
  1668.  
  1669. Reduced the amount of stack space used by regmatch() to allow it to handle
  1670. complicated patterns on a longer text.
  1671.  
  1672. 'isfname' now includes '%' and '#'.  Makes "vim dir\#file" work for MS-DOS.
  1673.  
  1674. Added keypad special keys <kEnter>, <k0> - <k9>.  When not mapped they behave
  1675. like the ASCII equivalent. (Ivan Wellesz and Vince Negri)
  1676. Recognize a few more xterm keys: <C-Right>, <C-Left>, <C-End>, <C-Home>
  1677.  
  1678. Also trigger the BufUnload event when Vim is going to exit.  Perhaps a script
  1679. needs to do some cleaning up.
  1680.  
  1681. Expand expression in backticks: `={expr}`.  Can be used where backtick
  1682. expansion is done. (Vince Negri)
  1683.  
  1684. GUI:
  1685. - Added 'L' and 'R' flags in 'guioptions': Add a left or right scrollbar only
  1686.   when there is a vertically split window.
  1687. - X11: When a color can't be allocated, use the nearest match from the
  1688.   colormap.  This avoids that black is used for many things. (Monish Shah)
  1689.   Also do this for the menu and scrollbar, to avoid that they become black.
  1690. - Win32 and X11: Added 'mouseshape' option: Adjust the mouse pointer shape to
  1691.   the current mode. (Vince Negri)
  1692. - Added the 'linespace' option: Insert a pixel line between lines. (Nam)
  1693. - Allow modeless selection (without moving the cursor) by keeping CTRL and
  1694.   SHIFT pressed. (Ivan Wellesz)
  1695. - Motif: added toolbar. (Gordon Prieur)  Also added tooltips.
  1696. - Athena: added toolbar and tooltips. (David Harrison -- based on Gordon
  1697.   Prieur's work)
  1698. - Made the 'toolbar' option work for Athena and Motif.  Can now switch between
  1699.   text and icons on the fly.  (David Harrison)
  1700. - Support menu separator lines for Athena.  (David Harrison)
  1701. - Athena: Adjust the arrow pixmap used in a pullright menu to the size of the
  1702.   font. (David Harrison)
  1703. - Win32: Added "c" flag to 'guifont' to be able to specify the charset. (Artem
  1704.   Khodush)
  1705. - When no --enable-xim argument is given, automatically enable it when a X GUI
  1706.   is used.  Required for dead key support (and multi-byte input).
  1707. - After a file selection dialog, check that the edited files were not changed
  1708.   or deleted.  The Win32 dialog allows deleting and renaming files.
  1709. - Motif and Athena: Added support for "editres". (Marcin Dalecki)
  1710. - Motif and Athena: Added "menuFont" to be able to specify a font or fontset
  1711.   for the menus.  Can also be set with the "Menu" highlight group.  Useful
  1712.   when the locale is different from 'encoding'. (David Harrison)
  1713.   When FONTSET_ALWAYS is defined, always use a fontset for the menus.  Should
  1714.   avoid trouble with changing from a font to a fontset.  (David Harrison)
  1715. - Highlighting and font for the tooltips can be specified with the "Tooltip"
  1716.   highlight group. (David Harrison)
  1717. - The Cmdline-mode menus can be used at the more-prompt.  This mostly works
  1718.   fine, because they start with a CTRL-C.  The "Copy" menu works to copy the
  1719.   modeless selection.  Allows copying the output of ":set all" or ":intro"
  1720.   without auto-selection.
  1721. - When starting the GUI when there is no terminal connected to stdout and
  1722.   stderr, display error messages in a dialog.  Previously they wouldn't be
  1723.   displayed at all.
  1724. - Allow setting 'browsedir' to the name of a directory, to be used for the
  1725.   file dialog. (Dan Sharp)
  1726. - b:browsefilter and g:browsefilter can be set to the filters used for the
  1727.   file dialog.  Supported for Win32 and Motif GUI. (Dan Sharp)
  1728.  
  1729. X11:
  1730. - Support for the clipboard selection as register "+.  When exiting or
  1731.   suspending copy the selection to cut buffer 0.  Should allow copy/paste with
  1732.   more applications in a X11-standard way.  (Neil Bird)
  1733. - Use the X clipboard in any terminal, not just in an xterm.
  1734.   Added "exclude:" in 'clipboard': Specify a pattern to match against terminal
  1735.   names for which no connection should be made to the X server.  The default
  1736.   currently work for FreeBSD and Linux consoles.
  1737. - Added a few messages for when 'verbose' is non-zero to show what happens
  1738.   when trying to connect to the X server.  Should help when trying to find out
  1739.   why startup is slow.
  1740.  
  1741. GTK GUI: (partly by Marcin Dalecki)
  1742. - With some fonts the characters can be taller than ascent + descent.  E.g.,
  1743.   "-misc-fixed-*-*-*-*-18-*-*-*-*-*-iso10646-1".  Add one to the character
  1744.   cell height.
  1745. - Implement "no" value for 'winaltkeys': don't use Alt-Key as a menu shortcut,
  1746.   when 'wak' changed after creating the menus.
  1747. - Setting 'wak' after the GUI started works.
  1748. - recycle text GC's to reduce communication.
  1749. - Adjust icon size to window manager.
  1750. - Cleanup in font handling.
  1751. - Replace XQueryColor with GDK calls.
  1752. - Gnome support.  Detects Gnome in configure and uses different widgets.
  1753.   Otherwise it's much like GTK. (Andy Kahn)
  1754.   It is disabled by default, because it causes a few problems.
  1755. - Removed the special code to fork first and then start the GUI.  Now use
  1756.   _exit() instead of exit(), this works fine without special tricks.
  1757. - Dialogs sometimes appeared a bit far away.  Position the dialogs inside
  1758.   the gvim window. (Brent Verner)
  1759. - When dropping a file on Vim, remove extra slashes from the start of the
  1760.   path.  Also shorten the file name if possible.
  1761.  
  1762. Motif: (Marcin Dalecki)
  1763. - Made the dialog layout better.
  1764. - Added find and find/replace dialogs.
  1765. - For the menus, change "iso-8859" to "iso_8859", Linux appears to need this.
  1766. - Added icon to dialogs, like for GTK.
  1767. - Use XPM bitmaps for the icon when possible.  Use the Solaris XpmP.h include
  1768.   file when it's available.
  1769. - Change the shadow of the toolbar items to get a visual feedback of it being
  1770.   pressed on non-LessTif.
  1771. - Use gadgets instead of windows for some items for speed.
  1772.  
  1773. Command line completion:
  1774. - Complete environment variable names. (Mike Steed)
  1775. - For ":command", added a few completion methods: "mapping", "function",
  1776.   "expression" and "environment".
  1777. - When a function doesn't take arguments, let completion add () instead of (.
  1778.  
  1779. For MS-DOS, MS-Windows and OS/2: Expand %VAR% environment variables like $VAR.
  1780. (Walter Briscoe)
  1781.  
  1782. Redirect messages to the clipboard ":redir @*" and to the unnamed register
  1783. ":redir @"". (Wall)
  1784.  
  1785. ":let @/ = ''" clears the search pattern, instead of setting it to an empty
  1786. string.
  1787.  
  1788. Expression evaluation:
  1789. - "? :" can be used like in C.
  1790. - col("$") returns the length of the cursor line plus one. (Stephen P. Wall)
  1791. - Optional extra argument for match(), matchend() and matchstr(): Offset to
  1792.   start looking for a match.
  1793. - Made third argument to strpart() optional.  (Paul Moore, Zdenek Sekera)
  1794. - exists() can also be used to check for Ex commands and defined autocommands.
  1795. - Added extra argument to input(): Default text.
  1796. - Also set "v:errmsg" when using ":silent! cmd".
  1797. - Added the v:prevcount variable: v:count for the previous command.
  1798. - Added "v:progname", name with which Vim was started. (Vince Negri)
  1799. - In the verbose message about returning from a function, also show the return
  1800.   value.
  1801.  
  1802. Cscope:
  1803. - Added the cscope_connection() function. (Andy Kahn)
  1804. - ":cscope kill -1" kills all cscope connections. (Andy Kahn)
  1805. - Added the 'cscopepathcomp' option. (Scott Hauck)
  1806. - Added ":scscope" command, split window and execute Cscope command. (Jason
  1807.   Duell)
  1808.  
  1809. VMS:
  1810. - Command line arguments are always uppercase.  Interpret a "-X" argument as
  1811.   "-x" and "-/X" as "-X".
  1812. - Set 'makeprg' and 'grepprg' to meaningful defaults. (Zoltan Arpadffy)
  1813. - Use the X-clipboard feature and the X command server. (Zoltan Arpadffy)
  1814.  
  1815. Macintosh: (Dany St-Amant)
  1816. - Allow a tags file to have CR, CR-LF or LF line separator. (Axel Kielhorn)
  1817. - Carbonized (while keeping non Carbon code)
  1818.   (Some work "stolen" from Ammon Skidmore)
  1819. - Improved the menu item index handling (should be faster)
  1820. - Runtime commands now handle / in file name (MacOS 9 version)
  1821. - Added ":winpos" support.
  1822. - Support using "~" in file names for home directory.
  1823.  
  1824. Options:
  1825. - When using set += or ^= , check for items used twice.  Duplicates are
  1826.   removed.  (Vince Negri)
  1827. - When setting an option that is a list of flags, remove duplicate flags.
  1828. - If possible, use getrlimit() to set 'maxmemtot' and 'maxmem'. (Pina)
  1829. - Added "alpha" to 'nrformats': increment or decrement an alphabetic character
  1830.   with CTRL-A and CTRL-X.
  1831. - ":set opt&vi" sets an option to its Vi default, ":set opt&vim" to its Vim
  1832.   default.  Useful to set 'cpo' to its Vim default without knowing what flags
  1833.   that includes.
  1834. - 'scrolloff' now also applies to a long, wrapped line that doesn't fit in the
  1835.   window.
  1836. - Added more option settings to the default menus.
  1837. - Updated the option window with new options.  Made it a bit easier to read.
  1838.  
  1839. Internal changes:
  1840. - Split line pointers in text part and attributes part.  Allows for future
  1841.   change to make attribute more than one byte.
  1842. - Provide a qsort() function for systems that don't have it.
  1843. - Changed the big switch for Normal mode commands into a table.  This cleans
  1844.   up the code considerably and avoids trouble for some optimizing compilers.
  1845. - Assigned a negative value to special keys, to avoid them being mixed up with
  1846.   Unicode characters.
  1847. - Global variables expand_context and expand_pattern were not supposed to be
  1848.   global.  Pass them to ExpandOne() and all functions called by it.
  1849. - No longer use the global reg_ic flag.  It caused trouble and in a few places
  1850.   it was not set.
  1851. - Removed the use of the stuff buffer for "*", "K", CTRL-], etc.  Avoids
  1852.   problem with autocommands.
  1853. - Moved some code from ex_docmd.c to ex_cmds2.c.  The file was getting too
  1854.   big.  Also moved some code from screen.c to move.c.
  1855. - Don't include the CRC table for encryption, generate it.  Saves quite a bit
  1856.   of space in the source code. (Matthias Kramm)
  1857. - Renamed multibyte.c to mbyte.c to avoid a problem with 8.3 filesystems.
  1858. - Removed the GTK implementation of ":findhelp", it now uses the
  1859.   ToolBar.FindHelp  menu entry.
  1860. - Renamed mch_windexit() to mch_exit(), mch_init() to mch_early_init() and
  1861.   mch_shellinit() to mch_init().
  1862.  
  1863. Highlighting:
  1864. - In a ":highlight" listing, show "xxx" with the highlight color.
  1865. - Added support for xterm with 88 or 256 colors.  The right color numbers will
  1866.   be used for the name used in a ":highlight" command. (Steve Wall)
  1867. - Added "default" argument for ":highlight".  When included, the command is
  1868.   ignored if highlighting for the group was already defined.
  1869.   All syntax files now use ":hi default ..." to allow the user to specify
  1870.   colors in his vimrc file.  Also, the "if did_xxx_syntax_inits" is not needed
  1871.   anymore.  This greatly simplifies using non-default colors for a specific
  1872.   language.
  1873. - Adjusted colortest.vim: Included colors on normal background and reduced the
  1874.   size by using a while loop. (Rafael Garcia-Suarez)
  1875. - Added the "DarkYellow" color name.  Just to make the list of standard colors
  1876.   consistent, it's not really a nice color to use.
  1877.  
  1878. When an xterm is in 8-bit mode this is detected by the code returned for
  1879. |t_RV|.  All key codes are automatically converted to their 8-bit versions.
  1880.  
  1881. The OPT_TCAP_QUERY in xterm patch level 141 and later is used to obtain the
  1882. actual key codes used and the number of colors for t_Co.  Only when |t_RV| is
  1883. also used.
  1884.  
  1885. ":browse set" now also works in the console mode.  ":browse edit" will give an
  1886. error message.
  1887.  
  1888. ":bdelete" and ":bunload" only report the number of deleted/unloaded buffers
  1889. when more than 'report'.  The message was annoying when deleting a buffer in a
  1890. script.
  1891.  
  1892. Jump list:
  1893. - The number of marks kept in the jumplist has been increased from 50 to 100.
  1894. - The jumplist is now stored in the viminfo file.  CTRL-O can be used to jump
  1895.   to positions from a previous edit session.
  1896. - When doing ":split" copy the jumplist to the new window.
  1897.  
  1898. Also set the '[ and '] marks for the "~" and "r" commands.  These marks are
  1899. now always set when making a change with a Normal mode command.
  1900.  
  1901. Python interface: Allow setting the width of a vertically split window. (John
  1902. Cook)
  1903.  
  1904. Added "=word" and "=~word" to 'cinkeys' (also used in 'indentkeys').
  1905.  
  1906. Added "j1" argument in 'cinoptions': indent {} inside () for Java. (Johannes
  1907. Zellner)
  1908. Added the "l" flag in 'cinoptions'. (Anduin Withers)
  1909. Added 'C', 'U', 'w' and 'm' flags to 'cinoptions'. (Servatius Brandt)
  1910.  
  1911. When doing ":wall" or ":wqall" and a modified buffer doesn't have a name,
  1912. mention its buffer number in the error message.
  1913.  
  1914. ":function Name" lists the function with line numbers.  Makes it easier to
  1915. find out where an error happened.
  1916.  
  1917. In non-blockwise Visual mode, "r" replaces all selected characters with the
  1918. typed one, like in blockwise Visual mode.
  1919.  
  1920. When editing the last file in the argument list in any way, allow exiting.
  1921. Previously this was only possible when getting to that file with ":next" or
  1922. ":last".
  1923.  
  1924. Added the '1' flag to 'formatoptions'. (Vit Stradal)
  1925. Added 'n' flag in 'formatoptions': format a numbered list.
  1926.  
  1927. Swap file:
  1928. - When a swap file already exists, and the user selects "Delete" at the
  1929.   ATTENTION prompt, use the same ".swp" swapfile, to avoid creating a ".swo"
  1930.   file which won't always be found.
  1931. - When giving the ATTENTION message and the date of the file is newer than the
  1932.   date of swap file, give a warning about this.
  1933. - Made the info for an existing swap file a bit shorter, so that it still fits
  1934.   on a 24 line screen.
  1935. - It was possible to make a symlink with the name of a swap file, linking to a
  1936.   file that doesn't exist.  Vim would then silently use another file (if open
  1937.   with O_EXCL refuses a symlink).  Now check for a symlink to exist.  Also do
  1938.   another check for an existing swap file just before creating it to catch a
  1939.   symlink attack.
  1940.  
  1941. The g CTRL-G command also works in Visual mode and counts the number of words.
  1942. (Chase Tingley)
  1943.  
  1944. Give an error message when using 'shell' and it's empty.
  1945.  
  1946. Added the possibility to include "%s" in 'shellpipe'.
  1947.  
  1948. Added "uhex" value for 'display': show non-printable characters as <xx>.
  1949. Show unprintable characters with NonText highlighting, also in the command
  1950. line.
  1951.  
  1952. When asked to display the value of a hidden option, tell it's not supported.
  1953.  
  1954. Win32:
  1955. - When dropping a shortcut on gvim (.lnk file) edit the target, not the
  1956.   shortcut itself.  (Yasuhiro Matsumoto)
  1957. - Added C versions of the OpenWithVim and SendToVim programs. (Walter Briscoe)
  1958. - When 'shell' is "cmd" or "cmd.exe", set 'shellredir' to redirect stderr too.
  1959.   Also check for the Unix shell names.
  1960. - When $HOMEDRIVE and $HOMEPATH are defined, use them to define $HOME.  (Craig
  1961.   Barkhouse)
  1962.  
  1963. Win32 console version:
  1964. - Includes the user and system name in the ":version" message, when available.
  1965.   It generates a pathdef.c file for this.  (Jon Miner)
  1966. - Set the window icon to Vim's icon (only for Windows 2000).  While executing
  1967.   a shell command, modify the window title to show this.  When exiting,
  1968.   restore the cursor position too.  (Craig Barkhouse)
  1969. - The Win32 console version can be compiled with OLE support.  It can only
  1970.   function as a client, not as an OLE server.
  1971.  
  1972. Errorformat:
  1973. - Let "%p" in 'errorformat' (column of error indicated by a row of characters)
  1974.   also accept a line of dots.
  1975. - Added "%v" item in 'errorformat': Virtual column number. (Dan Sharp)
  1976. - Added a default 'errorformat' value for VMS. (Jim Bush)
  1977.  
  1978. The "p" command can now be used in Visual mode.  It overwrites the selected
  1979. text with the contents of a register.
  1980.  
  1981. Highlight the <> items in the intro message to make clear they are special.
  1982.  
  1983. When using the "c" flag for ":substitute", allow typing "l" for replacing this
  1984. item and then stop: "last".
  1985.  
  1986. When printing a verbose message about sourcing another file, print the line
  1987. number.
  1988.  
  1989. When resizing the Vim window, don't use 'equalalways'.  Avoids that making the
  1990. Vim window smaller makes split windows bigger.  And it's what the docs say.
  1991.  
  1992. When typing CTRL-D in Insert mode, just after an autoindent, then hitting CR
  1993. kept the remaining white space.  Now made it work like BS: delete the
  1994. autoindent to avoid a blank non-empty line results.
  1995.  
  1996. Added a GetHwnd() call to the OLE interface.  (Vince Negri)
  1997.  
  1998. Made ":normal" work in an event handler.  Useful when dropping a file on Vim
  1999. and for CursorHold autocommands.
  2000.  
  2001. For the MS-Windows version, don't change to the directory of the file when a
  2002. slash is used instead of a backslash.  Explorer should always use a backslash,
  2003. the user can use a slash when typing the command.
  2004.  
  2005. Timestamps:
  2006. - When a buffer was changed outside of Vim and regaining focus, give a dialog
  2007.   to allow the user to reload the file.  Now also for other GUIs than
  2008.   MS-Windows.  And also used in the console, when compiled with dialog
  2009.   support.
  2010. - Inspect the file contents to find out if it really changed, ignore
  2011.   situations where only the time stamp changed (e.g., checking the file out
  2012.   from CVS).
  2013. - When checking the timestamp, first check if the file size changed, to avoid
  2014.   a file compare then.  Makes it quicker for large (log) files that are
  2015.   appended to.
  2016. - Don't give a warning for a changed or deleted file when 'buftype' is set.
  2017. - No longer warn for a changed directory.  This avoids that the file explorer
  2018.   produces warnings.
  2019. - Checking timestamps is only done for buffers that are not hidden.  These
  2020.   will be checked when they become unhidden.
  2021. - When checking for a file being changed outside of Vim, also check if the
  2022.   file permissions changed.  When the file contents didn't change but the
  2023.   permissions did, give a warning.
  2024. - Avoid checking too often, otherwise the dialog keeps popping up for a log
  2025.   file that steadily grows.
  2026.  
  2027. Mapping <M-A> when 'encoding' is "latin1" and then setting 'encoding' to
  2028. "utf-8" causes the first byte of a multi-byte to be mapped.  Can cause very
  2029. hard to find problems.  Disallow mapping part of a multi-byte character.
  2030.  
  2031. For ":python" and ":tcl" accept an in-line script. (Johannes Zellner)
  2032. Also for ":ruby" and ":perl". (Benoit Cerrina)
  2033.  
  2034. Made ":syn include" use 'runtimepath' when the file name is not a full path.
  2035.  
  2036. When 'switchbuf' contains "split" and the current window is empty, don't split
  2037. the window.
  2038.  
  2039. Unix: Catch SIGPWR to preserve files when the power is about to go down.
  2040.  
  2041. Sniff interface: (Anton Leherbauer)
  2042. - fixed windows code, esp. the event handling stuff
  2043. - adaptations for sniff 4.x ($SNIFF_DIR4)
  2044. - support for adding sniff requests at runtime
  2045.  
  2046. Support the notation <A-x> as an alias for <M-x>.  This logical, since the Alt
  2047. key is used.
  2048.  
  2049. ":find" accepts a count, which means that the count'th match in 'path' is
  2050. used.
  2051.  
  2052. ":ls" and ":buffers" output shows modified/readonly/modifiable flag.  When a
  2053. buffer is active show "a" instead of nothing.  When a buffer isn't loaded
  2054. show nothing instead of "-".
  2055.  
  2056. Unix install:
  2057. - When installing the tools, set absolute paths in tools scripts efm_perl.pl
  2058.   and mve.awk.  Avoids that the user has to edit these files.
  2059. - Install Icons for KDE when the directories exist and the icons do not exist
  2060.   yet.
  2061.  
  2062. Added has("win95"), to be able to distinguish between MS-Windows 95/98/ME and
  2063. NT/2000/XP in a Vim script.
  2064.  
  2065. When a ":cd" command was typed, echo the new current directory. (Dan Sharp)
  2066.  
  2067. When using ":winpos" before the GUI window has been opened, remember the
  2068. values until it is opened.
  2069.  
  2070. In the ":version" output, add "/dyn" for features that are dynamically loaded.
  2071. This indicates the feature may not always work.
  2072.  
  2073. On Windows NT it is possible that a directory is read-only, but a file can be
  2074. deleted.  When making a backup by renaming the file and 'backupdir' doesn't
  2075. use the current directory, this causes the original file to be deleted,
  2076. without the possibility to create a new file.  Give an extra error message
  2077. then to warn to user about this.
  2078.  
  2079. Made CTRL-R CTRL-O at the command line work like CTRL-R CTRL-R, so that it's
  2080. consistent with Insert mode.
  2081.  
  2082. ==============================================================================
  2083. COMPILE TIME CHANGES                    *compile-changes-6*
  2084.  
  2085. All generated files have been moved out of the "src" directory.  This makes it
  2086. easy to see which files are not edited by hand.  The files generated by
  2087. configure are now in the "src/auto" directory.  For Unix, compiled object
  2088. files go in the objects directory.
  2089.  
  2090. The source archive was over the 1.4M floppy limit.  The archives are now split
  2091. up into two runtime and two source archives.  Also provide a bzip2 compressed
  2092. archive that contains all the sources and runtime files.
  2093.  
  2094. Added "reconfig" as a target for make.  Useful when changing some of the
  2095. arguments that require flushing the cache, such as switching from GTK to
  2096. Motif.  Adjusted the meaning of GUI_INC_LOC and GUI_LIB_LOC to be consistent
  2097. over different GUIs.
  2098.  
  2099. Added src/README.txt to give an overview of the main parts of the source code.
  2100.  
  2101. The Unix Makefile now fully supports using $(DESTDIR) to install to a specific
  2102. location.  Replaces the manual setting of *ENDLOC variables.
  2103.  
  2104. Added the possibility for a maintainer of a binary version to include his
  2105. e-mail address with the --with-compiledby configure argument.
  2106.  
  2107. Included features are now grouped in "tiny", "small", "normal", "big" and
  2108. "huge".  This replaces "min-features" and "max-features".  Using "tiny"
  2109. disables multiple windows for a really small Vim.
  2110.  
  2111. For the tiny version or when FEAT_WINDOWS is not defined: Firstwin and lastwin
  2112. are equal to curwin and don't use w_next and w_prev.
  2113.  
  2114. Added the +listcmds feature.  Can be used to compile without the Vim commands
  2115. that manipulate the buffer list and argument list (the buffer list itself is
  2116. still there, can't do without it).
  2117.  
  2118. Added the +vreplace feature.  It is disabled in the "small" version to avoid
  2119. that the 16 bit DOS version runs out of memory.
  2120.  
  2121. Removed GTK+ support for versions older than 1.1.16.
  2122.  
  2123. The configure checks for using PTYs have been improved.  Code taken from a
  2124. recent version of screen.
  2125.  
  2126. Added configure options to install Vim, Ex and View under another name (e.g.,
  2127. vim6, ex6 and view6).
  2128.  
  2129. Added "--with-global-runtime" configure argument.  Allows specifying the
  2130. global directory used in the 'runtimepath' default.
  2131.  
  2132. Made enabling the SNiFF+ interface possible with a configure argument.
  2133.  
  2134. Configure now always checks /usr/local/lib for libraries and
  2135. /usr/local/include for include files.  Helps finding the stuff for iconv() and
  2136. gettext().
  2137.  
  2138. Moved the command line history stuff into the +cmdline_hist feature, to
  2139. exclude the command line history from the tiny version.
  2140.  
  2141. MS-Windows: Moved common functions from Win16 and Win32 to os_mswin.c.  Avoids
  2142. having to change two files for one problem.  (Vince Negri)
  2143.  
  2144. Moved common code from gui_w16.c and gui_w32.c to gui_w48.c (Vince Negri)
  2145.  
  2146. The jumplist is now a separate feature.  It is disabled for the "small"
  2147. version (16 bit MS-DOS).
  2148.  
  2149. Renamed all types ending in _t to end in _T.  Avoids potential problems with
  2150. system types.
  2151.  
  2152. Added a configure check for X11 header files that implicitly define the return
  2153. type to int. (Steve Wall)
  2154.  
  2155. "make doslang" in the top directory makes an archive with the menu and .mo
  2156. files for Windows.  This uses the files generated on Unix, these should work
  2157. on MS-Windows as well.
  2158.  
  2159. Merged a large part of os_vms.c with os_unix.c.  The code was duplicated in
  2160. the past which made maintenance more work.  (Zoltan Arpadffy)
  2161.  
  2162. Updated the Borland C version 5 Makefile: (Dan Sharp)
  2163. - Fixed the Perl build
  2164. - Added python and tcl builds
  2165. - Added dynamic perl and dynamic python builds
  2166. - Added uninstal.exe build
  2167. - Use "yes" and "no" for the options, like in Make_mvc.mak.
  2168.  
  2169. Win32: Merged Make_gvc.mak and Make_ovc.mak into one file: Make_ivc.mak.  It's
  2170. much smaller, many unnecessary text has been removed. (Walter Briscoe)
  2171. Added Make_dvc.mak to be able to debug exe generated with Make_mvc.mak in
  2172. MS-Devstudio. (Walter Briscoe)
  2173.  
  2174. MS-Windows: The big gvim.exe, which includes OLE, now also includes
  2175. dynamically loaded Tcl, Perl and Python.  This uses ActivePerl 5.6.1,
  2176. ActivePython 2.1.1 and ActiveTCL 8.3.3
  2177.  
  2178. Added AC_EXEEXT to configure.in, to check if the executable needs ".exe" for
  2179. Cygwin or MingW.  Renamed SUFFIX to EXEEXT in Makefile.
  2180.  
  2181. Win32: Load comdlg32.dll delayed for faster startup.  Only when using VC 6.
  2182. (Vipin Aravind)
  2183.  
  2184. Win32: When compiling with Borland, allow using IME. (Yasuhiro Matsumoto)
  2185.  
  2186. Win32: Added Makefile for Borland 5 to compile gvimext.dll. (Yasuhiro
  2187. Matsumoto)
  2188.  
  2189. ==============================================================================
  2190. BUG FIXES                        *bug-fixes-6*
  2191.  
  2192. When checking the command name for "gvim", "ex", etc. ignore case.  Required
  2193. for systems where case is ignored in command names.
  2194.  
  2195. Search pattern "[a-c-e]" also matched a 'd' and didn't match a '-'.
  2196.  
  2197. When double-clicking in another window, wasn't recognized as double click,
  2198. because topline is different.  Added set_mouse_topline().
  2199.  
  2200. The BROKEN_LOCALE check was broken.  (Marcin Dalecki)
  2201.  
  2202. When "t_Co" is set, the default colors remain the same, thus wrong.  Reset the
  2203. colors after changing "t_Co". (Steve Wall)
  2204.  
  2205. When exiting with ":wqall" the messages about writing files could overwrite
  2206. each other and be lost forever.
  2207.  
  2208. When starting Vim with an extremely long file name (around 1024 characters) it
  2209. would crash.  Added a few checks to avoid buffer overflows.
  2210.  
  2211. CTRL-E could get stuck in a file with very long lines.
  2212.  
  2213. ":au syntax<Tab>" expanded event names while it should expand groups starting
  2214. with "syntax".
  2215.  
  2216. When expanding a file name caused an error (e.g., for <amatch>) it was
  2217. produced even when inside an "if 0".
  2218.  
  2219. 'cindent' formatted C comments differently from what the 'comments' option
  2220. specified. (Steve Wall)
  2221.  
  2222. Default for 'grepprg' didn't include the file name when only grepping in one
  2223. file.  Now /dev/null has been added for Unix.
  2224.  
  2225. Opening the option window twice caused trouble.  Now the cursor goes to the
  2226. existing option window.
  2227.  
  2228. ":sview" and ":view" didn't set 'readonly' for an existing buffer.  Now do set
  2229. 'readonly', unless the buffer is also edited in another window.
  2230.  
  2231. GTK GUI: When 'guioptions' excluded 'g', the more prompt caused the toolbar
  2232. and menubar to disappear and resize the window (which clears the text).
  2233. Now always grey-out the toplevel menus to avoid that the menubar changes size
  2234. or disappears.
  2235.  
  2236. When re-using the current buffer for a new buffer, buffer-local variables were
  2237. not deleted.
  2238.  
  2239. GUI: when 'scrolloff' is 0 dragging the mouse above the window didn't cause a
  2240. down scroll.  Now pass on a mouse event with mouse_row set to -1.
  2241.  
  2242. Win32: Console version didn't work on telnet, because of switching between two
  2243. console screens.  Now use one console screen and save/restore the contents
  2244. when needed.  (Craig Barkhouse)
  2245.  
  2246. When reading a file the magic number for encryption was included in the file
  2247. length. (Antonio Colombo)
  2248.  
  2249. The quickfix window contained leading whitespace and NULs for multi-line
  2250. messages. (David Harrison)
  2251.  
  2252. When using cscope, redundant tags were removed.  This caused a numbering
  2253. problem, because they were all listed.  Don't remove redundant cscope tags.
  2254. (David Bustos).
  2255.  
  2256. Cscope: Test for which matches are in the current buffer sometimes failed,
  2257. causing a jump to another match than selected. (David Bustos)
  2258.  
  2259. Win32: Buffer overflow when adding a charset name in a font.
  2260.  
  2261. 'titlestring' and 'iconstring' were evaluating an expression in the current
  2262. context, which could be a user function, which is a problem for local
  2263. variables vs global variables.
  2264.  
  2265. Win32 GUI: Mapping <M-F> didn't work.  Now handle SHIFT and CTRL in
  2266. _OnSysChar().
  2267.  
  2268. Win32 GUI: (on no file), :vs<CR>:q<CR> left a trail of pixels down the middle.
  2269. Could also happen for the ruler.  screen_puts() didn't clear the right char in
  2270. ScreenLines[] for the bold trick.
  2271.  
  2272. Win32: ":%!sort|uniq" didn't work, because the input file name touches the
  2273. "|".  Insert a space before the "|".
  2274.  
  2275. OS/2: Expanding wildcards included non-existing files.  Caused ":runtime" to
  2276. fail, which caused syntax highlighting to fail.
  2277.  
  2278. Pasting a register containing CTRL-R on the command line could cause an
  2279. endless loop that can't be interrupted.  Now it can be stopped with CTRL-C.
  2280.  
  2281. When 'verbose' is set, a message for file read/write could overwrite the
  2282. previous message.
  2283. When 'verbose' is set, the header from ":select" was put after the last
  2284. message.  Now start a new line.
  2285.  
  2286. The hit-enter prompt reacted to the response of the t_RV string, causing
  2287. messages at startup to disappear.
  2288.  
  2289. When t_Co was set to 1, colors were still used.  Now only use color when t_Co
  2290. > 1.
  2291.  
  2292. Listing functions with ":function" didn't quit when 'q' or ':' was typed at
  2293. the more prompt.
  2294.  
  2295. Use mkstemp() instead of mktemp() when it's available, avoids a warning for
  2296. linking on FreeBSD.
  2297.  
  2298. When doing Insert mode completion it's possible that b_sfname is NULL.  Don't
  2299. give it to printf() for the "Scanning" message.
  2300.  
  2301. ":set runtimepath-=$VIMRUNTIME" didn't work, because expansion of wildcards
  2302. was done after trying to remove the string.  Now for ":set opt+=val" and ":set
  2303. opt-=val" the expansion of wildcards is done before adding or removing "val".
  2304.  
  2305. Using CTRL-V with the "r" command with a blockwise Visual selection inserted a
  2306. CTRL-V instead of getting a special character.
  2307.  
  2308. Unix: Changed the order of libraries: Put -lXdmcp after -lX11 and -lSM -lICE
  2309. after -lXdmcp.  Should fix link problem on HP-UX 10.20.
  2310.  
  2311. Don't remove the last "-lm" from the link line.  Vim may link but fail later
  2312. when the GUI starts.
  2313.  
  2314. When the shell returns with an error when trying to expand wildcards, do
  2315. include the pattern when the "EW_NOTFOUND" flag was set.
  2316. When expanding wildcards with the shell fails, give a clear error message
  2317. instead of just "1 returned".
  2318.  
  2319. Selecting a Visual block, with the start partly on a Tab, deleting it leaves
  2320. the cursor too far to the left.  Causes "s" to work in the wrong position.
  2321.  
  2322. Pound sign in normal.c caused trouble on some compilers.  Use 0xA3 instead.
  2323.  
  2324. Warning for changing a read-only file wasn't given when 'insertmode' was set.
  2325.  
  2326. Win32: When 'shellxquote' is set to a double quote (e.g., using csh), ":!start
  2327. notepad file" doesn't work.  Remove the double quotes added by 'shellxquote'
  2328. when using ":!start". (Pavol Juhas)
  2329.  
  2330. The "<f-args>" argument of ":command" didn't accept Tabs for white space.
  2331. Also, don't add an empty argument when there are trailing blanks.
  2332.  
  2333. ":e test\\je" edited "test\je", but ":next test\\je" edited "testje".
  2334. Backslashes were removed one time too many for ":next".
  2335.  
  2336. VMS: "gf" didn't work properly.  Use vms_fixfilename() to translate the file
  2337. name. (Zoltan Arpadffy)
  2338.  
  2339. After ":hi Normal ctermbg=black ctermfg=white" and suspending Vim not all
  2340. characters are redrawn with the right background.
  2341.  
  2342. When doing "make test" without +eval or +windows feature, many tests failed.
  2343. Now have test1 generate a script to copy the correct output, so that a test
  2344. that doesn't work is skipped.
  2345.  
  2346. On FreeBSD the Perl interface added "-lc" to the link command and Python added
  2347. "-pthread".  These two don't work together, because the libc_r library should
  2348. be used.  Removed "-lc" from Perl, it should not be needed.
  2349. Also: Add "-pthread" to $LIBS, so that the checks for functions is done with
  2350. libc_r.  Sigaltstack() appears to be missing from libc_r.
  2351.  
  2352. The Syntax sub-menus were getting too long, reorganized them and added another
  2353. level for some languages.
  2354.  
  2355. Visual block "r"eplace didn't work well when a Tab is partly included.
  2356. (Matthias Kramm)
  2357.  
  2358. When yanking a Visual block, where some lines end halfway the block, putting
  2359. the text somewhere else doesn't insert a block.  Padd with spaces for missing
  2360. characters.  Added "y_width" to struct yankreg. (Matthias Kramm)
  2361.  
  2362. If a substitute string has a multibyte character after a backslash only the
  2363. first byte of it was skipped. (Muraoka Taro)
  2364.  
  2365. Win32: Numeric keypad keys were missing from the builtin termcap entry.
  2366.  
  2367. When a file was read-only ":wa!" didn't force it to be written. (Vince Negri)
  2368.  
  2369. Amiga: A file name starting with a colon was considered absolute but it isn't.
  2370. Amiga: ":pwd" added a slash when in the root of a drive.
  2371.  
  2372. Don't let 'ttymouse' default to "dec" when compiled with dec mouse support.
  2373. It breaks the gpm mouse (Linux console).
  2374.  
  2375. The prototypes for the Perl interface didn't work for threaded Perl.  Added a
  2376. sed command to remove the prototypes from proto/if_perl.pro and added them
  2377. manually to if_perl.xs.
  2378.  
  2379. When ":w!" resets the 'readonly' option the title and status lines were not
  2380. updated.
  2381.  
  2382. ":args" showed the current file when the argument list was empty.  Made this
  2383. work like Vi: display nothing.
  2384.  
  2385. "99:<C-U>echo v:count" echoed "99" in Normal mode, but 0 in Visual mode.
  2386. Don't set v:count when executing a stuffed command.
  2387.  
  2388. Amiga: Got a requester for "home:" because it's in the default runtime path.
  2389. Don't bring up a requester when searching for a file in 'path', sourcing the
  2390. .vimrc file or using ":runtime".
  2391.  
  2392. Win16 and Win32: Considered a file "\path\file" absolute.  Can cause the same
  2393. file to appear as two different buffers.
  2394.  
  2395. Win32: Renaming a file to an empty string crashed Vim.  Happened when using
  2396. explorer.vim and hitting ESC at the rename prompt.
  2397.  
  2398. Win32: strftime() crashed when called with a "-1" value for the time.
  2399.  
  2400. Win32 with Borland compiler: mch_FullName() didn't work, caused tag file not
  2401. to be found.
  2402.  
  2403. Cscope sometimes jumped to the wrong tag. (David Bustos)
  2404.  
  2405. OS/2: Could not find the tags file.  mch_expand_wildcards() added another
  2406. slash to a directory name.
  2407.  
  2408. When using ">>" the `] mark was not in the last column.
  2409.  
  2410. When Vim was compiled without menu support, filetype.vim was still trying to
  2411. source the menu.vim script. (Rafael Garcia-Suarez)
  2412.  
  2413. ":ptag" added an item to the tag stack.
  2414.  
  2415. Win32 IME: "gr" didn't use IME mode.
  2416.  
  2417. In the "vim --help" message the term "options" was used for arguments.  That's
  2418. confusing, call them "arguments".
  2419.  
  2420. When there are two windows, and a BufUnload autocommand for closing window #1
  2421. closed window #2, Vim would crash.
  2422.  
  2423. When there is a preview window and only one other window, ":q" wouldn't exit.
  2424.  
  2425. In Insert mode, when cancelling a digraph with ESC, the '?' wasn't removed.
  2426.  
  2427. On Unix glob(".*") returned "." and "..", on Windows it didn't.  On Windows
  2428. glob("*") also returned files starting with a dot.  Made this work like Unix
  2429. on all systems.
  2430.  
  2431. Win32: Removed old code to open a console.  Vimrun is now used and works fine.
  2432.  
  2433. Compute the room needed by the intro message accurately, so that it also fits
  2434. on a 25 line console. (Craig Barkhouse)
  2435.  
  2436. ":ptnext" was broken.  Now remember the last tag used in the preview window
  2437. separately from the tagstack.
  2438.  
  2439. Didn't check for "-display" being the last argument. (Wichert Akkerman)
  2440.  
  2441. GTK GUI: When starting "gvim" under some conditions there would be an X error.
  2442. Don't replace the error handler when creating the xterm clipboard. (Wichert
  2443. Akkerman)
  2444.  
  2445. Adding a space after a help tag caused the tag not to be found.  E.g., ":he
  2446. autoindent ".
  2447.  
  2448. Was trying to expand a URL into a full path name.  On Windows this resulted in
  2449. the current directory to be prepended to the URL.  Added vim_isAbsName() and
  2450. vim_FullName() to avoid that various machine specific functions do it
  2451. differently.
  2452.  
  2453. ":n *.c" ":cd .." ":n" didn't use the original directory of the file.  Vi only
  2454. does it for the current file (looks like a bug).  Now remember the buffer used
  2455. for the entry in the argument list and use its name (adjusted when doing
  2456. ":cd"), unless it's deleted.
  2457.  
  2458. When inserting a special key as its name ("<F8>" as four characters) after
  2459. moving around in Insert mode, undo didn't work properly.
  2460.  
  2461. Motif GUI: When using the right mouse button, for some people gvim froze for
  2462. a couple of seconds (Motif 1.2?).  This doesn't happen when there is no Popup
  2463. menu.  Solved by only creating a popup menu when 'mousemodel' is "popup" or
  2464. "popup_setpos". (David Harrison)
  2465.  
  2466. Motif: When adding many menu items, the "Help" menu disappeared but the
  2467. menubar didn't wrap.  Now manually set the menubar height.
  2468.  
  2469. When using <BS> in Insert mode to remove a line break, or using "J" to join
  2470. lines, the cursor could end up halfway a multi-byte character. (Muraoka Taro)
  2471.  
  2472. Removed defining SVR4 in configure.  It causes problems for some X header
  2473. files and doesn't appear to be used anywhere.
  2474.  
  2475. When 'wildignore' is used, 'ignorecase' for a tag match was not working.
  2476.  
  2477. When 'wildignore' contains "*~" it was impossible to edit a file ending in a
  2478. "~".  Now don't recognize a file ending in "~" as containing wildcards.
  2479.  
  2480. Disabled the mouse code for OS/2.  It was not really used.
  2481.  
  2482. ":mksession" always used the full path name for a buffer, also when the short
  2483. name could be used.
  2484. ":mkvimrc" and ":mksession" didn't save 'wildchar' and 'pastetoggle' in such a
  2485. way that they would be restored.  Now use the key name if possible, this is
  2486. portable.
  2487.  
  2488. After recovering a file and abandoning it, an ":edit" command didn't give the
  2489. ATTENTION prompt again.  Would be useful to be able to delete the file in an
  2490. easy way.  Reset the BF_RECOVERED flag when unloading the buffer.
  2491.  
  2492. histdel() could match or ignore case, depending on what happened before it.
  2493. Now always match case.
  2494.  
  2495. When a window size was specified when splitting a window, it would still get
  2496. the size from 'winheight' or 'winwidth' if it's larger.
  2497.  
  2498. When using "append" or "insert" inside a function definition, a line starting
  2499. with "function" or "endfunction" caused confusion.  Now recognize the commands
  2500. and skip lines until a ".".
  2501.  
  2502. At the end of any function or sourced file need_wait_return could be reset,
  2503. causing messages to disappear when redrawing.
  2504.  
  2505. When in a while loop the line number for error messages stayed fixed.  Now the
  2506. line number is remembered in the while loop.
  2507.  
  2508. "cd c:/" didn't work on MS-DOS.  mch_isdir() removed a trailing slash.
  2509.  
  2510. MS-Windows: getftime() didn't work when a directory had a trailing slash or
  2511. backslash.  Didn't show the time in the explorer because of this.
  2512.  
  2513. When doing wildcard completion, a directory "a/" sorted after "a-b".  Now
  2514. recognize path separators when sorting files.
  2515.  
  2516. Non-Unix systems: When editing "c:/dir/../file" and "c:/file" they were
  2517. created as different buffers, although it's the same file.  Expand to a full
  2518. file name also when an absolute name contains "..".
  2519.  
  2520. "g&" didn't repeat the last substitute properly.
  2521.  
  2522. When 'clipboard' was set to "unnamed", a "Y" command would not write to "0.
  2523. Now make a copy of register 0 to the clipboard register.
  2524.  
  2525. When the search pattern matches in many ways, it could not always be
  2526. interrupted with a CTRL-C.  And CTRL-C would have to be hit once for every
  2527. line when 'hlsearch' is on.
  2528. When 'incsearch' is on and interrupting the search for a match, don't abandon
  2529. the command line.
  2530.  
  2531. When turning a directory name into a full path, e.g., with fnamemodify(),
  2532. sometimes a slash was added.  Make this consistent: Don't add a slash.
  2533.  
  2534. When a file name contains a "!", using it in a shell command will cause
  2535. trouble: ":!cat %".  Escape the "!" to avoid that.  Escape it another time
  2536. when 'shell' contains "sh".
  2537.  
  2538. Completing a file name that has a tail that starts with a "~" didn't work:
  2539. ":e view/~<Tab>".
  2540.  
  2541. Using a ":command" argument that contains < and > but not for a special
  2542. argument was not skipped properly.
  2543.  
  2544. The DOS install program: On Win2000 the check for a vim.exe or gvim.exe in
  2545. $PATH didn't work, it always found it in the current directory.
  2546. Rename the vim.exe in the current dir to avoid this. (Walter Briscoe)
  2547.  
  2548. In the MS-DOS/Windows install program, use %VIM% instead of an absolute path,
  2549. so that moving Vim requires only one change in the batch file.
  2550.  
  2551. Mac: mch_FullName() changed the "fname" argument and didn't always initialize
  2552. the buffer.
  2553.  
  2554. MS-DOS: mch_FullName() didn't fix forward/backward slashes in an absolute file
  2555. name.
  2556.  
  2557. "echo expand("%:p:h")" with an empty file name removed one directory name on
  2558. MS-DOS.  For Unix, when the file name is a directory, the directory name was
  2559. removed.  Now make it consistent: "%:p" adds a path separator for all systems,
  2560. but no path separator is added in other situations.
  2561.  
  2562. Unix: When checking for a CTRL-C (could happen any time) and there is an X
  2563. event (e.g., clipboard updated) and there is typeahead, Vim would hang until a
  2564. character was typed.
  2565.  
  2566. MS-DOS, MS-Windows and Amiga: expanding "$ENV/foo" when $ENV ends in a colon,
  2567. had the slash removed.
  2568.  
  2569. ":he \^=" gave an error for using \_.  ":he ^=" didn't find tag :set^=.  Even
  2570. "he :set^=" didn't find it.
  2571.  
  2572. A tags file name "D:/tags" was used as file "tags" in "D:".  That doesn't work
  2573. when the current path for D: isn't the root of the drive.
  2574.  
  2575. Removed calls to XtInitializeWidgetClass(), they shouldn't be necessary.
  2576.  
  2577. When using a dtterm or various other color terminals, and the Normal group has
  2578. been set to use a different background color, the background wouldn't always
  2579. be displayed with that color.  Added check for "ut" termcap entry: If it's
  2580. missing, clearing the screen won't give us the current background color.  Need
  2581. to draw each character instead.  Vim now also works when the "cl" (clear
  2582. screen) termcap entry is missing.
  2583.  
  2584. When repeating a "/" search command with a line offset, the "n" did use the
  2585. offset but didn't make the motion linewise.  Made "d/pat/+2" and "dn" do the
  2586. same.
  2587.  
  2588. Win32: Trying to use ":tearoff" for a menu that doesn't exist caused a crash.
  2589.  
  2590. OpenPTY() didn't work on Sequent.  Add a configure check for getpseudotty().
  2591.  
  2592. C-indenting: Indented a line starting with ")" with the matching "(", but not
  2593. a line starting with "x)" looks strange.  Also compute the indent for aligning
  2594. with items inside the () and use the lowest indent.
  2595.  
  2596. MS-DOS and Windows: ":n *.vim" also matched files ending in "~".
  2597. Moved mch_expandpath() from os_win16.c and os_msdos.c to misc1.c, they are
  2598. equal.
  2599.  
  2600. Macintosh: (Dany St-Amant)
  2601. - In Vi-compatible mode didn't read files with CR line separators.
  2602. - Fixed a bug in the handling of Activate/Deactivate Event
  2603. - Fixed a bug in gui_mch_dialog (using wrong pointer)
  2604.  
  2605. Multibyte GDK XIM: While composing a multibyte-word, if user presses a
  2606. mouse button, then the word is removed.  It should remain and composing end.
  2607. (Sung-Hyun Nam)
  2608.  
  2609. MS-DOS, MS-Windows and OS/2: When reading from stdin, automatic CR-LF
  2610. conversion by the C library got in the way of detecting a "dos" 'fileformat'.
  2611.  
  2612. When 'smartcase' is set, patterns with "\S" would also make 'ignorecase'
  2613. reset.
  2614.  
  2615. When clicking the mouse in a column larger than 222, it moved to the first
  2616. column.  Can't encode a larger number in a character.  Now limit the number to
  2617. 222, don't jump back to the first column.
  2618.  
  2619. GUI: In some versions CSI would cause trouble, either when typed directly or
  2620. when part of a multi-byte sequence.
  2621.  
  2622. When using multibyte characters in a ":normal" command, a trailing byte that
  2623. is CSI or K_SPECIAL caused problems.
  2624.  
  2625. Wildmenu didn't handle multi-byte characters.
  2626.  
  2627. ":sleep 10" could not be interrupted on Windows, while "gs" could.  Made them
  2628. both work the same.
  2629.  
  2630. Unix: When waiting for a character is interrupted by an X-windows event (e.g.,
  2631. to obtain the contents of the selection), the wait time would not be honored.
  2632. A message could be overwritten quickly.  Now compute the remaining waiting
  2633. time.
  2634.  
  2635. Windows: Completing "\\share\c$\S" inserted a backslash before the $ and then
  2636. the name is invalid.  Don't insert the backslash.
  2637.  
  2638. When doing an auto-write before ":make", IObuff was overwritten and the wrong
  2639. text displayed later.
  2640.  
  2641. On the Mac the directories "c:/tmp" and "c:/temp" were used in the defaults
  2642. for 'backupdir' and 'directory', they don't exist.
  2643.  
  2644. The check for a new file not to be on an MS-DOS filesystem created the file
  2645. temporarily, which can be slow.  Don't do this if there is another check for
  2646. the swap file being on an MS-DOS filesystem.
  2647.  
  2648. Don't give the "Changing a readonly file" warning when reading from stdin.
  2649.  
  2650. When using the "Save As" menu entry and not entering a file name, would get an
  2651. error message for the trailing ":edit #".  Now only do that when the
  2652. alternate file name was changed.
  2653.  
  2654. When Vim owns the X11 selection and is being suspended, an application that
  2655. tries to use the selection hangs.  When Vim continues it could no longer
  2656. obtain the selection.  Now give up the selection when suspending.
  2657.  
  2658. option.h and globals.h were included in some files, while they were already
  2659. included in vim.h.  Moved the definition of EXTERN to vim.h to avoid doing it
  2660. twice.
  2661.  
  2662. When repeating an operator that used a search pattern and the search pattern
  2663. contained characters that have a special meaning on the cmdline (e.g., CTRL-U)
  2664. it didn't work.
  2665.  
  2666. Fixed various problems with using K_SPECIAL (0x80) and CSI (0x9b) as a byte in
  2667. a (multibyte) character.  For example, the "r" command could not be repeated.
  2668.  
  2669. The DOS/Windows install program didn't always work from a directory with a
  2670. long filename, because $VIM and the executable name would not have the same
  2671. path.
  2672.  
  2673. Multi-byte:
  2674. - Using an any-but character range [^x] in a regexp didn't work for UTF-8.
  2675.   (Muraoka Taro)
  2676. - When backspacing over inserted characters in Replace mode multi-byte
  2677.   characters were not handled correctly. (Muraoka Taro)
  2678. - Search commands "#" and "*" didn't work with multibyte characters. (Muraoka
  2679.   Taro)
  2680. - Word completion in Insert mode didn't work with multibyte characters.
  2681.   (Muraoka Taro)
  2682. - Athena/Motif GUI: when 'linespace' is non-zero the cursor would be drawn too
  2683.   wide (number of bytes instead of cell width).
  2684. - When changing 'encoding' to "euc-jp" and inserting a character Vim would
  2685.   crash.
  2686. - For euc-jp characters positioning the cursor would sometimes be wrong.
  2687.   Also, with two characters with 0x8e leading byte only the first one would be
  2688.   displayed.
  2689. - When using DYNAMIC_ICONV on Win32 conversion might fail because of using the
  2690.   wrong error number. (Muraoka Taro)
  2691. - Using Alt-x in the GUI while 'encoding' was set to "utf-8" didn't produce
  2692.   the right character.
  2693. - When using Visual block selection and only the left halve of a double-wide
  2694.   character is selected, the highlighting continued to the end of the line.
  2695. - Visual-block delete didn't work properly when deleting the right halve of a
  2696.   double-wide character.
  2697. - Overstrike mode for the cmdline replaced only the first byte of a multibyte
  2698.   character.
  2699. - The cursor in Replace mode (also in the cmdline) was to small on a
  2700.   double-wide character.
  2701. - When a multibyte character contained a 0x80 byte, it didn't work (was using
  2702.   a CSI byte instead). (Muraoka Taro)
  2703. - Wordwise selection with the mouse didn't work.
  2704. - Yanking a modeless selection of multi-byte characters didn't work.
  2705. - When 'selection' is "exclusive", selecting a word that ends in a multi-byte
  2706.   character used wrong highlighting for the following character.
  2707.  
  2708. Win32 with Make_mvc.mak: Didn't compile for debugging. (Craig Barkhouse)
  2709.  
  2710. Win32 GUI: When "vimrun.exe" is used to execute an external command, don't
  2711. give a message box with the return value, it was already printed by vimrun.
  2712. Also avoid printing the return value of the shell when ":silent!" is used.
  2713.  
  2714. Win32: selecting a lot of text and using the "find/replace" dialog caused a
  2715. crash.
  2716.  
  2717. X11 GUI: When typing a character with the 8th bit set and the Meta/Alt
  2718. modifier, the modifier was removed without changing the character.
  2719.  
  2720. Truncating a message to make it fit on the command line, using "..." for the
  2721. middle, didn't always compute the space correctly.
  2722.  
  2723. Could not imap <C-@>.  Now it works like <Nul>.
  2724.  
  2725. VMS:
  2726. - Fixed a few things for VAXC.  os_vms_fix.com had some strange CTRL-M
  2727.   characters. (Zoltan Arpadffy and John W. Hamill)
  2728. - Added VMS-specific defaults for the 'isfname' and 'isprint' options.
  2729.   (Zoltan Arpadffy)
  2730. - Removed os_vms_osdef.h, it's no longer used.
  2731.  
  2732. The gzip plugin used a ":normal" command, this doesn't work when dropping a
  2733. compressed file on Vim.
  2734.  
  2735. In very rare situations a binary search for a tag would fail, because an
  2736. uninitialized value happens to be half the size of the tag file. (Narendran)
  2737.  
  2738. When using BufEnter and BufLeave autocommands to enable/disable a menu, it
  2739. wasn't updated right away.
  2740.  
  2741. When doing a replace with the "c"onfirm flag, the cursor was positioned after
  2742. the ruler, instead of after the question.  With a long replacement string the
  2743. screen could scroll up and cause a "more" prompt.  Now the message is
  2744. truncated to make it fit.
  2745.  
  2746. Motif: The autoconf check for the Xp library didn't work.
  2747.  
  2748. When 'verbose' is set to list lines of a sourced file, defining a function
  2749. would reset the counter used for the "more" prompt.
  2750.  
  2751. In the Win32 find/replace dialog, a '/' character caused problems.  Escape it
  2752. with a backslash.
  2753.  
  2754. Starting a shell with ":sh" was different from starting a shell for CTRL-Z
  2755. when suspending doesn't work.  They now work the same way.
  2756.  
  2757. Jumping to a file mark while in a changed buffer gave a "mark not set" error.
  2758.  
  2759. ":execute histget("cmd")" causes an endless loop and crashed Vim.  Now catch
  2760. all commands that cause too much recursiveness.
  2761.  
  2762. Removed "Failed to open input method" error message, too many people got this
  2763. when they didn't want to use a XIM.
  2764.  
  2765. GUI: When compiled without the +windows feature, the scrollbar would start
  2766. below line one.
  2767.  
  2768. Removed the trick with redefining character class functions from regexp.c.
  2769.  
  2770. Win32 GUI: Find dialog gives focus back to main window, when typing a
  2771. character mouse pointer is blanked, it didn't reappear when moving it in the
  2772. dialog window. (Vince Negri)
  2773.  
  2774. When recording and typing a CTRL-C, no character was recorded.  When in Insert
  2775. mode or cancelling half a command, playing back the recorded sequence wouldn't
  2776. work.  Now record the CTRL-C.
  2777.  
  2778. When the GUI was started, mouse codes for DEC and netterm were still checked
  2779. for.
  2780.  
  2781. GUI: When scrolling and 'writedelay' is non-zero, the character under the
  2782. cursor was displayed in the wrong position (one line above/below with
  2783. CTRL-E/CTRL-Y).
  2784.  
  2785. A ":normal" command would reset the 'scrollbind' info.  Causes problems when
  2786. using a ":normal" command in an autocommand for opening a file.
  2787.  
  2788. Windows GUI: a point size with a dot, like "7.5", wasn't recognized. (Muraoka
  2789. Taro)
  2790.  
  2791. When 'scrollbind' wasn't set would still remember the current position,
  2792. wasting time.
  2793.  
  2794. GTK: Crash when 'shell' doesn't exist and doing":!ls".  Use _exit() instead of
  2795. exit() when the child couldn't execute the shell.
  2796.  
  2797. Multi-byte:
  2798. - GUI with double-byte encoding: a mouse click in left halve of double-wide
  2799.   character put the cursor in previous char.
  2800. - Using double-byte encoding and 'selection' is "exclusive": "vey" and "^Vey"
  2801.   included the character after the word.
  2802. - When using a double-byte encoding and there is a lead byte at the end of the
  2803.   line, the preceding line would be displayed.  "ga" also showed wrong info.
  2804. - "gf" didn't include multi-byte characters before the cursor properly.
  2805.   (Muraoka Taro)
  2806.  
  2807. GUI: The cursor was sometimes not removed when scrolling.  Changed the policy
  2808. from redrawing the cursor after each call to gui_write() to only update it at
  2809. the end of update_screen() or when setting the cursor position.  Also only
  2810. update the scrollbars at the end of update_screen(), that's the only place
  2811. where the window text may have been scrolled.
  2812.  
  2813. Formatting "/*<Tab>long text", produced "* <Tab>" in the next line.  Now
  2814. remove the space before the Tab.
  2815. Formatting "/*<Tab>  long text", produced "* <Tab> long text" in the next
  2816. line.  Now keep the space after the Tab.
  2817.  
  2818. In some places non-ASCII alphabetical characters were accepted, which could
  2819. cause problems.  For example, ":X" (X being such a character).
  2820.  
  2821. When a pattern matches the end of the line, the last character in the line was
  2822. highlighted for 'hlsearch'.  That looks wrong for "/\%3c".  Now highlight the
  2823. character just after the line.
  2824.  
  2825. Motif: If a dialog was closed by clicking on the "X" of the window frame Vim
  2826. would no longer respond.
  2827.  
  2828. When using CTRL-X or CTRL-A on a number with many leading zeros, Vim would
  2829. crash. (Matsumoto)
  2830.  
  2831. When 'insertmode' is set, the mapping in mswin.vim for CTRL-V didn't work in
  2832. Select mode.  Insert mode wasn't restarted after overwriting the text.
  2833. Now allow nesting Insert mode with insert and change commands.  CTRL-O
  2834. cwfoo<Esc> now also works.
  2835.  
  2836. Clicking with the right mouse button in another window started Visual mode,
  2837. but used the start position of the current window.  Caused ml_get errors when
  2838. the line number was invalid.  Now stay in the same window.
  2839.  
  2840. When 'selection' is "exclusive", "gv" sometimes selected one character fewer.
  2841.  
  2842. When 'comments' contains more than one start/middle/end triplet, the optional
  2843. flags could be mixed up.  Also didn't align the end with the middle part.
  2844.  
  2845. Double-right-click in Visual mode didn't update the shown mode.
  2846.  
  2847. When the Normal group has a font name, it was never used when starting up.
  2848. Now use it when 'guifont' and 'guifontset' are empty.
  2849. Setting a font name to a highlight group before the GUI was started didn't
  2850. work.
  2851.  
  2852. "make test" didn't use the name of the generated Vim executable.
  2853.  
  2854. 'cindent' problems:
  2855. - Aligned with an "else" inside a do-while loop for a line below that loop.
  2856.   (Meikel Brandmeyer)
  2857. - A line before a function would be indented even when terminated with a
  2858.   semicolon. (Meikel Brandmeyer)
  2859. - 'cindent' gave too much indent to a line after a "};" that ends an array
  2860.   init.
  2861. - Support declaration lines ending in "," and "\".  (Meikel Brandmeyer)
  2862. - A case statement inside a do-while loop was used for indenting a line after
  2863.   the do-while loop. (Meikel Brandmeyer)
  2864. - When skipping a string in a line with one double quote it could continue in
  2865.   the previous line. (Meikel Brandmeyer)
  2866.  
  2867. When 'list' is set, 'hlsearch' didn't highlight a match at the end of the
  2868. line.  Now highlight the '$'.
  2869.  
  2870. The Paste menu item in the menu bar, the popup menu and the toolbar were all
  2871. different.  Now made them all equal to how it was done in mswin.vim.
  2872.  
  2873. st_dev can be smaller than "unsigned".  The compiler may give an overflow
  2874. warning.  Added a configure check for dev_t.
  2875.  
  2876. Athena: closing a confirm() dialog killed Vim.
  2877.  
  2878. Various typos in the documentation. (Matt Dunford)
  2879.  
  2880. Python interface: The definition of _DEBUG could cause trouble, undefine it.
  2881. The error message for not being able to load the shared library wasn't
  2882. translated.  (Muraoka Taro)
  2883.  
  2884. Mac: (Dany St-Amant and Axel Kielhorn)
  2885. - Several fixes.
  2886. - Vim was eating 80% of the CPU time.
  2887. - The project os_mac.pbxproj didn't work,  Moved it to a subdirectory.
  2888. - Made the menu priority work for the menubar.
  2889. - Fixed a problem with dragging the scrollbar.
  2890. - Cleaned up the various #ifdefs.
  2891.  
  2892. Unix: When catching a deadly signal and we keep getting one use _exit() to
  2893. exit in a quick and dirty way.
  2894.  
  2895. Athena menu ordering didn't work correctly. (David Harrison)
  2896.  
  2897. A ":make" or ":grep" command with a long argument could cause a crash.
  2898.  
  2899. Doing ":new file" and using "Quit" for the ATTENTION dialog still opened a new
  2900. window.
  2901.  
  2902. GTK: When starting the GUI and there is an error in the .vimrc file, don't
  2903. present the wait-return prompt, since the message was given in the terminal.
  2904.  
  2905. When there was an error in a .vimrc file the terminal where gvim was started
  2906. could be cleared.  Set msg_row in main.c before writing any messages.
  2907.  
  2908. GTK and X11 GUI: When trying to read characters from the user (e.g. with
  2909. input()) before the Vim window was opened caused Vim to hang when it was
  2910. started from the desktop.
  2911.  
  2912. OS/390 uses 31 bit pointers.  That broke some computations with MAX_COL.
  2913. Reduce MAX_COL by one bit for OS/390. (Ralf Schandl)
  2914.  
  2915. When defining a function and it already exists, Vim didn't say it existed
  2916. until after typing it.  Now do this right away when typing it.
  2917.  
  2918. The message remembered for displaying later (keep_msg) was sometimes pointing
  2919. into a generic buffer, which might be changed by the time the message is
  2920. displayed.  Now make a copy of the message.
  2921.  
  2922. When using multi-byte characters in a menu and a trailing byte is a backslash,
  2923. the menu would not be created correctly.  (Muraoka Taro)
  2924. Using a multibyte character in the substitute string where a trail byte is a
  2925. backslash didn't work.  (Muraoka Taro)
  2926.  
  2927. When setting "t_Co" in a vimrc file, then setting it automatically from an
  2928. xterm termresponse and then setting it again manually caused a crash.
  2929.  
  2930. When getting the value of a string option that is not supported, the number
  2931. zero was returned.  This breaks a check like "&enc == "asdf".  Now an empty
  2932. string is returned for string options.
  2933.  
  2934. Crashed when starting the GTK GUI while using 'notitle' in the vimrc, setting
  2935. 'title' in the gvimrc and starting the GUI with ":gui".  Closed the connection
  2936. to the X server accidentally.
  2937.  
  2938. Had to hit return after selecting an entry for ":ts".
  2939.  
  2940. The message from ":cn" message was sometimes cleared.  Now display it after
  2941. redrawing if it doesn't cause a scroll (truncated when necessary).
  2942.  
  2943. hangulin.c didn't compile when the GUI was disabled.  Disable it when it won't
  2944. work.
  2945.  
  2946. When setting a termcap option like "t_CO", the value could be displayed as
  2947. being for a normal key with a modifier, like "<M-=>".
  2948.  
  2949. When expanding the argument list, entries which are a directory name did not
  2950. get included.  This stopped "vim c:/" from opening the file explorer.
  2951.  
  2952. ":syn match sd "^" nextgroup=asdf" skipped the first column and matched the
  2953. nextgroup in the second column.
  2954.  
  2955. GUI: When 'lazyredraw' is set, 'showmatch' didn't work.  Required flushing
  2956. the output.
  2957.  
  2958. Don't define the <NetMouse> termcode in an xterm, reduces the problem when
  2959. someone types <Esc> } in Insert mode.
  2960.  
  2961. Made slash_adjust() work correctly for multi-byte characters. (Yasuhiro
  2962. Matsumoto)
  2963. Using a filename in Big5 encoding for autocommands didn't work (backslash in
  2964. trailbyte).  (Yasuhiro Matsumoto)
  2965.  
  2966. DOS and Windows: Expanding *.vim also matched file.vimfoo.  Expand path like
  2967. Unix to avoid problems with Windows dir functions.  Merged the DOS and Win32
  2968. functions.
  2969.  
  2970. Win32: Gvimext could not edit more than a few files at once, the length of the
  2971. argument was fixed.
  2972.  
  2973. "ls -1 * | xargs vim" worked, but the input was in cooked mode.  Now switch to
  2974. raw mode when needed.  Use dup() to copy the stderr file descriptor to stdin
  2975. to make shell commands work.  No longer requires an external program to do
  2976. this.
  2977.  
  2978. When using ":filetype off", ftplugin and indent usage would be switched off at
  2979. the same time.  Don't do this, setting 'filetype' manually can still use them.
  2980.  
  2981. GUI: When writing a double-byte character, it could be split up in two calls
  2982. to gui_write(), which doesn't work.  Now flush before the output buffer
  2983. becomes full.
  2984.  
  2985. When 'laststatus' is set and 'cmdheight' is two or bigger, the intro message
  2986. would be written over the status line.
  2987. The ":intro" command didn't work when there wasn't enough room.
  2988.  
  2989. Configuring for Ruby failed with a recent version of Ruby. (Akinori Musha)
  2990.  
  2991. Athena: When deleting the directory in which Vim was started, using the file
  2992. browser made Vim exit.  Removed the use of XtAppError().
  2993.  
  2994. When using autoconf 2.50, UNIX was not defined.  Moved the comment for "#undef
  2995. UNIX" to a separate line.
  2996.  
  2997. Win32: Disabled _OnWindowPosChanging() to make maximize work better.
  2998.  
  2999. Win32: Compiling with VC 4.0 didn't work. (Walter Briscoe)
  3000.  
  3001. Athena:
  3002. - Finally fixed the problems with deleting a menu. (David Harrison)
  3003. - Athena: When closing the confirm() dialog, worked like OK was pressed,
  3004.   instead of Cancel.
  3005.  
  3006. The file explorer didn't work in compatible mode, because of line
  3007. continuation.
  3008.  
  3009. Didn't give an error message for ":digraph a".
  3010.  
  3011. When using Ex mode in the GUI and typing a special key, <BS> didn't delete it
  3012. correctly.  Now display '?' for a special key.
  3013.  
  3014. When an operator is pending, clicking in another window made it apply to that
  3015. window, even though the line numbers could be beyond the end of the buffer.
  3016.  
  3017. When a function call doesn't have a terminating ")" Vim could crash.
  3018.  
  3019. Perl interface: could crash on exit with perl 5.6.1. (Anduin Withers)
  3020.  
  3021. Using %P in 'errorformat' wasn't handled correctly. (Tomas Zellerin)
  3022.  
  3023. Using a syntax cluster that includes itself made Vim crash.
  3024.  
  3025. GUI: With 'ls' set to 2, dragging the status line all the way up, then making
  3026. the Vim window smaller: Could not the drag status line anymore.
  3027.  
  3028. "vim -c startinsert! file" placed cursor on last char of a line, instead of
  3029. after it.  A ":set" command in the buffer menu set w_set_curswant.  Now don't
  3030. do this when w_curswant is MAXCOL.
  3031.  
  3032. Win32: When the gvim window was maximized and selecting another font, the
  3033. window would no longer fill the screen.
  3034.  
  3035. The line with 'pastetoggle' in ":options" didn't show the right value when it
  3036. is a special key.  Hitting <CR> didn't work either.
  3037.  
  3038. Formatting text, resulting in a % landing in the first line, repeated the % in
  3039. the following lines, like it's the start of a comment.
  3040.  
  3041. GTK: When adding a toolbar item while gvim is already running, it wasn't
  3042. possible to use the tooltip.  Now it works by adding the tooltip first.
  3043.  
  3044. The output of "g CTRL-G" mentioned "Char" but it's actually bytes.
  3045.  
  3046. Searching for the end of a oneline region didn't work correctly when there is
  3047. an offset for the highlighting.
  3048.  
  3049. Syntax highlighting: When synchronizing on C-comments, //*/ was seen as the
  3050. start of a comment.
  3051.  
  3052. Win32: Without scrollbars present, the MS mouse scroll wheel didn't work.
  3053. Also handle the scrollbars when they are not visible.
  3054.  
  3055. Motif: When there is no right scrollbar, the bottom scrollbar would still
  3056. leave room for it.  (Marcin Dalecki)
  3057.  
  3058. When changing 'guicursor' and the value is invalid, some of the effects would
  3059. still take place.  Now first check for errors and only make the new value
  3060. effective when it's OK.
  3061.  
  3062. Using "A" In Visual block mode, appending to lines that don't extend into the
  3063. block, padding was wrong.
  3064.  
  3065. When pasting a block of text, a character that occupies more than one screen
  3066. column could be deleted and spaces inserted instead.  Now only do that with a
  3067. tab.
  3068.  
  3069. Fixed conversion of documentation to HTML using Perl. (Dan Sharp)
  3070.  
  3071. Give an error message when a menu name starts with a dot.
  3072.  
  3073. Avoid a hang when executing a shell from the GUI on HP-UX by pushing "ptem"
  3074. even when sys/ptem.h isn't present.
  3075.  
  3076. When creating the temp directory, make sure umask is 077, otherwise the
  3077. directory is not accessible when it was set to 0177.
  3078.  
  3079. Unix: When resizing the window and a redraw is a bit slow, could get a window
  3080. resize event while redrawing, resulting in a messed up window.  Any input
  3081. (e.g., a mouse click) would redraw.
  3082.  
  3083. The "%B" item in the status line became zero in Insert mode (that's normal)
  3084. for another than the current window.
  3085.  
  3086. The menu entries to convert to xxd and back didn't work in Insert mode.
  3087.  
  3088. When ":vglobal" didn't find a line where the pattern doesn't match, the error
  3089. message would be the wrong way around.
  3090.  
  3091. When ignoring a multi-line error message with "%-A", the continuation lines
  3092. would be used anyway. (Servatius Brandt)
  3093.  
  3094. "grx" on a double-wide character inserted "x", instead of replacing the
  3095. character with "x ".  "gR" on <xx> ('display' set the "uhex") didn't replace
  3096. at all.  When doing "gRxx" on a control character the first "x" would be
  3097. inserted, breaking the alignment.
  3098.  
  3099. Added "0)" to 'cinkeys', so that when typing a ) it is put in the same place
  3100. as where "==" would put it.
  3101.  
  3102. Win32: When maximized, adding/removing toolbar didn't resize the text area.
  3103.  
  3104. When using <C-RightMouse> a count was discarded.
  3105.  
  3106. When typing CTRL-V and <RightMouse> in the command line, would insert
  3107. <LeftMouse>.
  3108.  
  3109. Using "vis" or "vas" when 'selection' is exclusive didn't include the last
  3110. character.
  3111.  
  3112. When adding to an option like 'grepprg', leading space would be lost.  Don't
  3113. expand environment variables when there is no comma separating the items.
  3114.  
  3115. GUI: When using a bold-italic font, would still use the bold trick and
  3116. underlining.
  3117.  
  3118. Motif: The default button didn't work in dialogs, the first one was always
  3119. used.  Had to give input focus to the default button.
  3120.  
  3121. When using CTRL-T to jump within the same file, the '' mark wasn't set.
  3122.  
  3123. Undo wasn't Vi compatible when using the 'c' flag for ":s".  Now it undoes the
  3124. whole ":s" command instead of each confirmed replacement.
  3125.  
  3126. The Buffers menu, when torn-off, disappeared when being refreshed.  Add a
  3127. dummy item to avoid this.
  3128.  
  3129. Removed calling msg_start() in main(), it should not be needed.
  3130.  
  3131. vim_strpbrk() did not support multibyte characters. (Muraoka Taro)
  3132.  
  3133. The Amiga version didn't compile, the code was too big for relative jumps.
  3134. Moved a few files from ex_docmd.c to ex_cmds2.c
  3135.  
  3136. When evaluating the "= register resulted in the "= register being changed, Vim
  3137. would crash.
  3138.  
  3139. When doing ":view file" and it fails, the current buffer was made read-only.
  3140.  
  3141. Motif: For some people the separators in the toolbar disappeared when resizing
  3142. the Vim window. (Marcin Dalecki)
  3143.  
  3144. Win32 GUI: when setting 'lines' to a huge number, would not compute the
  3145. available space correctly.  Was counting the menu height twice.
  3146.  
  3147. Conversion of the docs to HTML didn't handle the line with the +quickfix tag
  3148. correctly. (Antonio Colombo)
  3149.  
  3150. Win32: fname_case() didn't handle multi-byte characters correctly. (Yasuhiro
  3151. Matsumoto)
  3152.  
  3153. The Cygwin version had trouble with fchdir().  Don't use that function for
  3154. Cygwin.
  3155.  
  3156. The generic check in scripts.vim for "conf" syntax was done before some checks
  3157. in filetype.vim, resulting in "conf" syntax too often.
  3158.  
  3159. Dos32: Typing lagged behind.  Would wait for one biostick when checking if a
  3160. character is available.
  3161.  
  3162. GTK: When setting 'columns' while starting up "gvim", would set the width of
  3163. the terminal it was started in.
  3164.  
  3165. When using ESC in Insert mode, an autoindent that wraps to the next line
  3166. caused the cursor to move to the end of the line temporarily.  When the
  3167. character before the cursor was a double-wide multi-byte character the cursor
  3168. would be on the right halve, which causes problems with some terminals.
  3169.  
  3170. Didn't handle multi-byte characters correctly when expanding a file name.
  3171. (Yasuhiro Matsumoto)
  3172.  
  3173. Win32 GUI: Errors generated before the GUI is decided to start were not
  3174. reported.
  3175.  
  3176. globpath() didn't reserve enough room for concatenated results. (Anduin
  3177. Withers)
  3178.  
  3179. When expanding an option that is very long already, don't do the expansion, it
  3180. would be truncated to MAXPATHL. (Anduin Withers)
  3181.  
  3182. When 'selection' is "exclusive", using "Fx" in Visual mode only moved until
  3183. just after the character.
  3184.  
  3185. When using IME on the console to enter a file name, the screen may scroll up.
  3186. Redraw the screen then. (Yasuhiro Matsumoto)
  3187.  
  3188. Motif: In the find/replace dialog the "Replace" button didn't work first time,
  3189. second time it replaced all matches.  Removed the use of ":s///c".
  3190. GTK: Similar problems with the find/replace dialog, moved the code to a common
  3191. function.
  3192.  
  3193. X11: Use shared GC's for text. (Marcin Dalecki)
  3194.  
  3195. "]i" found the match under the cursor, instead of the first one below it.
  3196. Same for "]I", "] CTRL-I", "]d", "]D" and "] CTRL-D".
  3197.  
  3198. Win16: When maximized and the font is changed, don't change the window size.
  3199. (Vince Negri)
  3200.  
  3201. When 'lbr' is set, deleting a block of text could leave the cursor in the
  3202. wrong position.
  3203.  
  3204. Win32: When opening a file with the "Edit with Vim" popup menu entry,
  3205. wildcards would cause trouble.  Added the "--literal" argument to avoid
  3206. expanding file names.
  3207.  
  3208. When using "gv", it didn't restore that "$" was used in Visual block mode.
  3209.  
  3210. Win32 GUI: While waiting for a shell command to finish, the window wasn't
  3211. redrawn at all. (Yasuhiro Matsumoto)
  3212.  
  3213. Syntax highlighting: A match that continues on a next line because of a
  3214. contained region didn't end when that region ended.
  3215.  
  3216. The ":s" command didn't allow flags like 'e' and 'i' right after it.
  3217.  
  3218. When using ":s" to split a line, marks were moved to the next line.  Vi keeps
  3219. them in the first line.
  3220.  
  3221. When using ":n" ":rew", the previous context mark was at the top of the file,
  3222. while Vi puts it in the same place as the cursor.  Made it Vi compatible.
  3223.  
  3224. Fixed Vi incompatibility: Text was not put in register 1 when using "c" and
  3225. "d" with a motion character, when deleting within one line with one of the
  3226. commands: % ( ) `<character> / ? N n { }
  3227.  
  3228. Win32 GUI: The tooltip for tear-off items remained when the tear-off item was
  3229. no longer selected.
  3230.  
  3231. GUI: When typing ":" at the more prompt, would return to Normal mode and not
  3232. redraw the screen.
  3233.  
  3234. When starting Vim with an argument "-c g/at/p" the printed lines would
  3235. overwrite each other.
  3236.  
  3237. BeOS: Didn't compile.  Configure didn't add the os_beos files, the QNX check
  3238. removed them.  Various changes to os_beos.cc. (Joshua Haberman)
  3239. Removed the check for the hardware platform, the BeBox has not been produced
  3240. for a long time now.
  3241.  
  3242. Win32 GUI: don't use a message box when the shell returns an error code,
  3243. display the message in the Vim window.
  3244.  
  3245. Make_mvc.mak always included "/debug" for linking.  "GUI=no" argument didn't
  3246. work.  Use "DEBUG=yes" instead of "DEBUG=1" to make it consistent. (Dan Sharp)
  3247.  
  3248. When a line in the tags file ended in ;" (no TAB following) the command would
  3249. not be recognized as a search command.
  3250.  
  3251. X11: The inputMethod resource never worked.  Don't use the "none" input method
  3252. for SGI, it apparently makes the first character in Input method dropped.
  3253.  
  3254. Fixed incorrect tests in os_mac.h. (Axel Kielhorn)
  3255.  
  3256. Win32 console: When the console where Vim runs in is closed, Vim could hang in
  3257. trying to restore the window icon. (Yasuhiro Matsumoto)
  3258.  
  3259. When using ":3call func()" or ":3,3call func() the line number was ignored.
  3260.  
  3261. When 'showbreak' and 'linebreak' were both set, Visual highlighting sometimes
  3262. continued until the end of the line.
  3263.  
  3264. GTK GUI: Tearoff items were added even when 'guioptions' didn't contain 't'
  3265. when starting up.
  3266.  
  3267. MS-Windows: When the current directory includes a "~", searching files with
  3268. "gf" or ":find" didn't work.  A "$" in the directory had the same problem.
  3269. Added mch_has_exp_wildcard() functions.
  3270.  
  3271. When reducing the Vim window height while starting up, would get an
  3272. out-of-memory error message.
  3273.  
  3274. When editing a very long search pattern, 'incsearch' caused the redraw of the
  3275. command line to fail.
  3276.  
  3277. Motif GUI: On some systems the "Help" menu would not be on the far right, as
  3278. it should be.  On some other systems (esp. IRIX) the command line would not
  3279. completely show.  Solution is to only resize the menubar for Lesstif.
  3280.  
  3281. Using "%" in a line that contains "\\" twice didn't take care of the quotes
  3282. properly.  Now make a difference between \" and \\".
  3283.  
  3284. For non-Unix systems a dummy file is created when finding a swap name to
  3285. detect a 8.3 filesystem.  When there is an existing swap file, would get a
  3286. warning for the file being created outside of Vim.  Also, when closing the Vim
  3287. window the file would remain.
  3288.  
  3289. Motif: The menu height was always computed, using a "-menuheight" argument
  3290. was setting the room for the command line.  Now make clear the argument is not
  3291. supported.
  3292.  
  3293. For some (EBCDIC) systems, POUND was equal to '#'.  Added an #if for that to
  3294. avoid a duplicate case in a switch.
  3295.  
  3296. The GUI may have problems when forking.  Always call _exit() instead of exit()
  3297. in the parent, the child will call exit().
  3298.  
  3299. Win32 GUI: Accented characters were often wrong in dialogs and tearoff menus.
  3300. Now use CP_ACP instead of CP_OEMCP. (Vince Negri)
  3301.  
  3302. When displaying text with syntax highlighting causes an error (e.g., running
  3303. out of stack) the syntax highlighting is disabled to avoid further messages.
  3304.  
  3305. When a command in a .vimrc or .gvimrc causes an ATTENTION prompt, and Vim was
  3306. started from the desktop (no place to display messages) it would hang.  Now
  3307. open the GUI window early to be able to display the messages and pop up the
  3308. dialog.
  3309.  
  3310. "r<CR>" on a multi-byte character deleted only the first byte of the
  3311. character.  "3r<CR>" deleted three bytes instead of three characters.
  3312.  
  3313. When interrupting reading a file, Vi considers the buffer modified.  Added the
  3314. 'i' flag in 'cpoptions' flag for this (we don't want it modified to be able to
  3315. do ":q").
  3316.  
  3317. When using an item in 'guicursor' that starts with a colon, Vim would get
  3318. stuck or crash.
  3319.  
  3320. When putting a file mark in a help file and later jumping back to it, the
  3321. options would not be set.  Extended the modeline in all help files to make
  3322. this work better.
  3323.  
  3324. When a modeline contained "::" the local option values would be printed.  Now
  3325. ignore it.
  3326.  
  3327. Some help files did not use a 8.3 names, which causes problems when using
  3328. MS-DOS unzip.  Renamed "multibyte.txt" to "mbyte.txt", "rightleft.txt" to
  3329. "rileft.txt", "tagsearch.txt" to "tagsrch.txt", "os_riscos.txt" to
  3330. "os_risc.txt".
  3331.  
  3332. When Visual mode is blockwise, using "iw" or "aw" made it characterwise.  That
  3333. doesn't seem right, only do this when in linewise mode.  But then do it
  3334. always, not only when start and end of Visual mode are equal.
  3335.  
  3336. When using "viw" on a single-letter word and 'selection' is exclusive, would
  3337. not include the word.
  3338.  
  3339. When formatting text from Insert mode, using CTRL-O, could mess up undo
  3340. information.
  3341.  
  3342. While writing a file (also for the backup file) there was no check for an
  3343. interrupt (hitting CTRL-C).  Vim could hang when writing a large file over a
  3344. slow network, and moving the mouse didn't make it appear (when 'mousehide' is
  3345. set) and the screen wasn't updated in the GUI.  Also allow interrupting when
  3346. syncing the swap file, it can take a long time.
  3347.  
  3348. When using ":mksession" while there is help window, it would later be restored
  3349. to the right file but not marked as a help buffer.  ":help" would then open
  3350. another window.  Now use the value "help" for 'buftype' to mark a help buffer.
  3351.  
  3352. The session file contained absolute path names in option values, that doesn't
  3353. work when the home directory depends on the situation.  Replace the home
  3354. directory with ~/ when possible.
  3355.  
  3356. When using 'showbreak' a TAB just after the shown break would not be counted
  3357. correctly, the cursor would be positioned wrong.
  3358.  
  3359. With 'showbreak' set to "--->" or "------->" and 'sts' set to 4, inserting
  3360. tabs did not work right.  Could cause a crash.  Backspacing was also wrong,
  3361. could get stuck at a line break.
  3362.  
  3363. Win32: crashed when tearing off a menu with over 300 items.
  3364.  
  3365. GUI: A menu or toolbar item would appear when only a tooltip was defined for
  3366. it.
  3367.  
  3368. When 'scrolloff' is non-zero and "$" is in 'cpoptions', using "s" while the
  3369. last line of the file is the first line on screen, the text wasn't displayed.
  3370.  
  3371. When running "autoconf", delete the configure cache to force starting cleanly
  3372. when configure is run again.
  3373.  
  3374. When changing the Normal colors for cterm, the value of 'background' was
  3375. changed even when the GUI was used.
  3376.  
  3377. The warning for a missing vimrun.exe was always given on startup, but some
  3378. people just editing a file don't need to be bothered by it.  Only show it when
  3379. vimrun would be used.
  3380.  
  3381. When using "%" in a multibyte text it could get confused by trailbytes that
  3382. match. (Muraoka Taro)
  3383.  
  3384. Termcap entry for RiscOS was wrong, using 7 and 8 in octal codes.
  3385.  
  3386. Athena: The title of a dialog window and the file selector window were not
  3387. set. (David Harrison)
  3388.  
  3389. The "htmlLink" highlight group specified colors, which gives problems when
  3390. using a color scheme.  Added the "Underlined" highlight group for this.
  3391.  
  3392. After using ":insert" or ":change" the '[ mark would be one line too low.
  3393.  
  3394. When looking for the file name after a match with 'include' one character was
  3395. skipped.  Same for 'define'.
  3396.  
  3397. Win32 and DJGPP: When editing a file with a short name in a directory, and
  3398. editing the same file but using the long name, would end up with two buffers
  3399. on the same file.
  3400.  
  3401. "gf" on a filename that starts with "../" only worked when the file being
  3402. edited is in the current directory.  An include file search didn't work
  3403. properly for files starting with "../" or ".".  Now search both relative to
  3404. the file and to the current directory.
  3405.  
  3406. When 'printheader', 'titlestring', 'iconstring', 'rulerformat' or 'statusline'
  3407. contained "%{" but no following "}" memory was corrupted and a crash could
  3408. happen.
  3409.  
  3410. ":0append" and then inserting two lines did not redraw the blank lines that
  3411. were scrolled back down.
  3412.  
  3413. When using insert mode completion in a narrow window, the message caused a
  3414. scroll up.  Now shorten the message if it doesn't fit and avoid writing the
  3415. ruler over the message.
  3416.  
  3417. XIM still didn't work correctly on some systems, especially SGI/IRIX.  Added
  3418. the 'imdisable' option, which is set by default for that system.
  3419.  
  3420. Patch 6.0aw.008
  3421. Problem:    When the first character of a file name is over 127, the Buffers
  3422.         menu entry would get a negative priority and cause problems.
  3423. Solution:   Reduce the multiplier for the first character when computing
  3424.         the hash value for a Buffers menu entry.
  3425. Files:        runtime/menu.vim
  3426.  
  3427. Patch 6.0aw.010
  3428. Problem:    Win32: ":browse edit dir/dir" didn't work. (Vikas)
  3429. Solution:   Change slashes to backslashes in the directory passed to the file
  3430.         browser.
  3431. Files:        src/gui_w48.c
  3432.  
  3433. Athena file browser: On some systems wcstombs() can't be used to get the
  3434. length of a multi-byte string.  Use the maximum length then. (Yasuhiro
  3435. Matsumoto)
  3436.  
  3437. Patch 6.0ax.001
  3438. Problem:    When 'patchmode' is set, appending to a file gives an empty
  3439.         original file. (Ed Ralston)
  3440. Solution:   Also make a backup copy when appending and 'patchmode' is set.
  3441. Files:        src/fileio.c
  3442.  
  3443. Patch 6.0ax.002
  3444. Problem:    When 'patchmode' is set, appending to a compressed file gives an
  3445.         uncompressed original file. (Ed Ralston)
  3446. Solution:   Create the original file before decompressing.
  3447. Files:        runtime/plugin/gzip.vim
  3448.  
  3449. Patch 6.0ax.005
  3450. Problem:    Athena file selector keeps the title of the first invocation.
  3451. Solution:   Set the title each time the file selector is opened. (David
  3452.         Harrison)
  3453. Files:        src/gui_at_fs.c
  3454.  
  3455. Patch 6.0ax.007
  3456. Problem:    When using GPM (mouse driver in a Linux console) a double click is
  3457.         interpreted as a scroll wheel click.
  3458. Solution:   Check if GPM is being used when deciding if a mouse event is for
  3459.         the scroll wheel.
  3460. Files:        src/term.c
  3461.  
  3462. Patch 6.0ax.010
  3463. Problem:    The Edit.Save menu and the Save toolbar button didn't work when
  3464.         the buffer has no file name.
  3465. Solution:   Use a file browser to ask for a file name.  Also fix the toolbar
  3466.         Find item in Visual mode.
  3467. Files:        runtime/menu.vim
  3468.  
  3469. Patch 6.0ax.012
  3470. Problem:    When 'cpoptions' contains "$", breaking a line for 'textwidth'
  3471.         doesn't redraw properly. (Stefan Schulze)
  3472. Solution:   Remove the dollar before breaking the line.
  3473. Files:        src/edit.c
  3474.  
  3475. Patch 6.0ax.014
  3476. Problem:    Win32: On Windows 98 ":make -f file" doesn't work when 'shell' is
  3477.         "command.com" and 'makeprg' is "nmake".  The environment isn't
  3478.         passed on to "nmake".
  3479. Solution:   Also use vimrun.exe when redirecting the output of a command.
  3480. Files:        src/os_win32.c
  3481.  
  3482. Patch 6.0ax.016
  3483. Problem:    The version number was reported wrong in the intro screen.
  3484. Solution:   Check for a version number with two additional letters.
  3485. Files:        src/version.c
  3486.  
  3487. Patch 6.0ax.019
  3488. Problem:    When scrolling a window with folds upwards, switching to another
  3489.         vertically split window and back may not update the scrollbar.
  3490. Solution:   Limit w_botline to the number of lines in the buffer plus one.
  3491. Files:        src/move.c
  3492.  
  3493.  
  3494. ==============================================================================
  3495. VERSION 6.1                        *version-6.1*
  3496.  
  3497. This section is about improvements made between version 6.0 and 6.1.
  3498.  
  3499. This is a bug-fix release, there are not really any new features.
  3500.  
  3501.  
  3502. Changed                            *changed-6.1*
  3503. -------
  3504.  
  3505. 'iminsert' and 'imsearch' are no longer set as a side effect of defining a
  3506. language-mapping using ":lmap".
  3507.  
  3508.  
  3509. Added                            *added-6.1*
  3510. -----
  3511.  
  3512. Syntax files:
  3513. ampl        AMPL (David Krief)
  3514. ant        Ant (Johannes Zellner)
  3515. baan        Baan (Her van de Vliert)
  3516. cs        C# (Johannes Zellner)
  3517. lifelines    Lifelines (Patrick Texier)
  3518. lscript        LotusScript (Taryn East)
  3519. moo        MOO (Timo Frenay)
  3520. nsis        NSIS (Alex Jakushev)
  3521. ppd        Postscript Printer Description (Bjoern Jacke)
  3522. rpl        RPL/2 (Joel Bertrand)
  3523. scilab        Scilab (Benoit Hamelin)
  3524. splint        Splint (Ralf Wildenhues)
  3525. sqlj        SQLJ (Andreas Fischbach)
  3526. wvdial        WvDial (Prahlad Vaidyanathan)
  3527. xf86conf    XFree86 config (Nikolai Weibull)
  3528. xmodmap        Xmodmap (Nikolai Weibull)
  3529. xslt        Xslt (Johannes Zellner)
  3530. monk        Monk (Mike Litherland)
  3531. xsd        Xsd (Johannes Zellner)
  3532. cdl        CDL (Raul Segura Acevedo)
  3533. sendpr        Send-pr (Hendrik Scholz)
  3534.  
  3535. Added indent file for Scheme. (Dorai Sitaram)
  3536. Added indent file for Prolog. (Kontra Gergely)
  3537. Added indent file for Povray (David Necas)
  3538. Added indent file for IDL (Aleksandar Jelenak)
  3539. Added C# indent and ftplugin scripts.
  3540.  
  3541. Added Ukrainian menu translations. (Bohdan Vlasyuk)
  3542. Added ASCII version of the Czech menus. (Jiri Brezina)
  3543.  
  3544. Added Simplified Chinese translation of the tutor. (Mendel L Chan)
  3545.  
  3546. Added Russian keymap for yawerty keyboard.
  3547.  
  3548. Added an explanation of using the vimrc file in the tutor.
  3549. Changed tutor.vim to get the right encoding for the Taiwainese tutor.
  3550.  
  3551. Added Russian tutor. (Andrey Kiselev)
  3552. Added Polish tutor. (Mikolaj Machowski)
  3553.  
  3554. Added darkblue color scheme. (Bohdan Vlasyuk)
  3555.  
  3556. When packing the dos language archive automatically generate the .mo files
  3557. that are required.
  3558.  
  3559. Improved NSIS script to support NSIS 180.  Added icons for the
  3560. enabled/disabled status. (Mirek Pruchnik)
  3561.  
  3562. cp1250 version of the Slovak message translations.
  3563.  
  3564. Compiler plugins for IRIX compilers. (David Harrison)
  3565.  
  3566.  
  3567. Fixed                            *fixed-6.1*
  3568. -----
  3569.  
  3570. The license text was updated to make the meaning clearer and make it
  3571. compatible with the GNU GPL.  Otherwise distributors have a problem when
  3572. linking Vim with a GPL'ed library.
  3573.  
  3574. When installing the "less.sh" script it was not made executable. (Chuck Berg)
  3575.  
  3576. Win32: The "9" key on the numpad wasn't working. (Julian Kinraid)
  3577.  
  3578. The NSIS install script didn't work with NSIS 1.80 or later.  Also add
  3579. Vim-specific icons. (Pruchnik)
  3580.  
  3581. The script for conversion to HTML contained an "if" in the wrong place.
  3582. (Michael Geddes)
  3583.  
  3584. Allow using ":ascii" in the sandbox, it's harmless.
  3585.  
  3586. Removed creat() from osdef2.h.in, it wasn't used and may cause a problem when
  3587. it's redefined to creat64().
  3588.  
  3589. The text files in the VisVim directory were in "dos" format.  This caused
  3590. problems when applying a patch.  Now keep them in "unix" format and convert
  3591. them to "dos" format only for the PC archives.
  3592.  
  3593. Add ruby files to the dos source archive, they can be used by Make_mvc.mak.
  3594. (Mirek Pruchnik)
  3595.  
  3596. "cp -f" doesn't work on all systems.  Change "cp -f" in the Makefile to "rm
  3597. -f" and "cp".
  3598.  
  3599. Didn't compile on a Compaq Tandem Himalaya OSS. (Michael A. Benzinger)
  3600.  
  3601. The GTK file selection dialog didn't include the "Create Dir", "Delete File"
  3602. and "Rename File" buttons.
  3603.  
  3604. When doing ":browse source" the dialog has the title "Run Macro".  Better
  3605. would be "Source Vim script". (Yegappan Lakshmanan)
  3606.  
  3607. Win32: Don't use the printer font as default for the font dialog.
  3608.  
  3609. "make doslang" didn't work when configure didn't run (yet).  Set $MAKEMO to
  3610. "yes". (Mirek Pruchnik)
  3611.  
  3612. The ToolBar TagJump item used "g]", which prompts for a selection even when
  3613. there is only one matching tag.  Use "g<C-]>" instead.
  3614.  
  3615. The ming makefile for message translations didn't have the right list of
  3616. files.
  3617.  
  3618. The MS-Windows 3.1 version complains about LIBINTL.DLL not found.  Compile
  3619. this version without message translations.
  3620.  
  3621. The Borland 5 makefile contained a check for Ruby which is no longer needed.
  3622. The URLs for the TCL library was outdated. (Dan Sharp)
  3623.  
  3624. The eviso.ps file was missing from the DOS runtime archive, it's needed for
  3625. printing PostScript in the 32bit DOS version.
  3626.  
  3627. In menu files ":scriptencoding" was used in a wrong way after patch 6.1a.032
  3628. Now use ":scriptencoding" in the file where the translations are given.  Do
  3629. the same for all menus in latin1 encoding.
  3630.  
  3631. Included a lot of fixes for the Macintosh, mostly to make it work with Carbon.
  3632. (Dany StAmant, Axel Kielhorn, Benji Fisher)
  3633.  
  3634. Improved the vimtutor shell script to use $TMPDIR when it exists, and delete
  3635. the copied file when exiting in an abnormal way. (Max Ischenko)
  3636.  
  3637. When "iconv.dll" can't be found, try using "libiconv.dll".
  3638.  
  3639. When encryption is used, filtering with a shell command wasn't possible.
  3640.  
  3641. DJGPP: ":cd c:" always failed, can't get permissions for "c:".
  3642. Win32: ":cd c:/" failed if the previous current directory on c: had become
  3643. invalid.
  3644.  
  3645. DJGPP: Shift-Del and Del both produce \316\123.  Default mapping for Del is
  3646. wrong.  Disabled it.
  3647.  
  3648. Dependencies on header files in MingW makefile was wrong.
  3649.  
  3650. Win32: Don't use ACL stuff for MSVC 4.2, it's not supported. (Walter Briscoe)
  3651.  
  3652. Win32 with Borland: bcc.cfg was caching the value for $(BOR), but providing a
  3653. different argument to make didn't regenerate it.
  3654.  
  3655. Win32 with MSVC: Make_ivc.mak generates a new if_ole.h in a different
  3656. directory, the if_ole.h in the src directory may be used instead.  Delete the
  3657. distributed file.
  3658.  
  3659. When a window is vertically split and then ":ball" is used, the window layout
  3660. is messed up, can cause a crash. (Muraoka Taro)
  3661.  
  3662. When 'insertmode' is set, using File/New menu and then double clicking, "i" is
  3663. soon inserted. (Merlin Hansen)
  3664.  
  3665. When Select mode is active and using the Buffers menu to switch to another
  3666. buffer, an old selection comes back.  Reset VIsual_reselect for a ":buffer"
  3667. command.
  3668.  
  3669. When Select mode is active and 'insertmode' is set, using the Buffers menu to
  3670. switch to another buffer, did not return to Insert mode.  Make sure
  3671. "restart_edit" is set.
  3672.  
  3673. When double clicking on the first character of a word while 'selection' is
  3674. "exclusive" didn't select that word.
  3675.  
  3676.  
  3677. Patch 6.0.001
  3678. Problem:    Loading the sh.vim syntax file causes error messages. (Corinna
  3679.         Vinschen)
  3680. Solution:   Add an "if". (Charles Campbell)
  3681. Files:        runtime/syntax/sh.vim
  3682.  
  3683. Patch 6.0.002
  3684. Problem:    Using a '@' item in 'viminfo' doesn't work. (Marko Leipert)
  3685. Solution:   Add '@' to the list of accepted items.
  3686. Files:        src/option.c
  3687.  
  3688. Patch 6.0.003
  3689. Problem:    The configure check for ACLs on AIX doesn't work.
  3690. Solution:   Fix the test program so that it compiles. (Tomas Ogren)
  3691. Files:        src/configure.in, src/auto/configure
  3692.  
  3693. Patch 6.0.004
  3694. Problem:    The find/replace dialog doesn't reuse a previous argument
  3695.         properly.
  3696. Solution:   After removing a "\V" terminate the string. (Zwane Mwaikambo)
  3697. Files:        src/gui.c
  3698.  
  3699. Patch 6.0.005
  3700. Problem:    In Insert mode, "CTRL-O :ls" has a delay before redrawing.
  3701. Solution:   Don't delay just after wait_return() was called.  Added the
  3702.         did_wait_return flag.
  3703. Files:        src/globals.h, src/message.c, src/normal.c, src/screen.c
  3704.  
  3705. Patch 6.0.006
  3706. Problem:    With a vertical split, 'number' set and 'scrolloff' non-zero,
  3707.         making the window width very small causes a crash. (Niklas
  3708.         Lindstrom)
  3709. Solution:   Check for a zero width.
  3710. Files:        src/move.c
  3711.  
  3712. Patch 6.0.007
  3713. Problem:    When setting 'filetype' while there is no FileType autocommand, a
  3714.         following ":setfiletype" would set 'filetype' again. (Kobus
  3715.         Retief)
  3716. Solution:   Set did_filetype always when 'filetype' has been set.
  3717. Files:        src/option.c
  3718.  
  3719. Patch 6.0.008
  3720. Problem:    'imdisable' is missing from the options window. (Michael Naumann)
  3721. Solution:   Add an entry for it.
  3722. Files:        runtime/optwin.vim
  3723.  
  3724. Patch 6.0.009
  3725. Problem:    Nextstep doesn't have S_ISBLK. (John Beppu)
  3726. Solution:   Define S_ISBLK using S_IFBLK.
  3727. Files:        src/os_unix.h
  3728.  
  3729. Patch 6.0.010
  3730. Problem:    Using "gf" on a file name starting with "./" or "../" in a buffer
  3731.         without a name causes a crash. (Roy Lewis)
  3732. Solution:   Check for a NULL file name.
  3733. Files:        src/misc2.c
  3734.  
  3735. Patch 6.0.011
  3736. Problem:    Python: After replacing or deleting lines get an ml_get error.
  3737.         (Leo Lipelis)
  3738. Solution:   Adjust the cursor position for deleted or added lines.
  3739. Files:        src/if_python.c
  3740.  
  3741. Patch 6.0.012
  3742. Problem:    Polish translations contain printf format errors, this can result
  3743.         in a crash when using one of them.
  3744. Solution:   Fix for translated messages. (Michal Politowski)
  3745. Files:        src/po/pl.po
  3746.  
  3747. Patch 6.0.013
  3748. Problem:    Using ":silent! cmd" still gives some error messages, like for an
  3749.         invalid range. (Salman Halim)
  3750. Solution:   Reset emsg_silent after calling emsg() in do_one_cmd().
  3751. Files:        src/ex_docmd.c
  3752.  
  3753. Patch 6.0.014
  3754. Problem:    When 'modifiable' is off and 'virtualedit' is "all", "rx" on a TAB
  3755.         still changes the buffer. (Muraoka Taro)
  3756. Solution:   Check if saving the line for undo fails.
  3757. Files:        src/normal.c
  3758.  
  3759. Patch 6.0.015
  3760. Problem:    When 'cpoptions' includes "S" and "filetype plugin on" has been
  3761.         used, can get an error for deleting the b:did_ftplugin variable.
  3762.         (Ralph Henderson)
  3763. Solution:   Only delete the variable when it exists.
  3764. Files:        runtime/ftplugin.vim
  3765.  
  3766. Patch 6.0.016
  3767. Problem:    bufnr(), bufname() and bufwinnr() don't find unlisted buffers when
  3768.         the argument is a string. (Hari Krishna Dara)
  3769.         Also for setbufvar() and getbufvar().
  3770. Solution:   Also find unlisted buffers.
  3771. Files:        src/eval.c
  3772.  
  3773. Patch 6.0.017
  3774. Problem:    When 'ttybuiltin' is set and a builtin termcap entry defines t_Co
  3775.         and the external one doesn't, it gets reset to empty. (David
  3776.         Harrison)
  3777. Solution:   Only set t_Co when it wasn't set yet.
  3778. Files:        src/term.c
  3779.  
  3780. Patch 6.0.018
  3781. Problem:    Initializing 'encoding' may cause a crash when setlocale() is not
  3782.         used. (Dany St-Amant)
  3783. Solution:   Check for a NULL pointer.
  3784. Files:        src/mbyte.c
  3785.  
  3786. Patch 6.0.019
  3787. Problem:    Converting a string with multi-byte characters to a printable
  3788.         string, e.g., with strtrans(), may cause a crash. (Tomas Zellerin)
  3789. Solution:   Correctly compute the length of the result in transstr().
  3790. Files:        src/charset.c
  3791.  
  3792. Patch 6.0.020
  3793. Problem:    When obtaining the value of a global variable internally, could
  3794.         get the function-local value instead.  Applies to using <Leader>
  3795.         and <LocalLeader> and resetting highlighting in a function.
  3796. Solution:   Prepend "g:" to the variable name. (Aric Blumer)
  3797. Files:        src/syntax.c, src/term.c
  3798.  
  3799. Patch 6.0.021
  3800. Problem:    The 'cscopepathcomp' option didn't work.
  3801. Solution:   Change USE_CSCOPE to FEAT_CSCOPE. (Mark Feng)
  3802. Files:        src/option.c
  3803.  
  3804. Patch 6.0.022
  3805. Problem:    When using the 'langmap' option, the second character of a command
  3806.         starting with "g" isn't adjusted.
  3807. Solution:   Apply 'langmap' to the second character. (Alex Kapranoff)
  3808. Files:        src/normal.c
  3809.  
  3810. Patch 6.0.023
  3811. Problem:    Loading the lhaskell syntax doesn't work. (Thore B. Karlsen)
  3812. Solution:   Use ":runtime" instead of "source" to load haskell.vim.
  3813. Files:        runtime/syntax/lhaskell.vim
  3814.  
  3815. Patch 6.0.024
  3816. Problem:    Using "CTRL-V u 9900" in Insert mode may cause a crash. (Noah
  3817.         Levitt)
  3818. Solution:   Don't insert a NUL byte in the text, use a newline.
  3819. Files:        src/misc1.c
  3820.  
  3821. Patch 6.0.025
  3822. Problem:    The pattern "\vx(.|$)" doesn't match "x" at the end of a line.
  3823.         (Preben Peppe Guldberg)
  3824. Solution:   Always see a "$" as end-of-line after "\v".  Do the same for "^".
  3825. Files:        src/regexp.c
  3826.  
  3827. Patch 6.0.026
  3828. Problem:    GTK: When using arrow keys to navigate through the menus, the
  3829.         separators are selected.
  3830. Solution:   Set the separators "insensitive". (Pavel Kankovsky)
  3831. Files:        src/gui_gtk.c, src/gui_gtk_x11.c
  3832.  
  3833. Patch 6.0.027
  3834. Problem:    VMS: Printing doesn't work, the file is deleted too quickly.
  3835.         No longer need the VMS specific printing menu.
  3836.         gethostname() is not available with VAXC.
  3837.         The makefile was lacking selection of the tiny-huge feature set.
  3838. Solution:   Adjust the 'printexpr' option default.  Fix the other problems and
  3839.         update the documentation.  (Zoltan Arpadffy)
  3840. Files:        runtime/doc/os_vms.txt, runtime/menu.vim, src/INSTALLvms.txt,
  3841.         src/Make_vms.mms, src/option.c, src/os_unix.c, src/os_vms_conf.h
  3842.  
  3843. Patch 6.0.028
  3844. Problem:    Can't compile without +virtualedit and with +visualextra. (Geza
  3845.         Lakner)
  3846. Solution:   Add an #ifdef for +virtualedit.
  3847. Files:        src/ops.c
  3848.  
  3849. Patch 6.0.029
  3850. Problem:    When making a change in line 1, then in line 2 and then deleting
  3851.         line 1, undo info could be wrong.  Only when the changes are undone
  3852.         at once. (Gerhard Hochholzer)
  3853. Solution:   When not saving a line for undo because it was already done
  3854.         before, remember for which entry the last line must be computed.
  3855.         Added ue_getbot_entry pointer for this.  When the number of lines
  3856.         changes, adjust the position of newer undo entries.
  3857. Files:        src/structs.h, src/undo.c
  3858.  
  3859. Patch 6.0.030
  3860. Problem:    Using ":source! file" doesn't work inside a loop or after
  3861.         ":argdo". (Pavol Juhas)
  3862. Solution:   Execute the commands in the file right away, do not let the main
  3863.         loop do it.
  3864. Files:        src/ex_cmds2.c, src/ex_docmd.c, src/getchar.c, src/globals.h,
  3865.         src/proto/ex_docmd.pro, src/proto/getchar.pro
  3866.  
  3867. Patch 6.0.031
  3868. Problem:    Nextstep doesn't have setenv() or putenv().  (John Beppu)
  3869. Solution:   Move putenv() from pty.c to misc2.c
  3870. Files:        src/misc2.c, src/pty.c
  3871.  
  3872. Patch 6.0.032
  3873. Problem:    When changing a setting that affects all folds, they are not
  3874.         displayed immediately.
  3875. Solution:   Set the redraw flag in foldUpdateAll().
  3876. Files:        src/fold.c
  3877.  
  3878. Patch 6.0.033
  3879. Problem:    Using 'wildmenu' on MS-Windows, file names that include a space
  3880.         are only displayed starting with that space. (Xie Yuheng)
  3881. Solution:   Don't recognize a backslash before a space as a path separator.
  3882. Files:        src/screen.c
  3883.  
  3884. Patch 6.0.034
  3885. Problem:    Calling searchpair() with three arguments could result in a crash
  3886.         or strange error message. (Kalle Bjorklid)
  3887. Solution:   Don't use the fifth argument when there is no fourth argument.
  3888. Files:        src/eval.c
  3889.  
  3890. Patch 6.0.035
  3891. Problem:    The menu item Edit/Global_Settings/Toggle_Toolbar doesn't work
  3892.         when 'ignorecase' is set. (Allen Castaban)
  3893. Solution:   Always match case when checking if a flag is already present in
  3894.         'guioptions'.
  3895. Files:        runtime/menu.vim
  3896.  
  3897. Patch 6.0.036
  3898. Problem:    OS/2, MS-DOS and MS-Windows: Using a path that starts with a
  3899.         slash in 'tags' doesn't work as expected. (Mathias Koehrer)
  3900. Solution:   Only use the drive, not the whole path to the current directory.
  3901.         Also make it work for "c:dir/file".
  3902. Files:        src/misc2.c
  3903.  
  3904. Patch 6.0.037
  3905. Problem:    When the user has set "did_install_syntax_menu" to avoid the
  3906.         default Syntax menu it still appears. (Virgilio)
  3907. Solution:   Don't add the three default items when "did_install_syntax_menu"
  3908.         is set.
  3909. Files:        runtime/menu.vim
  3910.  
  3911. Patch 6.0.038
  3912. Problem:    When 'selection' is "exclusive", deleting a block of text at the
  3913.         end of a line can leave the cursor beyond the end of the line.
  3914. Solution:   Correct the cursor position.
  3915. Files:        src/ops.c
  3916.  
  3917. Patch 6.0.039
  3918. Problem:    "gP" leaves the cursor in the wrong position when 'virtualedit' is
  3919.         used.  Using "c" in blockwise Visual mode leaves the cursor in a
  3920.         strange position.
  3921. Solution:   For "gP" reset the "coladd" field for the '] mark.  For "c" leave
  3922.         the cursor on the last inserted character.
  3923. Files:        src/ops.c
  3924.  
  3925. Patch 6.0.040
  3926. Problem:    When 'fileencoding' is invalid and writing fails because of
  3927.         this, the original file is gone. (Eric Carlier)
  3928. Solution:   Restore the original file from the backup.
  3929. Files:        src/fileio.c
  3930.  
  3931. Patch 6.0.041
  3932. Problem:    Using ":language messages en" when LC_MESSAGES is undefined
  3933.         results in setting LC_CTYPE. (Eric Carlier)
  3934. Solution:   Set $LC_MESSAGES instead.
  3935. Files:        src/ex_cmds2.c
  3936.  
  3937. Patch 6.0.042
  3938. Problem:    ":mksession" can't handle file names with a space.
  3939. Solution:   Escape special characters in file names with a backslash.
  3940. Files:        src/ex_docmd.c
  3941.  
  3942. Patch 6.0.043
  3943. Problem:    Patch 6.0.041 was wrong.
  3944. Solution:   Use mch_getenv() instead of vim_getenv().
  3945. Files:        src/ex_cmds2.c
  3946.  
  3947. Patch 6.0.044
  3948. Problem:    Using a "containedin" list for a syntax item doesn't work for an
  3949.         item that doesn't have a "contains" argument.  Also, "containedin"
  3950.         doesn't ignore a transparent item. (Timo Frenay)
  3951. Solution:   When there is a "containedin" argument somewhere, always check for
  3952.         contained items.  Don't check for the transparent item but the
  3953.         item it's contained in.
  3954. Files:        src/structs.h, src/syntax.c
  3955.  
  3956. Patch 6.0.045
  3957. Problem:    After creating a fold with a Visual selection, another window
  3958.         with the same buffer still has inverted text. (Sami Salonen)
  3959. Solution:   Redraw the inverted text.
  3960. Files:        src/normal.c
  3961.  
  3962. Patch 6.0.046
  3963. Problem:    When getrlimit() returns an 8 byte number the check for running
  3964.         out of stack may fail. (Anthony Meijer)
  3965. Solution:   Skip the stack check if the limit doesn't fit in a long.
  3966. Files:        src/auto/configure, src/config.h.in, src/configure.in,
  3967.         src/os_unix.c
  3968.  
  3969. Patch 6.0.047
  3970. Problem:    Using a regexp with "\(\)" inside a "\%[]" item causes a crash.
  3971.         (Samuel Lacas)
  3972. Solution:   Don't allow nested atoms inside "\%[]".
  3973. Files:        src/regexp.c
  3974.  
  3975. Patch 6.0.048
  3976. Problem:    Win32: In the console the mouse doesn't always work correctly.
  3977.         Sometimes after getting focus a mouse movement is interpreted like
  3978.         a button click.
  3979. Solution:   Use a different function to obtain the number of mouse buttons.
  3980.         Avoid recognizing a button press from undefined bits. (Vince Negri)
  3981. Files:        src/os_win32.c
  3982.  
  3983. Patch 6.0.049
  3984. Problem:    When using evim the intro screen is misleading. (Adrian Nagle)
  3985. Solution:   Mention whether 'insertmode' is set and the menus to be used.
  3986. Files:        runtime/menu.vim, src/version.c
  3987.  
  3988. Patch 6.0.050
  3989. Problem:    UTF-8: "viw" doesn't include non-ASCII characters before the
  3990.         cursor. (Bertilo Wennergren)
  3991. Solution:   Use dec_cursor() instead of decrementing the column number.
  3992. Files:        src/search.c
  3993.  
  3994. Patch 6.0.051
  3995. Problem:    UTF-8: Using CTRL-R on the command line doesn't insert composing
  3996.         characters. (Ron Aaron)
  3997. Solution:   Also include the composing characters and fix redrawing them.
  3998. Files:        src/ex_getln.c, src/ops.c
  3999.  
  4000. Patch 6.0.052
  4001. Problem:    The check for rlim_t in patch 6.0.046 does not work on some
  4002.         systems. (Zdenek Sekera)
  4003. Solution:   Also look in sys/resource.h for rlim_t.
  4004. Files:        src/auto/configure, src/configure.in
  4005.  
  4006. Patch 6.0.053 (extra)
  4007. Problem:    Various problems with QNX.
  4008. Solution:   Minor fix for configure.  Switch on terminal clipboard support in
  4009.         main.c.  Fix "pterm" mouse support.  os_qnx.c didn't build without
  4010.         photon. (Julian Kinraid)
  4011. Files:        src/auto/configure, src/configure.in, src/gui_photon.c,
  4012.         src/main.c, src/misc2.c, src/option.h, src/os_qnx.c, src/os_qnx.h,
  4013.         src/syntax.c
  4014.  
  4015. Patch 6.0.054
  4016. Problem:    When using mswin.vim, CTRL-V pastes a block of text like it is
  4017.         normal text.  Using CTRL-V in blockwise Visual mode leaves "x"
  4018.         characters behind.
  4019. Solution:   Make CTRL-V work as it should.  Do the same for the Paste menu
  4020.         entries.
  4021. Files:        runtime/menu.vim, runtime/mswin.vim
  4022.  
  4023. Patch 6.0.055
  4024. Problem:    GTK: The selection isn't copied the first time.
  4025. Solution:   Own the selection at the right moment.
  4026. Files:        src/gui_gtk_x11.c
  4027.  
  4028. Patch 6.0.056
  4029. Problem:    Using "CTRL-O cw" in Insert mode results in a nested Insert mode.
  4030.         <Esc> doesn't leave Insert mode then.
  4031. Solution:   Only use nested Insert mode when 'insertmode' is set or when a
  4032.         mapping is used.
  4033. Files:        src/normal.c
  4034.  
  4035. Patch 6.0.057
  4036. Problem:    Using ":wincmd g}" in a function doesn't work.  (Gary Holloway)
  4037. Solution:   Execute the command directly, instead of putting it in the
  4038.         typeahead buffer.
  4039. Files:        src/normal.c, src/proto/normal.pro, src/window.c
  4040.  
  4041. Patch 6.0.058
  4042. Problem:    When a Cursorhold autocommand moved the cursor, the ruler wasn't
  4043.         updated. (Bohdan Vlasyuk)
  4044. Solution:   Update the ruler after executing the autocommands.
  4045. Files:        src/gui.c
  4046.  
  4047. Patch 6.0.059
  4048. Problem:    Highlighting for 'hlsearch' isn't visible in lines that are
  4049.         highlighted for diff highlighting.  (Gary Holloway)
  4050. Solution:   Let 'hlsearch' highlighting overrule diff highlighting.
  4051. Files:        src/screen.c
  4052.  
  4053. Patch 6.0.060
  4054. Problem:    Motif: When the tooltip is to be popped up, Vim crashes.
  4055.         (Gary Holloway)
  4056. Solution:   Check for a NULL return value from gui_motif_fontset2fontlist().
  4057. Files:        src/gui_beval.c
  4058.  
  4059. Patch 6.0.061
  4060. Problem:    The toolbar buttons to load and save a session do not correctly
  4061.         use v:this_session.
  4062. Solution:   Check for v:this_session to be empty instead of existing.
  4063. Files:        runtime/menu.vim
  4064.  
  4065. Patch 6.0.062
  4066. Problem:    Crash when 'verbose' is > 3 and using ":shell". (Yegappan
  4067.         Lakshmanan)
  4068. Solution:   Avoid giving a NULL pointer to printf().  Also output a newline
  4069.         and switch the cursor on.
  4070. Files:        src/misc2.c
  4071.  
  4072. Patch 6.0.063
  4073. Problem:    When 'cpoptions' includes "$", using "cw" to type a ')' on top of
  4074.         the "$" doesn't update syntax highlighting after it.
  4075. Solution:   Stop displaying the "$" when typing a ')' in its position.
  4076. Files:        src/search.c
  4077.  
  4078. Patch 6.0.064 (extra)
  4079. Problem:    The NSIS install script doesn't work with newer versions of NSIS.
  4080.         The diff feature doesn't work when there isn't a good diff.exe on
  4081.         the system.
  4082. Solution:   Replace the GetParentDir instruction by a user function.
  4083.         Fix a few cosmetic problems.  Use defined constants for the
  4084.         version number, so that it's defined in one place only.
  4085.         Only accept the install directory when it ends in "vim".
  4086.         (Eduardo Fernandez)
  4087.         Add a diff.exe and use it from the default _vimrc.
  4088. Files:        nsis/gvim.nsi, nsis/README.txt, src/dosinst.c
  4089.  
  4090. Patch 6.0.065
  4091. Problem:    When using ":normal" in 'indentexpr' it may use redo characters
  4092.         before its argument.  (Neil Bird)
  4093. Solution:   Save and restore the stuff buffer in ex_normal().
  4094. Files:        src/ex_docmd.c, src/getchar.c, src/globals.h, src/structs.h
  4095.  
  4096. Patch 6.0.066
  4097. Problem:    Sometimes undo for one command is split into two undo actions.
  4098.         (Halim Salman)
  4099. Solution:   Don't set the undo-synced flag when reusing a line that was
  4100.         already saved for undo.
  4101. Files:        src/undo.c
  4102.  
  4103. Patch 6.0.067
  4104. Problem:    if_xcmdsrv.c doesn't compile on systems where fd_set isn't defined
  4105.         in the usual header file (e.g., AIX). (Mark Waggoner)
  4106. Solution:   Include sys/select.h in if_xcmdsrv.c for systems that have it.
  4107. Files:        src/if_xcmdsrv.c
  4108.  
  4109. Patch 6.0.068
  4110. Problem:    When formatting a Visually selected area with "gq" and the number
  4111.         of lines increases the last line may not be redrawn correctly.
  4112.         (Yegappan Lakshmanan)
  4113. Solution:   Correct the area to be redrawn for inserted/deleted lines.
  4114. Files:        src/ops.c
  4115.  
  4116. Patch 6.0.069
  4117. Problem:    Using "K" on a word that includes a "!" causes a "No previous
  4118.         command" error, because the "!" is expanded. (Craig Jeffries)
  4119. Solution:   Put a backslash before the "!".
  4120. Files:        src/normal.c
  4121.  
  4122. Patch 6.0.070
  4123. Problem:    Win32: The error message for a failed dynamic linking of a Perl,
  4124.         Ruby, Tcl and Python library is unclear about what went wrong.
  4125. Solution:   Give the name of the library or function that could not be loaded.
  4126.         Also for the iconv and gettext libraries when 'verbose' is set.
  4127. Files:        src/eval.c, src/if_perl.xs, src/if_python.c, src/if_ruby.c,
  4128.         src/if_tcl.c, src/mbyte.c, src/os_win32.c, src/proto/if_perl.pro,
  4129.         src/proto/if_python.pro, src/proto/if_ruby.pro,
  4130.         src/proto/if_tcl.pro, src/proto/mbyte.pro
  4131.  
  4132. Patch 6.0.071
  4133. Problem:    The "iris-ansi" builtin termcap isn't very good.
  4134. Solution:   Fix the wrong entries. (David Harrison)
  4135. Files:        src/term.c
  4136.  
  4137. Patch 6.0.072
  4138. Problem:    When 'lazyredraw' is set, a mapping that stops Visual mode, moves
  4139.         the cursor and starts Visual mode again causes a redraw problem.
  4140.         (Brian Silverman)
  4141. Solution:   Redraw both the old and the new Visual area when necessary.
  4142. Files:        src/normal.c, src/screen.c
  4143.  
  4144. Patch 6.0.073 (extra)
  4145. Problem:    DJGPP: When using CTRL-Z to start a shell, the prompt is halfway
  4146.         the text. (Volker Kiefel)
  4147. Solution:   Position the system cursor before starting the shell.
  4148. Files:        src/os_msdos.c
  4149.  
  4150. Patch 6.0.074
  4151. Problem:    When using "&" in a substitute string a multi-byte character with
  4152.         a trailbyte 0x5c is not handled correctly.
  4153. Solution:   Recognize multi-byte characters inside the "&" part. (Muraoka Taro)
  4154. Files:        src/regexp.c
  4155.  
  4156. Patch 6.0.075
  4157. Problem:    When closing a horizontally split window while 'eadirection' is
  4158.         "hor" another horizontally split window is still resized. (Aron
  4159.         Griffis)
  4160. Solution:   Only resize windows in the same top frame as the window that is
  4161.         split or closed.
  4162. Files:        src/main.c, src/proto/window.pro, src/window.c
  4163.  
  4164. Patch 6.0.076
  4165. Problem:    Warning for wrong pointer type when compiling.
  4166. Solution:   Use char instead of char_u pointer.
  4167. Files:        src/version.c
  4168.  
  4169. Patch 6.0.077
  4170. Problem:    Patch 6.0.075 was incomplete.
  4171. Solution:   Fix another call to win_equal().
  4172. Files:        src/option.c
  4173.  
  4174. Patch 6.0.078
  4175. Problem:    Using "daw" at the end of a line on a single-character word didn't
  4176.         include the white space before it.  At the end of the file it
  4177.         didn't work at all.  (Gavin Sinclair)
  4178. Solution:   Include the white space before the word.
  4179. Files:        src/search.c
  4180.  
  4181. Patch 6.0.079
  4182. Problem:    When "W" is in 'cpoptions' and 'backupcopy' is "no" or "auto", can
  4183.         still overwrite a read-only file, because it's renamed. (Gary
  4184.         Holloway)
  4185. Solution:   Add a check for a read-only file before renaming the file to
  4186.         become the backup.
  4187. Files:        src/fileio.c
  4188.  
  4189. Patch 6.0.080
  4190. Problem:    When using a session file that has the same file in two windows,
  4191.         the fileinfo() call in do_ecmd() causes a scroll and a hit-enter
  4192.         prompt. (Robert Webb)
  4193. Solution:   Don't scroll this message when 'shortmess' contains 'O'.
  4194. Files:        src/ex_cmds.c
  4195.  
  4196. Patch 6.0.081
  4197. Problem:    After using ":saveas" the new buffer name is added to the Buffers
  4198.         menu with a wrong number. (Chauk-Mean Proum)
  4199. Solution:   Trigger BufFilePre and BufFilePost events for the renamed buffer
  4200.         and BufAdd for the old name (which is with a new buffer).
  4201. Files:        src/ex_cmds.c
  4202.  
  4203. Patch 6.0.082
  4204. Problem:    When swapping screens in an xterm and there is an (error) message
  4205.         from the vimrc script, the shell prompt is after the message.
  4206. Solution:   Output a newline when there was output on the alternate screen.
  4207.         Also when starting the GUI.
  4208. Files:        src/main.c
  4209.  
  4210. Patch 6.0.083
  4211. Problem:    GTK: When compiled without menu support the buttons in a dialog
  4212.         don't have any text. (Erik Edelmann)
  4213. Solution:   Add the text also when GTK_USE_ACCEL isn't defined.  And define
  4214.         GTK_USE_ACCEL also when not using menus.
  4215. Files:        src/gui_gtk.c
  4216.  
  4217. Patch 6.0.084
  4218. Problem:    UTF-8: a "r" command with an argument that is a keymap for a
  4219.         character with a composing character can't be repeated with ".".
  4220.         (Raphael Finkel)
  4221. Solution:   Add the composing characters to the redo buffer.
  4222. Files:        src/normal.c
  4223.  
  4224. Patch 6.0.085
  4225. Problem:    When 'mousefocus' is set, using "s" to go to Insert mode and then
  4226.         moving the mouse pointer to another window stops Insert mode,
  4227.         while this doesn't happen with "a" or "i". (Robert Webb)
  4228. Solution:   Reset finish_op before calling edit().
  4229. Files:        src/normal.c
  4230.  
  4231. Patch 6.0.086
  4232. Problem:    When using "gu" the message says "~ed".
  4233. Solution:   Make the message say "changed".
  4234. Files:        src/ops.c
  4235.  
  4236. Patch 6.0.087 (lang)
  4237. Problem:    Message translations are incorrect, which may cause a crash.
  4238.         (Peter Figura)
  4239.         The Turkish translations needed more work and the maintainer
  4240.         didn't have time.
  4241. Solution:   Fix order of printf arguments.  Remove %2$d constructs.
  4242.         Add "-v" to msgfmt to get a warning for wrong translations.
  4243.         Don't install the Turkish translations for now.
  4244.         Update a few more translations.
  4245. Files:        src/po/Makefile, src/po/af.po, src/po/cs.po, src/po/cs.cp1250.po,
  4246.         src/po/de.po, src/po/es.po, src/po/fr.po, src/po/it.po,
  4247.         src/po/ja.po, src/po/ja.sjis.po, src/po/ko.po, src/po/pl.po,
  4248.         src/po/sk.po, src/po/uk.po, src/po/zh_CN.UTF-8.po,
  4249.         src/po/zh_CN.cp936.po, src/po/zh_CN.po, src/po/zh_TW.po
  4250.  
  4251. Patch 6.0.088
  4252. Problem:    "." doesn't work after using "rx" in Visual mode.  (Charles
  4253.         Campbell)
  4254. Solution:   Also store the replacement character in the redo buffer.
  4255. Files:        src/normal.c
  4256.  
  4257. Patch 6.0.089
  4258. Problem:    In a C file, using "==" to align a line starting with "*  " after
  4259.         a line with "* -" indents one space too few.  (Piet Delport)
  4260. Solution:   Align with the previous line if the comment-start-string matches
  4261.         there.
  4262. Files:        src/misc1.c
  4263.  
  4264. Patch 6.0.090
  4265. Problem:    When a wrapping line does not fit in a window and 'scrolloff' is
  4266.         bigger than half the window height, moving the cursor left or
  4267.         right causes the screen to flash badly. (Lubomir Host)
  4268. Solution:   When there is not enough room to show 'scrolloff' screen lines and
  4269.         near the end of the line, show the end of the line.
  4270. Files:        src/move.c
  4271.  
  4272. Patch 6.0.091
  4273. Problem:    Using CTRL-O in Insert mode, while 'virtualedit' is "all" and the
  4274.         cursor is after the end-of-line, moves the cursor left. (Yegappan
  4275.         Lakshmanan)
  4276. Solution:   Keep the cursor in the same position.
  4277. Files:        src/edit.c
  4278.  
  4279. Patch 6.0.092
  4280. Problem:    The explorer plugin doesn't ignore case of 'suffixes' on
  4281.         MS-Windows. (Mike Williams)
  4282. Solution:   Match or ignore case as appropriate for the OS.
  4283. Files:        runtime/plugin/explorer.vim
  4284.  
  4285. Patch 6.0.093
  4286. Problem:    When the Tcl library couldn't be loaded dynamically, get an error
  4287.         message when closing a buffer or window. (Muraoka Taro)
  4288. Solution:   Only free structures if already using the Tcl interpreter.
  4289. Files:        src/if_tcl.c
  4290.  
  4291. Patch 6.0.094
  4292. Problem:    Athena: When clicking in the horizontal scrollbar Vim crashes.
  4293.         (Paul Ackersviller)
  4294. Solution:   Use the thumb size instead of the window pointer of the scrollbar
  4295.         (which is NULL). (David Harrison)
  4296.         Also avoid that scrolling goes the wrong way in a narrow window.
  4297. Files:        src/gui_athena.c
  4298.  
  4299. Patch 6.0.095
  4300. Problem:    Perl: Deleting lines may leave the cursor beyond the end of the
  4301.         file.
  4302. Solution:   Check the cursor position after deleting a line. (Serguei)
  4303. Files:        src/if_perl.xs
  4304.  
  4305. Patch 6.0.096
  4306. Problem:    When ":saveas fname" fails because the file already exists, the
  4307.         file name is changed anyway and a following ":w" will overwrite
  4308.         the file. (Eric Carlier)
  4309. Solution:   Don't change the file name if the file already exists.
  4310. Files:        src/ex_cmds.c
  4311.  
  4312. Patch 6.0.097
  4313. Problem:    Re-indenting in Insert mode with CTRL-F may cause a crash with a
  4314.         multi-byte encoding.
  4315. Solution:   Avoid using a character before the start of a line. (Sergey
  4316.         Vlasov)
  4317. Files:        src/edit.c
  4318.  
  4319. Patch 6.0.098
  4320. Problem:    GTK: When using Gnome the "Search" and "Search and Replace" dialog
  4321.         boxes are not translated.
  4322. Solution:   Define ENABLE_NLS before including gnome.h. (Eduardo Fernandez)
  4323. Files:        src/gui_gtk.c, src/gui_gtk_x11.c
  4324.  
  4325. Patch 6.0.099
  4326. Problem:    Cygwin: When running Vi compatible MS-DOS line endings cause
  4327.         trouble.
  4328. Solution:   Make the default for 'fileformats' "unix,dos" in Vi compatible
  4329.         mode.  (Michael Schaap)
  4330. Files:        src/option.h
  4331.  
  4332. Patch 6.0.100
  4333. Problem:    ":badd +0 test%file" causes a crash.
  4334. Solution:   Take into account that the "+0" is NUL terminated when allocating
  4335.         room for replacing the "%".
  4336. Files:        src/ex_docmd.c
  4337.  
  4338. Patch 6.0.101
  4339. Problem:    ":mksession" doesn't restore editing a file that has a '#' or '%'
  4340.         in its name.  (Wolfgang Blankenburg)
  4341. Solution:   Put a backslash before the '#' and '%'.
  4342. Files:        src/ex_docmd.c
  4343.  
  4344. Patch 6.0.102
  4345. Problem:    When changing folds the cursor may appear halfway a closed fold.
  4346.         (Nam SungHyun)
  4347. Solution:   Set w_cline_folded correctly. (Yasuhiro Matsumoto)
  4348. Files:        src/move.c
  4349.  
  4350. Patch 6.0.103
  4351. Problem:    When using 'scrollbind' a large value of 'scrolloff' will make the
  4352.         scroll binding stop near the end of the file. (Coen Engelbarts)
  4353. Solution:   Don't use 'scrolloff' when limiting the topline for scroll
  4354.         binding. (Dany StAmant)
  4355. Files:        src/normal.c
  4356.  
  4357. Patch 6.0.104
  4358. Problem:    Multi-byte: When '$' is in 'cpoptions', typing a double-wide
  4359.         character that overwrites the left halve of an old double-wide
  4360.         character causes a redraw problem and the cursor stops blinking.
  4361. Solution:   Clear the right half of the old character. (Yasuhiro Matsumoto)
  4362. Files:        src/edit.c, src/screen.c
  4363.  
  4364. Patch 6.0.105
  4365. Problem:    Multi-byte: In a window of one column wide, with syntax
  4366.         highlighting enabled a crash might happen.
  4367. Solution:   Skip getting the syntax attribute when the character doesn't fit
  4368.         anyway.  (Yasuhiro Matsumoto)
  4369. Files:        src/screen.c
  4370.  
  4371. Patch 6.0.106 (extra)
  4372. Problem:    Win32: When the printer font is wrong, there is no error message.
  4373. Solution:   Give an appropriate error message. (Yasuhiro Matsumoto)
  4374. Files:        src/os_mswin.c
  4375.  
  4376. Patch 6.0.107 (extra)
  4377. Problem:    VisVim: When editing another file, a modified file may be written
  4378.         unexpectedly and without warning.
  4379. Solution:   Split the window if a file was modified.
  4380. Files:        VisVim/Commands.cpp
  4381.  
  4382. Patch 6.0.108
  4383. Problem:    When using folding could try displaying line zero, resulting in an
  4384.         error for a NULL pointer.
  4385. Solution:   Stop decrementing w_topline when the first line of a window is in
  4386.         a closed fold.
  4387. Files:        src/window.c
  4388.  
  4389. Patch 6.0.109
  4390. Problem:    XIM: When the input method is enabled, repeating an insertion with
  4391.         "." disables it. (Marcel Svitalsky)
  4392. Solution:   Don't store the input method status when a command comes from the
  4393.         stuff buffer.
  4394. Files:        src/ui.c
  4395.  
  4396. Patch 6.0.110
  4397. Problem:    Using undo after executing "OxjAxkdd" from a register in
  4398.         an empty buffer gives an error message.  (Gerhard Hochholzer)
  4399. Solution:   Don't adjust the bottom line number of an undo block when it's
  4400.         zero.  Add a test for this problem.
  4401. Files:        src/undo.c, src/testdir/test20.in, src/testdir/test20.ok
  4402.  
  4403. Patch 6.0.111
  4404. Problem:    The virtcol() function doesn't take care of 'virtualedit'.
  4405. Solution:   Add the column offset when needed. (Yegappan Lakshmanan)
  4406. Files:        src/eval.c
  4407.  
  4408. Patch 6.0.112
  4409. Problem:    The explorer plugin doesn't sort directories with a space or
  4410.         special character after a directory with a shorter name.
  4411. Solution:   Ignore the trailing slash when comparing directory names.  (Mike
  4412.         Williams)
  4413. Files:        runtime/plugin/explorer.vim
  4414.  
  4415. Patch 6.0.113
  4416. Problem:    ":edit ~/fname" doesn't work if $HOME includes a space.  Also,
  4417.         expanding wildcards with the shell may fail. (John Daniel)
  4418. Solution:   Escape spaces with a backslash when needed.
  4419. Files:        src/ex_docmd.c, src/misc1.c, src/proto/misc1.pro, src/os_unix.c
  4420.  
  4421. Patch 6.0.114
  4422. Problem:    Using ":p" with fnamemodify() didn't expand "~/" or "~user/" to a
  4423.         full path.  For Win32 the current directory was prepended.
  4424.         (Michael Geddes)
  4425. Solution:   Expand the home directory.
  4426. Files:        src/eval.c
  4427.  
  4428. Patch 6.0.115 (extra)
  4429. Problem:    Win32: When using a dialog with a textfield it cannot scroll the
  4430.         text.
  4431. Solution:   Add ES_AUTOHSCROLL to the textfield style. (Pedro Gomes)
  4432. Files:        src/gui_w32.c
  4433.  
  4434. Patch 6.0.116 (extra)
  4435. Problem:    MS-Windows NT/2000/XP: filewritable() doesn't work correctly for
  4436.         filesystems that use ACLs.
  4437. Solution:   Use ACL functions to check if a file is writable. (Mike Williams)
  4438. Files:        src/eval.c, src/macros.h, src/os_win32.c, src/proto/os_win32.pro
  4439.  
  4440. Patch 6.0.117 (extra)
  4441. Problem:    Win32: when disabling the menu, "set lines=999" doesn't use all
  4442.         the available screen space.
  4443. Solution:   Don't subtract the fixed caption height but the real menu height
  4444.         from the available screen space.  Also: Avoid recursion in
  4445.         gui_mswin_get_menu_height().
  4446. Files:        src/gui_w32.c, src/gui_w48.c
  4447.  
  4448. Patch 6.0.118
  4449. Problem:    When $TMPDIR is a relative path, the temp directory is missing a
  4450.         trailing slash and isn't deleted when Vim exits. (Peter Holm)
  4451. Solution:   Add the slash after expanding the directory to an absolute path.
  4452. Files:        src/fileio.c
  4453.  
  4454. Patch 6.0.119 (depends on patch 6.0.116)
  4455. Problem:    VMS: filewritable() doesn't work properly.
  4456. Solution:   Use the same method as for Unix. (Zoltan Arpadffy)
  4457. Files:        src/eval.c
  4458.  
  4459. Patch 6.0.120
  4460. Problem:    The conversion to html isn't compatible with XHTML.
  4461. Solution:   Quote the values. (Jess Thrysoee)
  4462. Files:        runtime/syntax/2html.vim
  4463.  
  4464. Patch 6.0.121 (extra) (depends on patch 6.0.116)
  4465. Problem:    Win32: After patch 6.0.116 Vim doesn't compile with mingw32.
  4466. Solution:   Add an #ifdef HAVE_ACL.
  4467. Files:        src/os_win32.c
  4468.  
  4469. Patch 6.0.122 (extra)
  4470. Problem:    Win16: Same resize problems as patch 6.0.117 fixed for Win32.  And
  4471.         dialog textfield problem from patch 6.0.115.
  4472. Solution:   Set old_menu_height only when used.  Add ES_AUTOHSCROLL flag.
  4473.         (Vince Negri)
  4474. Files:        src/gui_w16.c
  4475.  
  4476. Patch 6.0.123 (depends on patch 6.0.119)
  4477. Problem:    Win16: Compilation problems.
  4478. Solution:   Move "&&" to other lines. (Vince Negri)
  4479. Files:        src/eval.c
  4480.  
  4481. Patch 6.0.124
  4482. Problem:    When using a ":substitute" command that starts with "\="
  4483.         (evaluated as an expression), "~" was still replaced with the
  4484.         previous substitute string.
  4485. Solution:   Skip the replacement when the substitute string starts with "\=".
  4486.         Also adjust the documentation about doubling backslashes.
  4487. Files:        src/ex_cmds.c, runtime/doc/change.txt
  4488.  
  4489. Patch 6.0.125 (extra)
  4490. Problem:    Win32: When using the multi_byte_ime feature pressing the shift
  4491.         key would be handled as if a character was entered, thus mappings
  4492.         with a shifted key didn't work. (Charles Campbell)
  4493. Solution:   Ignore pressing the shift, control and alt keys.
  4494. Files:        src/os_win32.c
  4495.  
  4496. Patch 6.0.126
  4497. Problem:    The python library was always statically linked.
  4498. Solution:   Link the python library dynamically. (Matthias Klose)
  4499. Files:        src/auto/configure, src/configure.in
  4500.  
  4501. Patch 6.0.127
  4502. Problem:    When using a terminal that swaps screens and the Normal background
  4503.         color has a different background, using an external command may
  4504.         cause the color of the wrong screen to be changed. (Mark Waggoner)
  4505. Solution:   Don't call screen_stop_highlight() in stoptermcap().
  4506. Files:        src/term.c
  4507.  
  4508. Patch 6.0.128
  4509. Problem:    When moving a vertically split window to the far left or right,
  4510.         the scrollbars are not adjusted. (Scott E Lee)  When 'mousefocus'
  4511.         is set the mouse pointer wasn't adjusted.
  4512. Solution:   Adjust the scrollbars and the mouse pointer.
  4513. Files:        src/window.c
  4514.  
  4515. Patch 6.0.129
  4516. Problem:    When using a very long file name, ":ls" (repeated a few times)
  4517.         causes a crash.  Test with "vim `perl -e 'print "A"x1000'`".
  4518.         (Tejeda)
  4519. Solution:   Terminate a string before getting its length in buflist_list().
  4520. Files:        src/buffer.c
  4521.  
  4522. Patch 6.0.130
  4523. Problem:    When using ":cprev" while the error window is open, and the new
  4524.         line at the top wraps, the window isn't correctly drawn.
  4525.         (Yegappan Lakshmanan)
  4526. Solution:   When redrawing the topline don't scroll twice.
  4527. Files:        src/screen.c
  4528.  
  4529. Patch 6.0.131
  4530. Problem:    When using bufname() and there are two matches for listed buffers
  4531.         and one match for an unlisted buffer, the unlisted buffer is used.
  4532.         (Aric Blumer)
  4533. Solution:   When there is a match with a listed buffer, don't check for
  4534.         unlisted buffers.
  4535. Files:        src/buffer.c
  4536.  
  4537. Patch 6.0.132
  4538. Problem:    When setting 'iminsert' in the vimrc and using an xterm with two
  4539.         screens the ruler is drawn in the wrong screen. (Igor Goldenberg)
  4540. Solution:   Only draw the ruler when using the right screen.
  4541. Files:        src/option.c
  4542.  
  4543. Patch 6.0.133
  4544. Problem:    When opening another buffer while 'keymap' is set and 'iminsert'
  4545.         is zero, 'iminsert' is set to one unexpectedly. (Igor Goldenberg)
  4546. Solution:   Don't set 'iminsert' as a side effect of defining a ":lmap"
  4547.         mapping.  Only do that when 'keymap' is set.
  4548. Files:        src/getchar.c, src/option.c
  4549.  
  4550. Patch 6.0.134
  4551. Problem:    When completing ":set tags=" a path with an embedded space causes
  4552.         the completion to stop. (Sektor van Skijlen)
  4553. Solution:   Escape spaces with backslashes, like for ":set path=".  Also take
  4554.         backslashes into account when searching for the start of the path
  4555.         to complete (e.g., for 'backupdir' and 'cscopeprg').
  4556. Files:        src/ex_docmd.c, src/ex_getln.c, src/option.c, src/structs.h
  4557.  
  4558. Patch 6.0.135
  4559. Problem:    Menus that are not supposed to do anything used "<Nul>", which
  4560.         still produced an error beep.
  4561.         When CTRL-O is mapped for Insert mode, ":amenu" commands didn't
  4562.         work in Insert mode.
  4563.         Menu language falls back to English when $LANG ends in "@euro".
  4564. Solution:   Use "<Nop>" for a menu item that doesn't do anything, just like
  4565.         mappings.
  4566.         Use ":anoremenu" instead of ":amenu".
  4567.         Ignore "@euro" in the locale name.
  4568. Files:        runtime/makemenu.vim, runtime/menu.vim, src/menu.c
  4569.  
  4570. Patch 6.0.136
  4571. Problem:    When completing in Insert mode, a mapping could be unexpectedly
  4572.         applied.
  4573. Solution:   Don't use mappings when checking for a typed character.
  4574. Files:        src/edit.c
  4575.  
  4576. Patch 6.0.137
  4577. Problem:    GUI: When using the find or find/replace dialog from Insert mode,
  4578.         the input mode is stopped.
  4579. Solution:   Don't use the input method status when the main window doesn't
  4580.         have focus.
  4581. Files:        src/ui.c
  4582.  
  4583. Patch 6.0.138
  4584. Problem:    GUI: When using the find or find/replace dialog from Insert mode,
  4585.         the text is inserted when CTRL-O is mapped. (Andre Pang)
  4586.         When opening the dialog again, a whole word search isn't
  4587.         recognized.
  4588.         When doing "replace all" a whole word search was never done.
  4589. Solution:   Don't put a search or replace command in the input buffer,
  4590.         execute it directly.
  4591.         Recognize "\<" and "\>" after removing "\V".
  4592.         Add "\<" and "\>" also for "replace all".
  4593. Files:        src/gui.c
  4594.  
  4595. Patch 6.0.139
  4596. Problem:    When stopping 'wildmenu' completion, the statusline of the
  4597.         bottom-left vertically split window isn't redrawn. (Yegappan
  4598.         Lakshmanan)
  4599. Solution:   Redraw all the bottom statuslines.
  4600. Files:        src/ex_getln.c, src/proto/screen.pro, src/screen.c
  4601.  
  4602. Patch 6.0.140
  4603. Problem:    Memory allocated for local mappings and abbreviations is leaked
  4604.         when the buffer is wiped out.
  4605. Solution:   Clear the local mappings when deleting a buffer.
  4606. Files:        src/buffer.c, src/getchar.c, src/proto/getchar.pro, src/vim.h
  4607.  
  4608. Patch 6.0.141
  4609. Problem:    When using ":enew" in an empty buffer, some buffer-local things
  4610.         are not cleared.  b:keymap_name is not set.
  4611. Solution:   Clear user commands and mappings local to the buffer when re-using
  4612.         the current buffer.  Reload the keymap.
  4613. Files:        src/buffer.c
  4614.  
  4615. Patch 6.0.142
  4616. Problem:    When Python is linked statically, loading dynamic extensions might
  4617.         fail.
  4618. Solution:   Add an extra linking flag when needed. (Andrew Rodionoff)
  4619. Files:        src/configure.in, src/auto/configure
  4620.  
  4621. Patch 6.0.143
  4622. Problem:    When a syntax item includes a line break in a pattern, the syntax
  4623.         may not be updated properly when making a change.
  4624. Solution:   Add the "linebreaks" argument to ":syn sync".
  4625. Files:        runtime/doc/syntax.txt, src/screen.c, src/structs.h, src/syntax.c
  4626.  
  4627. Patch 6.0.144
  4628. Problem:    After patch 6.0.088 redoing "veU" doesn't work.
  4629. Solution:   Don't add the "U" to the redo buffer, it will be used as an undo
  4630.         command.
  4631. Files:        src/normal.c
  4632.  
  4633. Patch 6.0.145
  4634. Problem:    When Vim can't read any input it might get stuck.  When
  4635.         redirecting stdin and stderr Vim would not read commands from a
  4636.         file.  (Servatius Brandt)
  4637. Solution:   When repeatedly trying to read a character when it's not possible,
  4638.         exit Vim.  When stdin and stderr are not a tty, still try reading
  4639.         from them, but don't do a blocking wait.
  4640. Files:        src/ui.c
  4641.  
  4642. Patch 6.0.146
  4643. Problem:    When 'statusline' contains "%{'-'}" this results in a zero.
  4644.         (Milan Vancura)
  4645. Solution:   Don't handle numbers with a minus as a number, they were not
  4646.         displayed anyway.
  4647. Files:        src/buffer.c
  4648.  
  4649. Patch 6.0.147
  4650. Problem:    It's not easy to mark a Vim version as being modified.  The new
  4651.         license requires this.
  4652. Solution:   Add the --modified-by argument to configure and the MODIFIED_BY
  4653.         define.  It's used in the intro screen and the ":version" output.
  4654. Files:        src/auto/configure, src/configure.in, src/config.h.in,
  4655.         src/feature.h, src/version.c
  4656.  
  4657. Patch 6.0.148
  4658. Problem:    After "p" in an empty line, `[ goes to the second character.
  4659.         (Kontra Gergely)
  4660. Solution:   Don't increment the column number in an empty line.
  4661. Files:        src/ops.c
  4662.  
  4663. Patch 6.0.149
  4664. Problem:    The pattern "\(.\{-}\)*" causes a hang.  When using a search
  4665.         pattern that causes a stack overflow to be detected Vim could
  4666.         still hang.
  4667. Solution:   Correctly report "operand could be empty" when using "\{-}".
  4668.         Check for "out_of_stack" inside loops to avoid a hang.
  4669. Files:        src/regexp.c
  4670.  
  4671. Patch 6.0.150
  4672. Problem:    When using a multi-byte encoding, patch 6.0.148 causes "p" to work
  4673.         like "P". (Sung-Hyun Nam)
  4674. Solution:   Compute the byte length of a multi-byte character.
  4675. Files:        src/ops.c
  4676.  
  4677. Patch 6.0.151
  4678. Problem:    Redrawing the status line and ruler can be wrong when it contains
  4679.         multi-byte characters.
  4680. Solution:   Use character width and byte length correctly. (Yasuhiro Matsumoto)
  4681. Files:        src/screen.c
  4682.  
  4683. Patch 6.0.152
  4684. Problem:    strtrans() could hang on an illegal UTF-8 byte sequence.
  4685. Solution:   Skip over illegal bytes. (Yasuhiro Matsumoto)
  4686. Files:        src/charset.c
  4687.  
  4688. Patch 6.0.153
  4689. Problem:    When using (illegal) double-byte characters and Vim syntax
  4690.         highlighting Vim can crash. (Yasuhiro Matsumoto)
  4691. Solution:   Increase a pointer over a character instead of a byte.
  4692. Files:        src/regexp.c
  4693.  
  4694. Patch 6.0.154
  4695. Problem:    MS-DOS and MS-Windows: The menu entries for xxd don't work when
  4696.         there is no xxd in the path.
  4697.         When converting back from Hex the filetype may remain "xxd" if it
  4698.         is not detected.
  4699. Solution:   When xxd is not in the path use the one in the runtime directory,
  4700.         where the install program has put it.
  4701.         Clear the 'filetype' option before detecting the new value.
  4702. Files:        runtime/menu.vim
  4703.  
  4704. Patch 6.0.155
  4705. Problem:    Mac: compilation problems in ui.c after patch 6.0.145. (Axel
  4706.         Kielhorn)
  4707. Solution:   Don't call mch_inchar() when NO_CONSOLE is defined.
  4708. Files:        src/ui.c
  4709.  
  4710. Patch 6.0.156
  4711. Problem:    Starting Vim with the -b argument and two files, ":next" doesn't
  4712.         set 'binary' in the second file, like Vim 5.7. (Norman Diamond)
  4713. Solution:   Set the global value for 'binary'.
  4714. Files:        src/option.c
  4715.  
  4716. Patch 6.0.157
  4717. Problem:    When defining a user command with "-complete=dir" files will also
  4718.         be expanded.  Also, "-complete=mapping" doesn't appear to work.
  4719.         (Michael Naumann)
  4720. Solution:   Use the expansion flags defined with the user command.
  4721.         Handle expanding mappings specifically.
  4722. Files:        src/ex_docmd.c
  4723.  
  4724. Patch 6.0.158
  4725. Problem:    When getting the warning for a file being changed outside of Vim
  4726.         and reloading the file, the 'readonly' option is reset, even when
  4727.         the permissions didn't change. (Marcel Svitalsky)
  4728. Solution:   Keep 'readonly' set when reloading a file and the permissions
  4729.         didn't change.
  4730. Files:        src/fileio.c
  4731.  
  4732. Patch 6.0.159
  4733. Problem:    Wildcard expansion for ":emenu" also shows separators.
  4734. Solution:   Skip menu separators for ":emenu", ":popup" and ":tearoff".
  4735.         Also, don't handle ":tmenu" as if it was ":tearoff".  And leave
  4736.         out the alternatives with "&" included.
  4737. Files:        src/menu.c
  4738.  
  4739. Patch 6.0.160
  4740. Problem:    When compiling with GCC 3.0.2 and using the "-O2" argument, the
  4741.         optimizer causes a problem that makes Vim crash.
  4742. Solution:   Add a configure check to avoid "-O2" for this version of gcc.
  4743. Files:        src/configure.in, src/auto/configure
  4744.  
  4745. Patch 6.0.161 (extra)
  4746. Problem:    Win32: Bitmaps don't work with signs.
  4747. Solution:   Make it possible to use bitmaps with signs. (Muraoka Taro)
  4748. Files:        src/ex_cmds.c, src/feature.h, src/gui_w32.c, src/gui_x11.c,
  4749.         src/proto/gui_w32.pro, src/proto/gui_x11.pro
  4750.  
  4751. Patch 6.0.162
  4752. Problem:    Client-server: An error message for a wrong expression appears in
  4753.         the server instead of the client.
  4754. Solution:   Pass the error message from the server to the client.  Also
  4755.         adjust the example code. (Flemming Madsen)
  4756. Files:        src/globals.h, src/if_xcmdsrv.c, src/main.c, src/os_mswin.c,
  4757.         src/proto/if_xcmdsrv.pro, src/proto/os_mswin.pro,
  4758.         runtime/doc/eval.txt, runtime/tools/xcmdsrv_client.c
  4759.  
  4760. Patch 6.0.163
  4761. Problem:    When using a GUI dialog, a file name is sometimes used like it was
  4762.         a directory.
  4763. Solution:   Separate path and file name properly.
  4764.         For GTK, Motif and Athena concatenate directory and file name for
  4765.         the default selection.
  4766. Files:        src/diff.c, src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c,
  4767.         src/gui_athena.c, src/gui_gtk.c, src/gui_motif.c, src/message.c
  4768.  
  4769. Patch 6.0.164
  4770. Problem:    After patch 6.0.135 the menu entries for pasting don't work in
  4771.         Insert and Visual mode. (Muraoka Taro)
  4772. Solution:   Add <script> to allow script-local mappings.
  4773. Files:        runtime/menu.vim
  4774.  
  4775. Patch 6.0.165
  4776. Problem:    Using --remote and executing locally gives unavoidable error
  4777.         messages.
  4778. Solution:   Add --remote-silent and --remote-wait-silent to silently execute
  4779.         locally.
  4780.         For Win32 there was no error message when a server didn't exist.
  4781. Files:        src/eval.c, src/if_xcmdsrv.c, src/main.c, src/os_mswin.c,
  4782.         src/proto/if_xcmdsrv.pro, src/proto/os_mswin.pro
  4783.  
  4784. Patch 6.0.166
  4785. Problem:    GUI: There is no way to avoid dialogs to pop up.
  4786. Solution:   Add the 'c' flag to 'guioptions': Use console dialogs.  (Yegappan
  4787.         Lakshmanan)
  4788. Files:        runtime/doc/options.txt, src/option.h, src/message.c
  4789.  
  4790. Patch 6.0.167
  4791. Problem:    When 'fileencodings' is "latin2" some characters in the help files
  4792.         are displayed wrong.
  4793. Solution:   Force the 'fileencoding' for the help files to be "latin1".
  4794. Files:        src/fileio.c
  4795.  
  4796. Patch 6.0.168
  4797. Problem:    ":%s/\n/#/" doesn't replace at an empty line. (Bruce DeVisser)
  4798. Solution:   Don't skip matches after joining two lines.
  4799. Files:        src/ex_cmds.c
  4800.  
  4801. Patch 6.0.169
  4802. Problem:    When run as evim and the GUI can't be started we get stuck in a
  4803.         terminal without menus in Insert mode.
  4804. Solution:   Exit when using "evim" and "gvim -y" when the GUI can't be
  4805.         started.
  4806. Files:        src/main.c
  4807.  
  4808. Patch 6.0.170
  4809. Problem:    When printing double-width characters the size of tabs after them
  4810.         is wrong.  (Muraoka Taro)
  4811. Solution:   Correctly compute the column after a double-width character.
  4812. Files:        src/ex_cmds2.c
  4813.  
  4814. Patch 6.0.171
  4815. Problem:    With 'keymodel' including "startsel", in Insert mode after the end
  4816.         of a line, shift-Left does not move the cursor. (Steve Hall)
  4817. Solution:   CTRL-O doesn't move the cursor left, need to do that explicitly.
  4818. Files:        src/edit.c
  4819.  
  4820. Patch 6.0.172
  4821. Problem:    CTRL-Q doesn't replace CTRL-V after CTRL-X in Insert mode while it
  4822.         does in most other situations.
  4823. Solution:   Make CTRL-X CTRL-Q work like CTRL-X CTRL-V in Insert mode.
  4824. Files:        src/edit.c
  4825.  
  4826. Patch 6.0.173
  4827. Problem:    When using "P" to insert a line break the cursor remains past the
  4828.         end of the line.
  4829. Solution:   Check for the cursor being beyond the end of the line.
  4830. Files:        src/ops.c
  4831.  
  4832. Patch 6.0.174
  4833. Problem:    After using "gd" or "gD" the search direction for "n" may still be
  4834.         backwards. (Servatius Brandt)
  4835. Solution:   Reset the search direction to forward.
  4836. Files:        src/normal.c, src/search.c, src/proto/search.pro
  4837.  
  4838. Patch 6.0.175
  4839. Problem:    ":help /\z(\)" doesn't work. (Thomas Koehler)
  4840. Solution:   Double the backslashes.
  4841. Files:        src/ex_cmds.c
  4842.  
  4843. Patch 6.0.176
  4844. Problem:    When killed by a signal autocommands are still triggered as if
  4845.         nothing happened.
  4846. Solution:   Add the v:dying variable to allow autocommands to work differently
  4847.         when a deadly signal has been trapped.
  4848. Files:        src/eval.c, src/os_unix.c, src/vim.h
  4849.  
  4850. Patch 6.0.177
  4851. Problem:    When 'commentstring' is empty and 'foldmethod' is "marker", "zf"
  4852.         doesn't work. (Thomas S. Urban)
  4853. Solution:   Add the marker even when 'commentstring' is empty.
  4854. Files:        src/fold.c, src/normal.c
  4855.  
  4856. Patch 6.0.178
  4857. Problem:    Uninitialized memory read from xp_backslash field.
  4858. Solution:   Initialize xp_backslash field properly.
  4859. Files:        src/eval.c, src/ex_docmd.c, src/ex_getln.c, src/misc1.c, src/tag.c
  4860.  
  4861. Patch 6.0.179
  4862. Problem:    Win32: When displaying UTF-8 characters may read uninitialized
  4863.         memory.
  4864. Solution:   Add utfc_ptr2len_check_len() to avoid reading past the end of a
  4865.         string.
  4866. Files:        src/mbyte.c, src/proto/mbyte.pro, src/gui_w32.c
  4867.  
  4868. Patch 6.0.180
  4869. Problem:    Expanding environment variables in a string that ends in a
  4870.         backslash could go past the end of the string.
  4871. Solution:   Detect the trailing backslash.
  4872. Files:        src/misc1.c
  4873.  
  4874. Patch 6.0.181
  4875. Problem:    When using ":cd dir" memory was leaked.
  4876. Solution:   Free the allocated memory.  Also avoid an uninitialized memory
  4877.         read.
  4878. Files:        src/misc2.c
  4879.  
  4880. Patch 6.0.182
  4881. Problem:    When using a regexp on multi-byte characters, could try to read a
  4882.         character before the start of the line.
  4883. Solution:   Don't decrement a pointer to before the start of the line.
  4884. Files:        src/regexp.c
  4885.  
  4886. Patch 6.0.183
  4887. Problem:    Leaking memory when ":func!" redefines a function.
  4888. Solution:   Free the function name when it's not used.
  4889. Files:        src/eval.c
  4890.  
  4891. Patch 6.0.184
  4892. Problem:    Leaking memory when expanding option values.
  4893. Solution:   Don't always copy the expanded option into allocated memory.
  4894. Files:        src/option.c
  4895.  
  4896. Patch 6.0.185
  4897. Problem:    Crash in Vim when pasting a selection in another application, on a
  4898.         64 bit machine.
  4899. Solution:   Fix the format for an Atom to 32 bits. (Peter Derr)
  4900. Files:        src/ui.c
  4901.  
  4902. Patch 6.0.186
  4903. Problem:    X11: Three warnings when compiling the client-server code.
  4904. Solution:   Add a typecast to unsigned char.
  4905. Files:        src/if_xcmdsrv.c
  4906.  
  4907. Patch 6.0.187
  4908. Problem:    "I" in Visual mode and then "u" reports too many changes. (Andrew
  4909.         Stryker)
  4910.         "I" in Visual linewise mode adjusts the indent for no apparent
  4911.         reason.
  4912. Solution:   Only save those lines for undo that are changed.
  4913.         Don't change the indent after inserting in Visual linewise mode.
  4914. Files:        src/ops.c
  4915.  
  4916. Patch 6.0.188
  4917. Problem:    Win32: After patch 6.0.161 signs defined in the vimrc file don't
  4918.         work.
  4919. Solution:   Initialize the sign icons after initializing the GUI. (Vince
  4920.         Negri)
  4921. Files:        src/gui.c, src/gui_x11.c
  4922.  
  4923. Patch 6.0.189
  4924. Problem:    The size of the Visual area isn't always displayed when scrolling
  4925.         ('ruler' off, 'showcmd' on).  Also not when using a search
  4926.         command. (Sylvain Hitier)
  4927. Solution:   Redisplay the size of the selection after showing the mode.
  4928. Files:        src/screen.c
  4929.  
  4930. Patch 6.0.190
  4931. Problem:    GUI: when 'mouse' is empty a click with the middle button still
  4932.         moves the cursor.
  4933. Solution:   Paste at the cursor position instead of the mouse position.
  4934. Files:        src/normal.c
  4935.  
  4936. Patch 6.0.191
  4937. Problem:    When no servers are available serverlist() gives an error instead
  4938.         of returning an empty string. (Hari Krishna)
  4939. Solution:   Don't give an error message.
  4940. Files:        src/eval.c
  4941.  
  4942. Patch 6.0.192
  4943. Problem:    When 'virtualedit' is set, "ylj" goes to the wrong column. (Andrew
  4944.         Nikitin)
  4945. Solution:   Reset the flag that w_virtcol is valid when moving the cursor back
  4946.         to the start of the operated area.
  4947. Files:        src/normal.c
  4948.  
  4949. Patch 6.0.193
  4950. Problem:    When 'virtualedit' is set, col(".") after the end of the line
  4951.         should return one extra.
  4952. Solution:   Add one to the column.
  4953. Files:        src/eval.c
  4954.  
  4955. Patch 6.0.194
  4956. Problem:    "--remote-silent" tries to send a reply to the client, like it was
  4957.         "--remote-wait".
  4958. Solution:   Properly check for the argument.
  4959. Files:        src/main.c
  4960.  
  4961. Patch 6.0.195
  4962. Problem:    When 'virtualedit' is set and a search starts in virtual space
  4963.         ":call search('x')" goes to the wrong position. (Eric Long)
  4964. Solution:   Reset coladd when finding a match.
  4965. Files:        src/search.c
  4966.  
  4967. Patch 6.0.196
  4968. Problem:    When 'virtualedit' is set, 'selection' is "exclusive" and visually
  4969.         selecting part of a tab at the start of a line, "x" joins it with
  4970.         the previous line.  Also, when the selection spans more than one
  4971.         line the whole tab is deleted.
  4972. Solution:   Take coladd into account when adjusting for 'selection' being
  4973.         "exclusive".  Also expand a tab into spaces when deleting more
  4974.         than one line.
  4975. Files:        src/normal.c, src/ops.c
  4976.  
  4977. Patch 6.0.197
  4978. Problem:    When 'virtualedit' is set and 'selection' is "exclusive", "v$x"
  4979.         doesn't delete the last character in the line. (Eric Long)
  4980. Solution:   Don't reset the inclusive flag. (Helmut Stiegler)
  4981. Files:        src/normal.c
  4982.  
  4983. Patch 6.0.198
  4984. Problem:    When 'virtualedit' is set and 'showbreak' is not empty, moving the
  4985.         cursor over the line break doesn't work properly. (Eric Long)
  4986. Solution:   Make getviscol() and getviscol2() use getvvcol() to obtain the
  4987.         virtual cursor position.  Adjust coladvance() and oneleft() to
  4988.         skip over the 'showbreak' characters.
  4989. Files:        src/edit.c, src/misc2.c
  4990.  
  4991. Patch 6.0.199
  4992. Problem:    Multi-byte: could use iconv() after calling iconv_end().
  4993.         (Yasuhiro Matsumoto)
  4994. Solution:   Stop converting input and output stream after calling iconv_end().
  4995. Files:        src/mbyte.c
  4996.  
  4997. Patch 6.0.200
  4998. Problem:    A script that starts with "#!perl" isn't recognized as a Perl
  4999.         filetype.
  5000. Solution:   Ignore a missing path in a script header.  Also, speed up
  5001.         recognizing scripts by simplifying the patterns used.
  5002. Files:        runtime/scripts.vim
  5003.  
  5004. Patch 6.0.201
  5005. Problem:    When scrollbinding and doing a long jump, switching windows jumps
  5006.         to another position in the file.  Scrolling a few lines at a time
  5007.         is OK. (Johannes Zellner)
  5008. Solution:   When setting w_topline reset the flag that indicates w_botline is
  5009.         valid.
  5010. Files:        src/diff.c
  5011.  
  5012. Patch 6.0.202
  5013. Problem:    The "icon=" argument for the menu command to define a toolbar icon
  5014.         with a file didn't work for GTK. (Christian J. Robinson)
  5015.         For Motif and Athena a full path was required.
  5016. Solution:   Search the icon file using the specified path.  Expand environment
  5017.         variables in the file name.
  5018. Files:        src/gui_gtk.c, src/gui_x11.c
  5019.  
  5020. Patch 6.0.203
  5021. Problem:    Can change 'fileformat' even though 'modifiable' is off.
  5022.         (Servatius Brandt)
  5023. Solution:   Correct check for kind of set command.
  5024. Files:        src/option.c
  5025.  
  5026. Patch 6.0.204
  5027. Problem:    ":unlet" doesn't work for variables with curly braces. (Thomas
  5028.         Scott Urban)
  5029. Solution:   Handle variable names with curly braces properly. (Vince Negri)
  5030. Files:        src/eval.c
  5031.  
  5032. Patch 6.0.205 (extra)
  5033. Problem:    "gvim -f" still forks when using the batch script to start Vim.
  5034. Solution:   Add an argument to "start" to use a foreground session (Michael
  5035.         Geddes)
  5036. Files:        src/dosinst.c
  5037.  
  5038. Patch 6.0.206
  5039. Problem:    Unix: if expanding a wildcard in a file name results in a
  5040.         wildcard character and there are more parts in the path with a
  5041.         wildcard, it is expanded again.
  5042.         Windows: ":edit \[abc]" could never edit the file "[abc]".
  5043. Solution:   Don't expand wildcards in already expanded parts.
  5044.         Don't remove backslashes used to escape the special meaning of a
  5045.         wildcard; can edit "[abc]" if '[' is removed from 'isfname'.
  5046. Files:        src/misc1.c, src/os_unix.c
  5047.  
  5048. Patch 6.0.207 (extra)
  5049. Problem:    Win32: The shortcuts and start menu entries let Vim startup in the
  5050.         desktop directory, which is not very useful.
  5051. Solution:   Let shortcuts start Vim in $HOME or $HOMEDIR$HOMEPATH.
  5052. Files:        src/dosinst.c
  5053.  
  5054. Patch 6.0.208
  5055. Problem:    GUI: When using a keymap and the cursor is not blinking, CTRL-^ in
  5056.         Insert mode doesn't directly change the cursor color.  (Alex
  5057.         Solow)
  5058. Solution:   Force a redraw of the cursor after CTRL-^.
  5059. Files:        src/edit.c
  5060.  
  5061. Patch 6.0.209
  5062. Problem:    GUI GTK: After selecting a 'guifont' with the font dialog there
  5063.         are redraw problems for multi-byte characters.
  5064. Solution:   Separate the font dialog from setting the new font name to avoid
  5065.         that "*" is used to find wide and bold fonts.
  5066.         When redrawing extra characters for the bold trick, take care of
  5067.         UTF-8 characters.
  5068. Files:        src/gui.c, src/gui_gtk_x11.c, src/option.c, src/proto/gui.pro,
  5069.         src/proto/gui_gtk_x11.pro
  5070.  
  5071. Patch 6.0.210
  5072. Problem:    After patch 6.0.167 it's no longer possible to edit a help file in
  5073.         another encoding than latin1.
  5074. Solution:   Let the "++enc=" argument overrule the encoding.
  5075. Files:        src/fileio.c
  5076.  
  5077. Patch 6.0.211
  5078. Problem:    When reading a file fails, the buffer is empty, but it might still
  5079.         be possible to write it with ":w" later.  The original file is
  5080.         lost then. (Steve Amerige)
  5081. Solution:   Set the 'readonly' option for the buffer.
  5082. Files:        src/fileio.c
  5083.  
  5084. Patch 6.0.212
  5085. Problem:    GUI GTK: confirm("foo", "") causes a crash.
  5086. Solution:   Don't make a non-existing button the default.  Add a default "OK"
  5087.         button if none is specified.
  5088. Files:        src/eval.c, src/gui_gtk.c
  5089.  
  5090. Patch 6.0.213
  5091. Problem:    When a file name contains unprintable characters, CTRL-G and other
  5092.         commands don't work well.
  5093. Solution:   Turn unprintable into printable characters. (Yasuhiro Matsumoto)
  5094. Files:        src/buffer.c, src/charset.c
  5095.  
  5096. Patch 6.0.214
  5097. Problem:    When there is a buffer without a name, empty entries appear in the
  5098.         jumplist saved in the viminfo file.
  5099. Solution:   Don't write jumplist entries without a file name.
  5100. Files:        src/mark.c
  5101.  
  5102. Patch 6.0.215
  5103. Problem:    After using "/" from Visual mode the Paste menu and Toolbar
  5104.         entries don't work.  Pasting with the middle mouse doesn't work
  5105.         and modeless selection doesn't work.
  5106. Solution:   Use the command line mode menus and use the mouse like in the
  5107.         command line.
  5108. Files:        src/gui.c, src/menu.c, src/ui.c
  5109.  
  5110. Patch 6.0.216
  5111. Problem:    After reloading a file, displayed in another window than the
  5112.         current one, which was changed outside of Vim the part of the file
  5113.         around the cursor set by autocommands may be displayed, but
  5114.         jumping back to the original cursor position when entering the
  5115.         window again.
  5116. Solution:   Restore the topline of the window.
  5117. Files:        src/fileio.c
  5118.  
  5119. Patch 6.0.217
  5120. Problem:    When getting help from a help file that was used before, an empty
  5121.         unlisted buffer remains in the buffer list. (Eric Long)
  5122. Solution:   Wipe out the buffer used to do the tag jump from.
  5123. Files:        src/buffer.c, src/ex_cmds.c, src/proto/buffer.pro
  5124.  
  5125. Patch 6.0.218
  5126. Problem:    With explorer plugin: "vim -o filename dirname" doesn't load the
  5127.         explorer window until entering the window.
  5128. Solution:   Call s:EditDir() for each window after starting up.
  5129. Files:        runtime/plugin/explorer.vim
  5130.  
  5131. Patch 6.0.219
  5132. Problem:    ":setlocal" and ":setglobal", without arguments, display terminal
  5133.         options. (Zdenek Sekera)
  5134. Solution:   Skip terminal options for these two commands.
  5135. Files:        src/option.c
  5136.  
  5137. Patch 6.0.220
  5138. Problem:    After patch 6.0.218 get a beep on startup. (Muraoka Taro)
  5139. Solution:   Don't try going to another window when there isn't one.
  5140. Files:        runtime/plugin/explorer.vim
  5141.  
  5142. Patch 6.0.221
  5143. Problem:    When using ":bdel" and all other buffers are unloaded the lowest
  5144.         numbered buffer is jumped to instead of the most recent one. (Dave
  5145.         Cecil)
  5146. Solution:   Prefer an unloaded buffer from the jumplist.
  5147. Files:        src/buffer.c
  5148.  
  5149. Patch 6.0.222
  5150. Problem:    When 'virtualedit' is set and using autoindent, pressing Esc after
  5151.         starting a new line leaves behind part of the autoindent. (Helmut
  5152.         Stiegler)
  5153. Solution:   After deleting the last char in the line adjust the cursor
  5154.         position in del_bytes().
  5155. Files:        src/misc1.c, src/ops.c
  5156.  
  5157. Patch 6.0.223
  5158. Problem:    When splitting a window that contains the explorer, hitting CR on
  5159.         a file name gives error messages.
  5160. Solution:   Set the window variables after splitting the window.
  5161. Files:        runtime/plugin/explorer.vim
  5162.  
  5163. Patch 6.0.224
  5164. Problem:    When 'sidescroll' and 'sidescrolloff' are set in a narrow window
  5165.         the text may jump left-right and the cursor is displayed in the
  5166.         wrong position. (Aric Blumer)
  5167. Solution:   When there is not enough room, compute the left column for the
  5168.         window to put the cursor in the middle.
  5169. Files:        src/move.c
  5170.  
  5171. Patch 6.0.225
  5172. Problem:    In Visual mode "gk" gets stuck in a closed fold. (Srinath
  5173.         Avadhanula)
  5174. Solution:   Behave differently in a closed fold.
  5175. Files:        src/normal.c
  5176.  
  5177. Patch 6.0.226
  5178. Problem:    When doing ":recover file" get the ATTENTION prompt.
  5179.         After recovering the same file five times get a read error or a
  5180.         crash.  (Alex Davis)
  5181. Solution:   Set the recoverymode flag before setting the file name.
  5182.         Correct the amount of used memory for the size of block zero.
  5183. Files:        src/ex_docmd.c
  5184.  
  5185. Patch 6.0.227 (extra)
  5186. Problem:    The RISC OS port has several problems.
  5187. Solution:   Update the makefile and fix some of the problems. (Andy Wingate)
  5188. Files:        src/Make_ro.mak, src/os_riscos.c, src/os_riscos.h,
  5189.         src/proto/os_riscos.pro, src/search.c
  5190.  
  5191. Patch 6.0.228
  5192. Problem:    After putting text in Visual mode the '] mark is not at the end of
  5193.         the put text.
  5194.         Undo doesn't work properly when putting a word into a Visual
  5195.         selection that spans more than one line.
  5196. Solution:   Correct the '] mark for the deleting the Visually selected text.
  5197.         #ifdef code that depends on FEAT_VISUAL properly.
  5198.         Also fix that "d" crossing line boundary puts '[ just before
  5199.         deleted text.
  5200.         Fix undo by saving all deleted lines at once.
  5201. Files:        src/ex_docmd.c, src/globals.h, src/normal.c, src/ops.c,
  5202.         src/structs.h, src/vim.h
  5203.  
  5204. Patch 6.0.229
  5205. Problem:    Multi-byte: With 'm' in 'formatoptions', formatting doesn't break
  5206.         at a multi-byte char followed by an ASCII char, and the other way
  5207.         around. (Muraoka Taro)
  5208.         When joining lines a space is inserted between multi-byte
  5209.         characters, which is not always wanted.
  5210. Solution:   Check for multi-byte character before and after the breakpoint.
  5211.         Don't insert a space before or after a multi-byte character when
  5212.         joining lines and the 'M' flag is in 'formatoptions'.  Don't
  5213.         insert a space between multi-byte characters when the 'B' flag is
  5214.         in 'formatoptions'.
  5215. Files:        src/edit.c, src/ops.c, src/option.h
  5216.  
  5217. Patch 6.0.230
  5218. Problem:    The ":" used as a motion after an operator is exclusive, but
  5219.         sometimes it should be inclusive.
  5220. Solution:   Make the "v" in between an operator and motion toggle
  5221.         inclusive/exclusive. (Servatius Brandt)
  5222. Files:        runtime/doc/motion.txt, src/normal.c
  5223.  
  5224. Patch 6.0.231
  5225. Problem:    "gd" and "gD" don't work when the variable matches in a comment
  5226.         just above the match to be found. (Servatius Brandt)
  5227. Solution:   Continue searching in the first column below the comment.
  5228. Files:        src/normal.c
  5229.  
  5230. Patch 6.0.232
  5231. Problem:    "vim --version" prints on stderr while "vim --help" prints on
  5232.         stdout.
  5233. Solution:   Make "vim --version" use stdout.
  5234. Files:        runtime/doc/starting.txt, src/globals.h, src/main.c, src/message.c
  5235.  
  5236. Patch 6.0.233
  5237. Problem:    "\1\{,8}" in a regexp is not allowed, but it should work, because
  5238.         there is an upper limit.  (Jim Battle)
  5239. Solution:   Allow using "\{min,max}" after an atom that can be empty if there
  5240.         is an upper limit.
  5241. Files:        src/regexp.c
  5242.  
  5243. Patch 6.0.234
  5244. Problem:    It's not easy to set the cursor position without modifying marks.
  5245. Solution:   Add the cursor() function. (Yegappan Lakshmanan)
  5246. Files:        runtime/doc/eval.txt, src/eval.c
  5247.  
  5248. Patch 6.0.235
  5249. Problem:    When writing a file and renaming the original file to make the
  5250.         backup, permissions could change when setting the owner.
  5251. Solution:   Only set the owner when it's needed and set the permissions again
  5252.         afterwards.
  5253.         When 'backupcopy' is "auto" check that the owner and permissions
  5254.         of a newly created file can be set properly.
  5255. Files:        src/fileio.c
  5256.  
  5257. Patch 6.0.236
  5258. Problem:    ":edit" without argument should move cursor to line 1 in Vi
  5259.         compatible mode.
  5260. Solution:   Add 'g' flag to 'cpoptions'.
  5261. Files:        runtime/doc/options.txt, src/ex_docmd.c, src/option.h
  5262.  
  5263. Patch 6.0.237
  5264. Problem:    In a C file, using the filetype plugin, re-indenting a comment
  5265.         with two spaces after the middle "*" doesn't align properly.
  5266. Solution:   Don't use a middle entry from a start/middle/end to line up with
  5267.         the start of the comment when the start part doesn't match with
  5268.         the actual comment start.
  5269. Files:        src/misc1.c
  5270.  
  5271. Patch 6.0.238
  5272. Problem:    Using a ":substitute" command with a substitute() call in the
  5273.         substitution expression causes errors. (Srinath Avadhanula)
  5274. Solution:   Save and restore pointers when doing substitution recursively.
  5275. Files:        src/regexp.c
  5276.  
  5277. Patch 6.0.239
  5278. Problem:    Using "A" to append after a Visually selected block which is after
  5279.         the end of the line, spaces are inserted in the wrong line and
  5280.         other unexpected effects. (Michael Naumann)
  5281. Solution:   Don't advance the cursor to the next line.
  5282. Files:        src/ops.c
  5283.  
  5284. Patch 6.0.240
  5285. Problem:    Win32: building with Python 2.2 doesn't work.
  5286. Solution:   Add support for Python 2.2 with dynamic linking. (Paul Moore)
  5287. Files:        src/if_python.c
  5288.  
  5289. Patch 6.0.241
  5290. Problem:    Win32: Expanding the old value of an option that is a path that
  5291.         starts with a backslash, an extra backslash is inserted.
  5292. Solution:   Only insert backslashes where needed.
  5293.         Also handle multi-byte characters properly when removing
  5294.         backslashes.
  5295. Files:        src/option.c
  5296.  
  5297. Patch 6.0.242
  5298. Problem:    GUI: On a system with an Exceed X server sometimes get a "Bad
  5299.         Window" error. (Tommi Maekitalo)
  5300. Solution:   When forking, use a pipe to wait in the parent for the child to
  5301.         have done the setsid() call.
  5302. Files:        src/gui.c
  5303.  
  5304. Patch 6.0.243
  5305. Problem:    Unix: "vim --version" outputs a NL before the last line instead of
  5306.         after it. (Charles Campbell)
  5307. Solution:   Send the NL to the same output stream as the text.
  5308. Files:        src/message.c, src/os_unix.c, src/proto/message.pro
  5309.  
  5310. Patch 6.0.244
  5311. Problem:    Multi-byte: Problems with (illegal) UTF-8 characters in menu and
  5312.         file name (e.g., icon text, status line).
  5313. Solution:   Correctly handle unprintable characters.  Catch illegal UTF-8
  5314.         characters and replace them with <xx>.  Truncating the status line
  5315.         wasn't done correctly at a multi-byte character. (Yasuhiro
  5316.         Matsumoto)
  5317.         Added correct_cmdspos() and transchar_byte().
  5318. Files:        src/buffer.c, src/charset.c, src/ex_getln.c, src/gui.c,
  5319.         src/message.c, src/screen.c, src/vim.h
  5320.  
  5321. Patch 6.0.245
  5322. Problem:    After using a color scheme, setting the 'background' option might
  5323.         not work. (Peter Horst)
  5324. Solution:   Disable the color scheme if it switches 'background' back to the
  5325.         wrong value.
  5326. Files:        src/option.c
  5327.  
  5328. Patch 6.0.246
  5329. Problem:    ":echomsg" didn't use the highlighting set by ":echohl". (Gary
  5330.         Holloway)
  5331. Solution:   Use the specified attributes for the message. (Yegappan
  5332.         Lakshmanan)
  5333. Files:        src/eval.c
  5334.  
  5335. Patch 6.0.247
  5336. Problem:    GTK GUI: Can't use gvim in a kpart widget.
  5337. Solution:   Add the "--echo-wid" argument to let Vim echo the window ID on
  5338.         stdout. (Philippe Fremy)
  5339. Files:        runtime/doc/starting.txt, src/globals.h, src/gui_gtk_x11.c,
  5340.         src/main.c
  5341.  
  5342. Patch 6.0.248
  5343. Problem:    When using compressed help files and 'encoding' isn't "latin1",
  5344.         Vim converts the help file before decompressing. (David Reviejo)
  5345. Solution:   Don't convert a help file when 'binary' is set.
  5346. Files:        src/fileio.c
  5347.  
  5348. Patch 6.0.249
  5349. Problem:    "vim -t edit -c 'sta ex_help'" doesn't move cursor to edit().
  5350. Solution:   Don't set the cursor on the first line for "-c" arguments when
  5351.         there also is a "-t" argument.
  5352. Files:        src/main.c
  5353.  
  5354. Patch 6.0.250 (extra)
  5355. Problem:    Macintosh: Various problems when compiling.
  5356. Solution:   Various fixes, mostly #ifdefs. (Dany St. Amant)
  5357. Files:        src/gui_mac.c, src/main.c, src/misc2.c, src/os_mac.h,
  5358.         src/os_mac.pbproj/project.pbxproj, src/os_unix.c
  5359.  
  5360. Patch 6.0.251 (extra)
  5361. Problem:    Macintosh: menu shortcuts are not very clear.
  5362. Solution:   Show the shortcut with the Mac clover symbol. (raindog)
  5363. Files:        src/gui_mac.c
  5364.  
  5365. Patch 6.0.252
  5366. Problem:    When a user function was defined with "abort", an error that is
  5367.         not inside if/endif or while/endwhile doesn't abort the function.
  5368.         (Servatius Brandt)
  5369. Solution:   Don't reset did_emsg when the function is to be aborted.
  5370. Files:        src/ex_docmd.c
  5371.  
  5372. Patch 6.0.253
  5373. Problem:    When 'insertmode' is set, after "<C-O>:edit file" the next <C-O>
  5374.         doesn't work. (Benji Fisher)  <C-L> has the same problem.
  5375. Solution:   Reset need_start_insertmode once in edit().
  5376. Files:        src/edit.c
  5377.  
  5378. Patch 6.0.254 (extra)
  5379. Problem:    Borland C++ 5.5: Checking for stack overflow doesn't work
  5380.         correctly.  Matters when using a complicated regexp.
  5381. Solution:   Remove -N- from Make_bc5.mak. (Yasuhiro Matsumoto)
  5382. Files:        src/Make_bc5.mak
  5383.  
  5384. Patch 6.0.255 (extra) (depends on patch 6.0.116 and 6.0.121)
  5385. Problem:    Win32: ACL support doesn't work well on Samba drives.
  5386. Solution:   Add a check for working ACL support. (Mike Williams)
  5387. Files:        src/os_win32.c
  5388.  
  5389. Patch 6.0.256 (extra)
  5390. Problem:    Win32: ":highlight Comment guifg=asdf" does not give an error
  5391.         message. (Randall W.  Morris)  Also for other systems.
  5392. Solution:   Add gui_get_color() to give one error message for all systems.
  5393. Files:        src/gui.c, src/gui_amiga.c, src/gui_athena.c, src/gui_motif.c,
  5394.         src/gui_riscos.c, src/gui_x11.c, src/gui_gtk_x11.c,
  5395.         src/proto/gui.pro, src/syntax.c
  5396.  
  5397. Patch 6.0.257
  5398. Problem:    Win32: When 'mousefocus' is set and there is a BufRead
  5399.         autocommand, after the dialog for permissions changed outside of
  5400.         Vim: 'mousefocus' stops working. (Robert Webb)
  5401. Solution:   Reset need_mouse_correct after checking timestamps.
  5402. Files:        src/fileio.c
  5403.  
  5404. Patch 6.0.258
  5405. Problem:    When 'scrolloff' is 999 and there are folds, the text can jump up
  5406.         and down when moving the cursor down near the end of the file.
  5407.         (Lubomir Host)
  5408. Solution:   When putting the cursor halfway the window start counting lines at
  5409.         the end of a fold.
  5410. Files:        src/move.c
  5411.  
  5412. Patch 6.0.259
  5413. Problem:    MS-DOS: after editing the command line the cursor shape may remain
  5414.         like in Insert mode. (Volker Kiefel)
  5415. Solution:   Reset the cursor shape after editing the command line.
  5416. Files:        src/ex_getln.c
  5417.  
  5418. Patch 6.0.260
  5419. Problem:    GUI: May crash while starting up when giving an error message for
  5420.         missing color. (Servatius Brandt)
  5421. Solution:   Don't call gui_write() when still starting up.  Don't give error
  5422.         message for empty color name.  Don't use 't_vb' while the GUI is
  5423.         still starting up.
  5424. Files:        src/fileio.c, src/gui.c, src/misc1.c, src/ui.c
  5425.  
  5426. Patch 6.0.261
  5427. Problem:    nr2char() and char2nr() don't work with multi-byte characters.
  5428. Solution:   Use 'encoding' for these functions. (Yasuhiro Matsumoto)
  5429. Files:        runtime/doc/eval.txt, src/eval.c
  5430.  
  5431. Patch 6.0.262 (extra)
  5432. Problem:    Win32: IME doesn't work properly.  OnImeComposition() isn't used
  5433.         at all.
  5434. Solution:   Adjust various things for IME.
  5435. Files:        src/globals.h, src/gui_w32.c, src/mbyte.c, src/proto/ui.pro,
  5436.         src/structs.h, src/ui.c
  5437.  
  5438. Patch 6.0.263
  5439. Problem:    GTK: When a dialog is closed by the window manager, Vim hangs.
  5440.         (Christian J. Robinson)
  5441. Solution:   Use GTK_WIDGET_DRAWABLE() instead of GTK_WIDGET_VISIBLE().
  5442. Files:        src/gui_gtk.c, src/gui_gtk_x11.c
  5443.  
  5444. Patch 6.0.264
  5445. Problem:    The amount of virtual memory is used to initialize 'maxmemtot',
  5446.         which may be much more than the amount of physical memory,
  5447.         resulting in a lot of swapping.
  5448. Solution:   Get the amount of physical memory with sysctl(), sysconf() or
  5449.         sysinfo() when possible.
  5450. Files:        src/auto/configure, src/configure.in, src/config.h.in,
  5451.         src/os_unix.c, src/os_unix.h
  5452.  
  5453. Patch 6.0.265
  5454. Problem:    Win32: Using backspace while 'fkmap' is set causes a crash.
  5455.         (Jamshid Oasjmoha)
  5456. Solution:   Don't try mapping special keys.
  5457. Files:        src/farsi.c
  5458.  
  5459. Patch 6.0.266
  5460. Problem:    The rename() function deletes the file if the old and the new name
  5461.         are the same. (Volker Kiefel)
  5462. Solution:   Don't do anything if the names are equal.
  5463. Files:        src/fileio.c
  5464.  
  5465. Patch 6.0.267
  5466. Problem:    UTF-8: Although 'isprint' says a character is printable,
  5467.         utf_char2cells() still considers it unprintable.
  5468. Solution:   Use vim_isprintc() for characters upto 0x100. (Yasuhiro Matsumoto)
  5469. Files:        src/mbyte.c
  5470.  
  5471. Patch 6.0.268 (extra) (depends on patch 6.0.255)
  5472. Problem:    Win32: ACL check crashes when using forward slash in file name.
  5473. Solution:   Improve the check for the path in the file name.
  5474. Files:        src/os_win32.c
  5475.  
  5476. Patch 6.0.269
  5477. Problem:    Unprintable characters in a file name may cause problems when
  5478.         using the 'statusline' option or when 'buftype' is "nofile".
  5479. Solution:   call trans_characters() for the resulting statusline. (Yasuhiro
  5480.         Matsumoto)
  5481. Files:        src/buffer.c, src/screen.c, src/charset.c
  5482.  
  5483. Patch 6.0.270 (depends on patch 6.0.267)
  5484. Problem:    A tab causes UTF-8 text to be displayed in the wrong position.
  5485.         (Ron Aaron)
  5486. Solution:   Correct utf_char2cells() again.
  5487. Files:        src/mbyte.c
  5488.  
  5489. Patch 6.1a.001 (extra)
  5490. Problem:    32bit DOS: copying text to the clipboard may cause a crash.
  5491.         (Jonathan D Johnston)
  5492. Solution:   Don't copy one byte too much in SetClipboardData().
  5493. Files:        src/os_msdos.c
  5494.  
  5495. Patch 6.1a.002
  5496. Problem:    GTK: On some configurations, when closing a dialog from the window
  5497.         manager, Vim hangs.
  5498. Solution:   Catch the "destroy" signal. (Aric Blumer)
  5499. Files:        src/gui_gtk.c
  5500.  
  5501. Patch 6.1a.003
  5502. Problem:    Multi-byte: With UTF-8 double-wide char and 'virtualedit' set:
  5503.         yanking in Visual mode doesn't include the last byte. (Eric Long)
  5504. Solution:   Don't add a space for a double-wide character.
  5505. Files:        src/ops.c
  5506.  
  5507. Patch 6.1a.004 (extra)
  5508. Problem:    MINGW: undefined type. (Ron Aaron)
  5509. Solution:   Make GetCompositionString_inUCS2() static.
  5510. Files:        src/gui_w32.c, src/gui_w48.c, src/proto/gui_w32.pro
  5511.  
  5512. Patch 6.1a.005 (extra)
  5513. Problem:    Win32: ":hardcopy" doesn't work after ":hardcopy!". (Jonathan
  5514.         Johnston)
  5515. Solution:   Don't keep the driver context when using ":hardcopy!". (Vince
  5516.         Negri)
  5517. Files:        src/os_mswin.c
  5518.  
  5519. Patch 6.1a.006
  5520. Problem:    multi-byte: after setting 'encoding' the window title might be
  5521.         wrong.
  5522. Solution:   Force resetting the title. (Yasuhiro Matsumoto)
  5523. Files:        src/option.c
  5524.  
  5525. Patch 6.1a.007
  5526. Problem:    Filetype detection for "*.inc" doesn't work.
  5527. Solution:   Use a ":let" command. (David Schweikert)
  5528. Files:        runtime/filetype.vim
  5529.  
  5530. Patch 6.1a.008 (extra)
  5531. Problem:    Win32: ACL detection for network shares doesn't work.
  5532. Solution:   Include the trailing (back)slash in the root path. (Mike Williams)
  5533. Files:        src/os_win32.c
  5534.  
  5535. Patch 6.1a.009
  5536. Problem:    When using "\@<=" or "\@<!" in a pattern, a "\1" may refer to a ()
  5537.         part that follows, but it generates an error message.
  5538. Solution:   Allow a forward reference when there is a following "\@<=" or
  5539.         "\@<!".
  5540. Files:        runtime/doc/pattern.txt, src/regexp.c
  5541.  
  5542. Patch 6.1a.010
  5543. Problem:    When using ":help" and opening a new window, the alternate file
  5544.         isn't set.
  5545. Solution:   Set the alternate file to the previously edited file.
  5546. Files:        src/ex_cmds.c
  5547.  
  5548. Patch 6.1a.011
  5549. Problem:    GTK: ":set co=77", change width with the mouse, ":set co=77"
  5550.         doesn't resize the window. (Darren Hiebert)
  5551. Solution:   Set the form size after handling a resize event.
  5552. Files:        src/gui_gtk_x11.c
  5553.  
  5554. Patch 6.1a.012
  5555. Problem:    GTK: The file browser always returns a full path. (Lohner)
  5556. Solution:   Shorten the file name if possible.
  5557. Files:        src/gui_gtk.c
  5558.  
  5559. Patch 6.1a.013
  5560. Problem:    When using "=~word" in 'cinkeys' or 'indentkeys', the case of the
  5561.         last character of the word isn't ignored. (Raul Segura Acevedo)
  5562. Solution:   Ignore case when checking the last typed character.
  5563. Files:        src/edit.c
  5564.  
  5565. Patch 6.1a.014
  5566. Problem:    After patch 6.1a.006 can't compile without the title feature.
  5567. Solution:   Add an #ifdef.
  5568. Files:        src/option.c
  5569.  
  5570. Patch 6.1a.015
  5571. Problem:    MS-Windows: When expanding a file name that contains a '[' or '{'
  5572.         an extra backslash is inserted. (Raul Segura Acevedo)
  5573. Solution:   Avoid adding the backslash.
  5574. Files:        src/ex_getln.c
  5575.  
  5576. Patch 6.1a.016
  5577. Problem:    Completion after ":language" doesn't include "time". (Raul Segura
  5578.         Acevedo)
  5579. Solution:   Add the alternative to the completions.
  5580. Files:        src/ex_cmds2.c
  5581.  
  5582. Patch 6.1a.017
  5583. Problem:    Clicking the mouse in the top row of a window where the first line
  5584.         doesn't fit moves the cursor to the wrong column.
  5585. Solution:   Add the skipcol also for the top row of a window.
  5586. Files:        src/ui.c
  5587.  
  5588. Patch 6.1a.018
  5589. Problem:    When 'scrolloff' is one and the window height is one, "gj" can put
  5590.         the cursor above the window. (Raul Segura Acevedo)
  5591. Solution:   Don't let skipcol become bigger than the cursor column.
  5592. Files:        src/move.c
  5593.  
  5594. Patch 6.1a.019
  5595. Problem:    When using a composing character on top of an ASCII character, the
  5596.         "l" command clears the composing character.  Only when 'ruler' and
  5597.         'showcmd' are off. (Raphael Finkel)
  5598. Solution:   Don't move the cursor by displaying characters when there are
  5599.         composing characters.
  5600. Files:        src/screen.c
  5601.  
  5602. Patch 6.1a.020
  5603. Problem:    GTK: after patch 6.1a.011 resizing with the mouse doesn't always
  5604.         work well for small sizes. (Adrien Beau)
  5605. Solution:   Use another way to avoid the problem with ":set co=77".
  5606. Files:        src/gui_gtk_x11.c
  5607.  
  5608. Patch 6.1a.021
  5609. Problem:    Several Syntax menu entries are wrong or confusing.
  5610. Solution:   Rephrase and correct the menu entries. (Adrien Beau)
  5611. Files:        runtime/makemenu.vim, runtime/menu.vim
  5612.  
  5613. Patch 6.1a.022
  5614. Problem:    A tags file might be used twice on case insensitive systems.
  5615.         (Rick Swanton)
  5616. Solution:   Don't use the same file name twice in the default for the 'tags'
  5617.         option.  Ignore case when comparing names of already visited
  5618.         files.
  5619. Files:        src/misc2.c, src/option.c
  5620.  
  5621. Patch 6.1a.023
  5622. Problem:    When starting the GUI get "C" characters echoed in the terminal.
  5623. Solution:   Don't try sending a clear-screen command while the GUI is starting
  5624.         up.
  5625. Files:        src/screen.c
  5626.  
  5627. Patch 6.1a.024
  5628. Problem:    In other editors CTRL-F is often used for a find dialog.
  5629. Solution:   In evim use CTRL-F for the find dialog.
  5630. Files:        runtime/evim.vim
  5631.  
  5632. Patch 6.1a.025
  5633. Problem:    The choices for the fileformat dialog can't be translated.
  5634. Solution:   Add g:menutrans_fileformat_choices. (Adrien Beau)
  5635. Files:        runtime/menu.vim
  5636.  
  5637. Patch 6.1a.026
  5638. Problem:    Indenting Java files is wrong with "throws", "extends" and
  5639.         "implements" clauses.
  5640. Solution:   Update the Java indent script.
  5641. Files:        runtime/indent/java.vim
  5642.  
  5643. Patch 6.1a.027
  5644. Problem:    A few Syntax menu entries missing or incorrect.
  5645. Solution:   Add and correct the menu entries. (Adrien Beau)
  5646.         Shorten a few menus to avoid they become too long.
  5647. Files:        runtime/makemenu.vim, runtime/menu.vim
  5648.  
  5649. Patch 6.1a.028
  5650. Problem:    XIM: problems with feedback and some input methods.
  5651. Solution:   Use iconv for calculating the cells.  Remove the queue for
  5652.         key_press_event only when text was changed. (Yasuhiro Matsumoto)
  5653. Files:        src/globals.h, src/mbyte.c, src/screen.c
  5654.  
  5655. Patch 6.1a.029
  5656. Problem:    After patch 6.1a.028 can't compile GTK version with XIM but
  5657.         without multi-byte chars.
  5658. Solution:   Add an #ifdef. (Aschwin Marsman)
  5659. Files:        src/mbyte.c
  5660.  
  5661. Patch 6.1a.030
  5662. Problem:    With double-byte encodings toupper() and tolower() may have wrong
  5663.         results.
  5664. Solution:   Skip double-byte characters. (Eric Long)
  5665. Files:        src/eval.c
  5666.  
  5667. Patch 6.1a.031
  5668. Problem:    Accessing the 'balloondelay' variable may cause a crash.
  5669. Solution:   Make the variable for 'balloondelay' a long. (Olaf Seibert)
  5670. Files:        src/option.h
  5671.  
  5672. Patch 6.1a.032 (extra)
  5673. Problem:    Some menu files used a wrong encoding name for "scriptencoding".
  5674. Solution:   Move the translations to a separate file, which is sourced after
  5675.         setting "scriptencoding".
  5676.         Also add Czech menu translations in ASCII and update the other
  5677.         encodings.
  5678. Files:        runtime/lang/menu_cs_cz.iso_8859-1.vim,
  5679.         runtime/lang/menu_cs_cz.iso_8859-2.vim,
  5680.         runtime/lang/menu_czech_czech_republic.1250.vim,
  5681.         runtime/lang/menu_czech_czech_republic.1252.vim,
  5682.         runtime/lang/menu_czech_czech_republic.ascii.vim,
  5683.         runtime/lang/menu_de_de.iso_8859-1.vim,
  5684.         runtime/lang/menu_de_de.latin1.vim,
  5685.         runtime/lang/menu_fr_fr.iso_8859-1.vim,
  5686.         runtime/lang/menu_fr_fr.latin1.vim,
  5687.         runtime/lang/menu_french_france.1252.vim,
  5688.         runtime/lang/menu_german_germany.1252.vim,
  5689.         runtime/lang/menu_ja_jp.euc-jp.vim,
  5690.         runtime/lang/menu_ja_jp.utf-8.vim,
  5691.         runtime/lang/menu_japanese_japan.932.vim
  5692.  
  5693. Patch 6.1a.033
  5694. Problem:    XIM: doesn't reset input context.
  5695. Solution:   call xim_reset() with im_set_active(FALSE). (Takuhiro Nishioka)
  5696. Files:        src/mbyte.c
  5697.  
  5698. Patch 6.1a.034 (extra)
  5699. Problem:    Win32: The ACL checks for a readonly file still don't work well.
  5700. Solution:   Remove the ACL checks, go back to how it worked in Vim 6.0.
  5701. Files:        src/os_win32.c
  5702.  
  5703. Patch 6.1a.035
  5704. Problem:    multi-byte: When using ":sh" in the GUI, typed and displayed
  5705.         multi-byte characters are not handled correctly.
  5706. Solution:   Deal with multi-byte characters to and from the shell. (Yasuhiro
  5707.         Matsumoto)  Also handle UTF-8 composing characters.
  5708. Files:        src/os_unix.c
  5709.  
  5710. Patch 6.1a.036
  5711. Problem:    GTK: the save-yourself event was not handled.
  5712. Solution:   Catch the save-yourself event and preserve swap files. (Neil Bird)
  5713. Files:        src/gui_gtk_x11.c
  5714.  
  5715. Patch 6.1a.037
  5716. Problem:    The MS-Windows key mapping doesn't include CTRL-S for saving.
  5717.         (Vlad Sandrini)
  5718. Solution:   Map CTRL-S to ":update".
  5719. Files:        runtime/mswin.vim
  5720.  
  5721. Patch 6.1a.038
  5722. Problem:    Solaris: Including both sys/sysctl.h and sys/sysinfo.h doesn't
  5723.         work. (Antonio Colombo)
  5724. Solution:   Don't include sys/sysinfo.h when not calling sysinfo().
  5725. Files:        src/os_unix.c
  5726.  
  5727. Patch 6.1a.039
  5728. Problem:    Not all visual basic files are recognized.
  5729. Solution:   Add checks to catch *.ctl files. (Raul Segura Acevedo)
  5730. Files:        runtime/filetype.vim
  5731.  
  5732. Patch 6.1a.040
  5733. Problem:    A *.pl file is recognized as Perl, but it could be a prolog file.
  5734. Solution:   Check the first non-empty line. (Kontra Gergely)
  5735. Files:        runtime/filetype.vim
  5736.  
  5737. Patch 6.1a.041
  5738. Problem:    When pressing the left mouse button in the command line and them
  5739.         moving the mouse upwards, nearly all the text is selected.
  5740. Solution:   Don't try extending a modeless selection when there isn't one.
  5741. Files:        src/ui.c
  5742.  
  5743. Patch 6.1a.042
  5744. Problem:    When merging files, ":diffput" and ":diffget" are used a lot, but
  5745.         they require a lot of typing.
  5746. Solution:   Add "dp" for ":diffput" and "do" for ":diffget".
  5747. Files:        runtime/doc/diff.txt, src/diff.c, src/normal.c, src/proto/diff.pro
  5748.  
  5749.  
  5750. Patch 6.1b.001 (extra)
  5751. Problem:    Checking for wildcards in a path does not handle multi-byte
  5752.         characters with a trail byte which is a wildcard.
  5753. Solution:   Handle multi-byte characters correctly. (Muraoka Taro)
  5754. Files:        src/os_amiga.c, src/os_mac.c, src/os_msdos.c, src/os_mswin.c,
  5755.         src/os_unix.c
  5756.  
  5757. Patch 6.1b.002
  5758. Problem:    A regexp that ends in "\{" is not flagged as an error.  May cause
  5759.         a stack overflow when 'incsearch' is set. (Gerhard Hochholzer)
  5760. Solution:   Handle a missing "}" as an error.
  5761. Files:        src/regexp.c
  5762.  
  5763. Patch 6.1b.003 (extra)
  5764. Problem:    The RISC OS GUI doesn't compile.
  5765. Solution:   Include changes since Vim 5.7. (Andy Wingate)
  5766. Files:        src/Make_ro.mak, src/gui_riscos.c, src/os_riscos.c,
  5767.         src/os_riscos.h, src/proto/gui_riscos.pro
  5768.  
  5769. Patch 6.1b.004
  5770. Problem:    col("'>") returns a negative number for linewise selection. (Neil
  5771.         Bird)
  5772. Solution:   Don't add one to MAXCOL.
  5773. Files:        src/eval.c
  5774.  
  5775. Patch 6.1b.005
  5776. Problem:    Using a search pattern that causes an out-of-stack error while
  5777.         'hlsearch' is set keeps giving the hit-Enter prompt.
  5778.         A search pattern that takes a long time delays typing when
  5779.         'incsearch' is set.
  5780. Solution:   Stop 'hlsearch' highlighting when the regexp causes an error.
  5781.         Stop searching for 'incsearch' when a character is typed.
  5782. Files:        src/globals.h, src/message.c, src/screen.c, src/search.c,
  5783.         src/vim.h
  5784.  
  5785. Patch 6.1b.006
  5786. Problem:    When entering a composing character on the command line with
  5787.         CTRL-V, the text isn't redrawn correctly.
  5788. Solution:   Redraw the text under and after the cursor.
  5789. Files:        src/ex_getln.c
  5790.  
  5791. Patch 6.1b.007
  5792. Problem:    When the cursor is in the white space between two sentences, "dis"
  5793.         deletes the first character of the following sentence, "das"
  5794.         deletes a space after the sentence.
  5795. Solution:   Backup the cursor one character in these situations.
  5796. Files:        src/search.c
  5797.  
  5798. Patch 6.1b.008
  5799. Problem:    *.xsl files are not recognized as xslt but xml.
  5800.         Monk files are not recognized.
  5801. Solution:   Delete the duplicate line for *.xsl. (Johannes Zellner)
  5802.         Recognize monk files.
  5803. Files:        runtime/filetype.vim
  5804.  
  5805. Patch 6.1b.009
  5806. Problem:    Can't always compile small features and then adding eval feature,
  5807.         "sandbox" is undefined. (Axel Kielhorn)
  5808. Solution:   Always define "sandbox" when the eval feature is used.
  5809. Files:        src/globals.h
  5810.  
  5811. Patch 6.1b.010 (extra)
  5812. Problem:    When compiling gvimext.cpp with MSVC 4.2 get a number of warnings.
  5813. Solution:   Change "true" to "TRUE". (Walter Briscoe)
  5814. Files:        GvimExt/gvimext.cpp
  5815.  
  5816. Patch 6.1b.011
  5817. Problem:    When using a very long string for confirm(), can't quit the
  5818.         displaying at the more prompt. (Hari Krishna Dara)
  5819. Solution:   Jump to the end of the message to show the choices.
  5820. Files:        src/message.c
  5821.  
  5822. Patch 6.1b.012
  5823. Problem:    Multi-byte: When 'showbreak' is set and a double-wide character
  5824.         doesn't fit at the right window edge the cursor gets stuck there.
  5825.         Using cursor-left gets stuck when 'virtualedit' is set.  (Eric
  5826.         Long)
  5827. Solution:   Fix the way the extra ">" character is counted when 'showbreak' is
  5828.         set.  Don't correct cursor for virtual editing on a double-wide
  5829.         character.
  5830. Files:        src/charset.c, src/edit.c
  5831.  
  5832. Patch 6.1b.013
  5833. Problem:    A user command that partly matches with a buffer-local user
  5834.         command and matches full with a global user command unnecessarily
  5835.         gives an 'ambiguous command' error.
  5836. Solution:   Find the full global match even after a partly local match.
  5837. Files:        src/ex_docmd.c
  5838.  
  5839. Patch 6.1b.014
  5840. Problem:    EBCDIC: switching mouse events off causes garbage on screen.
  5841.         Positioning the cursor in the GUI causes garbage.
  5842. Solution:   Insert an ESC in the terminal code. (Ralf Schandl)
  5843.         Use "\b" instead of "\010" for KS_LE.
  5844. Files:        src/os_unix.c, src/term.c
  5845.  
  5846. Patch 6.1b.015
  5847. Problem:    Vimtutor has a typo.  Get a warning for "tempfile" if it
  5848.         doesn't exist.
  5849. Solution:   Move a quote to the end of a line. (Max Ischenko)
  5850.         Use "mktemp" first, more systems have it.
  5851. Files:        src/vimtutor
  5852.  
  5853. Patch 6.1b.016
  5854. Problem:    GTK: loading a fontset that works partly, Vim might hang or crash.
  5855. Solution:   Avoid that char_width becomes zero. (Yasuhiro Matsumoto)
  5856. Files:        src/gui_gtk_x11.c
  5857.  
  5858. Patch 6.1b.017
  5859. Problem:    GUI: When using ":shell" and there is a beep, nothing happens.
  5860. Solution:   Call vim_beep() to produce the beep from the shell. (Yasuhiro
  5861.         Matsumoto)
  5862. Files:        src/message.c
  5863.  
  5864. Patch 6.1b.018 (depends on 6.1b.006)
  5865. Problem:    When entering the encryption key, special keys may still reveal
  5866.         the typed characters.
  5867. Solution:   Make sure stars are used or nothing is shown in all cases.
  5868. Files:        src/digraph.c, src/getchar.c, src/ex_getln.c
  5869.  
  5870. Patch 6.1b.019 (depends on 6.1b.005)
  5871. Problem:    A search pattern that takes a long time slows down typing when
  5872.         'incsearch' is set.
  5873. Solution:   Pass SEARCH_PEEK to dosearch().
  5874. Files:        src/ex_getln.c
  5875.  
  5876. Patch 6.1b.020
  5877. Problem:    When using the matchit plugin, "%" finds a match on the "end" of a
  5878.         ":syntax region" command in Vim scripts.
  5879. Solution:   Skip over ":syntax region" commands by setting b:match_skip.
  5880. Files:        runtime/ftplugin/vim.vim
  5881.  
  5882. Patch 6.1b.021
  5883. Problem:    when 'mousefocus' is set, CTRL-W CTRL-] sometimes doesn't warp the
  5884.         pointer to the new window. (Robert Webb)
  5885. Solution:   Don't reset need_mouse_correct when checking the timestamp of a
  5886.         file.
  5887. Files:        src/fileio.c
  5888.  
  5889. Patch 6.1b.022
  5890. Problem:    With lots of folds "j" does not obey 'scrolloff' properly.
  5891.         (Srinath Avadhanula)
  5892. Solution:   Go to end of the fold before counting context lines.
  5893. Files:        src/move.c
  5894.  
  5895. Patch 6.1b.023
  5896. Problem:    On MS-Windows system() may cause checking timestamps, because Vim
  5897.         loses and gains input focus, while this doesn't happen on Unix.
  5898. Solution:   Don't check timestamps while system() is busy.
  5899. Files:        src/ex_cmds2.c, src/fileio.c, src/globals.h, src/misc1.c
  5900.  
  5901. Patch 6.1b.024 (extra)
  5902. Problem:    Gettext 0.11 complains that "sjis" is not a standard name.
  5903. Solution:   Use "cp932" instead.
  5904. Files:        src/po/sjiscorr.c
  5905.  
  5906. Patch 6.1b.025 (extra)
  5907. Problem:    Win32: When closing gvim while it is minimized  and has a changed
  5908.         file, the file-changed dialog pops up in a corner of the screen.
  5909. Solution:   Put the dialog in the middle of the screen.
  5910. Files:        src/gui_w48.c
  5911.  
  5912. Patch 6.1b.026
  5913. Problem:    When 'diffopt' contains 'iwhite' but not 'icase': differences in
  5914.         case are not highlighted properly. (Gerhard Hochholzer)
  5915. Solution:   Don't ignore case when ignoring white space differences.
  5916. Files:        src/diff.c
  5917.  
  5918. Patch 6.1b.027
  5919. Problem:    "vim --remote +" may cause a crash.
  5920. Solution:   Check for missing file name argument. (Martin Kahlert)
  5921. Files:        src/main.c
  5922.  
  5923. Patch 6.1b.028 (extra)
  5924. Problem:    Win16: Can't compile after patch 6.1b.025.
  5925. Solution:   Add code specifically for Win16. (Vince Negri)
  5926. Files:        src/gui_w48.c
  5927.  
  5928. Patch 6.1b.029
  5929. Problem:    Win32: When a directory on an NTFS partition is read/execute (no
  5930.         delete,modify,write) and the file has modify rights, trying to
  5931.         write the file deletes it.  Making the file read/write/execute
  5932.         (not delete) solves it. (Mark Canup)
  5933. Solution:   Use the Unix code to check for a writable directory.  If not, then
  5934.         make a backup copy and overwrite the file.
  5935. Files:        src/fileio.c
  5936.  
  5937. Patch 6.1b.030 (extra)
  5938. Problem:    Mac: small mistake in the build script and prototypes.
  5939. Solution:   Fix the build script and add the prototypes. (Axel Kielhorn)
  5940. Files:        src/os_mac.build, src/gui_mac.c
  5941.  
  5942. Patch 6.1b.031 (extra)
  5943. Problem:    Win32 GUI: ":set guifont=*" doesn't set 'guifont' to the resulting
  5944.         font name. (Vlad Sandrini)
  5945. Solution:   Put the code back in gui_mch_init_font() to form the font name out
  5946.         of the logfont.
  5947. Files:        src/gui_w48.c
  5948.  
  5949. Patch 6.1b.032
  5950. Problem:    Athena: Setting a color scheme before the GUI has started causes a
  5951.         crash. (Todd Blumer)
  5952. Solution:   Don't try using color names that haven't been set yet.
  5953. Files:        src/gui_athena.c
  5954.  
  5955. Patch 6.1b.033
  5956. Problem:    When using a count after a ":s" command may get ml_get errors.
  5957.         (Dietmar Lang)
  5958. Solution:   Check that the resulting range does not go past the end of the
  5959.         buffer.
  5960. Files:        src/ex_cmds.c
  5961.  
  5962. Patch 6.1b.034
  5963. Problem:    After sourcing mswin.vim, when using <C-S-Right> after
  5964.         auto-indenting and then <Del>, get warning for allocating
  5965.         ridiculous amount of memory. (Dave Delgreco)
  5966. Solution:   Adjust the start of the Visual area when deleting the auto-indent.
  5967. Files:        src/edit.c
  5968.  
  5969. Patch 6.1b.035
  5970. Problem:    When using evim, dropping a file on Vim and then double clicking
  5971.         on a word, it is changed to "i". (Merlin Hansen)
  5972. Solution:   Reset need_start_insertmode after editing the file.
  5973. Files:        src/ex_docmd.c
  5974.  
  5975.  
  5976. ==============================================================================
  5977. VERSION 6.2                        *version-6.2*
  5978.  
  5979. This section is about improvements made between version 6.1 and 6.2.
  5980.  
  5981. This is mainly a bug-fix release.  There are also a few new features.
  5982.  
  5983. Main new features:
  5984. - Support for GTK 2. (Daniel Elstner)
  5985. - Support for editing Arabic text. (Nadim Shaikli & Isam Bayazidi)
  5986. - ":try" command and exception handling. (Servatius Brandt)
  5987. - Support for the neXtaw GUI toolkit (mostly like Athena). (Alexey Froloff)
  5988. - Cscope support for Win32. (Khorev Sergey)
  5989. - Support for PostScript printing in various 8-bit encodings. (Mike Williams)
  5990.  
  5991.  
  5992. Changed                            *changed-6.2*
  5993. -------
  5994.  
  5995. Removed the scheme indent file, the internal Lisp indenting works well now.
  5996.  
  5997. Moved the GvimEXt, OleVim and VisVim directories into the "src" directory.
  5998. This is more consistent with how xxd is handled.
  5999.  
  6000. The VisVim.dll file is installed in the top directory, next to gvimext.dll,
  6001. instead of in a subdirectory "VisVim".  Fixes that NSIS was uninstalling it
  6002. from the wrong directory.
  6003.  
  6004. Removed the art indent file, it didn't do anything.
  6005.  
  6006. submatch() returned line breaks with CR instead of LF.
  6007.  
  6008. Changed the Win32 Makefiles to become more uniform and compile gvimext.dll.
  6009. (Dan Sharp)
  6010.  
  6011. 'cindent': Align a "//" comment with a "//" comment in a previous line.
  6012. (Helmut Stiegler)
  6013.  
  6014. Previously only for xterm-like terminals parent widgets were followed to find
  6015. the title and icon label.  Now do this for all terminal emulators.
  6016.  
  6017. Made it possible to recognize backslashes for "%" matching.  The 'M' flag in
  6018. 'cpoptions' disables it. (Haakon Riiser)
  6019.  
  6020. Removed the Make_tcc.mak makefile for Turbo C.  It didn't work and we probably
  6021. can't make it work (the compiler runs out of memory).
  6022.  
  6023. Even though the documentation refers to keywords, "[ CTRL-D" was using
  6024. 'isident' to find matches.  Changed it to use 'iskeyword'.  Also applies to
  6025. other commands that search for defined words in included files such as
  6026. ":dsearch", "[D" and "[d".
  6027.  
  6028. Made 'keywordprg' global-local. (Christian Robinson)
  6029.  
  6030. Enabled the Netbeans interface by default.  Reversed the configure argument
  6031. from "--enable-netbeans" to "--disable-netbeans".
  6032.  
  6033.  
  6034. Added                            *added-6.2*
  6035. -----
  6036.  
  6037. New options:
  6038.     'arabic'
  6039.     'arabicshape'
  6040.     'ambiwidth'
  6041.     'autochdir'
  6042.     'casemap'
  6043.     'copyindent'
  6044.     'cscopequickfix'
  6045.     'preserveindent'
  6046.     'printencoding'
  6047.     'rightleftcmd'
  6048.     'termbidi'
  6049.     'toolbariconsize'
  6050.     'winfixheight'
  6051.  
  6052. New keymaps:
  6053.     Serbian (Aleksandar Veselinovic)
  6054.     Chinese Pinyin (Fredrik Roubert)
  6055.     Esperanto (Antoine J. Mechelynck)
  6056.  
  6057. New syntax files:
  6058.     Valgrind (Roger Luethi)
  6059.     Smarty template (Manfred Stienstra)
  6060.     MySQL (Kenneth Pronovici)
  6061.     RockLinux package description (Piotr Esden-Tempski)
  6062.     MMIX (Dirk Huesken)
  6063.     gkrellmrc (David Necas)
  6064.     Tilde (Tobias Rundtrom)
  6065.     Logtalk (Paulo Moura)
  6066.     PLP (Juerd Waalboer)
  6067.     fvwm2m4 (David Necas)
  6068.     IPfilter (Hendrik Scholz)
  6069.     fstab (Radu Dineiu)
  6070.     Quake (Nikolai Weibull)
  6071.     Occam (Mario Schweigler)
  6072.     lpc (Shizhu Pan)
  6073.     Exim conf (David Necas)
  6074.     EDIF (Artem Zankovich)
  6075.     .cvsrc (Nikolai Weibull)
  6076.     .fetchmailrc (Nikolai Weibull)
  6077.     GNU gpg (Nikolai Weibull)
  6078.     Grub (Nikolai Weibull)
  6079.     Modconf (Nikolai Weibull)
  6080.     RCS (Dmitry Vasiliev)
  6081.     Art (Dorai Sitaram)
  6082.     Renderman Interface Bytestream (Andrew J Bromage)
  6083.     Mailcap (Doug Kearns)
  6084.     Subversion commit file (Dmitry Vasiliev)
  6085.     Microsoft IDL (Vadim Zeitlin)
  6086.     WildPackets EtherPeek Decoder (Christopher Shinn)
  6087.     Spyce (Rimon Barr)
  6088.     Resolv.conf (Radu Dineiu)
  6089.     A65 (Clemens Kirchgatterer)
  6090.     sshconfig and sshdconfig (David Necas)
  6091.     Cheetah and HTMLCheetah (Max Ischenko)
  6092.     Packet filter (Camiel Dobbelaar)
  6093.  
  6094. New indent files:
  6095.     Eiffel (David Clarke)
  6096.     Tilde (Tobias Rundtrom)
  6097.     Occam (Mario Schweigler)
  6098.     Art (Dorai Sitaram)
  6099.     PHP (Miles Lott)
  6100.     Dylan (Brent Fulgham)
  6101.  
  6102. New tutor translations:
  6103.     Slovak (Lubos Celko)
  6104.     Greek (Christos Kontas)
  6105.     German (Joachim Hofmann)
  6106.     Norwegian (╪yvind Holm)
  6107.  
  6108. New filetype plugins:
  6109.     Occam (Mario Schweigler)
  6110.     Art (Dorai Sitaram)
  6111.     ant.vim, aspvbs.vim, config.vim, csc.vim, csh.vim, dtd.vim, html.vim,
  6112.     jsp.vim, pascal.vim, php.vim, sgml.vim, sh.vim, svg.vim, tcsh.vim,
  6113.     xhtml.vim, xml.vim, xsd.vim.  (Dan Sharp)
  6114.  
  6115. New compiler plugins:
  6116.     Checkstyle (Doug Kearns)
  6117.     g77 (Ralf Wildenhues)
  6118.     fortran (Johann-Guenter Simon)
  6119.     Xmllint (Doug Kearns)
  6120.     Ruby (Tim Hammerquist)
  6121.     Modelsim vcom (Paul Baleme)
  6122.  
  6123. New menu translations:
  6124.     Brazilian (JosΘ de Paula)
  6125.     British (Mike Williams)
  6126.     Korean in UTF-8. (Nam SungHyun)
  6127.     Norwegian (╪yvind Holm)
  6128.     Serbian (Aleksandar Jelenak)
  6129.  
  6130. New message translation for Norwegian. (╪yvind Holm)
  6131.  
  6132. New color scheme:
  6133.     desert (Hans Fugal)
  6134.  
  6135. Arabic specific features.  'arabicshape', 'termbidi', 'arabic' and
  6136. 'rightleftcmd' options.  (Nadim Shaikli & Isam Bayazidi)
  6137.  
  6138. Support for neXtaw GUI toolkit, mostly like Athena. (Alexey Froloff)
  6139.  
  6140. Win32: cscope support. (Khorev Sergey)
  6141.  
  6142. VMS: various improvements to documentation and makefiles.  (Zoltan Arpadffy)
  6143.  
  6144. Added "x" key to the explorer plugin: execute the default action. (Yasuhiro
  6145. Matsumoto)
  6146.  
  6147. Compile gvimext.dll with MingW. (Rene de Zwart)
  6148.  
  6149. Add the "tohtml.vim" plugin.  It defines the ":TOhtml" user command, an easy
  6150. way to convert text to HTML.
  6151.  
  6152. Added ":try" / ":catch" / ":finally" / ":endtry" commands.  Add E999 numbers
  6153. to all error messages, so that they can be caught by the number.
  6154. (Servatius Brandt)
  6155. Moved part of ex_docmd.c to the new ex_eval.c source file.
  6156.  
  6157. Include support for GTK+ 2.2.x (Daniel Elstner)
  6158. Adds the "~" register: drag & drop text.
  6159. Adds the 'toolbariconsize' option.
  6160. Add -Dalloca when running lint to work around a problem with alloca()
  6161. prototype.
  6162.  
  6163. When selecting an item in the error window to jump to, take some effort to
  6164. find an ordinary window to show the file in (not a preview window).
  6165.  
  6166. Support for PostScript printing of various 8-bit encodings. (Mike Williams)
  6167.  
  6168. inputdialog() accepts a third argument that is used when the dialog is
  6169. cancelled.  Makes it possible to see a difference between cancelling and
  6170. entering nothing.
  6171.  
  6172. Included Aap recipes.  Can be used to update Vim to the latest version,
  6173. building and installing.
  6174.  
  6175. "/" option in 'cinoptions': extra indent for comment lines. (Helmut Stiegler)
  6176.  
  6177. Vim variable "v:register" and functions setreg(), getreg() and getregtype().
  6178. (Michael Geddes)
  6179.  
  6180. "v" flag in 'cpoptions': Leave text on screen with backspace in Insert mode.
  6181. (Phillip Vandry)
  6182.  
  6183. Dosinst.exe also finds gvimext.dll in the "GvimExt" directory.  Useful when
  6184. running install in the "src" directory for testing.
  6185.  
  6186. Support tag files that were sorted with case ignored. (Flemming Madsen)
  6187.  
  6188. When completing a wildcard in a leading path element, as in "../*/Makefile",
  6189. only the last part ("Makefile") was listed.  Support custom defined
  6190. command line completion.  (Flemming Madsen)
  6191.  
  6192. Also recognize "rxvt" as an xterm-like terminal. (Tomas Styblo)
  6193.  
  6194. Proper X11 session management.  Fixes that the WM_SAVE_YOURSELF event was not
  6195. used by popular desktops.  (Neil Bird)
  6196. Not used for Gnome 2, it has its own handling.
  6197.  
  6198. Support BOR, DEBUG and SPAWNO arguments for the Borland 3 Makefile. (Walter
  6199. Briscoe)
  6200.  
  6201. Support page breaks for printing.  Adds the "formfeed" field in
  6202. 'printoptions'.  (Mike Williams)
  6203.  
  6204. Mac OSX: multi-language support: iconv and gettext. (Muraoka Taro, Axel
  6205. Kielhorn)
  6206.  
  6207. "\Z" flag in patterns: ignore differences in combining characters. (Ron Aaron)
  6208.  
  6209. Added 'preserveindent' and 'copyindent' options.  They use existing white
  6210. space characters instead of using Tabs as much as possible. (Chris Leishman)
  6211.  
  6212. Updated Unicode tables to Unicode 4.0. (Raphael Finkel)
  6213.  
  6214. Support for the mouse wheel in rxvt. (AIDA Shinra)
  6215.  
  6216. Win32: Added ":8" file modifier to get short filename.  Test50 tests the ":8"
  6217. expansion on Win32 systems. (Michael Geddes)
  6218.  
  6219. 'cscopequickfix' option: Open quickfix window for Cscope commands.  Also
  6220. cleanup the code for giving messages.  (Khorev Sergey)
  6221.  
  6222. GUI: Support more than 222 columns for mouse positions.
  6223.  
  6224. ":stopinsert" command: Don't return to Insert mode.
  6225.  
  6226. "interrupt" command for debug mode.  Useful for simulating CTRL-C. (Servatius
  6227. Brandt)
  6228.  
  6229.  
  6230. Fixed                            *fixed-6.2*
  6231. -----
  6232.  
  6233. Removed a few unused #defines from config.h.in, os_os2_cfg.h and os_vms_conf.h.
  6234.  
  6235. The Vim icons in PNG format didn't have a transparent background. (Greg
  6236. Roelofs)
  6237.  
  6238. Fixed a large number of spelling mistakes in the docs. (Adri Verhoef)
  6239.  
  6240. The #defines for prototype generation were causing trouble.  Changed them to
  6241. typedefs.
  6242.  
  6243. A new version of libintl.h uses __asm__, which confuses cproto.  Define a
  6244. dummy __asm__ macro.
  6245.  
  6246. When 'virtualedit' is set can't move to halfway an unprintable character.
  6247. Cripples CTRL-V selection. (Taro Muraoka)
  6248. Allow moving to halfway an unprintable character.  Don't let getvvcol() change
  6249. the pos->coladd argument.
  6250.  
  6251. When a tab wraps to the next line, 'listchars' is set and 'foldcolumn' is
  6252. non-zero, only one character of the foldcolumn is highlighted. (Muraoka Taro)
  6253.  
  6254. When using ":catch" without an argument Vim crashes. (Yasuhiro Matsumoto)
  6255. When no argument given use the ".*" pattern.
  6256.  
  6257. Win32: When gvim.exe is started from a shortcut with the window style property
  6258. set to maximize Vim doesn't start with a maximized window. (Yasuhiro
  6259. Matsumoto)  Open the window with the default size and don't call ShowWindow()
  6260. again when it's already visible. (Helmut Stiegler)
  6261.  
  6262. gui_gtk.c used MAX, but it's undefined to avoid a conflict with system header
  6263. files.
  6264.  
  6265. Win32: When closing a window from a mapping some pixels remain on the
  6266. statusline. (Yasuhiro Matsumoto)
  6267.  
  6268. A column number in an errorformat that goes beyond the end of the line may
  6269. cause a crash.
  6270.  
  6271. ":throw 'test'" crashes Vim. (Yasuhiro Matsumoto)
  6272.  
  6273. The file selector's scrollbar colors are not set after doing a ":hi Scrollbar
  6274. guifg=color".  And the file selector's colors are not changed by the
  6275. colorscheme command.  (David Harrison)
  6276.  
  6277. Motif: When compiling with FEAT_FOOTER defined, the text area gets a few
  6278. pixels extra space on the right.  Remove the special case in
  6279. gui_get_base_width(). (David Harrison)
  6280.  
  6281. Using CTRL-R CTRL-P in Insert mode puts the '] mark in the wrong position.
  6282. (Helmut Stiegler)
  6283.  
  6284. When 'formatoptions' includes "awct" a non-comment wasn't auto-formatted.
  6285.  
  6286. Using a "--cmd" argument more than 10 times caused a crash.
  6287.  
  6288. DEC style mouse support didn't work if the page field is not empty.
  6289. (Uribarri)
  6290.  
  6291. "vim -l one two" did only set 'lisp' in the first file.  Vi does it for every
  6292. file.
  6293.  
  6294. ":set tw<" didn't work.  Was checking for '^' instead of '<'.
  6295.  
  6296. In ":hardcopy > %.ps" the "%" was not expanded to the current filename.
  6297.  
  6298. Made ":redraw" also update the Visual area.
  6299.  
  6300. When a not implemented command, such as ":perl", has wrong arguments the less
  6301. important error was reported, giving the user the idea the command could work.
  6302.  
  6303. On non-Unix systems autocommands for writing did not attempt a match with the
  6304. short file name, causing a pattern like "a/b" to fail.
  6305.  
  6306. VMS: e_screenmode was not defined and a few other fixes for VMS. (Zoltan
  6307. Arpadffy)
  6308.  
  6309. redraw_msg() depended on FEAT_ARABIC instead of FEAT_RIGHTLEFT. (Walter
  6310. Briscoe)
  6311.  
  6312. Various changes for the PC Makefiles. (Walter Briscoe)
  6313.  
  6314. Use _truename() instead of our own code to expand a file name into a full
  6315. path. (Walter Briscoe)
  6316.  
  6317. Error in filetype check for /etc/modutils. (Lubomir Host)
  6318.  
  6319. Cscope interface: allocated a buffer too small.
  6320.  
  6321. Win16: remove a trailing backslash from a path when obtaining the permission
  6322. flags. (Vince Negri)
  6323.  
  6324. When searching for tags with case ignored Vim could hang.
  6325.  
  6326. When searching directories with a stopdir could get a crash.  Did not
  6327. re-allocate enough memory. (Vince Negri)
  6328.  
  6329. A user command may cause a crash.  Don't use the command index when it's
  6330. negative. (Vince Negri)
  6331.  
  6332. putenv() didn't work for MingW and Cygwin. (Dan Sharp)
  6333.  
  6334. Many functions were common between os_msdos.c and os_win16.c.  Use os_msdos.c
  6335. for compiling the Win16 version and remove the functions from os_win16.c.
  6336. (Vince Negri)
  6337.  
  6338. For terminals that behave like an xterm but didn't have a name that is
  6339. recognized, the window title would not always be set.
  6340.  
  6341. When syntax highlighting is off ":hardcopy" could still attempt printing
  6342. colors.
  6343.  
  6344. Crash when using ":catch" without an argument.  (Servatius Brandt)
  6345.  
  6346. Win32: ":n #" doubled the backslashes.
  6347.  
  6348. Fixed Arabic shaping for the command line. (Nadim Shaikli)
  6349.  
  6350. Avoid splitting up a string displayed on the command line into individual
  6351. characters, it breaks Arabic shaping.
  6352.  
  6353. Updated Cygwin and MingW makefiles to use more dependencies. (Dan Sharp)
  6354.  
  6355. 2html.vim didn't work with 'nomagic' set.
  6356.  
  6357. When a local argument list is used and doing ":only" Vim could crash later.
  6358. (Muraoka Taro)
  6359.  
  6360. When using "%P" in 'statusline' and the fillchar is "-", a percentage of 3%
  6361. could result in "-3%".  Also avoid changing a space inside a filename to the
  6362. fill character.
  6363.  
  6364. MSwin: Handling of backslashes and double quotes for command line arguments
  6365. was not like what other applications do.  (Walter Briscoe)
  6366.  
  6367. Test32 sometimes didn't work, because test11.out was written as TEST11.OUT.
  6368.  
  6369. Avoid pointer conversions warnings for Borland C 5.5 in dosinst.c and
  6370. uninstal.c.
  6371.  
  6372. More improvements for Make_bc3.mak file. (Walter Briscoe)
  6373.  
  6374. When ":syn sync linebreaks=1" is used, editing the first line caused a redraw
  6375. of the whole screen.
  6376.  
  6377. Making translated messages didn't work, if_perl.xs wasn't found. (Vlad
  6378. Sandrini)
  6379.  
  6380. Motif and Athena: moving Vim to the foreground didn't uniconify it.  Use
  6381. XMapRaised() instead of XRaiseWindow(). (Srikanth Sankaran)
  6382.  
  6383. When using ":ptag" in a window where 'scrollbind' is set the preview window
  6384. would also have 'scrollbind' set.  Also reset 'foldcolumn' and 'diff'.
  6385.  
  6386. Various commands that split a window took over 'scrollbind', which is hardly
  6387. ever desired.  Esp. for "q:" and ":copen".  Mostly reset 'scrollbind' when
  6388. splitting a window.
  6389.  
  6390. When 'shellslash' is set in the vimrc file the first entry of ":scriptnames"
  6391. would still have backslashes.  Entries in the quickfix list could also have
  6392. wrong (back)slashes.
  6393.  
  6394. Win32: printer dialog texts were not translated. (Yasuhiro Matsumoto)
  6395.  
  6396. When using a multi-byte character with a K_SPECIAL byte or a special key code
  6397. with "--remote-send" the received byte sequence was mangled.  Put it in the
  6398. typeahead buffer instead of the input buffer.
  6399.  
  6400. Win32: The cursor position was incorrect after changing cursor shape.
  6401. (Yasuhiro Matsumoto).
  6402.  
  6403. Win32: When 'encoding' is not the current codepage the title could not be set
  6404. to non-ascii characters.
  6405.  
  6406. "vim -d scp://machine/file1 scp://machine/file2" did not work, there was only
  6407. one window.  Fixed the netrw plugin not to wipe out the buffer if it is
  6408. displayed in other windows.
  6409.  
  6410. "/$" caused "e" in last column of screen to disappear, a highlighted blank was
  6411. displayed instead.
  6412.  
  6413. ":s/ *\ze\n//e" removed the line break and introduced arbitrary text.  Was
  6414. using the line count including what matched after the "\ze".
  6415.  
  6416. Using the "c" flag with ":s" changed the behavior when a line break is
  6417. replaced and "\@<=" is used.  Without "c" a following match was not found.
  6418.  
  6419. ":%s/\vA@<=\nB@=//gce" got stuck on "A\nB" when entering "n".
  6420.  
  6421. VMS: add HAVE_STRFTIME in the config file. (Zoltan Arpadffy)
  6422.  
  6423. When a delete prompts if a delete should continue when yanking is not
  6424. possible, restore msg_silent afterwards.
  6425.  
  6426. ":sign" did not complain about a missing argument.
  6427.  
  6428. When adding or deleting a sign 'hlsearch' highlighting could disappear.
  6429. Use the generic functions for updating signs.
  6430.  
  6431. On MS-Windows NT, 2K and XP don't use command.com but cmd.exe for testing.
  6432. Makes the tests work on more systems.
  6433.  
  6434. In the DOS tests don't create "/tmp" to avoid an error.
  6435.  
  6436. Mac classic: Problems with reading files with CR vs CR/LF.  Rely on the
  6437. library version of fgets() to work correctly for Metrowerks 2.2. (Axel
  6438. Kielhorn)
  6439.  
  6440. When typing a password a "*" was shown for each byte instead of for each
  6441. character.  Added multi-byte handling to displaying the stars. (Yasuhiro
  6442. Matsumoto)
  6443.  
  6444. When using Perl 5.6 accessing $curbuf doesn't work.  Add an #ifdef to use
  6445. different code for 5.6 and 5.8.  (Dan Sharp)
  6446.  
  6447. MingW and Cygwin: Don't strip the debug executable. (Dan Sharp)
  6448.  
  6449. An assignment to a variable with curlies that includes "==" doesn't work.
  6450. Skip over the curlies before searching for an "=". (Vince Negri)
  6451.  
  6452. When cancelling the selection of alternate matching tags the tag stack index
  6453. could be advanced too far, resulting in an error message when using CTRL-T.
  6454.  
  6455.  
  6456. Patch 6.1.001
  6457. Problem:    When formatting UTF-8 text it might be wrapped at a space that is
  6458.         followed by a composing character. (Raphael Finkel)
  6459.         Also correct a display error for removing a composing char on top
  6460.         of a space.
  6461. Solution:   Check for a composing character on a space.
  6462. Files:        src/edit.c, src/misc1.c, src/screen.c
  6463.  
  6464. Patch 6.1.002 (extra)
  6465. Problem:    Win32: after a ":popup" command the mouse pointer stays hidden.
  6466. Solution:   Unhide the mouse pointer before showing the menu.
  6467. Files:        src/gui_w48.c
  6468.  
  6469. Patch 6.1.003
  6470. Problem:    When 'laststatus' is zero and there is a vertical split, the
  6471.         vertical separator is drawn in the command line. (Srikant
  6472.         Sankaran)
  6473. Solution:   Don't draw the vertical separator where there is no statusline.
  6474. Files:        src/screen.c
  6475.  
  6476. Patch 6.1.004
  6477. Problem:    Unicode 3.2 changes width and composing of a few characters.
  6478.         (Markus Kuhn)
  6479. Solution:   Adjust the Unicode functions for the character width and composing
  6480.         characters.
  6481. Files:        src/mbyte.c
  6482.  
  6483. Patch 6.1.005
  6484. Problem:    When using more than 50 items in 'statusline' Vim might crash.
  6485.         (Steve Hall)
  6486. Solution:   Increment itemcnt in check_stl_option(). (Flemming Madsen)
  6487. Files:        src/option.c
  6488.  
  6489. Patch 6.1.006
  6490. Problem:    When using "P" in Visual mode to put linewise selected text, the
  6491.         wrong text is deleted. (Jakub Turski)
  6492. Solution:   Put the text before the Visual area and correct the text to be
  6493.         deleted for the inserted lines.
  6494.         Also fix that "p" of linewise text in Visual block mode doesn't
  6495.         work correctly.
  6496. Files:        src/normal.c, src/ops.c
  6497.  
  6498. Patch 6.1.007
  6499. Problem:    Using ":filetype plugin off" when filetype plugins were never
  6500.         enabled causes an error message. (Yiu Wing)
  6501. Solution:   Use ":silent!" to avoid the error message.
  6502. Files:        runtime/ftplugof.vim
  6503.  
  6504. Patch 6.1.008
  6505. Problem:    The "%" command doesn't ignore \" inside a string, it's seen as
  6506.         the end of the string. (Ken Clark)
  6507. Solution:   Skip a double quote preceded by an odd number of backslashes.
  6508. Files:        src/search.c
  6509.  
  6510. Patch 6.1.009
  6511. Problem:    Vim crashes when using a huge number for the maxwid value in a
  6512.         statusline. (Robert M. Nowotniak)
  6513. Solution:   Check for an overflow that makes maxwid negative.
  6514. Files:        src/buffer.c
  6515.  
  6516. Patch 6.1.010
  6517. Problem:    Searching backwards for a question mark with "?\?" doesn't work.
  6518.         (Alan Isaac)  Same problem in ":s?\??" and ":g?\??".
  6519. Solution:   Change the "\?" in a pattern to "?" when using "?" as delimiter.
  6520. Files:        src/ex_cmds.c, src/ex_docmd.c, src/proto/regexp.pro, src/regexp.c,
  6521.         src/search.c, src/syntax.c, src/tag.c
  6522.  
  6523. Patch 6.1.011
  6524. Problem:    XIM: doesn't work correctly when 'number' is set.  Also, a focus
  6525.         problem when selecting candidates.
  6526. Solution:   Fix the XIM problems. (Yasuhiro Matsumoto)
  6527. Files:        src/mbyte.c, src/screen.c
  6528.  
  6529. Patch 6.1.012
  6530. Problem:    A system() call might fail if fread() does CR-LF to LF
  6531.         translation.
  6532. Solution:   Open the output file in binary mode. (Pavol Huhas)
  6533. Files:        src/misc1.c
  6534.  
  6535. Patch 6.1.013
  6536. Problem:    Win32: The default for 'printexpr' doesn't work when there are
  6537.         special characters in 'printdevice'.
  6538. Solution:   Add double quotes around the device name. (Mike Williams)
  6539. Files:        runtime/doc/option.txt, src/option.c
  6540.  
  6541. Patch 6.1.014
  6542. Problem:    An operator like "r" used in Visual block mode doesn't use
  6543.         'virtualedit' when it's set to "block".
  6544. Solution:   Check for 'virtualedit' being active in Visual block mode when the
  6545.         operator was started.
  6546. Files:        src/ex_docmd.c, src/globals.h, src/misc2.c, src/normal.c,
  6547.         src/ops.c, src/undo.c
  6548.  
  6549. Patch 6.1.015
  6550. Problem:    After patch 6.1.014 can't compile with tiny features. (Christian
  6551.         J. Robinson)
  6552. Solution:   Add the missing define of virtual_op.
  6553. Files:        src/vim.h
  6554.  
  6555. Patch 6.1.016 (extra)
  6556. Problem:    Win32: Outputting Hebrew or Arabic text might have a problem with
  6557.         reversing.
  6558. Solution:   Replace the RevOut() function with ETO_IGNORELANGUAGE. (Ron Aaron)
  6559. Files:        src/gui_w32.c
  6560.  
  6561. Patch 6.1.017
  6562. Problem:    Cygwin: After patch 6.1.012 Still doesn't do binary file I/O.
  6563.         (Pavol Juhas)
  6564. Solution:   Define BINARY_FILE_IO for Cygwin.
  6565. Files:        src/os_unix.h
  6566.  
  6567. Patch 6.1.018
  6568. Problem:    Error message when using cterm highlighting. (Leonardo Di Lella)
  6569. Solution:   Remove a backslash before a question mark.
  6570. Files:        runtime/syntax/cterm.vim
  6571.  
  6572. Patch 6.1.019 (extra)
  6573. Problem:    Win32: File name is messed up when editing just a drive name.
  6574.         (Walter Briscoe)
  6575. Solution:   Append a NUL after the drive name. (Vince Negri)
  6576. Files:        src/os_win32.c
  6577.  
  6578. Patch 6.1.020
  6579. Problem:    col("'>") returns a huge number after using Visual line mode.
  6580. Solution:   Return the length of the line instead.
  6581. Files:        src/eval.c
  6582.  
  6583. Patch 6.1.021 (depends on patch 6.1.009)
  6584. Problem:    Vim crashes when using a huge number for the minwid value in a
  6585.         statusline. (Robert M. Nowotniak)
  6586. Solution:   Check for an overflow that makes minwid negative.
  6587. Files:        src/buffer.c
  6588.  
  6589. Patch 6.1.022
  6590. Problem:    Grabbing the status line above the command-line window works like
  6591.         the bottom status line was grabbed. (Jim Battle)
  6592. Solution:   Make it possible to grab the status line above the command-line
  6593.         window, so that it can be resized.
  6594. Files:        src/ui.c
  6595.  
  6596. Patch 6.1.023 (extra)
  6597. Problem:    VMS: running tests doesn't work properly.
  6598. Solution:   Adjust the makefile. (Zoltan Arpadffy)
  6599. Files:        src/testdir/Make_vms.mms
  6600.  
  6601. Patch 6.1.024
  6602. Problem:    When header files use a new syntax for declaring functions, Vim
  6603.         can't figure out missing prototypes properly.
  6604. Solution:   Accept braces around a function name. (M. Warner Losh)
  6605. Files:        src/osdef.sh
  6606.  
  6607. Patch 6.1.025
  6608. Problem:    Five messages for "vim --help" don't start with a capital. (Vlad
  6609.         Sandrini)
  6610. Solution:   Make the messages consistent.
  6611. Files:        src/main.c
  6612.  
  6613. Patch 6.1.026
  6614. Problem:    *.patch files are not recognized as diff files.  In a script a
  6615.         "VAR=val" argument after "env" isn't ignored.  PHP scripts are not
  6616.         recognized.
  6617. Solution:   Add *.patch for diff filetypes.  Ignore "VAR=val".  Recognize PHP
  6618.         scripts. (Roman Neuhauser)
  6619. Files:        runtime/filetype.vim, runtime/scripts.vim
  6620.  
  6621. Patch 6.1.027
  6622. Problem:    When 'foldcolumn' is non-zero, a special character that wraps to
  6623.         the next line disturbs the foldcolumn highlighting.  (Yasuhiro
  6624.         Matsumoto)
  6625. Solution:   Only use the special highlighting when drawing text characters.
  6626. Files:        src/screen.c
  6627.  
  6628. Patch 6.1.028
  6629. Problem:    Client-server: When a --remote-expr fails, Vim still exits with
  6630.         status zero.
  6631. Solution:   Exit Vim with a non-zero status to indicate the --remote-expr
  6632.         failed. (Thomas Scott Urban)
  6633. Files:        src/main.c
  6634.  
  6635. Patch 6.1.029
  6636. Problem:    When 'encoding' is an 8-bit encoding other than "latin1", editing
  6637.         a utf-8 or other Unicode file uses the wrong conversion. (Jan
  6638.         Fedak)
  6639. Solution:   Don't use Unicode to latin1 conversion for 8-bit encodings other
  6640.         than "latin1".
  6641. Files:        src/fileio.c
  6642.  
  6643. Patch 6.1.030
  6644. Problem:    When CTRL-N is mapped in Insert mode, it is also mapped after
  6645.         CTRL-X CTRL-N, while it is not mapped after CTRL-X CTRL-F.
  6646.         (Kontra Gergely)
  6647. Solution:   Don't map CTRL-N after CTRL-X CTRL-N.  Same for CTRL-P.
  6648. Files:        src/getchar.c
  6649.  
  6650. Patch 6.1.031
  6651. Problem:    Cygwin: Xxd could read a file in text mode instead of binary mode.
  6652. Solution:   Use "rb" or "rt" when needed. (Pavol Juhas)
  6653. Files:        src/xxd/xxd.c
  6654.  
  6655. Patch 6.1.032
  6656. Problem:    Can't specify a quickfix file without jumping to the first error.
  6657. Solution:   Add the ":cgetfile" command. (Yegappan Lakshmanan)
  6658. Files:        runtime/doc/index.txt, runtime/doc/quickfix.txt, src/ex_cmds.h,
  6659.         src/quickfix.c
  6660.  
  6661. Patch 6.1.033
  6662. Problem:    GUI: When the selection is lost and the Visual highlighting is
  6663.         changed to underlining, the cursor is left in a different
  6664.         position. (Christian Michon)
  6665. Solution:   Update the cursor position after redrawing the selection.
  6666. Files:        src/ui.c
  6667.  
  6668. Patch 6.1.034
  6669. Problem:    A CVS diff file isn't recognized as diff filetype.
  6670. Solution:   Skip lines starting with "? " before checking for an "Index:" line.
  6671. Files:        runtime/scripts.vim
  6672.  
  6673. Patch 6.1.035 (extra, depends on 6.1.016)
  6674. Problem:    Win32: Outputting Hebrew or Arabic text might have a problem with
  6675.         reversing on MS-Windows 95/98/ME.
  6676. Solution:   Restore the RevOut() function and use it in specific situations
  6677.         only. (Ron Aaron)
  6678. Files:        src/gui_w32.c
  6679.  
  6680. Patch 6.1.036
  6681. Problem:    This command may cause a crash: ":v/./,//-j". (Ralf Arens)
  6682. Solution:   Compute the right length of the regexp when it's empty.
  6683. Files:        src/search.c
  6684.  
  6685. Patch 6.1.037
  6686. Problem:    When 'lazyredraw' is set, pressing "q" at the hit-enter prompt
  6687.         causes an incomplete redraw and the cursor isn't positioned.
  6688.         (Lubomir Host)
  6689. Solution:   Overrule 'lazyredraw' when do_redraw is set.
  6690. Files:        src/main.c, src/screen.c
  6691.  
  6692. Patch 6.1.038
  6693. Problem:    Multi-byte: When a ":s" command contains a multi-byte character
  6694.         where the trail byte is '~' the text is messed up.
  6695. Solution:   Properly skip multi-byte characters in regtilde() (Muraoka Taro)
  6696. Files:        src/regexp.c
  6697.  
  6698. Patch 6.1.039
  6699. Problem:    When folds are defined and the file is changed outside of Vim,
  6700.         reloading the file doesn't update the folds. (Anders
  6701.         Schack-Nielsen)
  6702. Solution:   Recompute the folds after reloading the file.
  6703. Files:        src/fileio.c
  6704.  
  6705. Patch 6.1.040
  6706. Problem:    When changing directory for expanding a file name fails there is
  6707.         no error message.
  6708. Solution:   Give an error message for this situation.  Don't change directory
  6709.         if we can't return to the original directory.
  6710. Files:        src/diff.c, src/ex_docmd.c, src/globals.h, src/misc1.c,
  6711.         src/os_unix.c
  6712.  
  6713. Patch 6.1.041
  6714. Problem:    ":mkvimrc" doesn't handle a mapping that has a leading space in
  6715.         the rhs. (Davyd Ondrejko)
  6716. Solution:   Insert a CTRL-V before the leading space.  Also display leading
  6717.         and trailing white space in <> form.
  6718. Files:        src/getchar.c, src/message.c
  6719.  
  6720. Patch 6.1.042
  6721. Problem:    "vim -r" doesn't show all matches when 'wildignore' removes swap
  6722.         files. (Steve Talley)
  6723. Solution:   Keep all matching swap file names.
  6724. Files:        src/memline.c
  6725.  
  6726. Patch 6.1.043
  6727. Problem:    After patch 6.1.040 a few warnings are produced.
  6728. Solution:   Add a type cast to "char *" for mch_chdir(). (Axel Kielhorn)
  6729. Files:        src/diff.c, src/ex_docmd.c.c, src/misc1.c, src/os_unix.c
  6730.  
  6731. Patch 6.1.044 (extra)
  6732. Problem:    GUI: When using the find/replace dialog with text that contains a
  6733.         slash, an invalid substitute command is generated.
  6734.         On Win32 a find doesn't work when 'insertmode' is set.
  6735. Solution:   Escape slashes with a backslash.
  6736.         Make the Win32, Motif and GTK gui use common code for the
  6737.         find/replace dialog.
  6738.         Add the "match case" option for Motif and GTK.
  6739. Files:        src/feature.h, src/proto/gui.pro, src/gui.c, src/gui.h,
  6740.         src/gui_motif.c, src/gui_gtk.c, src/gui_w48.c
  6741.  
  6742. Patch 6.1.045
  6743. Problem:    In Visual mode, with lots of folds and 'scrolloff' set to 999,
  6744.         moving the cursor down near the end of the file causes the text to
  6745.         jump up and down. (Lubomir Host)
  6746. Solution:   Take into account that the cursor may be on the last line of a
  6747.         closed fold.
  6748. Files:        src/move.c
  6749.  
  6750. Patch 6.1.046
  6751. Problem:    X11 GUI: ":set lsp=2 gcr=n-v-i:hor1-blinkon0" draws a black
  6752.         rectangle.  ":set lsp=2 gcr=n-v-i:hor10-blinkon0" makes the cursor
  6753.         disappear.  (Nam SungHyun)
  6754. Solution:   Correctly compute the height of the horizontal cursor.
  6755. Files:        src/gui_gtk_x11.c, src/gui_x11.c
  6756.  
  6757. Patch 6.1.047
  6758. Problem:    When skipping commands after an error was encountered, expressions
  6759.         for ":if", ";elseif" and ":while" are still evaluated.
  6760. Solution:   Skip the expression after an error. (Servatius Brandt)
  6761. Files:        src/ex_docmd.c
  6762.  
  6763. Patch 6.1.048
  6764. Problem:    Unicode 3.2 changes were missing a few Hangul Jamo characters.
  6765. Solution:   Recognize more characters as composing characters. (Jungshik Shin)
  6766. Files:        src/mbyte.c
  6767.  
  6768. Patch 6.1.049 (extra)
  6769. Problem:    On a 32 bit display a valid color may cause an error message,
  6770.         because its pixel value is negative. (Chris Paulson-Ellis)
  6771. Solution:   Check for -11111 instead of the color being negative.
  6772.         Don't add one to the pixel value, -1 may be used for white.
  6773. Files:        src/globals.h, src/gui.c, src/gui.h, src/gui_amiga.c,
  6774.         src/gui_athena.c, src/gui_beos.cc, src/gui_gtk_x11.c,
  6775.         src/gui_mac.c, src/gui_motif.c, src/gui_photon.c,
  6776.         src/gui_riscos.c, src/gui_w16.c, src/gui_w32.c, src/gui_w48.c,
  6777.         src/gui_x11.c, src/mbyte.c, src/syntax.c
  6778.  
  6779. Patch 6.1.050 (depends on 6.1.049)
  6780. Problem:    After patch 6.1.049 the non-GUI version doesn't compile.
  6781. Solution:   Add an #ifdef FEAT_GUI.  (Robert Stanton)
  6782. Files:        src/syntax.c
  6783.  
  6784. Patch 6.1.051 (depends on 6.1.044)
  6785. Problem:    Doesn't compile with GUI and small features.
  6786. Solution:   Adjust the #if for ga_append().
  6787. Files:        src/misc2.c
  6788.  
  6789. Patch 6.1.052
  6790. Problem:    Unix: The executable() function doesn't work when the "which"
  6791.         command isn't available.
  6792. Solution:   Go through $PATH manually.  Also makes it work for VMS.
  6793. Files:        src/os_unix.c
  6794.  
  6795. Patch 6.1.053
  6796. Problem:    When 'sessionoptions' contains "globals", or "localoptions" and an
  6797.         option value contains a line break, the resulting script is wrong.
  6798. Solution:   Use "\n" and "\r" for a line break. (Srinath Avadhanula)
  6799. Files:        src/eval.c
  6800.  
  6801. Patch 6.1.054
  6802. Problem:    GUI: A mouse click is not recognized at the more prompt, even when
  6803.         'mouse' includes 'r'.
  6804. Solution:   Recognize a mouse click at the more prompt.
  6805.         Also accept a mouse click in the last line in the GUI.
  6806.         Add "ml" entry in 'mouseshape'.
  6807. Files:        src/gui.c, src/message.c, src/misc1.c, src/misc2.c, src/option.c,
  6808.         src/structs.h
  6809.  
  6810. Patch 6.1.055
  6811. Problem:    When editing a compressed file, Vim will inspect the contents to
  6812.         guess the filetype.
  6813. Solution:   Don't source scripts.vim for .Z, .gz, .bz2, .zip and .tgz files.
  6814. Files:        runtime/filetype.vim, runtime/plugin/gzip.vim
  6815.  
  6816. Patch 6.1.056
  6817. Problem:    Loading the Syntax menu can take quite a bit of time.
  6818. Solution:   Add the "skip_syntax_sel_menu" variable.  When it's defined the
  6819.         available syntax files are not in the Syntax menu.
  6820. Files:        runtime/doc/gui.txt, runtime/menu.vim
  6821.  
  6822. Patch 6.1.057
  6823. Problem:    An ESC inside a mapping doesn't work as documented when
  6824.         'insertmode' is set, it does go from Visual or Normal mode to
  6825.         Insert mode. (Benji Fisher)
  6826. Solution:   Make it work as documented.
  6827. Files:        src/normal.c
  6828.  
  6829. Patch 6.1.058
  6830. Problem:    When there is a closed fold just above the first line in the
  6831.         window, using CTRL-X CTRL-Y in Insert mode will show only one line
  6832.         of the fold. (Alexey Marinichev)
  6833. Solution:   Correct the topline by putting it at the start of the fold.
  6834. Files:        src/move.c
  6835.  
  6836. Patch 6.1.059
  6837. Problem:    ":redir > ~/file" doesn't work. (Stephen Rasku)
  6838. Solution:   Expand environment variables in the ":redir >" argument.
  6839. Files:        src/ex_docmd.c
  6840.  
  6841. Patch 6.1.060
  6842. Problem:    When 'virtualedit' is set and 'selection' is "exclusive", deleting
  6843.         a character just before a tab changes the tab into spaces.  Undo
  6844.         doesn't restore the tab. (Helmut Stiegler)
  6845. Solution:   Don't replace the tab by spaces when it's not needed.  Correctly
  6846.         save the line before it's changed.
  6847. Files:        src/ops.c
  6848.  
  6849. Patch 6.1.061
  6850. Problem:    When 'virtualedit' is set and 'selection' is "exclusive", a Visual
  6851.         selection that ends just after a tab doesn't include that tab in
  6852.         the highlighting.  (Helmut Stiegler)
  6853. Solution:   Use a different way to exclude the character under the cursor.
  6854. Files:        src/screen.c
  6855.  
  6856. Patch 6.1.062
  6857. Problem:    The "man" filetype plugin doesn't work properly on Solaris 5.
  6858. Solution:   Use a different way to detect that "man -s" should be used. (Hugh
  6859.         Sasse)
  6860. Files:        runtime/ftplugin/man.vim
  6861.  
  6862. Patch 6.1.063
  6863. Problem:    Java indenting doesn't work properly.
  6864. Solution:   Ignore comments when checking if the indent doesn't increase after
  6865.         a "}".
  6866. Files:        runtime/indent/java.vim
  6867.  
  6868. Patch 6.1.064
  6869. Problem:    The URLs that the netrw plugin recognized for ftp and rcp did not
  6870.         conform to the standard method://[user@]host[:port]/path.
  6871. Solution:   Use ftp://[user@]host[[:#]port]/path, which supports both the new
  6872.         and the previous style.  Also added a bit of dav/cadaver support.
  6873.         (Charles Campbell)
  6874. Files:        runtime/plugin/netrw.vim
  6875.  
  6876. Patch 6.1.065
  6877. Problem:    VMS: The colorscheme, keymap and compiler menus are not filled in.
  6878. Solution:   Ignore case when looking for ".vim" files. (Coen Engelbarts)
  6879. Files:        runtime/menu.vim
  6880.  
  6881. Patch 6.1.066 (extra)
  6882. Problem:    When calling system() in a plugin reading stdin hangs.
  6883. Solution:   Don't set the terminal to RAW mode when it wasn't in RAW mode
  6884.         before the system() call.
  6885. Files:        src/os_amiga.c, src/os_msdos.c, src/os_riscos.c, src/os_unix.c,
  6886.         src/os_win16.c, src/os_win32.c
  6887.  
  6888. Patch 6.1.067
  6889. Problem:    ":set viminfo+=f0" is not working. (Benji Fisher)
  6890. Solution:   Check the "f" flag instead of "'" in 'viminfo'.
  6891. Files:        src/mark.c
  6892.  
  6893. Patch 6.1.068
  6894. Problem:    When a file is reloaded after it was changed outside of Vim, diff
  6895.         mode isn't updated. (Michael Naumann)
  6896. Solution:   Invalidate the diff info so that it's updated when needed.
  6897. Files:        src/fileio.c
  6898.  
  6899. Patch 6.1.069
  6900. Problem:    When 'showmatch' is set and "$" is in 'cpoptions', using
  6901.         "C}<Esc>" may forget to remove the "$". (Preben Guldberg)
  6902. Solution:   Restore dollar_vcol after displaying the matching cursor position.
  6903. Files:        src/search.c
  6904.  
  6905. Patch 6.1.070 (depends on 6.1.060)
  6906. Problem:    Compiler warning for signed/unsigned mismatch. (Mike Williams)
  6907. Solution:   Add a typecast to int.
  6908. Files:        src/ops.c
  6909.  
  6910. Patch 6.1.071
  6911. Problem:    When 'selection' is exclusive, g CTRL-G in Visual mode counts one
  6912.         character too much. (David Necas)
  6913. Solution:   Subtract one from the end position.
  6914. Files:        src/ops.c
  6915.  
  6916. Patch 6.1.072
  6917. Problem:    When a file name in a tags file starts with http:// or something
  6918.         else for which there is a BufReadCmd autocommand, the file isn't
  6919.         opened anyway.
  6920. Solution:   Check if there is a matching BufReadCmd autocommand and try to
  6921.         open the file.
  6922. Files:        src/fileio.c, src/proto/fileio.pro, src/tag.c
  6923.  
  6924. Patch 6.1.073 (extra)
  6925. Problem:    BC5: Can't easily specify a tiny, small, normal, big or huge
  6926.         version.
  6927. Solution:   Allow selecting the version with the FEATURES variable. (Ajit
  6928.         Thakkar)
  6929. Files:        src/Make_bc5.mak
  6930.  
  6931. Patch 6.1.074
  6932. Problem:    When 'cdpath' includes "../..", changing to a directory in which
  6933.         we currently already are doesn't work.  ff_check_visited() adds
  6934.         the directory both when using it as the root for searching and for
  6935.         the actual matches. (Stephen Rasku)
  6936. Solution:   Use a separate list for the already searched directories.
  6937. Files:        src/misc2.c
  6938.  
  6939. Patch 6.1.075 (depends on 6.1.072)
  6940. Problem:    Can't compile fileio.c on MS-Windows.
  6941. Solution:   Add a declaration for the "p" pointer. (Madoka Machitani)
  6942. Files:        src/fileio.c
  6943.  
  6944. Patch 6.1.076 (extra)
  6945. Problem:    Macintosh: explorer plugin doesn't work on Mac Classic.
  6946.         IME doesn't work.  Dialog boxes don't work on Mac OS X
  6947. Solution:   Fix explorer plugin and key modifiers. (Axel Kielhorn)
  6948.         Fix IME support. (Muraoka Taro)
  6949.         Disable dialog boxes. (Benji Fisher)
  6950. Files:        src/edit.c, src/feature.h, src/gui_mac.c, src/os_mac.c
  6951.  
  6952. Patch 6.1.077
  6953. Problem:    On a Debian system with ACL linking fails. (Lubomir Host)
  6954. Solution:   When the "acl" library is used, check if the "attr" library is
  6955.         present and use it.
  6956. Files:        src/auto/configure, src/configure.in, src/link.sh
  6957.  
  6958. Patch 6.1.078
  6959. Problem:    When using 'foldmethod' "marker" and the end marker appears before
  6960.         the start marker in the file, no fold is found. (Nazri Ramliy)
  6961. Solution:   Don't let the fold depth go negative.
  6962. Files:        src/fold.c
  6963.  
  6964. Patch 6.1.079
  6965. Problem:    When using "s" in Visual block mode with 'virtualedit' set, when
  6966.         the selected block is after the end of some lines the wrong text
  6967.         is inserted and some lines are skipped. (Servatius Brandt)
  6968. Solution:   Insert the right text and extend short lines.
  6969. Files:        src/ops.c
  6970.  
  6971. Patch 6.1.080
  6972. Problem:    When using gcc with /usr/local already in the search path, adding
  6973.         it again causes problems.
  6974. Solution:   Adjust configure.in to avoid adding /usr/local/include and
  6975.         /usr/local/lib when using GCC and they are already used. (Johannes
  6976.         Zellner)
  6977. Files:        src/auto/configure, src/configure.in
  6978.  
  6979. Patch 6.1.081
  6980. Problem:    ":help CTRL-\_CTRL-N" doesn't work.  (Christian J. Robinson)
  6981. Solution:   Double the backslash to avoid the special meaning of "\_".
  6982. Files:        src/ex_cmds.c
  6983.  
  6984. Patch 6.1.082
  6985. Problem:    On MS-Windows the vimrc_example.vim script is sourced and then
  6986.         mswin.vim.  This enables using select mode, but since "p" is
  6987.         mapped it doesn't replace the selection.
  6988. Solution:   Remove the mapping of "p" from vimrc_example.vim, it's obsolete.
  6989.         (Vlad Sandrini)
  6990. Files:        runtime/vimrc_example.vim
  6991.  
  6992. Patch 6.1.083
  6993. Problem:    When $LANG is "sk" or "sk_sk", the Slovak menu file isn't found.
  6994.         (Martin Lacko)
  6995. Solution:   Guess the right menu file based on the system.
  6996. Files:        runtime/lang/menu_sk_sk.vim
  6997.  
  6998. Patch 6.1.084 (depends on 6.1.080)
  6999. Problem:    "include" and "lib" are mixed up when checking the directories gcc
  7000.         already searches.
  7001. Solution:   Swap the variable names. (SunHo Kim)
  7002. Files:        src/auto/configure, src/configure.in
  7003.  
  7004. Patch 6.1.085
  7005. Problem:    When using CTRL-O CTRL-\ CTRL-N from Insert mode, the displayed
  7006.         mode "(insert)" isn't removed. (Benji Fisher)
  7007. Solution:   Clear the command line.
  7008. Files:        src/normal.c
  7009.  
  7010. Patch 6.1.086 (depends on 6.1.049)
  7011. Problem:    The guifg color for CursorIM doesn't take effect.
  7012. Solution:   Use the foreground color when it's defined. (Muraoka Taro)
  7013. Files:        src/gui.c
  7014.  
  7015. Patch 6.1.087
  7016. Problem:    A thesaurus with Japanese characters has problems with characters
  7017.         in different word classes.
  7018. Solution:   Only separate words with single-byte non-word characters.
  7019.         (Muraoka Taro)
  7020. Files:        src/edit.c
  7021.  
  7022. Patch 6.1.088 (extra)
  7023. Problem:    Win32: no debugging info is generated.  Tags file excludes .cpp
  7024.         files.
  7025. Solution:   Add "/map" to compiler flags.  Add "*.cpp" to ctags command.
  7026.         (Muraoka Taro)
  7027. Files:        src/Make_mvc.mak
  7028.  
  7029. Patch 6.1.089
  7030. Problem:    On BSDI systems there is no ss_sp field in stack_t. (Robert Jan)
  7031. Solution:   Use ss_base instead.
  7032. Files:        src/auto/configure, src/configure.in, src/config.h.in,
  7033.         src/os_unix.c
  7034.  
  7035. Patch 6.1.090
  7036. Problem:    CTRL-F gets stuck when 'scrolloff' is non-zero and there is a mix
  7037.         of long wrapping lines and a non-wrapping line.
  7038. Solution:   Check that CTRL-F scrolls at least one line.
  7039. Files:        src/move.c
  7040.  
  7041. Patch 6.1.091
  7042. Problem:    GTK: Can't change preeditstate without setting 'imactivatekey'.
  7043. Solution:   Add some code to change preeditstate for OnTheSpot. (Yasuhiro
  7044.         Matsumoto)
  7045. Files:        src/mbyte.c
  7046.  
  7047. Patch 6.1.092
  7048. Problem:    ":mapclear <buffer>" doesn't work. (Srikanth Adayapalam)
  7049. Solution:   Allow an argument for ":mapclear".
  7050. Files:        src/ex_cmds.h
  7051.  
  7052. Patch 6.1.093 (extra)
  7053. Problem:    Mac and MS-Windows GUI: when scrolling while ":s" is working the
  7054.         results can be messed up, because the cursor is moved.
  7055. Solution:   Disallow direct scrolling when not waiting for a character.
  7056. Files:        src/gui_mac.c, src/gui_w16.c, src/gui_w32.c, src/gui_w48.c
  7057.  
  7058. Patch 6.1.094
  7059. Problem:    Cygwin: Passing a file name that has backslashes isn't handled
  7060.         very well.
  7061. Solution:   Convert file name arguments to Posix.  (Chris Metcalf)
  7062. Files:        src/main.c
  7063.  
  7064. Patch 6.1.095
  7065. Problem:    When using signs can free an item on the stack.
  7066.         Overruling sign colors doesn't work. (Srikanth Sankaran)
  7067. Solution:   Don't free the item on the stack.  Use NULL instead of "none" for
  7068.         the value of the color.
  7069. Files:        src/gui_x11.c
  7070.  
  7071. Patch 6.1.096
  7072. Problem:    When erasing the right halve of a double-byte character, it may
  7073.         cause further characters to be erased. (Yasuhiro Matsumoto)
  7074. Solution:   Make sure only one character is erased.
  7075. Files:        src/screen.c
  7076.  
  7077. Patch 6.1.097 (depends on 6.1.090)
  7078. Problem:    When 'scrolloff' is set to a huge value, CTRL-F at the end of the
  7079.         file scrolls one line. (Lubomir Host)
  7080. Solution:   Don't scroll when CTRL-F detects the end-of-file.
  7081. Files:        src/move.c
  7082.  
  7083. Patch 6.1.098
  7084. Problem:    MS-Windows: When the xxd program is under "c:\program files" the
  7085.         "Convert to Hex" menu doesn't work. (Brian Mathis)
  7086. Solution:   Put the path to xxd in double quotes.
  7087. Files:        runtime/menu.vim
  7088.  
  7089. Patch 6.1.099
  7090. Problem:    Memory corrupted when closing a fold with more than 99999 lines.
  7091. Solution:   Allocate more space for the fold text. (Walter Briscoe)
  7092. Files:        src/eval.c
  7093.  
  7094. Patch 6.1.100 (extra, depends on 6.1.088)
  7095. Problem:    Win32: VC5 and earlier don't support the /mapinfo option.
  7096. Solution:   Add "/mapinfo" only when "MAP=lines" is specified. (Muraoka Taro)
  7097. Files:        src/Make_mvc.mak
  7098.  
  7099. Patch 6.1.101
  7100. Problem:    After using ":options" the tabstop of a new window is 15.  Entry
  7101.         in ":options" window for 'autowriteall' is wrong. (Antoine J
  7102.         Mechelynck)  Can't insert a space in an option value.
  7103. Solution:   Use ":setlocal" instead of ":set".  Change "aw" to "awa".
  7104.         Don't map space in Insert mode.
  7105. Files:        runtime/optwin.vim
  7106.  
  7107. Patch 6.1.102
  7108. Problem:    Unprintable and multi-byte characters in a statusline item are not
  7109.         truncated correctly. (Yasuhiro Matsumoto)
  7110. Solution:   Count the width of characters instead of the number of bytes.
  7111. Files:        src/buffer.c
  7112.  
  7113. Patch 6.1.103
  7114. Problem:    A function returning from a while loop, with 'verbose' set to 12
  7115.         or higher, doesn't mention the return value.  A function with the
  7116.         'abort' attribute may return -1 while the verbose message says
  7117.         something else.
  7118. Solution:   Move the verbose message about returning from a function to
  7119.         call_func(). (Servatius Brandt)
  7120. Files:        src/eval.c
  7121.  
  7122. Patch 6.1.104
  7123. Problem:    GCC 3.1 appears to have an optimizer problem that makes test 3
  7124.         crash.
  7125. Solution:   For GCC 3.1 add -fno-strength-reduce to avoid the optimizer bug.
  7126.         Filter out extra info from "gcc --version".
  7127. Files:        src/auto/configure, src/configure.in
  7128.  
  7129. Patch 6.1.105
  7130. Problem:    Win32: The default for 'shellpipe' doesn't redirect stderr. (Dion
  7131.         Nicolaas)
  7132. Solution:   Redirect stderr, depending on the shell (like for 'shellredir').
  7133. Files:        src/option.c
  7134.  
  7135. Patch 6.1.106
  7136. Problem:    The maze program crashes.
  7137. Solution:   Change "11" to "27" and it works. (Greg Roelofs)
  7138. Files:        runtime/macros/maze/mazeansi.c
  7139.  
  7140. Patch 6.1.107
  7141. Problem:    When 'list' is set the current line in the error window may be
  7142.         displayed wrong. (Muraoka Taro)
  7143. Solution:   Don't continue the line after the $ has been displayed and the
  7144.         rightmost column is reached.
  7145. Files:        src/screen.c
  7146.  
  7147. Patch 6.1.108
  7148. Problem:    When interrupting a filter command such as "!!sleep 20" the file
  7149.         becomes read-only. (Mark Brader)
  7150. Solution:   Only set the read-only flag when opening a buffer is interrupted.
  7151.         When the shell command was interrupted, read the output that was
  7152.         produced so far.
  7153. Files:        src/ex_cmds.c, src/fileio.c
  7154.  
  7155. Patch 6.1.109
  7156. Problem:    When 'eadirection' is "hor", using CTRL-W = doesn't equalize the
  7157.         window heights. (Roman Neuhauser)
  7158. Solution:   Ignore 'eadirection' for CTRL-W =
  7159. Files:        src/window.c
  7160.  
  7161. Patch 6.1.110
  7162. Problem:    When using ":badd file" when "file" is already present but not
  7163.         listed, it stays unlisted. (David Frey)
  7164. Solution:   Set 'buflisted'.
  7165. Files:        src/buffer.c
  7166.  
  7167. Patch 6.1.111
  7168. Problem:    It's not possible to detect using the Unix sources on Win32 or Mac.
  7169. Solution:   Add has("macunix") and has("win32unix").
  7170. Files:        runtime/doc/eval.txt, src/eval.c
  7171.  
  7172. Patch 6.1.112
  7173. Problem:    When using ":argdo", ":bufdo" or ":windo", CTRL-O doesn't go to
  7174.         the cursor position from before this command but every position
  7175.         where the argument was executed.
  7176. Solution:   Only remember the cursor position from before the ":argdo",
  7177.         ":bufdo" and ":windo".
  7178. Files:        src/ex_cmds2.c, src/mark.c
  7179.  
  7180. Patch 6.1.113
  7181. Problem:    ":bufdo bwipe" only wipes out half the buffers.  (Roman Neuhauser)
  7182. Solution:   Decide what buffer to go to next before executing the command.
  7183. Files:        src/ex_cmds2.c
  7184.  
  7185. Patch 6.1.114
  7186. Problem:    ":python import vim", ":python vim.current.buffer[0:0] = []" gives
  7187.         a lalloc(0) error. (Chris Southern)
  7188. Solution:   Don't allocate an array when it's size is zero.
  7189. Files:        src/if_python.c
  7190.  
  7191. Patch 6.1.115
  7192. Problem:    "das" on the white space at the end of a paragraph does not delete
  7193.         the "." the sentence ends with.
  7194. Solution:   Don't exclude the last character when it is not white space.
  7195. Files:        src/search.c
  7196.  
  7197. Patch 6.1.116
  7198. Problem:    When 'endofline' is changed while 'binary' is set a file should be
  7199.         considered modified. (Olaf Buddenhagen)
  7200. Solution:   Remember the 'eol' value when editing started and consider the
  7201.         file changed when the current value is different and 'binary' is
  7202.         set.  Also fix that the window title isn't updated when 'ff' or
  7203.         'bin' changes.
  7204. Files:        src/option.c, src/structs.h
  7205.  
  7206. Patch 6.1.117
  7207. Problem:    Small problem with editing a file over ftp: and with Cygwin.
  7208. Solution:   Remove a dot from a ":normal" command.  Use "cygdrive" where
  7209.         appropriate.  (Charles Campbell)
  7210. Files:        runtime/plugin/netrw.vim
  7211.  
  7212. Patch 6.1.118
  7213. Problem:    When a file in diff mode is reloaded because it changed outside
  7214.         of Vim, other windows in diff mode are not always updated.
  7215.         (Michael Naumann)
  7216. Solution:   After reloading a file in diff mode mark all windows in diff mode
  7217.         for redraw.
  7218. Files:        src/diff.c
  7219.  
  7220. Patch 6.1.119 (extra)
  7221. Problem:    With the Sniff interface, using Sniff 4.0.X on HP-UX, there may be
  7222.         a crash when connecting to Sniff.
  7223. Solution:   Initialize sniff_rq_sep such that its value can be changed.
  7224.         (Martin Egloff)
  7225. Files:        src/if_sniff.c
  7226.  
  7227. Patch 6.1.120 (depends on 6.1.097)
  7228. Problem:    When 'scrolloff' is non-zero and there are folds, CTRL-F at the
  7229.         end of the file scrolls part of a closed fold.  (Lubomir Host)
  7230. Solution:   Adjust the first line to the start of a fold.
  7231. Files:        src/move.c
  7232.  
  7233. Patch 6.1.121 (depends on 6.1.098)
  7234. Problem:    When starting Select mode from Insert mode, then using the Paste
  7235.         menu entry, the cursor is left before the last pasted character.
  7236.         (Mario Schweigler)
  7237. Solution:   Set the cursor for Insert mode one character to the right.
  7238. Files:        runtime/menu.vim
  7239.  
  7240. Patch 6.1.122
  7241. Problem:    ":file name" creates a new buffer to hold the old buffer name,
  7242.         which becomes the alternate file.  This buffer is unexpectedly
  7243.         listed.
  7244. Solution:   Create the buffer for the alternate name unlisted.
  7245. Files:        src/ex_cmds.c
  7246.  
  7247. Patch 6.1.123
  7248. Problem:    A ":match" command with more than one argument doesn't report an
  7249.         error.
  7250. Solution:   Check for extra characters. (Servatius Brandt)
  7251. Files:        src/ex_docmd.c
  7252.  
  7253. Patch 6.1.124
  7254. Problem:    When trying to exit and there is a hidden buffer that had 'eol'
  7255.         off and 'bin' set exiting isn't possible. (John McGowan)
  7256. Solution:   Set b_start_eol when clearing the buffer.
  7257. Files:        src/buffer.c
  7258.  
  7259. Patch 6.1.125
  7260. Problem:    Explorer plugin asks for saving a modified buffer even when it's
  7261.         open in another window as well.
  7262. Solution:   Count the number of windows using the buffer.
  7263. Files:        runtime/plugin/explorer.vim
  7264.  
  7265. Patch 6.1.126
  7266. Problem:    Adding the choices in the syntax menu is consuming much of the
  7267.         startup time of the GUI while it's not often used.
  7268. Solution:   Only add the choices when the user wants to use them.
  7269. Files:        Makefile, runtime/makemenu.vim, runtime/menu.vim,
  7270.         runtime/synmenu.vim, src/Makefile
  7271.  
  7272. Patch 6.1.127
  7273. Problem:    When using "--remote file" and the server has 'insertmode' set,
  7274.         commands are inserted instead of being executed. (Niklas Volbers)
  7275. Solution:   Go to Normal mode again after the ":drop" command.
  7276. Files:        src/main.c
  7277.  
  7278. Patch 6.1.128
  7279. Problem:    The expression "input('very long prompt')" puts the cursor in the
  7280.         wrong line (column is OK).
  7281. Solution:   Add the wrapped lines to the indent. (Yasuhiro Matsumoto)
  7282. Files:        src/ex_getln.c
  7283.  
  7284. Patch 6.1.129
  7285. Problem:    On Solaris editing "file/" and then "file" results in using the
  7286.         same buffer.  (Jim Battle)
  7287. Solution:   Before using stat(), check that there is no illegal trailing
  7288.         slash.
  7289. Files:        src/auto/configure, src/config.h.in, src/configure.in,
  7290.         src/macros.h src/misc2.c, src/proto/misc2.pro
  7291.  
  7292. Patch 6.1.130
  7293. Problem:    The documentation for some of the 'errorformat' items is unclear.
  7294. Solution:   Add more examples and explain hard to understand items. (Stefan
  7295.         Roemer)
  7296. Files:        runtime/doc/quickfix.txt
  7297.  
  7298. Patch 6.1.131
  7299. Problem:    X11 GUI: when expanding a CSI byte in the input stream to K_CSI,
  7300.         the CSI byte itself isn't copied.
  7301. Solution:   Copy the CSI byte.
  7302. Files:        src/gui_x11.c
  7303.  
  7304. Patch 6.1.132
  7305. Problem:    Executing a register in Ex mode may cause commands to be skipped.
  7306.         (John McGowan)
  7307. Solution:   In Ex mode use an extra check if the register contents was
  7308.         consumed, to avoid input goes into the typeahead buffer.
  7309. Files:        src/ex_docmd.c
  7310.  
  7311. Patch 6.1.133
  7312. Problem:    When drawing double-wide characters in the statusline, may clear
  7313.         half of a character. (Yasuhiro Matsumoto)
  7314. Solution:   Force redraw of the next character by setting the attributes
  7315.         instead of putting a NUL in ScreenLines[].  Do put a NUL in
  7316.         ScreenLines[] when overwriting half of a double-wide character.
  7317. Files:        src/screen.c
  7318.  
  7319. Patch 6.1.134
  7320. Problem:    An error for a trailing argument of ":match" should not be given
  7321.         after ":if 0". (Servatius Brandt)
  7322. Solution:   Only do the check when executing commands.
  7323. Files:        src/ex_docmd.c
  7324.  
  7325. Patch 6.1.135
  7326. Problem:    Passing a command to the shell that includes a newline always has
  7327.         a backslash before the newline.
  7328. Solution:   Remove one backslash before the newline.  (Servatius Brandt)
  7329. Files:        src/ex_docmd.c
  7330.  
  7331. Patch 6.1.136
  7332. Problem:    When $TERM is "linux" the default for 'background' is "dark", even
  7333.         though the GUI uses a light background. (Hugh Allen)
  7334. Solution:   Don't mark the option as set when defaulting to "dark" for the
  7335.         linux console.  Also reset 'background' to "light" when the GUI
  7336.         has a light background.
  7337. Files:        src/option.c
  7338.  
  7339. Patch 6.1.137
  7340. Problem:    Converting to HTML has a clumsy way of dealing with tabs which may
  7341.         change the highlighting.
  7342. Solution:   Replace tabs with spaces after converting a line to HTML. (Preben
  7343.         Guldberg)
  7344. Files:        runtime/syntax/2html.vim
  7345.  
  7346. Patch 6.1.138 (depends on 6.1.126)
  7347. Problem:    Adding extra items to the Syntax menu can't be done when the "Show
  7348.         individual choices" menu is used.
  7349. Solution:   Use ":runtime!" instead of ":source", so that all synmenu.vim
  7350.         files in the runtime path are loaded. (Servatius Brandt)
  7351.         Also fix that a translated menu can't be removed.
  7352. Files:        runtime/menu.vim
  7353.  
  7354. Patch 6.1.139
  7355. Problem:    Cygwin: PATH_MAX is not defined.
  7356. Solution:   Include limits.h. (Dan Sharp)
  7357. Files:        src/main.c
  7358.  
  7359. Patch 6.1.140
  7360. Problem:    Cygwin: ":args `ls *.c`" does not work if the shell command
  7361.         produces CR NL line separators.
  7362. Solution:   Remove the CR characters ourselves. (Pavol Juhas)
  7363. Files:        src/os_unix.c
  7364.  
  7365. Patch 6.1.141
  7366. Problem:    ":wincmd gx" may cause problems when mixed with other commands.
  7367.         ":wincmd c" doesn't close the window immediately. (Benji Fisher)
  7368. Solution:   Pass the extra command character directly instead of using the
  7369.         stuff buffer and call ex_close() directly.
  7370. Files:        src/ex_docmd.c, src/normal.c, src/proto/normal.pro,
  7371.         src/proto/window.pro, src/window.c
  7372.  
  7373. Patch 6.1.142
  7374. Problem:    Defining paragraphs without a separating blank line isn't
  7375.         possible.  Paragraphs can't be formatted automatically.
  7376. Solution:   Allow defining paragraphs with lines that end in white space.
  7377.         Added the 'w' and 'a' flags in 'formatoptions'.
  7378. Files:        runtime/doc/change.txt, src/edit.c, src/misc1.c, src/normal.c,
  7379.         src/option.h, src/ops.c, src/proto/edit.pro, src/proto/ops.pro,
  7380.         src/vim.h
  7381.  
  7382. Patch 6.1.143 (depends on 6.1.142)
  7383. Problem:    Auto formatting near the end of the file moves the cursor to a
  7384.         wrong position.  In Insert mode some lines are made one char too
  7385.         narrow.  When deleting a line undo might not always work properly.
  7386. Solution:   Don't always move to the end of the line in the last line.  Don't
  7387.         position the cursor past the end of the line in Insert mode.
  7388.         After deleting a line save the cursor line for undo.
  7389. Files:        src/edit.c, src/ops.c, src/normal.c
  7390.  
  7391. Patch 6.1.144
  7392. Problem:    Obtaining the size of a line in screen characters can be wrong.
  7393.         A pointer may wrap around zero.
  7394. Solution:   In win_linetabsize() check for a MAXCOL length argument. (Jim
  7395.         Dunleavy)
  7396. Files:        src/charset.c
  7397.  
  7398. Patch 6.1.145
  7399. Problem:    GTK: Drag&drop with more than 3 files may cause a crash. (Mickael
  7400.         Marchand)
  7401. Solution:   Rewrite the code that parses the received list of files to be more
  7402.         robust.
  7403. Files:        src/charset.c, src/gui_gtk_x11.c
  7404.  
  7405. Patch 6.1.146
  7406. Problem:    MS-Windows: When $HOME is constructed from $HOMEDRIVE and
  7407.         $HOMEPATH, it is not used for storing the _viminfo file.  (Normal
  7408.         Diamond)
  7409. Solution:   Set $HOME with the value obtained from $HOMEDRIVE and $HOMEPATH.
  7410. Files:        src/misc1.c
  7411.  
  7412. Patch 6.1.147 (extra)
  7413. Problem:    MS-Windows: When a dialog has no default button, pressing Enter
  7414.         ends it anyway and all buttons are selected.
  7415. Solution:   Don't end a dialog when there is no default button.  Don't select
  7416.         all button when there is no default. (Vince Negri)
  7417. Files:        src/gui_w32.c
  7418.  
  7419. Patch 6.1.148 (extra)
  7420. Problem:    MS-Windows: ACL is not properly supported.
  7421. Solution:   Add an access() replacement that also works for ACL. (Mike
  7422.         Williams)
  7423. Files:        runtime/doc/editing.txt, src/os_win32.c
  7424.  
  7425. Patch 6.1.149 (extra)
  7426. Problem:    MS-Windows: Can't use diff mode from the file explorer.
  7427. Solution:   Add a "diff with Vim" context menu entry. (Dan Sharp)
  7428. Files:        GvimExt/gvimext.cpp, GvimExt/gvimext.h
  7429.  
  7430. Patch 6.1.150
  7431. Problem:    OS/2, MS-Windows and MS-DOS: When 'shellslash' is set getcwd()
  7432.         still uses backslash. (Yegappan Lakshmanan)
  7433. Solution:   Adjust slashes in getcwd().
  7434. Files:        src/eval.c
  7435.  
  7436. Patch 6.1.151 (extra)
  7437. Problem:    Win32: The NTFS substream isn't copied.
  7438. Solution:   Copy the substream when making a backup copy. (Muraoka Taro)
  7439. Files:        src/fileio.c, src/os_win32.c, src/proto/os_win32.pro
  7440.  
  7441. Patch 6.1.152
  7442. Problem:    When $LANG is iso8859-1 translated menus are not used.
  7443. Solution:   Change iso8859 to iso_8859.
  7444. Files:        runtime/menu.vim
  7445.  
  7446. Patch 6.1.153
  7447. Problem:    Searching in included files may search recursively when the path
  7448.         starts with "../".  (Sven Berkvens-Matthijsse)
  7449. Solution:   Compare full file names, use inode/device when possible.
  7450. Files:        src/search.c
  7451.  
  7452. Patch 6.1.154 (extra)
  7453. Problem:    DJGPP: "vim -h" leaves the cursor in a wrong position.
  7454. Solution:   Don't position the cursor using uninitialized variables. (Jim
  7455.         Dunleavy)
  7456. Files:        src/os_msdos.c
  7457.  
  7458. Patch 6.1.155
  7459. Problem:    Win32: Cursor may sometimes disappear in Insert mode.
  7460. Solution:   Change "hor10" in 'guicursor' to "hor15". (Walter Briscoe)
  7461. Files:        src/option.c
  7462.  
  7463. Patch 6.1.156
  7464. Problem:    Conversion between DBCS and UCS-2 isn't implemented cleanly.
  7465. Solution:   Clean up a few things.
  7466. Files:        src/mbyte.c, src/structs.h
  7467.  
  7468. Patch 6.1.157
  7469. Problem:    'hlsearch' highlights only the second comma in ",,,,," with
  7470.         "/,\@<=[^,]*". (Preben Guldberg)
  7471. Solution:   Also check for an empty match to start just after a previous
  7472.         match.
  7473. Files:        src/screen.c
  7474.  
  7475. Patch 6.1.158
  7476. Problem:    "zs" and "ze" don't work correctly with ":set nowrap siso=1".
  7477.         (Preben Guldberg)
  7478. Solution:   Take 'siso' into account when computing the horizontal scroll
  7479.         position for "zs" and "ze".
  7480. Files:        src/normal.c
  7481.  
  7482. Patch 6.1.159
  7483. Problem:    When expanding an abbreviation that includes a multi-byte
  7484.         character too many characters are deleted. (Andrey Urazov)
  7485. Solution:   Delete the abbreviation counting characters instead of bytes.
  7486. Files:        src/getchar.c
  7487.  
  7488. Patch 6.1.160
  7489. Problem:    ":$read file.gz" doesn't work. (Preben Guldberg)
  7490. Solution:   Don't use the '[ mark after it has become invalid.
  7491. Files:        runtime/plugin/gzip.vim
  7492.  
  7493. Patch 6.1.161 (depends on 6.1.158)
  7494. Problem:    Warning for signed/unsigned compare.  Can set 'siso' to a negative
  7495.         value. (Mike Williams)
  7496. Solution:   Add a typecast.  Add a check for 'siso' being negative.
  7497. Files:        src/normal.c, src/option.c
  7498.  
  7499. Patch 6.1.162
  7500. Problem:    Python interface: Didn't initialize threads properly.
  7501. Solution:   Call PyEval_InitThreads() when starting up.
  7502. Files:        src/if_python.c
  7503.  
  7504. Patch 6.1.163
  7505. Problem:    Win32: Can't compile with Python after 6.1.162.
  7506. Solution:   Dynamically load  PyEval_InitThreads(). (Dan Sharp)
  7507. Files:        src/if_python.c
  7508.  
  7509. Patch 6.1.164
  7510. Problem:    If 'modifiable' is off, converting to xxd fails and 'filetype' is
  7511.         changed to "xxd" anyway.
  7512. Solution:   Don't change 'filetype' when conversion failed.
  7513. Files:        runtime/menu.vim
  7514.  
  7515. Patch 6.1.165
  7516. Problem:    Making changes in several lines and then a change in one of these
  7517.         lines that splits it in two or more lines, undo information was
  7518.         corrupted.  May cause a crash. (Dave Fishburn)
  7519. Solution:   When skipping to save a line for undo because it was already
  7520.         saved, move it to become the last saved line, so that when the
  7521.         command changes the line count other saved lines are not involved.
  7522. Files:        src/undo.c
  7523.  
  7524. Patch 6.1.166
  7525. Problem:    When 'autoindent' is set and mswin.vim has been sourced, pasting
  7526.         with CTRL-V just after auto-indenting removes the indent. (Shlomi
  7527.         Fish)
  7528. Solution:   First insert an "x" and delete it again, so that the auto-indent
  7529.         remains.
  7530. Files:        runtime/mswin.vim
  7531.  
  7532. Patch 6.1.167
  7533. Problem:    When giving a negative argument to ":retab" strange things start
  7534.         happening. (Hans Ginzel)
  7535. Solution:   Check for a negative value.
  7536. Files:        src/ex_cmds.c
  7537.  
  7538. Patch 6.1.168
  7539. Problem:    Pressing CTRL-C at the hit-enter prompt doesn't end the prompt.
  7540. Solution:   Make CTRL-C stop the hit-enter prompt.
  7541. Files:        src/message.c
  7542.  
  7543. Patch 6.1.169
  7544. Problem:    bufexists() finds a buffer by using the name of a symbolic link to
  7545.         it, but bufnr() doesn't. (Yegappan Lakshmanan)
  7546. Solution:   When bufnr() can't find a buffer, try using the same method as
  7547.         bufexists().
  7548. Files:        src/eval.c
  7549.  
  7550. Patch 6.1.170
  7551. Problem:    Using ":mksession" uses the default session file name, but "vim
  7552.         -S" doesn't. (Hans Ginzel)
  7553. Solution:   Use the default session file name if "-S" is the last command
  7554.         line argument or another option follows.
  7555. Files:        runtime/doc/starting.txt, src/main.c
  7556.  
  7557. Patch 6.1.171
  7558. Problem:    When opening a line just above a closed fold with "O" and the
  7559.         comment leader is automatically inserted, the cursor is displayed
  7560.         in the first column. (Sung-Hyun Nam)
  7561. Solution:   Update the flag that indicates the cursor is in a closed fold.
  7562. Files:        src/misc1.c
  7563.  
  7564. Patch 6.1.172
  7565. Problem:    Command line completion of ":tag /pat" does not show the same
  7566.         results as the tags the command actually finds. (Gilles Roy)
  7567. Solution:   Don't modify the pattern to make it a regexp.
  7568. Files:        src/ex_getln.c, src/tag.c
  7569.  
  7570. Patch 6.1.173
  7571. Problem:    When using remote control to edit a position in a file and this
  7572.         file is the current buffer and it's modified, the window is split
  7573.         and the ":drop" command fails.
  7574. Solution:   Don't split the window, keep editing the same buffer.
  7575.         Use the ":drop" command in VisVim to avoid the problem there.
  7576. Files:        src/ex_cmds.c, src/ex_cmds2.c, src/proto/ex_cmds2.pro,
  7577.         VisVim/Commands.cpp
  7578.  
  7579. Patch 6.1.174
  7580. Problem:    It is difficult to know in a script whether an option not only
  7581.         exists but really works.
  7582. Solution:   Add "exists('+option')".
  7583. Files:        runtime/doc/eval.txt, src/eval.c
  7584.  
  7585. Patch 6.1.175
  7586. Problem:    When reading commands from a pipe and a CTRL-C is pressed, Vim
  7587.         will hang. (Piet Delport)
  7588. Solution:   Don't keep reading characters to clear typeahead when an interrupt
  7589.         was detected, stop when a single CTRL-C is read.
  7590. Files:        src/getchar.c, src/ui.c
  7591.  
  7592. Patch 6.1.176
  7593. Problem:    When the stack limit is very big a false out-of-stack error may
  7594.         be detected.
  7595. Solution:   Add a check for overflow of the stack limit computation. (Jim
  7596.         Dunleavy)
  7597. Files:        src/os_unix.c
  7598.  
  7599. Patch 6.1.177 (depends on 6.1.141)
  7600. Problem:    ":wincmd" does not allow a following command. (Gary Johnson)
  7601. Solution:   Check for a following " | cmd".  Also give an error for trailing
  7602.         characters.
  7603. Files:        src/ex_docmd.c
  7604.  
  7605. Patch 6.1.178
  7606. Problem:    When 'expandtab' is set "r<C-V><Tab>" still expands the Tab.
  7607.         (Bruce deVisser)
  7608. Solution:   Replace with a literal Tab.
  7609. Files:        src/normal.c
  7610.  
  7611. Patch 6.1.179 (depends on 6.1.091)
  7612. Problem:    When using X11R5 XIMPreserveState is undefined. (Albert Chin)
  7613. Solution:   Include the missing definitions.
  7614. Files:        src/mbyte.c
  7615.  
  7616. Patch 6.1.180
  7617. Problem:    Use of the GUI code for forking is inconsistent.
  7618. Solution:   Define MAY_FORK and use it for later #ifdefs. (Ben Fowlwer)
  7619. Files:        src/gui.c
  7620.  
  7621. Patch 6.1.181
  7622. Problem:    If the terminal doesn't wrap from the last char in a line to the
  7623.         next line, the last column is blanked out. (Peter Karp)
  7624. Solution:   Don't output a space to mark the wrap, but the same character
  7625.         again.
  7626. Files:        src/screen.c
  7627.  
  7628. Patch 6.1.182 (depends on 6.1.142)
  7629. Problem:    It is not possible to auto-format comments only. (Moshe Kaminsky)
  7630. Solution:   When the 'a' and 'c' flags are in 'formatoptions' only auto-format
  7631.         comments.
  7632. Files:        runtime/doc/change.txt, src/edit.c
  7633.  
  7634. Patch 6.1.183
  7635. Problem:    When 'fencs' is empty and 'enc' is utf-8, reading a file with
  7636.         illegal bytes gives "CONVERSION ERROR" even though no conversion
  7637.         is done.  'readonly' is set, even though writing the file results
  7638.         in an unmodified file.
  7639. Solution:   For this specific error use "ILLEGAL BYTE" and don't set
  7640.         'readonly'.
  7641. Files:        src/fileio.c
  7642.  
  7643. Patch 6.1.184 (extra)
  7644. Problem:    The extra mouse buttons found on some mice don't work.
  7645. Solution:   Support two extra buttons for MS-Windows. (Michael Geddes)
  7646. Files:        runtime/doc/term.txt, src/edit.c, src/ex_getln.c, src/gui.c,
  7647.         src/gui_w32.c, src/gui_w48.c, src/keymap.h, src/message.c,
  7648.         src/misc1.c, src/misc2.c, src/normal.c, src/vim.h
  7649.  
  7650. Patch 6.1.185 (depends on 6.1.182)
  7651. Problem:    Can't compile without +comments feature.
  7652. Solution:   Add #ifdef FEAT_COMMENTS. (Christian J. Robinson)
  7653. Files:        src/edit.c
  7654.  
  7655. Patch 6.1.186 (depends on 6.1.177)
  7656. Problem:    ":wincmd" does not allow a following comment. (Aric Blumer)
  7657. Solution:   Check for a following double quote.
  7658. Files:        src/ex_docmd.c
  7659.  
  7660. Patch 6.1.187
  7661. Problem:    Using ":doarg" with 'hidden' set and the current file is the only
  7662.         argument and was modified gives an error message. (Preben
  7663.         Guldberg)
  7664. Solution:   Don't try re-editing the same file.
  7665. Files:        src/ex_cmds2.c
  7666.  
  7667. Patch 6.1.188 (depends on 6.1.173)
  7668. Problem:    Unused variable in the small version.
  7669. Solution:   Move the declaration for "p" inside #ifdef FEAT_LISTCMDS.
  7670. Files:        src/ex_cmds2.c
  7671.  
  7672. Patch 6.1.189
  7673. Problem:    inputdialog() doesn't work when 'c' is in 'guioptions'. (Aric
  7674.         Blumer)
  7675. Solution:   Fall back to the input() function in this situation.
  7676. Files:        src/eval.c
  7677.  
  7678. Patch 6.1.190 (extra)
  7679. Problem:    VMS: doesn't build with GTK GUI.  Various other problems.
  7680. Solution:   Fix building for GTK.  Improved Perl, Python and TCL support.
  7681.         Improved VMS documentation. (Zoltan Arpadffy)
  7682.         Added Vimtutor for VMS (T. R. Wyant)
  7683. Files:        runtime/doc/os_vms.txt, src/INSTALLvms.txt, src/gui_gtk_f.h,
  7684.         src/if_tcl.c, src/main.c, src/gui_gtk_vms.h, src/Make_vms.mms,
  7685.         src/os_vms.opt, src/proto/if_tcl.pro, vimtutor.com,
  7686.         src/testdir/Make_vms.mms
  7687.  
  7688. Patch 6.1.191
  7689. Problem:    When using "vim -s script" and redirecting the output, the delay
  7690.         for the "Output is not to a terminal" warning slows Vim down too
  7691.         much.
  7692. Solution:   Don't delay when reading commands from a script.
  7693. Files:        src/main.c
  7694.  
  7695. Patch 6.1.192
  7696. Problem:    ":diffsplit" doesn't add "hor" to 'scrollopt'. (Gary Johnson)
  7697. Solution:   Add "hor" to 'scrollopt' each time ":diffsplit" is used.
  7698. Files:        src/diff.c, src/main.c
  7699.  
  7700. Patch 6.1.193
  7701. Problem:    Crash in in_id_list() for an item with a "containedin" list. (Dave
  7702.         Fishburn)
  7703. Solution:   Check for a negative syntax id, used for keywords.
  7704. Files:        src/syntax.c
  7705.  
  7706. Patch 6.1.194
  7707. Problem:    When "t_ti" is set but it doesn't cause swapping terminal pages,
  7708.         "ZZ" may cause the shell prompt to appear on top of the file-write
  7709.         message.
  7710. Solution:   Scroll the text up in the Vim page before swapping to the terminal
  7711.         page. (Michael Schroeder)
  7712. Files:        src/os_unix.c
  7713.  
  7714. Patch 6.1.195
  7715. Problem:    The quickfix and preview windows always keep their height, while
  7716.         other windows can't fix their height.
  7717. Solution:   Add the 'winfixheight' option, so that a fixed height can be
  7718.         specified for any window.  Also fix that the wildmenu may resize a
  7719.         one-line window to a two-line window if 'ls' is zero.
  7720. Files:        runtime/doc/options.txt, runtime/optwin.vim, src/ex_cmds.c,
  7721.         src/ex_getln.c, src/globals.h, src/option.c, src/quickfix.c,
  7722.         src/screen.c, src/structs.h, src/window.c
  7723.  
  7724. Patch 6.1.196  (depends on 6.1.084)
  7725. Problem:    On Mac OS X 10.2 generating osdef.h fails.
  7726. Solution:   Add -no-cpp-precomp to avoid using precompiled header files, which
  7727.         disables printing the search path. (Ben Fowler)
  7728. Files:        src/auto/configure, src/configure.in
  7729.  
  7730. Patch 6.1.197
  7731. Problem:    ":help <C-V><C-\><C-V><C-N>" (resulting in <1c><0e>) gives an
  7732.         error message. (Servatius Brandt)
  7733. Solution:   Double the backslash in "CTRL-\".
  7734. Files:        src/ex_cmds.c
  7735.  
  7736. Patch 6.1.198 (extra) (depends on 6.1.076)
  7737. Problem:    Mac OS X: Dialogues don't work.
  7738. Solution:   Fix a crashing problem for some GUI dialogues.  Fix a problem when
  7739.         saving to a new file from the GUI. (Peter Cucka)
  7740. Files:        src/feature.h, src/gui_mac.c
  7741.  
  7742. Patch 6.1.199
  7743. Problem:    'guifontwide' doesn't work on Win32.
  7744. Solution:   Output each wide character separately. (Michael Geddes)
  7745. Files:        src/gui.c
  7746.  
  7747. Patch 6.1.200
  7748. Problem:    ":syn sync fromstart" is not skipped after ":if 0".  This can make
  7749.         syntax highlighting very slow.
  7750. Solution:   Check "eap->skip" appropriately. (Rob West)
  7751. Files:        src/syntax.c
  7752.  
  7753. Patch 6.1.201 (depends on 6.1.192)
  7754. Problem:    Warning for illegal pointer combination. (Zoltan Arpadffy)
  7755. Solution:   Add a typecast.
  7756. Files:        src/diff.c
  7757.  
  7758. Patch 6.1.202  (extra)(depends on 6.1.148)
  7759. Problem:    Win32: filewritable() doesn't work properly on directories.
  7760. Solution:   fix filewritable(). (Mike Williams)
  7761. Files:        src/os_win32.c
  7762.  
  7763. Patch 6.1.203
  7764. Problem:    ":%s/~//" causes a crash after ":%s/x//". (Gary Holloway)
  7765. Solution:   Avoid reading past the end of a line when "~" is empty.
  7766. Files:        src/regexp.c
  7767.  
  7768. Patch 6.1.204 (depends on 6.1.129)
  7769. Problem:    Warning for an illegal pointer on Solaris.
  7770. Solution:   Add a typecast. (Derek Wyatt)
  7771. Files:        src/misc2.c
  7772.  
  7773. Patch 6.1.205
  7774. Problem:    The gzip plugin changes the alternate file when editing a
  7775.         compressed file. (Oliver Fuchs)
  7776. Solution:   Temporarily remove the 'a' and 'A' flags from 'cpo'.
  7777. Files:        runtime/plugin/gzip.vim
  7778.  
  7779. Patch 6.1.206
  7780. Problem:    The script generated with ":mksession" doesn't work properly when
  7781.         some commands are mapped.
  7782. Solution:   Use ":normal!" instead of ":normal".  And use ":wincmd" where
  7783.         possible. (Muraoka Taro)
  7784. Files:        src/ex_docmd.c, src/fold.c
  7785.  
  7786. Patch 6.1.207
  7787. Problem:    Indenting a Java file hangs below a line with a comment after a
  7788.         command.
  7789. Solution:   Break out of a loop. (Andre Pang)
  7790.         Also line up } with matching {.
  7791. Files:        runtime/indent/java.vim
  7792.  
  7793. Patch 6.1.208
  7794. Problem:    Can't use the buffer number from the Python interface.
  7795. Solution:   Add buffer.number. (Michal Vitecek)
  7796. Files:        src/if_python.c
  7797.  
  7798. Patch 6.1.209
  7799. Problem:    Printing doesn't work on Mac OS classic.
  7800. Solution:   Use a ":" for path separator when opening the resource file. (Axel
  7801.         Kielhorn)
  7802. Files:        src/ex_cmds2.c
  7803.  
  7804. Patch 6.1.210
  7805. Problem:    When there is an iconv() conversion error when reading a file
  7806.         there can be an error the next time iconv() is used.
  7807. Solution:   Reset the state of the iconv() descriptor. (Yasuhiro Matsumoto)
  7808. Files:        src/fileio.c
  7809.  
  7810. Patch 6.1.211
  7811. Problem:    The message "use ! to override" is confusing.
  7812. Solution:   Make it "add ! to override".
  7813. Files:        src/buffer.c, src/eval.c, src/ex_docmd.c, src/fileio.c,
  7814.         src/globals.h
  7815.  
  7816. Patch 6.1.212
  7817. Problem:    When Vim was started with "-R" ":new" creates a buffer
  7818.         'noreadonly' while ":enew" has 'readonly' set. (Preben Guldberg)
  7819. Solution:   Don't set 'readonly in a new empty buffer for ":enew".
  7820. Files:        src/ex_docmd.c
  7821.  
  7822. Patch 6.1.213
  7823. Problem:    Using CTRL-W H may cause a big gap to appear below the last
  7824.         window. (Aric Blumer)
  7825. Solution:   Don't set the window height when there is a vertical split.
  7826.         (Yasuhiro Matsumoto)
  7827. Files:        src/window.c
  7828.  
  7829. Patch 6.1.214
  7830. Problem:    When installing Vim and the runtime files were checked out from
  7831.         CVS the CVS directories will also be installed.
  7832. Solution:   Avoid installing the CVS dirs and their contents.
  7833. Files:        src/Makefile
  7834.  
  7835. Patch 6.1.215
  7836. Problem:    Win32: ":pwd" uses backslashes even when 'shellslash' is set.
  7837.         (Xiangjiang Ma)
  7838. Solution:   Adjust backslashes before printing the message.
  7839. Files:        src/ex_docmd.c
  7840.  
  7841. Patch 6.1.216
  7842. Problem:    When dynamically loading the iconv library, the error codes may be
  7843.         confused.
  7844. Solution:   Use specific error codes for iconv and redefine them for dynamic
  7845.         loading. (Yasuhiro Matsumoto)
  7846. Files:        src/fileio.c, src/mbyte.c, src/vim.h
  7847.  
  7848. Patch 6.1.217
  7849. Problem:    When sourcing the same Vim script using a different name (symbolic
  7850.         link or MS-Windows 8.3 name) it is listed twice with
  7851.         ":scriptnames".  (Tony Mechelynck)
  7852. Solution:   Turn the script name into a full path before using it.  On Unix
  7853.         compare inode/device numbers.
  7854. Files:        src/ex_cmds2.c
  7855.  
  7856. Patch 6.1.218
  7857. Problem:    No error message for using the function argument "5+".  (Servatius
  7858.         Brandt)
  7859. Solution:   Give an error message if a function or variable is expected but is
  7860.         not found.
  7861. Files:        src/eval.c
  7862.  
  7863. Patch 6.1.219
  7864. Problem:    When using ":amenu :b 1<CR>" with a Visual selection and
  7865.         'insertmode' is set, Vim does not return to Insert mode. (Mickael
  7866.         Marchand)
  7867. Solution:   Add the command CTRL-\ CTRL-G that goes to Insert mode if
  7868.         'insertmode' is set and to Normal mode otherwise.  Append this to
  7869.         menus defined with ":amenu".
  7870. Files:        src/edit.c, src/ex_getln.c, src/normal.c
  7871.  
  7872. Patch 6.1.220
  7873. Problem:    When using a BufReadPost autocommand that changes the line count,
  7874.         e.g., "$-1join", reloading a file that was changed outside Vim
  7875.         does not work properly. (Alan G Isaac)
  7876. Solution:   Make the buffer empty before reading the new version of the file.
  7877.         Save the lines in a dummy buffer, so that they can be put back
  7878.         when reading the file fails.
  7879. Files:        src/buffer.c, src/ex_cmds.c, src/fileio.c, src/globals.h,
  7880.         src/proto/buffer.pro
  7881.  
  7882. Patch 6.1.221
  7883. Problem:    Changing case may not work properly, depending on the current
  7884.         locale.
  7885. Solution:   Add the 'casemap' option to let the user chose how changing case
  7886.         is to be done.
  7887.         Also fix lowering case when an UTF-8 character doesn't keep the
  7888.         same byte length.
  7889. Files:        runtime/doc/options.txt, src/ascii.h, src/auto/configure,
  7890.         src/buffer.c, src/charset.c, src/config.h.in, src/configure.in,
  7891.         src/diff.c, src/edit.c, src/eval.c, src/ex_cmds2.c,
  7892.         src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/gui_amiga.c
  7893.         src/gui_mac.c, src/gui_photon.c, src/gui_w48.c, src/gui_beos.cc,
  7894.         src/macros.h, src/main.c, src/mbyte.c, src/menu.c, src/message.c,
  7895.         src/misc1.c, src/misc2.c, src/option.c, src/os_msdos.c,
  7896.         src/os_mswin.c, src/proto/charset.pro, src/regexp.c, src/option.h,
  7897.         src/syntax.c
  7898.  
  7899. Patch 6.1.222 (depends on 6.1.219)
  7900. Problem:    Patch 6.1.219 was incomplete.
  7901. Solution:   Add the changes for ":amenu".
  7902. Files:        src/menu.c
  7903.  
  7904. Patch 6.1.223 (extra)
  7905. Problem:    Win32: When IME is activated 'iminsert' is set, but it might never
  7906.         be reset when IME is disabled. (Muraoka Taro)
  7907.         All systems: 'iminsert' is set to 2 when leaving Insert mode, even
  7908.         when langmap is being used. (Peter Valach)
  7909. Solution:   Don't set "b_p_iminsert" in _OnImeNotify(). (Muraoka Taro)
  7910.         Don't store the status of the input method in 'iminsert' when
  7911.         'iminsert' is one.  Also for editing the command line and for
  7912.         arguments to Normal mode commands.
  7913. Files:        src/edit.c, src/ex_getln.c, src/gui_w32.c, src/normal.c
  7914.  
  7915. Patch 6.1.224
  7916. Problem:    "expand('$VAR')" returns an empty string when the expanded $VAR
  7917.         is not an existing file. (Aric Blumer)
  7918. Solution:   Included non-existing files, as documented.
  7919. Files:        src/eval.c
  7920.  
  7921. Patch 6.1.225
  7922. Problem:    Using <C-O><C-^> in Insert mode has a delay when starting "vim -u
  7923.         NONE" and ":set nocp hidden". (Emmanuel)  do_ecmd() uses
  7924.         fileinfo(), the redraw is done after a delay to give the user time
  7925.         to read the message.
  7926. Solution:   Put the message from fileio() in "keep_msg", so that the redraw is
  7927.         done before the delay (still needed to avoid the mode message
  7928.         overwrites the fileinfo() message).
  7929. Files:        src/buffer.c
  7930.  
  7931. Patch 6.1.226
  7932. Problem:    Using ":debug" with a ":normal" command may cause a hang.  (Colin
  7933.         Keith)
  7934. Solution:   Save the typeahead buffer when obtaining a debug command.
  7935. Files:        src/ex_cmds2.c, src/getchar.c, src/proto/getchar.pro
  7936.  
  7937. Patch 6.1.227
  7938. Problem:    It is possible to use a variable name "asdf:asdf" and ":let j:asdf
  7939.         = 5" does not give an error message. (Mikolaj Machowski)
  7940. Solution:   Check for a ":" inside the variable name.
  7941. Files:        src/eval.c
  7942.  
  7943. Patch 6.1.228 (extra)
  7944. Problem:    Win32: The special output function for Hangul is used too often,
  7945.         causing special handling for other situations to be skipped.
  7946.         bInComposition is always FALSE, causing ImeGetTempComposition()
  7947.         always to return NULL.
  7948. Solution:   Remove HanExtTextOut().  Delete the dead code around
  7949.         bInComposition and ImeGetTempComposition().
  7950. Files:        src/gui_w16.c, src/gui_w32.c, src/gui_w48.c
  7951.  
  7952. Patch 6.1.229
  7953. Problem:    Win32: Conversion to/from often used codepages requires the iconv
  7954.         library, which is not always available.
  7955. Solution:   Use standard MS-Windows functions for the conversion when
  7956.         possible. (mostly by Glenn Maynard)
  7957.         Also fixes missing declaration for patch 6.1.220.
  7958. Files:        src/fileio.c
  7959.  
  7960. Patch 6.1.230 (extra)
  7961. Problem:    Win16: building doesn't work.
  7962. Solution:   Exclude the XBUTTON handling. (Vince Negri)
  7963. Files:        src/gui_w48.c
  7964.  
  7965. Patch 6.1.231
  7966. Problem:    Double clicking with the mouse to select a word does not work for
  7967.         multi-byte characters.
  7968. Solution:   Use vim_iswordc() instead of vim_isIDc().  This means 'iskeyword'
  7969.         is used instead of 'isident'.  Also fix that mixing ASCII with
  7970.         multi-byte word characters doesn't work, the mouse class for
  7971.         punctuation and word characters was mixed up.
  7972. Files:        src/normal.c
  7973.  
  7974. Patch 6.1.232 (depends on 6.1.226)
  7975. Problem:    Using ex_normal_busy while it might not be available. (Axel
  7976.         Kielhorn)
  7977. Solution:   Only use ex_normal_busy when FEAT_EX_EXTRA is defined.
  7978. Files:        src/ex_cmds2.c
  7979.  
  7980. Patch 6.1.233
  7981. Problem:    ":help expr-||" does not work.
  7982. Solution:   Don't use the '|' as a command separator
  7983. Files:        src/ex_cmds.c
  7984.  
  7985. Patch 6.1.234 (depends on 6.1.217)
  7986. Problem:    Get a warning for using a negative value for st_dev.
  7987. Solution:   Don't assign a negative value to st_dev.
  7988. Files:        src/ex_cmds2.c
  7989.  
  7990. Patch 6.1.235 (depends on 6.1.223)
  7991. Problem:    'iminsert' is changed from 1 to 2 when leaving Insert mode. (Peter
  7992.         Valach)
  7993. Solution:   Check "State" before resetting it to NORMAL.
  7994. Files:        src/edit.c
  7995.  
  7996. Patch 6.1.236
  7997. Problem:    Memory leaks when appending lines for ":diffget" or ":diffput" and
  7998.         when reloading a changed buffer.
  7999. Solution:   Free a line after calling ml_append().
  8000. Files:        src/diff.c, src/fileio.c
  8001.  
  8002. Patch 6.1.237
  8003. Problem:    Putting in Visual block mode does not work correctly when "$" was
  8004.         used or when the first line is short.  (Christian Michon)
  8005. Solution:   First delete the selected text and then put the new text.  Save
  8006.         and restore registers as necessary.
  8007. Files:        src/globals.h, src/normal.c, src/ops.c, src/proto/ops.pro,
  8008.         src/vim.h
  8009.  
  8010. Patch 6.1.238 (extra)
  8011. Problem:    Win32: The "icon=" argument for the ":menu" command does not
  8012.         search for the bitmap file.
  8013. Solution:   Expand environment variables and search for the bitmap file.
  8014.         (Vince Negri)
  8015.         Make it consistent, use the same mechanism for X11 and GTK.
  8016. Files:        src/gui.c src/gui_gtk.c, src/gui_w32.c, src/gui_x11.c,
  8017.         src/proto/gui.pro
  8018.  
  8019. Patch 6.1.239
  8020. Problem:    Giving an error for missing :endif or :endwhile when being
  8021.         interrupted.
  8022. Solution:   Don't give these messages when interrupted.
  8023. Files:        src/ex_docmd.c, src/os_unix.c
  8024.  
  8025. Patch 6.1.240 (extra)
  8026. Problem:    Win32 with BCC 5: CPU may be defined in the environment, which
  8027.         causes a wrong argument for the compiler. (Walter Briscoe)
  8028. Solution:   Use CPUNR instead of CPU.
  8029. Files:        src/Make_bc5.mak
  8030.  
  8031. Patch 6.1.241
  8032. Problem:    Something goes wrong when drawing or undrawing the cursor.
  8033. Solution:   Remember when the cursor invalid in a better way.
  8034. Files:        src/gui.c
  8035.  
  8036. Patch 6.1.242
  8037. Problem:    When pasting a large number of lines on the command line it is not
  8038.         possible to interrupt. (Jean Jordaan)
  8039. Solution:   Check for an interrupt after each pasted line.
  8040. Files:        src/ops.c
  8041.  
  8042. Patch 6.1.243 (extra)
  8043. Problem:    Win32: When the OLE version is started and wasn't registered, a
  8044.         message pops up to suggest registering, even when this isn't
  8045.         possible (when the registry is not writable).
  8046. Solution:   Check if registering is possible before asking whether it should
  8047.         be done. (Walter Briscoe)
  8048.         Also avoid restarting Vim after registering.
  8049. Files:        src/if_ole.cpp
  8050.  
  8051. Patch 6.1.244
  8052. Problem:    Patch 6.1.237 was missing the diff for vim.h. (Igor Goldenberg)
  8053. Solution:   Include it here.
  8054. Files:        src/vim.h
  8055.  
  8056. Patch 6.1.245
  8057. Problem:    Comparing with ignored case does not work properly for Unicode
  8058.         with a locale where case folding an ASCII character results in a
  8059.         multi-byte character. (Glenn Maynard)
  8060. Solution:   Handle ignore-case compare for Unicode differently.
  8061. Files:        src/mbyte.c
  8062.  
  8063. Patch 6.1.246
  8064. Problem:    ":blast" goes to the first buffer if the last one is unlisted.
  8065.         (Andrew Stryker)
  8066. Solution:   From the last buffer search backwards for the first listed buffer
  8067.         instead of forwards.
  8068. Files:        src/ex_docmd.c
  8069.  
  8070. Patch 6.1.247
  8071. Problem:    ACL support doesn't always work properly.
  8072. Solution:   Add a configure argument to disable ACL "--disable-acl". (Thierry
  8073.         Vignaud)
  8074. Files:        src/auto/configure, src/configure.in
  8075.  
  8076. Patch 6.1.248
  8077. Problem:    Typing 'q' at the more-prompt for ":let" does not quit the
  8078.         listing. (Hari Krishna Dara)
  8079. Solution:   Quit the listing when got_int is set.
  8080. Files:        src/eval.c
  8081.  
  8082. Patch 6.1.249
  8083. Problem:    Can't expand a path on the command line if it includes a "|" as a
  8084.         trail byte of a multi-byte character.
  8085. Solution:   Check for multi-byte characters. (Yasuhiro Matsumoto)
  8086. Files:        src/ex_docmd.c
  8087.  
  8088. Patch 6.1.250
  8089. Problem:    When changing the value of 'lines' inside the expression set with
  8090.         'diffexpr' Vim might crash. (Dave Fishburn)
  8091. Solution:   Don't allow changing the screen size while updating the screen.
  8092. Files:        src/globals.h, src/option.c, src/screen.c
  8093.  
  8094. Patch 6.1.251
  8095. Problem:    Can't use completion for ":lcd" and ":lchdir" like ":cd".
  8096. Solution:   Expand directory names for these commands. (Servatius Brandt)
  8097. Files:        src/ex_docmd.c
  8098.  
  8099. Patch 6.1.252
  8100. Problem:    "vi}" does not include a line break when the "}" is at the start
  8101.         of a following line. (Kamil Burzynski)
  8102. Solution:   Include the line break.
  8103. Files:        src/search.c
  8104.  
  8105. Patch 6.1.253 (extra)
  8106. Problem:    Win32 with Cygwin: Changes the path of arguments in a wrong way.
  8107.         (Xiangjiang Ma)
  8108. Solution:   Don't use cygwin_conv_to_posix_path() for the Win32 version.
  8109.         Update the Cygwin makefile to support more features.  (Dan Sharp)
  8110. Files:        src/Make_cyg.mak, src/if_ole.cpp, src/main.c
  8111.  
  8112. Patch 6.1.254
  8113. Problem:    exists("foo{bar}") does not work.  ':unlet v{"a"}r' does not work.
  8114.         ":let v{a}r1 v{a}r2" does not work. ":func F{(1)}" does not work.
  8115.         ":delfunc F{" does not give an error message.  ':delfunc F{"F"}'
  8116.         does not work.
  8117. Solution:   Support magic braces for the exists() argument. (Vince Negri)
  8118.         Check for trailing comments explicitly for ":unlet".  Add support
  8119.         for magic braces in further arguments of ":let".  Look for a
  8120.         parenthesis only after the function name.  (Servatius Brandt)
  8121.         Also expand magic braces for "exists('*expr')".  Give an error
  8122.         message for an invalid ":delfunc" argument.  Allow quotes in the
  8123.         ":delfunc" argument.
  8124. Files:        src/eval.c, src/ex_cmds.h, src/ex_docmd.c
  8125.  
  8126. Patch 6.1.255 (depends on 6.1.254)
  8127. Problem:    Crash when loading menu.vim a second time. (Christian Robinson)
  8128.         ":unlet garbage foo" tries unletting "foo" after an error message.
  8129.         (Servatius Brandt)
  8130.         Very long function arguments cause very long messages when
  8131.         'verbose' is 14 or higher.
  8132. Solution:   Avoid reading from uninitialized memory.
  8133.         Break out of a loop after an invalid argument for ":unlet".
  8134.         Truncate long function arguments to 80 characters.
  8135. Files:        src/eval.c
  8136.  
  8137. Patch 6.1.256 (depends on 6.1.255)
  8138. Problem:    Defining a function after ":if 0" could still cause an error
  8139.         message for an existing function.
  8140.         Leaking memory when there are trailing characters for ":delfunc".
  8141. Solution:   Check the "skip" flag.  Free the memory. (Servatius Brandt)
  8142. Files:        src/eval.c
  8143.  
  8144. Patch 6.1.257
  8145. Problem:    ":cwindow" always sets the previous window to the last but one
  8146.         window.  (Benji Fisher)
  8147. Solution:   Set the previous window properly.
  8148. Files:        src/globals.c, src/quickfix.c, src/window.c
  8149.  
  8150. Patch 6.1.258
  8151. Problem:    Buffers menu doesn't work properly for multibyte buffer names.
  8152. Solution:   Use a pattern to get the left and right part of the name.
  8153.         (Yasuhiro Matsumoto)
  8154. Files:        runtime/menu.vim
  8155.  
  8156. Patch 6.1.259 (extra)
  8157. Problem:    Mac: with 'patchmode' is used filenames are truncated.
  8158. Solution:   Increase the BASENAMELEN for Mac OS X. (Ed Ralston)
  8159. Files:        src/os_mac.h
  8160.  
  8161. Patch 6.1.260 (depends on 6.1.104)
  8162. Problem:    GCC 3.2 still seems to have an optimizer problem. (Zvi Har'El)
  8163. Solution:   Use the same configure check as used for GCC 3.1.
  8164. Files:        src/auto/configure, src/configure.in
  8165.  
  8166. Patch 6.1.261
  8167. Problem:    When deleting a line in a buffer which is not the current buffer,
  8168.         using the Perl interface Delete(), the cursor in the current
  8169.         window may move. (Chris Houser)
  8170. Solution:   Don't adjust the cursor position when changing another buffer.
  8171. Files:        src/if_perl.xs
  8172.  
  8173. Patch 6.1.262
  8174. Problem:    When jumping over folds with "z[", "zj" and "zk" the previous
  8175.         position is not remembered. (Hari Krishna Dara)
  8176. Solution:   Set the previous context mark before jumping.
  8177. Files:        src/fold.c
  8178.  
  8179. Patch 6.1.263
  8180. Problem:    When typing a multi-byte character that triggers an abbreviation
  8181.         it is not inserted properly.
  8182. Solution:   Handle adding the typed multi-byte character. (Yasuhiro Matsumoto)
  8183. Files:        src/getchar.c
  8184.  
  8185. Patch 6.1.264 (depends on patch 6.1.254)
  8186. Problem:    exists() does not work for built-in functions. (Steve Wall)
  8187. Solution:   Don't check for the function name to start with a capital.
  8188. Files:        src/eval.c
  8189.  
  8190. Patch 6.1.265
  8191. Problem:    libcall() can be used in 'foldexpr' to call any system function.
  8192.         rename(), delete() and remote_send() can also be used in
  8193.         'foldexpr'.  These are security problems. (Georgi Guninski)
  8194. Solution:   Don't allow using libcall(), rename(), delete(), remote_send() and
  8195.         similar functions in the sandbox.
  8196. Files:        src/eval.c
  8197.  
  8198. Patch 6.1.266 (depends on 6.1.265)
  8199. Problem:    Win32: compile error in eval.c. (Bill McCarthy)
  8200. Solution:   Move a variable declaration.
  8201. Files:        src/eval.c
  8202.  
  8203. Patch 6.1.267
  8204. Problem:    Using "p" to paste into a Visual selected area may cause a crash.
  8205. Solution:   Allocate enough memory for saving the register contents. (Muraoka
  8206.         Taro)
  8207. Files:        src/ops.c
  8208.  
  8209. Patch 6.1.268
  8210. Problem:    When triggering an abbreviation with a multi-byte character, this
  8211.         character is not correctly inserted after expanding the
  8212.         abbreviation. (Taro Muraoka)
  8213. Solution:   Add ABBR_OFF to all characters above 0xff.
  8214. Files:        src/edit.c, src/ex_getln.c, src/getchar.c
  8215.  
  8216. Patch 6.1.269
  8217. Problem:    After using input() text written with ":redir" gets extra indent.
  8218.         (David Fishburn)
  8219. Solution:   Restore msg_col after using input().
  8220. Files:        src/ex_getln.c
  8221.  
  8222. Patch 6.1.270 (depends on 6.1.260)
  8223. Problem:    GCC 3.2.1 still seems to have an optimizer problem.
  8224. Solution:   Use the same configure check as used for GCC 3.1.
  8225. Files:        src/auto/configure, src/configure.in
  8226.  
  8227. Patch 6.1.271
  8228. Problem:    When compiling without the +syntax feature there are errors.
  8229. Solution:   Don't use some code for syntax highlighting. (Roger Cornelius)
  8230.         Make test 45 work without syntax highlighting.
  8231.         Also fix an error in a pattern matching: "\%(" was not supported.
  8232. Files:        src/ex_cmds2.c, src/regexp.c, src/testdir/test45.in
  8233.  
  8234. Patch 6.1.272
  8235. Problem:    After using ":set define<" a crash may happen. (Christian Robinson)
  8236. Solution:   Make a copy of the option value in allocated memory.
  8237. Files:        src/option.c
  8238.  
  8239. Patch 6.1.273
  8240. Problem:    When the cursor doesn't blink, redrawing an exposed area may hide
  8241.         the cursor.
  8242. Solution:   Always draw the cursor, also when it didn't move. (Muraoka Taro)
  8243. Files:        src/gui.c
  8244.  
  8245. Patch 6.1.274 (depends on 6.1.210)
  8246. Problem:    Resetting the iconv() state after each error is wrong for an
  8247.         incomplete sequence.
  8248. Solution:   Don't reset the iconv() state.
  8249. Files:        src/fileio.c
  8250.  
  8251. Patch 6.1.275
  8252. Problem:    When using "v" in a startup script, get warning message that
  8253.         terminal cannot highlight. (Charles Campbell)
  8254. Solution:   Only give the message after the terminal has been initialized.
  8255. Files:        src/normal.c
  8256.  
  8257. Patch 6.1.276
  8258. Problem:    "gvim --remote file" doesn't prompt for an encryption key.
  8259. Solution:   The further characters the client sends to the server are used.
  8260.         Added inputsave() and inputrestore() to allow prompting the
  8261.         user directly and not using typeahead.
  8262.         Also fix possible memory leak for ":normal".
  8263. Files:        src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, src/getchar.c,
  8264.         src/main.c, src/proto/getchar.pro, src/proto/ui.pro,
  8265.         src/runtime/doc/eval.txt, src/structs.h, src/ui.c, src/vim.h
  8266.  
  8267. Patch 6.1.277 (depends on 6.1.276)
  8268. Problem:    Compilation error when building with small features.
  8269. Solution:   Define trash_input_buf() when needed. (Kelvin Lee)
  8270. Files:        src/ui.c
  8271.  
  8272. Patch 6.1.278
  8273. Problem:    When using signs the line number of a closed fold doesn't line up
  8274.         with the other line numbers. (Kamil Burzynski)
  8275. Solution:   Insert two spaces for the sign column.
  8276. Files:        src/screen.c
  8277.  
  8278. Patch 6.1.279
  8279. Problem:    The prototype for smsg() and smsg_attr() do not match the function
  8280.         definition.  This may cause trouble for some compilers. (Nix)
  8281. Solution:   Use va_list for systems that have stdarg.h.  Use "int" instead of
  8282.         "void" for the return type.
  8283. Files:        src/auto/configure, src/config.h.in, src/configure.in,
  8284.         src/proto.h, src/message.c
  8285.  
  8286. Patch 6.1.280
  8287. Problem:    It's possible to use an argument "firstline" or "lastline" for a
  8288.         function but using "a:firstline" or "a:lastline" in the function
  8289.         won't work.  (Benji Fisher)
  8290. Solution:   Give an error message for these arguments.
  8291.         Also avoid that the following function body causes a whole row of
  8292.         errors, skip over it after an error in the first line.
  8293. Files:        src/eval.c
  8294.  
  8295. Patch 6.1.281
  8296. Problem:    In Insert mode CTRL-X CTRL-G leaves the cursor after the ruler.
  8297. Solution:   Set the cursor position before waiting for the argument of CTRL-G.
  8298.         (Yasuhiro Matsumoto)
  8299. Files:        src/edit.c
  8300.  
  8301. Patch 6.1.282
  8302. Problem:    Elvis uses "se" in a modeline, Vim doesn't recognize this.
  8303. Solution:   Also accept "se " where "set " is accepted in a modeline.
  8304.         (Yasuhiro Matsumoto)
  8305. Files:        src/buffer.c
  8306.  
  8307. Patch 6.1.283
  8308. Problem:    For ":sign" the icon file name cannot contain a space.
  8309. Solution:   Handle backslashes in the file name.  (Yasuhiro Matsumoto)
  8310. Files:        src/ex_cmds.c
  8311.  
  8312. Patch 6.1.284
  8313. Problem:    On Solaris there is a warning for "struct utimbuf".
  8314. Solution:   Move including "utime.h" to outside the function. (Derek Wyatt)
  8315. Files:        src/fileio.c
  8316.  
  8317. Patch 6.1.285
  8318. Problem:    Can't wipe out a buffer with 'bufhide' option.
  8319. Solution:   Add "wipe" value to 'bufhide'. (Yegappan Lakshmanan)
  8320. Files:        runtime/doc/options.txt, src/buffer.c, src/option.c,
  8321.         src/quickfix.c
  8322.  
  8323. Patch 6.1.286
  8324. Problem:    'showbreak' cannot contain multi-byte characters.
  8325. Solution:   Allow using all printable characters for 'showbreak'.
  8326. Files:        src/charset.c, src/move.c, src/option.c
  8327.  
  8328. Patch 6.1.287 (depends on 6.1.285)
  8329. Problem:    Effect of "delete" and "wipe" in 'bufhide' were mixed up.
  8330. Solution:   Wipe out when wiping out is asked for.
  8331. Files:        src/buffer.c
  8332.  
  8333. Patch 6.1.288
  8334. Problem:    ":silent function F" hangs. (Hari Krishna Dara)
  8335. Solution:   Don't use msg_col, it is not incremented when using ":silent".
  8336.         Also made the function output look a bit better.  Don't translate
  8337.         "function".
  8338. Files:        src/eval.c
  8339.  
  8340. Patch 6.1.289 (depends on 6.1.278)
  8341. Problem:    Compiler warning for pointer. (Axel Kielhorn)
  8342. Solution:   Add a typecast for "  ".
  8343. Files:        src/screen.c
  8344.  
  8345. Patch 6.1.290 (extra)
  8346. Problem:    Truncating long text for message box may break multi-byte
  8347.         character.
  8348. Solution:   Adjust to start of multi-byte character. (Yasuhiro Matsumoto)
  8349. Files:        src/os_mswin.c
  8350.  
  8351. Patch 6.1.291 (extra)
  8352. Problem:    Win32: CTRL-@ doesn't work.  Don't even get a message for it.
  8353. Solution:   Recognize the keycode for CTRL-@. (Yasuhiro Matsumoto)
  8354. Files:        src/gui_w48.c
  8355.  
  8356. Patch 6.1.292 (extra, depends on 6.1.253)
  8357. Problem:    Win32: Can't compile with new MingW compiler.
  8358.         Borland 5 makefile doesn't generate pathdef.c.
  8359. Solution:   Remove -wwide-multiply argument. (Rene de Zwart)
  8360.         Various fixes for other problems in Win32 makefiles. (Dan Sharp)
  8361. Files:        src/Make_bc5.mak, src/Make_cyg.mak, src/Make_ming.mak,
  8362.         src/Make_mvc.mak
  8363.  
  8364. Patch 6.1.293
  8365. Problem:    byte2line() returns a wrong result for some values.
  8366. Solution:   Change ">=" to ">" in ml_find_line_or_offset(). (Bradford C Smith)
  8367.         Add one to the line number when at the end of a block.
  8368. Files:        src/memline.c
  8369.  
  8370. Patch 6.1.294
  8371. Problem:    Can't include a multi-byte character in a string by its hex value.
  8372.         (Benji Fisher)
  8373. Solution:   Add "\u....": a character specified with up to four hex numbers
  8374.         and stored according to the value of 'encoding'.
  8375. Files:        src/eval.c
  8376.  
  8377. Patch 6.1.295 (extra)
  8378. Problem:    Processing the cs.po file generates an error. (Rahul Agrawal)
  8379. Solution:   Fix the printf format characters in the translation.
  8380. Files:        src/po/cs.po
  8381.  
  8382. Patch 6.1.296
  8383. Problem:    Win32: When cancelling the font dialog 'guifont' remains set to
  8384.         "*".
  8385. Solution:   Restore the old value of 'guifont' (Yasuhiro Matsumoto)
  8386. Files:        src/option.c
  8387.  
  8388. Patch 6.1.297
  8389. Problem:    "make test" fails in test6 in an UTF-8 environment. (Benji Fisher)
  8390. Solution:   Before executing the BufReadPost autocommands save the current
  8391.         fileencoding, so that the file isn't marked changed.
  8392. Files:        src/fileio.c
  8393.  
  8394. Patch 6.1.298
  8395. Problem:    When using signs and the first line of a closed fold has a sign
  8396.         it can be redrawn as if the fold was open.  (Kamil Burzynski)
  8397. Solution:   Don't redraw a sign inside a closed fold.
  8398. Files:        src/screen.c
  8399.  
  8400. Patch 6.1.299
  8401. Problem:    ":edit +set\ ro file" doesn't work.
  8402. Solution:   Halve the number of backslashes in the "+cmd" argument.
  8403. Files:        src/ex_docmd.c
  8404.  
  8405. Patch 6.1.300 (extra)
  8406. Problem:    Handling of ETO_IGNORELANGUAGE is confusing.
  8407. Solution:   Clean up the handling of ETO_IGNORELANGUAGE. (Glenn Maynard)
  8408. Files:        src/gui_w32.c
  8409.  
  8410. Patch 6.1.301 (extra)
  8411. Problem:    French translation of file-save dialog doesn't show file name.
  8412. Solution:   Insert a star in the printf string. (Francois Terrot)
  8413. Files:        src/po/fr.po
  8414.  
  8415. Patch 6.1.302
  8416. Problem:    Counting lines of the Visual area is incorrect for closed folds.
  8417.         (Mikolaj Machowski)
  8418. Solution:   Correct the start and end for the closed fold.
  8419. Files:        src/normal.c
  8420.  
  8421. Patch 6.1.303 (extra)
  8422. Problem:    The Top/Bottom/All text does not always fit in the ruler when
  8423.         translated to Japanese.  Problem with a character being wider when
  8424.         in a bold font.
  8425. Solution:   Use ETO_PDY to specify the width of each character. (Yasuhiro
  8426.         Matsumoto)
  8427. Files:        src/gui_w32.c
  8428.  
  8429. Patch 6.1.304 (extra, depends on 6.1.292)
  8430. Problem:    Win32: Postscript is always enabled in the MingW Makefile.
  8431.         Pathdef.c isn't generated properly with Make_bc5.mak. (Yasuhiro
  8432.         Matsumoto)
  8433. Solution:   Change an ifdef to an ifeq. (Madoka Machitani)
  8434.         Use the Borland make redirection to generate pathdef.c. (Maurice
  8435.         Barnum)
  8436. Files:        src/Make_bc5.mak, src/Make_ming.mak
  8437.  
  8438. Patch 6.1.305
  8439. Problem:    When 'verbose' is 14 or higher, a function call may cause reading
  8440.         uninitialized data. (Walter Briscoe)
  8441. Solution:   Check for end-of-string in trunc_string().
  8442. Files:        src/message.c
  8443.  
  8444. Patch 6.1.306
  8445. Problem:    The AIX VisualAge cc compiler doesn't define __STDC__.
  8446. Solution:   Use __EXTENDED__ like __STDC__. (Jess Thrysoee)
  8447. Files:        src/os_unix.h
  8448.  
  8449. Patch 6.1.307
  8450. Problem:    When a double-byte character has an illegal tail byte the display
  8451.         is messed up. (Yasuhiro Matsumoto)
  8452. Solution:   Draw "XX" instead of the wrong character.
  8453. Files:        src/screen.c
  8454.  
  8455. Patch 6.1.308
  8456. Problem:    Can't reset the Visual mode returned by visualmode().
  8457. Solution:   Use an optional argument to visualmode(). (Charles Campbell)
  8458. Files:        runtime/doc/eval.txt, src/eval.c, src/normal.c,
  8459.         src/structs.h
  8460.  
  8461. Patch 6.1.309
  8462. Problem:    The tutor doesn't select German if the locale name is
  8463.         "German_Germany.1252". (Joachim Hofmann)
  8464. Solution:   Check for "German" in the locale name.  Also check for
  8465.         ".ge".  And include the German and Greek tutors.
  8466. Files:        runtime/tutor/tutor.de, runtime/tutor/tutor.vim,
  8467.         runtime/tutor/tutor.gr, runtime/tutor/tutor.gr.cp737
  8468.  
  8469. Patch 6.1.310 (depends on 6.1.307)
  8470. Problem:    All double-byte characters are displayed as "XX".
  8471. Solution:   Use ">= 32" instead of "< 32".  (Yasuhiro Matsumoto)
  8472. Files:        src/screen.c
  8473.  
  8474. Patch 6.1.311 (extra)
  8475. Problem:    VMS: path in window title doesn't include necessary separator.
  8476.         file version doesn't always work properly with Unix.
  8477.         Crashes because of memory overwrite in GUI.
  8478.         Didn't always handle files with lowercase and correct path.
  8479. Solution:   Fix the problems.  Remove unnecessary file name translations.
  8480.         (Zoltan Arpadffy)
  8481. Files:        src/buffer.c, src/ex_cmds2.c, src/fileio.c, src/memline.c,
  8482.         src/misc1.c, src/misc2.c, src/os_unix.c, src/os_vms.c, src/tag.c
  8483.  
  8484. Patch 6.1.312
  8485. Problem:    When using ":silent" debugging is also done silently.
  8486. Solution:   Disable silence while at the debug prompt.
  8487. Files:        src/ex_cmds2.c
  8488.  
  8489. Patch 6.1.313
  8490. Problem:    When a ":drop fname" command is used and "fname" is open in
  8491.         another window, it is also opened in the current window.
  8492. Solution:   Change to the window with "fname" instead.
  8493.         Don't redefine the argument list when dropping only one file.
  8494. Files:        runtime/doc/windows.txt, src/ex_cmds2.c, src/ex_cmds.c,
  8495.         src/ex_docmd.c, src/proto/ex_cmds2.pro, src/proto/ex_docmd.pro
  8496.  
  8497. Patch 6.1.314 (depends on 6.1.126)
  8498. Problem:    Missing backslash in "Generic Config file" syntax menu.
  8499. Solution:   Insert the backslash. (Zak Beck)
  8500. Files:        runtime/makemenu.vim, runtime/synmenu.vim
  8501.  
  8502. Patch 6.1.315 (extra)
  8503. Problem:    A very long hostname may lead to an unterminated string.  Failing
  8504.         to obtain a hostname may result in garbage.  (Walter Briscoe)
  8505. Solution:   Add a NUL at the end of the hostname buffer.
  8506. Files:        src/os_mac.c, src/os_msdos.c, src/os_unix.c, src/os_win16.c,
  8507.         src/os_win32.c
  8508.  
  8509. Patch 6.1.316
  8510. Problem:    When exiting with "wq" and there is a hidden buffer, after the
  8511.         "file changed" dialog there is a warning for a changed buffer.
  8512.         (Ajit Thakkar)
  8513. Solution:   Do update the buffer timestamps when exiting.
  8514. Files:        src/fileio.c
  8515.  
  8516. Patch 6.1.317
  8517. Problem:    Closing a window may cause some of the remaining windows to be
  8518.         positioned wrong if there is a mix of horizontal and vertical
  8519.         splits. (Stefan Ingi Valdimarsson)
  8520. Solution:   Update the frame sizes before updating the window positions.
  8521. Files:        src/window.c
  8522.  
  8523. Patch 6.1.318
  8524. Problem:    auto/pathdef.c can include wrong quotes when a compiler flag
  8525.         includes quotes.
  8526. Solution:   Put a backslash before the quotes in compiler flags. (Shinra Aida)
  8527. Files:        src/Makefile
  8528.  
  8529. Patch 6.1.319 (depends on 6.1.276)
  8530. Problem:    Using "--remote +cmd file" does not execute "cmd".
  8531. Solution:   Call inputrestore() in the same command line as inputsave(),
  8532.         otherwise it will never get executed.
  8533. Files:        src/main.c
  8534.  
  8535. Patch 6.1.320 (depends on 6.1.313)
  8536. Problem:    When a ":drop one\ file" command is used the file "one\ file" is
  8537.         opened, the backslash is not removed. (Taro Muraoka)
  8538. Solution:   Handle backslashes correctly.  Always set the argument list to
  8539.         keep it simple.
  8540. Files:        runtime/doc/windows.txt, src/ex_cmds.c
  8541.  
  8542. Patch 6.1.321
  8543. Problem:    When 'mouse' includes 'n' but not 'v', don't allow starting Visual
  8544.         mode with the mouse.
  8545. Solution:   Don't use MOUSE_MAY_VIS when there is no 'v' in 'mouse'. (Flemming
  8546.         Madsen)
  8547. Files:        src/normal.c
  8548.  
  8549. Patch 6.1.322 (extra, depends on 6.1.315)
  8550. Problem:    Win32: The host name is always "PC " plus the real host name.
  8551. Solution:   Don't insert "PC " before the host name.
  8552. Files:        src/os_win32.c
  8553.  
  8554. Patch 6.1.323
  8555. Problem:    ":registers" doesn't stop listing for a "q" at the more prompt.
  8556.         (Hari Krishna Dara)
  8557. Solution:   Check for interrupt and got_int.
  8558. Files:        src/ops.c, src/proto/ops.pro
  8559.  
  8560. Patch 6.1.324
  8561. Problem:    Crash when dragging a vertical separator when <LeftMouse> is
  8562.         remapped to jump to another window.
  8563. Solution:   Pass the window pointer to the function doing the dragging instead
  8564.         of always using the current window. (Daniel Elstner)
  8565.         Also fix that starting a drag changes window focus.
  8566. Files:        src/normal.c, src/proto/window.pro, src/ui.c, src/vim.h,
  8567.         src/window.c
  8568.  
  8569. Patch 6.1.325
  8570. Problem:    Shift-Tab is not automatically recognized in an xterm.
  8571. Solution:   Add <Esc>[Z as the termcap code. (Andrew Pimlott)
  8572. Files:        src/term.c
  8573.  
  8574. Patch 6.1.326
  8575. Problem:    Using a search pattern may read from uninitialized data (Yasuhiro
  8576.         Matsumoto)
  8577. Solution:   Initialize pointers to NULL.
  8578. Files:        src/regexp.c
  8579.  
  8580. Patch 6.1.327
  8581. Problem:    When opening the "mbyte.txt" help file the utf-8 characters are
  8582.         unreadable, because the fileencoding is forced to be latin1.
  8583. Solution:   Check for utf-8 encoding first in help files. (Daniel Elstner)
  8584. Files:        runtime/doc/mbyte.txt, src/fileio.c
  8585.  
  8586. Patch 6.1.328
  8587. Problem:    Prototype for enc_canon_search() is missing.
  8588. Solution:   Add the prototype. (Walter Briscoe)
  8589. Files:        src/mbyte.c
  8590.  
  8591. Patch 6.1.329
  8592. Problem:    When editing a file "a b c" replacing "%" in ":Cmd %" or ":next %"
  8593.         does not work properly.  (Hari Krishna Dara)
  8594. Solution:   Always escape spaces when expanding "%".  Don't split argument for
  8595.         <f-args> in a user command when only one argument is used.
  8596. Files:        src/ex_docmd.c
  8597.  
  8598. Patch 6.1.330
  8599. Problem:    GTK, Motif and Athena: Keypad keys produce the same code as
  8600.         non-keypad keys, making it impossible to map them separately.
  8601. Solution:   Use different termcap codes for the keypad keys. (Neil Bird)
  8602. Files:        src/gui_gtk_x11.c, src/gui_x11.c
  8603.  
  8604. Patch 6.1.331
  8605. Problem:    When translating the help files, "LOCAL ADDITIONS" no longer marks
  8606.         the spot where help files from plugins are to be listed.
  8607. Solution:   Add a "local-additions" tag and use that to find the right spot.
  8608. Files:        runtime/doc/help.txt, src/ex_cmds.c
  8609.  
  8610. Patch 6.1.332 (extra)
  8611. Problem:    Win32: Loading Perl dynamically doesn't work with Perl 5.8.
  8612.         Perl 5.8 also does not work with Cygwin and Ming.
  8613. Solution:   Adjust the function calls. (Taro Muraoka)
  8614.         Adjust the cyg and ming makefiles. (Dan Sharp)
  8615. Files:        src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak,
  8616.         src/if_perl.xs
  8617.  
  8618. Patch 6.1.333 (extra)
  8619. Problem:    Win32: Can't handle Unicode text on the clipboard.
  8620.         Can't pass NUL byte, it becomes a line break.  (Bruce DeVisser)
  8621. Solution:   Support Unicode for the clipboard (Ron Aaron and Glenn Maynard)
  8622.         Also support copy/paste of NUL bytes.
  8623. Files:        src/os_mswin.c, src/os_win16.c src/os_win32.c
  8624.  
  8625. Patch 6.1.334 (extra, depends on 6.1.303)
  8626. Problem:    Problem with drawing Hebrew characters.
  8627. Solution:   Only use ETO_PDY for Windows NT and the like. (Yasuhiro Matsumoto)
  8628. Files:        src/gui_w32.c
  8629.  
  8630. Patch 6.1.335 (extra)
  8631. Problem:    Failure of obtaining the cursor position and window size is
  8632.         ignored.
  8633. Solution:   Remove a semicolon after an "if". (Walter Briscoe)
  8634. Files:        src/gui_w32.c
  8635.  
  8636. Patch 6.1.336 (extra)
  8637. Problem:    Warning for use of function prototypes of smsg().
  8638. Solution:   Define HAVE_STDARG_H. (Walter Briscoe)
  8639. Files:        src/os_win32.h
  8640.  
  8641. Patch 6.1.337
  8642. Problem:    When using "finish" in debug mode in function B() for ":call
  8643.         A(B())" does not stop after B() is finished.
  8644. Solution:   Increase debug_level while evaluating a function.
  8645. Files:        src/ex_docmd.c
  8646.  
  8647. Patch 6.1.338
  8648. Problem:    When using a menu that checks out the current file from Insert
  8649.         mode, there is no warning for the changed file until exiting
  8650.         Insert mode.  (Srikanth Sankaran)
  8651. Solution:   Add a check for need_check_timestamps in the Insert mode loop.
  8652. Files:        src/edit.c
  8653.  
  8654. Patch 6.1.339
  8655. Problem:    Completion doesn't allow "g:" in ":let g:did_<Tab>". (Benji
  8656.         Fisher)
  8657. Solution:   Return "g:var" for global variables when that is what is being
  8658.         expanded. (Flemming Madsen)
  8659. Files:        src/eval.c
  8660.  
  8661. Patch 6.1.340 (extra, depends on 6.1.332)
  8662. Problem:    Win32: Can't compile the Perl interface with nmake.
  8663. Solution:   Don't compare the version number as a string but as a number.
  8664.         (Juergen Kraemer)
  8665. Files:        src/Make_mvc.mak
  8666.  
  8667. Patch 6.1.341
  8668. Problem:    In Insert mode with 'rightleft' set the cursor is drawn halfway a
  8669.         double-wide character.  For CTRL-R and CTRL-K in Insert mode the "
  8670.         or ? is not displayed.
  8671. Solution:   Draw the cursor in the next character cell.  Display the " or ?
  8672.         over the right half of the double-wide character. (Yasuhiro
  8673.         Matsumoto)  Also fix that cancelling a digraph doesn't redraw
  8674.         a double-byte character correctly.
  8675. Files:        src/edit.c, src/gui.c, src/mbyte.c
  8676.  
  8677. Patch 6.1.342 (depends on 6.1.341)
  8678. Problem:    With 'rightleft' set typing "c" on a double-wide character causes
  8679.         the cursor to be displayed one cell to the left.
  8680. Solution:   Draw the cursor in the next character cell.  (Yasuhiro Matsumoto)
  8681. Files:        src/gui.c
  8682.  
  8683. Patch 6.1.343 (depends on 6.1.342)
  8684. Problem:    Cannot compile with the +multi_byte feature but without +rightleft.
  8685.         Cannot compile without the GUI.
  8686. Solution:   Fix the #ifdefs.  (partly by Nam SungHyun)
  8687. Files:        src/gui.c, src/mbyte.c, src/ui.c
  8688.  
  8689. Patch 6.1.344
  8690. Problem:    When using ":silent filetype" the output is still put in the
  8691.         message history. (Hari Krishna Dara)
  8692. Solution:   Don't add messages in the history when ":silent" is used.
  8693. Files:        src/message.c
  8694.  
  8695. Patch 6.1.345 (extra)
  8696. Problem:    Win32: 'imdisable' doesn't work.
  8697. Solution:   Make 'imdisable' work. (Yasuhiro Matsumoto)
  8698. Files:        src/gui_w32.c
  8699.  
  8700. Patch 6.1.346
  8701. Problem:    The scroll wheel can only scroll the current window.
  8702. Solution:   Make the scroll wheel scroll the window that the mouse points to.
  8703.         (Daniel Elstner)
  8704. Files:        src/edit.c, src/gui.c, src/normal.c, src/term.c
  8705.  
  8706. Patch 6.1.347
  8707. Problem:    When using cscope to list matching tags, the listed number is
  8708.         sometimes not equal to what cscope uses. (Vihren Milev)
  8709. Solution:   For cscope tags use only one table, don't give tags in the current
  8710.         file a higher priority.
  8711. Files:        src/tag.c
  8712.  
  8713. Patch 6.1.348
  8714. Problem:    Wildmode with wildmenu: ":set wildmode=list,full", ":colorscheme
  8715.         <tab>" results in "zellner" instead of the first entry. (Anand
  8716.         Hariharan)
  8717. Solution:   Don't call ExpandOne() from globpath(). (Flemming Madsen)
  8718. Files:        src/ex_getln.c
  8719.  
  8720. Patch 6.1.349
  8721. Problem:    "vim --serverlist" when no server was ever started gives an error
  8722.         message without "\n".
  8723.         "vim --serverlist" doesn't exit when the X server can't be
  8724.         contacted, it starts Vim unexpectedly. (Ricardo Signes)
  8725. Solution:   Don't give an error when no Vim server was ever started.
  8726.         Treat failing of opening the display equal to errors inside the
  8727.         remote*() functions. (Flemming Madsen)
  8728. Files:        src/if_xcmdsrv.c, src/main.c
  8729.  
  8730. Patch 6.1.350
  8731. Problem:    When entering a buffer with ":bnext" for the first time, using an
  8732.         autocommand to restore the last used cursor position doesn't work.
  8733.         (Paolo Giarusso)
  8734. Solution:   Don't use the last known cursor position of the current Vim
  8735.         invocation if an autocommand changed the position.
  8736. Files:        src/buffer.c
  8737.  
  8738. Patch 6.1.351 (depends on 6.1.349)
  8739. Problem:    Crash when starting Vim the first time in an X server. (John
  8740.         McGowan)
  8741. Solution:   Don't call xFree() with a fixed string.
  8742. Files:        src/if_xcmdsrv.c
  8743.  
  8744. Patch 6.1.352 (extra, depends on 6.1.345)
  8745. Problem:    Win32: Crash when setting "imdisable" in _vimrc.
  8746. Solution:   Don't call IME functions when imm32.dll was not loaded (yet).
  8747.         Also add typecasts to avoid Compiler warnings for
  8748.         ImmAssociateContext() argument.
  8749. Files:        src/gui_w32.c
  8750.  
  8751. Patch 6.1.353 (extra, depends on 6.1.334)
  8752. Problem:    Problem with drawing Arabic characters.
  8753. Solution:   Don't use ETO_PDY, do use padding.
  8754. Files:        src/gui_w32.c
  8755.  
  8756. Patch 6.1.354 (extra, depends on 6.1.333)
  8757. Problem:    MS-Windows 98: Notepad can't paste text copied from Vim when
  8758.         'encoding' is "utf-8".
  8759. Solution:   Also make CF_TEXT available on the clipboard. (Ron Aaron)
  8760. Files:        src/os_mswin.c
  8761.  
  8762. Patch 6.1.355
  8763. Problem:    In a regexp '\n' will never match anything in a string.
  8764. Solution:   Make '\n' match a newline character.
  8765. Files:        src/buffer.c, src/edit.c, src/eval.c, src/ex_cmds2.c,
  8766.         src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/misc1.c,
  8767.         src/option.c, src/os_mac.c, src/os_unix.c, src/quickfix.c,
  8768.         src/regexp.c, src/search.c, src/syntax.c, src/tag.c, src/vim.h
  8769.  
  8770. Patch 6.1.356 (extra, depends on, well, eh, several others)
  8771. Problem:    Compiler warnings for using convert_setup() and a few other
  8772.         things.
  8773. Solution:   Add typecasts.
  8774. Files:        src/mbyte.c, src/os_mswin.c, src/proto/os_win32.pro, src/os_win32.c
  8775.  
  8776. Patch 6.1.357
  8777. Problem:    CR in the quickfix window jumps to the error under the cursor, but
  8778.         this doesn't work in Insert mode. (Srikanth Sankaran)
  8779. Solution:   Handle CR in Insert mode in the quickfix window.
  8780. Files:        src/edit.c
  8781.  
  8782. Patch 6.1.358
  8783. Problem:    The tutor doesn't select another locale version properly.
  8784. Solution:   Insert the "let" command. (Yasuhiro Matsumoto)
  8785. Files:        runtime/tutor/tutor.vim
  8786.  
  8787. Patch 6.1.359 (extra)
  8788. Problem:    Mac Carbon: Vim doesn't get focus when started from the command
  8789.         line.  Crash when using horizontal scroll bar.
  8790. Solution:   Set Vim as the frontprocess.  Fix scrolling.  (Peter Cucka)
  8791. Files:        src/gui_mac.c
  8792.  
  8793. Patch 6.1.360 (depends on 6.1.341)
  8794. Problem:    In Insert mode CTRL-K ESC messes up a multi-byte character.
  8795.         (Anders Helmersson)
  8796. Solution:   Save all bytes of a character when displaying a character
  8797.         temporarily.
  8798. Files:        src/edit.c, src/proto/screen.pro, src/screen.c
  8799.  
  8800. Patch 6.1.361
  8801. Problem:    Cannot jump to a file mark with ":'M".
  8802. Solution:   Allow jumping to another file for a mark in an Ex address when it
  8803.         is the only thing in the command line.
  8804. Files:        src/ex_docmd.c
  8805.  
  8806. Patch 6.1.362
  8807. Problem:    tgetent() may return zero for success. tgetflag() may return -1
  8808.         for an error.
  8809. Solution:   Check tgetflag() for returning a positive value.  Add an autoconf
  8810.         check for the value that tgetent() returns.
  8811. Files:        src/auto/configure, src/config.h.in, src/configure.in, src/term.c
  8812.  
  8813. Patch 6.1.363
  8814. Problem:    byte2line() can return one more than the number of lines.
  8815. Solution:   Return -1 if the offset is one byte past the end.
  8816. Files:        src/memline.c
  8817.  
  8818. Patch 6.1.364
  8819. Problem:    That the FileChangedShell autocommand event never nests makes it
  8820.         difficult to reload a file in a normal way.
  8821. Solution:   Allow nesting for the FileChangedShell event but do not allow
  8822.         triggering itself again.
  8823.         Also avoid autocommands for the cmdline window in rare cases.
  8824. Files:        src/ex_getln.c, src/fileio.c, src/window.c
  8825.  
  8826. Patch 6.1.365 (depends on 6.1.217)
  8827. Problem:    Setting a breakpoint in a sourced file with a relative path name
  8828.         doesn't work. (Servatius Brandt)
  8829. Solution:   Expand the file name to a full path.
  8830. Files:        src/ex_cmds2.c
  8831.  
  8832. Patch 6.1.366
  8833. Problem:    Can't use Vim with Netbeans.
  8834. Solution:   Add the Netbeans interface.  Includes support for sign icons and
  8835.         "-fg" and "-bg" arguments for GTK.  Add the 'autochdir'
  8836.         option.  (Gordon Prieur, George Hernandez, Dave Weatherford)
  8837.         Make it possible to display both a sign with a text and one with
  8838.         line highlighting in the same line.
  8839.         Add support for Agide, interface version 2.1.
  8840.         Also fix that when 'iskeyword' includes '?' the "*" command
  8841.         doesn't work properly on a word that includes "?" (Bill McCarthy):
  8842.         Don't escape "?" to "\?" when searching forward.
  8843. Files:        runtime/doc/Makefile, runtime/doc/netbeans.txt,
  8844.         runtime/doc/options.txt, runtime/doc/various.txt,
  8845.         src/Makefile, src/auto/configure, src/buffer.c, src/config.h.in,
  8846.         src/config.mk.in, src/configure.in, src/edit.c, src/ex_cmds.c,
  8847.         src/ex_docmd.c, src/feature.h, src/fileio.c, src/globals.h,
  8848.         src/gui.c, src/gui_beval.c, src/gui_gtk_x11.c, src/gui_x11.c,
  8849.         src/main.c, src/memline.c, src/misc1.c, src/misc2.c, src/move.c,
  8850.         src/nbdebug.c, src/nbdebug.h, src/netbeans.c, src/normal.c,
  8851.         src/ops.c, src/option.c, src/option.h, src/proto/buffer.pro,
  8852.         src/proto/gui_beval.pro, src/proto/gui_gtk_x11.pro,
  8853.         src/proto/gui_x11.pro, src/proto/misc2.pro,
  8854.         src/proto/netbeans.pro, src/proto/normal.pro, src/proto/ui.pro,
  8855.         src/proto.h, src/screen.c, src/structs.h, src/ui.c, src/undo.c,
  8856.         src/vim.h, src/window.c, src/workshop.c
  8857.  
  8858. Patch 6.1.367 (depends on 6.1.365)
  8859. Problem:    Setting a breakpoint in a function doesn't work.  For a sourced
  8860.         file it doesn't work when symbolic links are involved.  (Servatius
  8861.         Brandt)
  8862. Solution:   Expand the file name in the same way as do_source() does.  Don't
  8863.         prepend the path to a function name.
  8864. Files:        src/ex_cmds2.c
  8865.  
  8866. Patch 6.1.368
  8867. Problem:    Completion for ":map" does not include <silent> and <script>.
  8868.         ":mkexrc" do not save the <silent> attribute of mappings.
  8869. Solution:   Add "<silent>" to the generated map commands when appropriate.
  8870.         (David Elstner)
  8871.         Add <silent> and <script> to command line completion.
  8872. Files:        src/getchar.c
  8873.  
  8874. Patch 6.1.369 (extra)
  8875. Problem:    VMS: Vim hangs when attempting to edit a read-only file in the
  8876.         terminal.  Problem with VMS filenames for quickfix.
  8877. Solution:   Rewrite low level input.  Remove version number from file name in
  8878.         a couple more places.  Fix crash after patch 6.1.362.  Correct
  8879.         return code for system().  (Zoltan Arpadffy, Tomas Stehlik)
  8880. Files:        src/misc1.c, src/os_unix.c, src/os_vms.c, src/proto/os_vms.pro,
  8881.         src/os_vms_conf.h, src/quickfix.c, src/ui.c
  8882.  
  8883. Patch 6.1.370
  8884. Problem:    #ifdef nesting is unclear.
  8885. Solution:   Insert spaces to indicate the nesting.
  8886. Files:        src/os_unix.c
  8887.  
  8888. Patch 6.1.371
  8889. Problem:    "%V" in 'statusline' doesn't show "0-1" in an empty line.
  8890. Solution:   Add one to the column when comparing with virtual column (Andrew
  8891.         Pimlott)
  8892. Files:        src/buffer.c
  8893.  
  8894. Patch 6.1.372
  8895. Problem:    With 16 bit ints there are compiler warnings. (Walter Briscoe)
  8896. Solution:   Change int into long.
  8897. Files:        src/structs.h, src/syntax.c
  8898.  
  8899. Patch 6.1.373
  8900. Problem:    The default page header for printing is not translated.
  8901. Solution:   Add _() around the two places where "Page" is used. (Mike
  8902.         Williams)  Translate the default value of the 'titleold' and
  8903.         'printheader' options.
  8904. Files:        src/ex_cmds2.c, src/option.c
  8905.  
  8906. Patch 6.1.374 (extra)
  8907. Problem:    MS-Windows: Cannot build GvimExt with MingW or Cygwin.
  8908. Solution:   Add makefile and modified resource files. (Rene de Zwart)
  8909.         Also support Cygwin. (Alejandro Lopez_Valencia)
  8910. Files:        GvimExt/Make_cyg.mak, GvimExt/Make_ming.mak, GvimExt/Makefile,
  8911.         GvimExt/gvimext_ming.def, GvimExt/gvimext_ming.rc
  8912.  
  8913. Patch 6.1.375
  8914. Problem:    MS-Windows: ':!dir "%"' does not work for a file name with spaces.
  8915.         (Xiangjiang Ma)
  8916. Solution:   Don't insert backslashes for spaces in a shell command.
  8917. Files:        src/ex_docmd.c
  8918.  
  8919. Patch 6.1.376
  8920. Problem:    "vim --version" and "vim --help" have a non-zero exit code.
  8921.         That is unusual. (Petesea)
  8922. Solution:   Use a zero exit code.
  8923. Files:        src/main.c
  8924.  
  8925. Patch 6.1.377
  8926. Problem:    Can't add words to 'lispwords' option.
  8927. Solution:   Add P_COMMA and P_NODUP flags. (Haakon Riiser)
  8928. Files:        src/option.c
  8929.  
  8930. Patch 6.1.378
  8931. Problem:    When two buffer-local user commands are ambiguous, a full match
  8932.         with a global user command isn't found. (Hari Krishna Dara)
  8933. Solution:   Detect this situation and accept the global command.
  8934. Files:        src/ex_docmd.c
  8935.  
  8936. Patch 6.1.379
  8937. Problem:    Linux with kernel 2.2 can't use the alternate stack in combination
  8938.         with threading, causes an infinite loop.
  8939. Solution:   Don't use the alternate stack in this situation.
  8940. Files:        src/os_unix.c
  8941.  
  8942. Patch 6.1.380
  8943. Problem:    When 'winminheight' is zero and the quickfix window is zero lines,
  8944.         entering the window doesn't make it higher. (Christian J.
  8945.         Robinson)
  8946. Solution:   Make sure the current window is at least one line high.
  8947. Files:        src/window.c
  8948.  
  8949. Patch 6.1.381
  8950. Problem:    When a BufWriteCmd is used and it leaves the buffer modified, the
  8951.         window may still be closed. (Hari Krishna Dara)
  8952. Solution:   Return FAIL from buf_write() when the buffer is still modified
  8953.         after a BufWriteCmd autocommand was used.
  8954. Files:        src/fileio.c
  8955.  
  8956. Patch 6.1.382 (extra)
  8957. Problem:    Win32 GUI: When using two monitors, the code that checks/fixes the
  8958.         window size and position (e.g. when a font changes) doesn't work
  8959.         properly.  (George Reilly)
  8960. Solution:   Handle a double monitor situation. (Helmut Stiegler)
  8961. Files:        src/gui_w32.c
  8962.  
  8963. Patch 6.1.383
  8964. Problem:    The filling of the status line doesn't work properly for
  8965.         multi-byte characters. (Nam SungHyun)
  8966.         There is no check for going past the end of the buffer.
  8967. Solution:   Properly distinguish characters and bytes.  Properly check for
  8968.         running out of buffer space.
  8969. Files:        src/buffer.c, src/ex_cmds2.c, src/proto/buffer.pro, src/screen.c
  8970.  
  8971. Patch 6.1.384
  8972. Problem:    It is not possible to find if a certain patch has been included.
  8973.         (Lubomir Host)
  8974. Solution:   Support using has() to check if a patch was included.
  8975. Files:        runtime/doc/eval.txt, src/eval.c, src/proto/version.pro,
  8976.         src/version.c
  8977.  
  8978. Patch 6.1.385 (depends on 6.1.383)
  8979. Problem:    Can't compile without the multi-byte feature.
  8980. Solution:   Move an #ifdef.  (Christian J. Robinson)
  8981. Files:        src/buffer.c
  8982.  
  8983. Patch 6.1.386
  8984. Problem:    Get duplicate tags when running ":helptags".
  8985. Solution:   Do the other halve of moving a section to another help file.
  8986. Files:        runtime/tagsrch.txt
  8987.  
  8988. Patch 6.1.387 (depends on 6.1.373)
  8989. Problem:    Compiler warning for pointer cast.
  8990. Solution:   Add (char_u *).
  8991. Files:        src/option.c
  8992.  
  8993. Patch 6.1.388 (depends on 6.1.384)
  8994. Problem:    Compiler warning for pointer cast.
  8995. Solution:   Add (char *).  Only include has_patch() when used.
  8996. Files:        src/eval.c, src/version.c
  8997.  
  8998. Patch 6.1.389 (depends on 6.1.366)
  8999. Problem:    Balloon evaluation doesn't work for GTK.
  9000.         has("balloon_eval") doesn't work.
  9001. Solution:   Add balloon evaluation for GTK.  Also improve displaying of signs.
  9002.         (Daniel Elstner)
  9003.         Also make ":gui" start the netbeans connection and avoid using
  9004.         netbeans functions when the connection is not open.
  9005. Files:        src/Makefile, src/feature.h, src/gui.c, src/gui.h,
  9006.         src/gui_beval.c, src/gui_beval.h, src/gui_gtk.c,
  9007.         src/gui_gtk_x11.c, src/eval.c, src/memline.c, src/menu.c,
  9008.         src/netbeans.c, src/proto/gui_beval.pro, src/proto/gui_gtk.pro,
  9009.         src/structs.h, src/syntax.c, src/ui.c, src/workshop.c
  9010.  
  9011. Patch 6.1.390 (depends on 6.1.389)
  9012. Problem:    It's not possible to tell Vim to save and exit through the
  9013.         Netbeans interface.  Would still try to send balloon eval text
  9014.         after the connection is closed.
  9015.         Can't use Unicode characters for sign text.
  9016. Solution:   Add functions "saveAndExit" and "getModified".  Check for a
  9017.         working connection before sending a balloonText event.
  9018.         various other cleanups.
  9019.         Support any character for sign text. (Daniel Elstner)
  9020. Files:        runtime/doc/netbeans.txt, runtime/doc/sign.txt, src/ex_cmds.c,
  9021.         src/netbeans.c, src/screen.c
  9022.  
  9023. Patch 6.1.391
  9024. Problem:    ml_get() error when using virtualedit. (Charles Campbell)
  9025. Solution:   Get a line from a specific window, not the current one.
  9026. Files:        src/charset.c
  9027.  
  9028. Patch 6.1.392 (depends on 6.1.383)
  9029. Problem:    Highlighting in the 'statusline' is in the wrong position when an
  9030.         item is truncated. (Zak Beck)
  9031. Solution:   Correct the start of 'statusline' items properly for a truncated
  9032.         item.
  9033. Files:        src/buffer.c
  9034.  
  9035. Patch 6.1.393
  9036. Problem:    When compiled with Python and threads, detaching the terminal may
  9037.         cause Vim to loop forever.
  9038. Solution:   Add -pthread to $CFLAGS when using Python and gcc. (Daniel
  9039.         Elstner)
  9040. Files:        src/auto/configure,, src/configure.in
  9041.  
  9042. Patch 6.1.394 (depends on 6.1.390)
  9043. Problem:    The netbeans interface doesn't recognize multibyte glyph names.
  9044. Solution:   Check the number of cells rather than bytes to decide
  9045.         whether a glyph name is not a filename. (Daniel Elstner)
  9046. Files:        src/netbeans.c
  9047.  
  9048. Patch 6.1.395 (extra, depends on 6.1.369)
  9049. Problem:    VMS: OLD_VMS is never defined.  Missing function prototype.
  9050. Solution:   Define OLD_VMS in Make_vms.mms.  Add vms_sys_status() to
  9051.         os_vms.pro. (Zoltan Arpadffy)
  9052. Files:        src/Make_vms.mms, src/proto/os_vms.pro
  9053.  
  9054. Patch 6.1.396 (depends on 6.1.330)
  9055. Problem:    Compiler warnings for using enum.
  9056. Solution:   Add typecast to char_u.
  9057. Files:        src/gui_gtk_x11.c, src/gui_x11.c
  9058.  
  9059. Patch 6.1.397 (extra)
  9060. Problem:    The install program may use a wrong path for the diff command if
  9061.         there is a space in the install directory path.
  9062. Solution:   Use double quotes around the path if necessary. (Alejandro
  9063.         Lopez-Valencia)  Also use double quotes around the file name
  9064.         arguments.
  9065. Files:        src/dosinst.c
  9066.  
  9067. Patch 6.1.398
  9068. Problem:    Saving the typeahead for debug mode causes trouble for a test
  9069.         script. (Servatius Brandt)
  9070. Solution:   Add the ":debuggreedy" command to avoid saving the typeahead.
  9071. Files:        runtime/doc/repeat.txt, src/ex_cmds.h, src/ex_cmds2.c,
  9072.         src/ex_docmd.c, src/proto/ex_cmds2.pro
  9073.  
  9074. Patch 6.1.399
  9075. Problem:    Warning for unused variable.
  9076. Solution:   Remove the variable two_or_more.
  9077. Files:        src/ex_cmds.c
  9078.  
  9079. Patch 6.1.400 (depends on 6.1.381)
  9080. Problem:    When a BufWriteCmd wipes out the buffer it may still be accessed.
  9081. Solution:   Don't try accessing a buffer that has been wiped out.
  9082. Files:        src/fileio.c
  9083.  
  9084. Patch 6.1.401 (extra)
  9085. Problem:    Building the Win16 version with Borland 5.01 doesn't work.
  9086.         "make test" doesn't work with Make_dos.mak. (Walter Briscoe)
  9087. Solution:   Various fixes to the w16 makefile. (Walter Briscoe)
  9088.         Don't use deltree.  Use "mkdir \tmp" instead of "mkdir /tmp".
  9089. Files:        src/Make_w16.mak, src/testdir/Make_dos.mak
  9090.  
  9091. Patch 6.1.402
  9092. Problem:    When evaluating a function name with curly braces, an error
  9093.         is not handled consistently.
  9094. Solution:   Accept the result of a curly braces expression when an
  9095.         error was encountered.  Skip evaluating an expression in curly
  9096.         braces when skipping.  (Servatius Brandt)
  9097. Files:        src/eval.c
  9098.  
  9099. Patch 6.1.403 (extra)
  9100. Problem:    MS-Windows 16 bit: compiler warnings.
  9101. Solution:   Add typecasts. (Walter Briscoe)
  9102. Files:        src/ex_cmds2.c, src/gui_w48.c, src/os_mswin.c, src/os_win16.c,
  9103.         src/syntax.c
  9104.  
  9105. Patch 6.1.404 (extra)
  9106. Problem:    Various small problems.
  9107. Solution:   Fix comments.  Various small additions, changes in indent, removal
  9108.         of unused items and fixes.
  9109. Files:        Makefile, README.txt, runtime/menu.vim, runtime/vimrc_example.vim,
  9110.         src/INSTALL, src/INSTALLole.txt, src/Make_bc5.mak,
  9111.         src/Make_cyg.mak, src/Make_ming.mak, src/Makefile,
  9112.         src/config.h.in, src/edit.c, src/eval.c, src/ex_cmds2.c,
  9113.         src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/getchar.c,
  9114.         src/gui.c, src/gui_gtk.c, src/gui_photon.c, src/if_cscope.c,
  9115.         src/if_python.c, src/keymap.h, src/mark.c, src/mbyte.c,
  9116.         src/message.c, src/misc1.c, src/misc2.c, src/normal.c,
  9117.         src/option.c, src/os_os2_cfg.h, src/os_win32.c,
  9118.         src/proto/getchar.pro, src/proto/message.pro,
  9119.         src/proto/regexp.pro, src/screen.c, src/structs.h, src/syntax.c,
  9120.         src/term.c, src/testdir/test15.in, src/testdir/test15.ok,
  9121.         src/vim.rc, src/xxd/Make_cyg.mak, src/xxd/Makefile
  9122.  
  9123. Patch 6.1.405
  9124. Problem:    A few files are missing from the toplevel Makefile.
  9125. Solution:   Add the missing files.
  9126. Files:        Makefile
  9127.  
  9128. Patch 6.1.406 (depends on 6.1.392)
  9129. Problem:    When a statusline item doesn't fit arbitrary text appears.
  9130.         (Christian J. Robinson)
  9131. Solution:   When there is just enough room but not for the "<" truncate the
  9132.         statusline item like there is no room.
  9133. Files:        src/buffer.c
  9134.  
  9135. Patch 6.1.407
  9136. Problem:    ":set scrollbind | help" scrollbinds the help window. (Andrew
  9137.         Pimlott)
  9138. Solution:   Reset 'scrollbind' when opening a help window.
  9139. Files:        src/ex_cmds.c
  9140.  
  9141. Patch 6.1.408
  9142. Problem:    When 'rightleft' is set unprintable character 0x0c is displayed as
  9143.         ">c0<".
  9144. Solution:   Reverse the text of the hex character.
  9145. Files:        src/screen.c
  9146.  
  9147. Patch 6.1.409
  9148. Problem:    Generating tags for the help doesn't work for some locales.
  9149. Solution:   Set LANG=C LC_ALL=C in the environment for "sort". (Daniel
  9150.         Elstner)
  9151. Files:        runtime/doc/Makefile
  9152.  
  9153. Patch 6.1.410 (depends on 6.1.390)
  9154. Problem:    Linking error when compiling with Netbeans but without sign icons.
  9155.         (Malte Neumann)
  9156. Solution:   Don't define buf_signcount() when sign icons are unavailable.
  9157. Files:        src/buffer.c
  9158.  
  9159. Patch 6.1.411
  9160. Problem:    When 'virtualedit' is set, highlighting a Visual block beyond the
  9161.         end of a line may be wrong.
  9162. Solution:   Correct the virtual column when the end of the line is before the
  9163.         displayed part of the line. (Muraoka Taro)
  9164. Files:        src/screen.c
  9165.  
  9166. Patch 6.1.412
  9167. Problem:    When swapping terminal screens and using ":gui" to start the GUI,
  9168.         the shell prompt may be after a hit-enter prompt.
  9169. Solution:   Output a newline in the terminal when starting the GUI and there
  9170.         was a hit-enter prompt..
  9171. Files:        src/gui.c
  9172.  
  9173. Patch 6.1.413
  9174. Problem:    When 'clipboard' contains "unnamed", "p" in Visual mode doesn't
  9175.         work correctly.
  9176. Solution:   Save the register before overwriting it and put the resulting text
  9177.         on the clipboard afterwards.  (Muraoka Taro)
  9178. Files:        src/normal.c, src/ops.c
  9179.  
  9180. Patch 6.1.414 (extra, depends on 6.1.369)
  9181. Problem:    VMS: Vim busy waits when waiting for input.
  9182. Solution:   Delay for a short while before getting another character.  (Zoltan
  9183.         Arpadffy)
  9184. Files:        src/os_vms.c
  9185.  
  9186. Patch 6.1.415
  9187. Problem:    When there is a vertical split and a quickfix window, reducing the
  9188.         size of the Vim window may result in a wrong window layout and a
  9189.         crash.
  9190. Solution:   When reducing the window size and there is not enough space for
  9191.         'winfixheight' set the frame height to the larger height, so that
  9192.         there is a retry while ignoring 'winfixheight'. (Yasuhiro
  9193.         Matsumoto)
  9194. Files:        src/window.c
  9195.  
  9196. Patch 6.1.416 (depends on 6.1.366)
  9197. Problem:    When using the Netbeans interface, a line with a sign cannot be
  9198.         changed.
  9199. Solution:   Respect the GUARDEDOFFSET for sign IDs when checking for a guarded
  9200.         area.
  9201. Files:        src/netbeans.c
  9202.  
  9203. Patch 6.1.417
  9204. Problem:    Unprintable multi-byte characters are not handled correctly.
  9205.         Multi-byte characters above 0xffff are displayed as another
  9206.         character.
  9207. Solution:   Handle unprintable multi-byte characters.  Display multi-byte
  9208.         characters above 0xffff with a marker.  Recognize UTF-16 words and
  9209.         BOM words as unprintable.  (Daniel Elstner)
  9210. Files:        src/charset.c, src/mbyte.c, src/screen.c
  9211.  
  9212. Patch 6.1.418
  9213. Problem:    The result of strftime() is in the current locals.  Need to
  9214.         convert it to 'encoding'.
  9215. Solution:   Obtain the current locale and convert the argument for strftime()
  9216.         to it and the result back to 'encoding'.  (Daniel Elstner)
  9217. Files:        src/eval.c, src/ex_cmds.c, src/ex_cmds2.c, src/mbyte.c,
  9218.         src/proto/mbyte.pro, src/option.c, src/os_mswin.c
  9219.  
  9220. Patch 6.1.419
  9221. Problem:    Vim doesn't compile on AIX 5.1.
  9222. Solution:   Don't define _NO_PROTO on this system. (Uribarri)
  9223. Files:        src/auto/configure, src/configure.in
  9224.  
  9225. Patch 6.1.420 (extra)
  9226. Problem:    convert_input() has an unnecessary STRLEN().
  9227.         Conversion from UCS-2 to a codepage uses word count instead of
  9228.         byte count.
  9229. Solution:   Remove the STRLEN() call. (Daniel Elstner)
  9230.         Always use byte count for string_convert().
  9231. Files:        src/gui_w32.c, src/mbyte.c
  9232.  
  9233. Patch 6.1.421 (extra, depends on 6.1.354)
  9234. Problem:    MS-Windows 9x: When putting text on the clipboard it can be in
  9235.         the wrong encoding.
  9236. Solution:   Convert text to the active codepage for CF_TEXT. (Glenn Maynard)
  9237. Files:        src/os_mswin.c
  9238.  
  9239. Patch 6.1.422
  9240. Problem:    Error in .vimrc doesn't cause hit-enter prompt when swapping
  9241.         screens. (Neil Bird)
  9242. Solution:   Set msg_didany also when sending a message to the terminal
  9243.         directly.
  9244. Files:        src/message.c
  9245.  
  9246. Patch 6.1.423
  9247. Problem:    Can't find arbitrary text in help files.
  9248. Solution:   Added the ":helpgrep" command.
  9249. Files:        runtime/doc/various.txt, src/ex_cmds.h, src/ex_docmd.c,
  9250.         src/proto/quickfix.pro, src/quickfix.c
  9251.  
  9252. Patch 6.1.424 (extra)
  9253. Problem:    Win32: Gvim compiled with VC++ 7.0 run on Windows 95 does not show
  9254.         menu items.
  9255. Solution:   Define $WINVER to avoid an extra item is added to MENUITEMINFO.
  9256.         (Muraoka Taro)
  9257. Files:        src/Make_mvc.mak
  9258.  
  9259. Patch 6.1.425
  9260. Problem:    ":helptags $VIMRUNTIME/doc" does not add the "help-tags" tag.
  9261. Solution:   Do add the "help-tags" tag for that specific directory.
  9262. Files:        src/ex_cmds.c
  9263.  
  9264. Patch 6.1.426
  9265. Problem:    "--remote-wait +cmd file" waits forever. (Valery Kondakoff)
  9266. Solution:   Don't wait for the "+cmd" argument to have been edited.
  9267. Files:        src/main.c
  9268.  
  9269. Patch 6.1.427
  9270. Problem:    Several error messages for regexp patterns are not translated.
  9271. Solution:   Use _() properly. (Muraoka Taro)
  9272. Files:        src/regexp.c
  9273.  
  9274. Patch 6.1.428
  9275. Problem:    FreeBSD: wait() may hang when compiled with Python support and
  9276.         doing a system() call in a startup script.
  9277. Solution:   Use waitpid() instead of wait() and poll every 10 msec, just like
  9278.         what is done in the GUI.
  9279. Files:        src/os_unix.c
  9280.  
  9281. Patch 6.1.429 (depends on 6.1.390)
  9282. Problem:    Crash when using showmarks.vim plugin. (Charles Campbell)
  9283. Solution:   Check for sign_get_text() returning a NULL pointer.
  9284. Files:        src/screen.c
  9285.  
  9286. Patch 6.1.430
  9287. Problem:    In Lisp code backslashed parens should be ignored for "%". (Dorai)
  9288. Solution:   Skip over backslashed parens.
  9289. Files:        src/search.c
  9290.  
  9291. Patch 6.1.431
  9292. Problem:    Debug commands end up in redirected text.
  9293. Solution:   Disable redirection while handling debug commands.
  9294. Files:        src/ex_cmds2.c
  9295.  
  9296. Patch 6.1.432 (depends on 6.1.375)
  9297. Problem:    MS-Windows: ":make %:p" inserts extra backslashes. (David Rennalls)
  9298. Solution:   Don't add backslashes, handle it like ":!cmd".
  9299. Files:        src/ex_docmd.c
  9300.  
  9301. Patch 6.1.433
  9302. Problem:    ":popup" only works for Win32.
  9303. Solution:   Add ":popup" support for GTK.  (Daniel Elstner)
  9304. Files:        runtime/doc/gui.txt, src/ex_docmd.c, src/gui_gtk.c, src/menu.c,
  9305.         src/proto/gui_gtk.pro
  9306.  
  9307. Patch 6.1.434 (extra)
  9308. Problem:    Win32: When there are more than 32767 lines, the scrollbar has a
  9309.         roundoff error.
  9310. Solution:   Make a click on an arrow move one line.  Also move the code to
  9311.         gui_w48.c, there is hardly any difference between the 16 bit and
  9312.         32 bit versions. (Walter Briscoe)
  9313. Files:        src/gui_w16.c, src/gui_w32.c, src/gui_w48.c
  9314.  
  9315. Patch 6.1.435
  9316. Problem:    ":winsize x" resizes the Vim window to the minimal size. (Andrew
  9317.         Pimlott)
  9318. Solution:   Give an error message for wrong arguments of ":winsize" and
  9319.         ":winpos".
  9320. Files:        src/ex_docmd.c
  9321.  
  9322. Patch 6.1.436
  9323. Problem:    When a long UTF-8 file contains an illegal byte it's hard to find
  9324.         out where it is. (Ron Aaron)
  9325. Solution:   Add the line number to the error message.
  9326. Files:        src/fileio.c
  9327.  
  9328. Patch 6.1.437 (extra, depends on 6.1.421)
  9329. Problem:    Using multi-byte functions when they are not available.
  9330. Solution:   Put the clipboard conversion inside an #ifdef. (Vince Negri)
  9331.         Also fix a pointer type mistake. (Walter Briscoe)
  9332. Files:        src/os_mswin.c
  9333.  
  9334. Patch 6.1.438
  9335. Problem:    When Perl has thread support Vim cannot use the Perl interface.
  9336. Solution:   Add a configure check and disable Perl when it will not work.
  9337.         (Aron Griffis)
  9338. Files:        src/auto/configure, src/configure.in
  9339.  
  9340. Patch 6.1.439
  9341. Problem:    Netbeans: A "create" function doesn't actually create a buffer,
  9342.         following functions may fail.
  9343. Solution:   Create a Vim buffer without a name when "create" is called.
  9344.         (Gordon Prieur)
  9345. Files:        runtime/doc/netbeans.txt, src/netbeans.c
  9346.  
  9347. Patch 6.1.440
  9348. Problem:    The "@*" command doesn't obtain the actual contents of the
  9349.         clipboard. (Hari Krishna Dara)
  9350. Solution:   Obtain the clipboard text before executing the command.
  9351. Files:        src/ops.c
  9352.  
  9353. Patch 6.1.441
  9354. Problem:    "zj" and "zk" cannot be used as a motion command after an
  9355.         operator. (Ralf Hetzel)
  9356. Solution:   Accept these commands as motion commands.
  9357. Files:        src/normal.c
  9358.  
  9359. Patch 6.1.442
  9360. Problem:    Unicode 3.2 defines more space and punctuation characters.
  9361. Solution:   Add the new characters to the Unicode tables. (Raphael Finkel)
  9362. Files:        src/mbyte.c
  9363.  
  9364. Patch 6.1.443 (extra)
  9365. Problem:    Win32: The gvimext.dll build with Borland 5.5 requires another
  9366.         DLL.
  9367. Solution:   Build a statically linked version by default. (Dan Sharp)
  9368. Files:        GvimExt/Make_bc5.mak
  9369.  
  9370. Patch 6.1.444 (extra)
  9371. Problem:    Win32: Enabling a build with gettext support is not consistent.
  9372. Solution:   Use "GETTEXT" for Borland and msvc makefiles. (Dan Sharp)
  9373. Files:        src/Make_bc5.mak, src/Make_mvc.mak
  9374.  
  9375. Patch 6.1.445 (extra)
  9376. Problem:    DJGPP: get warning for argument of putenv()
  9377. Solution:   Define HAVE_PUTENV to use DJGPP's putenv(). (Walter Briscoe)
  9378. Files:        src/os_msdos.h
  9379.  
  9380. Patch 6.1.446 (extra)
  9381. Problem:    Win32: The MingW makefile uses a different style of arguments than
  9382.         other makefiles.
  9383.         Dynamic IME is not supported for Cygwin.
  9384. Solution:   Use "no" and "yes" style arguments.  Remove the use of the
  9385.         dyn-ming.h include file. (Dan Sharp)
  9386.         Do not include the ime.h file and adjust the makefile. (Alejandro
  9387.         Lopez-Valencia)
  9388. Files:        src/Make_cyg.mak, src/Make_ming.mak, src/gui_w32.c,
  9389.         src/if_perl.xs, src/if_python.c, src/if_ruby.c, src/os_win32.c
  9390.  
  9391. Patch 6.1.447
  9392. Problem:    "make install" uses "make" directly for generating help tags.
  9393. Solution:   Use $(MAKE) instead of "make". (Tim Mooney)
  9394. Files:        src/Makefile
  9395.  
  9396. Patch 6.1.448
  9397. Problem:    'titlestring' has a default maximum width of 50 chars per item.
  9398. Solution:   Remove the default maximum (also for 'statusline').
  9399. Files:        src/buffer.c
  9400.  
  9401. Patch 6.1.449
  9402. Problem:    When "1" and "a" are in 'formatoptions', auto-formatting always
  9403.         moves a newly added character to the next line. (Servatius Brandt)
  9404. Solution:   Don't move a single character to the next line when it was just
  9405.         typed.
  9406. Files:        src/edit.c
  9407.  
  9408. Patch 6.1.450
  9409. Problem:    Termcap entry "kB" for back-tab is not recognized.
  9410. Solution:   Use back-tab as the shift-tab code.
  9411. Files:        src/keymap.h, src/misc2.c, src/term.c
  9412.  
  9413. Patch 6.1.451
  9414. Problem:    GUI: When text in the find dialog contains a slash, a backslash is
  9415.         inserted the next time it is opened. (Mezz)
  9416. Solution:   Remove escaped backslashes and question marks. (Daniel Elstner)
  9417. Files:        src/gui.c
  9418.  
  9419. Patch 6.1.452 (extra, after 6.1.446)
  9420. Problem:    Win32: IME support doesn't work for MSVC.
  9421. Solution:   Use _MSC_VER instead of __MSVC. (Alejandro Lopez-Valencia)
  9422. Files:        src/gui_w32.c
  9423.  
  9424. Patch 6.1.453 (after 6.1.429)
  9425. Problem:    When compiled without sign icons but with sign support, adding a
  9426.         sign may cause a crash.
  9427. Solution:   Check for the text sign to exist before using it. (Kamil
  9428.         Burzynski)
  9429. Files:        src/screen.c
  9430.  
  9431. Patch 6.1.454 (extra)
  9432. Problem:    Win32: pasting Russian text in Vim with 'enc' set to cp1251
  9433.         results in utf-8 bytes.  (Perelyubskiy)
  9434.         Conversion from DBCS to UCS2 does not work when 'encoding' is not
  9435.         the active codepage.
  9436. Solution:   Introduce enc_codepage and use it for conversion to 'encoding'
  9437.         (Glenn Maynard)
  9438.         Use MultiByteToWideChar() and WideCharToMultiByte() instead of
  9439.         iconv().  Should do most needed conversions without iconv.dll.
  9440. Files:        src/globals.h, src/gui_w32.c, src/mbyte.c, src/os_mswin.c,
  9441.         src/proto/mbyte.pro, src/proto/os_mswin.pro, src/structs.h
  9442.  
  9443. Patch 6.1.455
  9444. Problem:    Some Unicode characters can be one or two character cells wide.
  9445. Solution:   Add the 'ambiwidth' option to tell Vim how to display these
  9446.         characters. (Jungshik Shin)
  9447.         Also reset the script ID when setting an option to its default
  9448.         value, so that ":verbose set" won't give wrong info.
  9449. Files:        runtime/doc/options.txt, src/mbyte.c, src/option.c, src/option.h
  9450.  
  9451. Patch 6.1.456 (extra, after 6.1.454)
  9452. Problem:    Win32: IME doesn't work.
  9453. Solution:   ImmGetCompositionStringW() returns the size in bytes, not words.
  9454.         (Yasuhiro Matsumoto)  Also fix typecast problem.
  9455. Files:        src/gui_w32.c, src/os_mswin.c
  9456.  
  9457. Patch 6.1.457
  9458. Problem:    An empty register in viminfo causes conversion to fail.
  9459. Solution:   Don't convert an empty string. (Yasuhiro Matsumoto)
  9460. Files:        src/ex_cmds.c, src/mbyte.c
  9461.  
  9462. Patch 6.1.458
  9463. Problem:    Compiler warning for pointer.
  9464. Solution:   Add a typecast.
  9465. Files:        src/ex_cmds.c
  9466.  
  9467. Patch 6.1.459 (extra)
  9468. Problem:    Win32: libcall() may return an invalid pointer and cause Vim to
  9469.         crash.
  9470. Solution:   Add a strict check for the returned pointer. (Bruce Mellows)
  9471. Files:        src/os_mswin.c
  9472.  
  9473. Patch 6.1.460
  9474. Problem:    GTK: after scrolling the text one line with a key, clicking the
  9475.         arrow of the scrollbar does not always work. (Nam SungHyun)
  9476. Solution:   Always update the scrollbar thumb when the value changed, even
  9477.         when it would not move, like for RISCOS.  (Daniel Elstner)
  9478. Files:        src/gui.c, src/gui.h
  9479.  
  9480. Patch 6.1.461
  9481. Problem:    When a keymap is active, typing a character in Select mode does
  9482.         not use it. (Benji Fisher)
  9483. Solution:   Apply Insert mode mapping to the character typed in Select mode.
  9484. Files:        src/normal.c
  9485.  
  9486. Patch 6.1.462
  9487. Problem:    When autocommands wipe out a buffer, a crash may happen. (Hari
  9488.         Krishna Dara)
  9489. Solution:   Don't decrement the window count of a buffer before calling the
  9490.         autocommands for it.  When re-using the current buffer, watch out
  9491.         for autocommands changing the current buffer.
  9492. Files:        src/buffer.c, src/ex_cmds.c, src/proto/buffer.pro
  9493.  
  9494. Patch 6.1.463
  9495. Problem:    When writing a compressed file, the file name that gzip stores in
  9496.         the file is the weird temporary file name. (David Rennalls)
  9497. Solution:   Use the real file name when possible.
  9498. Files:        runtime/plugin/gzip.vim
  9499.  
  9500. Patch 6.1.464
  9501. Problem:    Crash when using C++ syntax highlighting. (Gerhard Hochholzer)
  9502. Solution:   Check for a negative index.
  9503. Files:        src/syntax.c
  9504.  
  9505. Patch 6.1.465 (after 6.1.454)
  9506. Problem:    Compile error when using cygwin.
  9507. Solution:   Change #ifdef WIN32 to #ifdef WIN3264. (Alejandro Lopez-Valencia)
  9508.         Undefine WIN32 after including windows.h
  9509. Files:        src/mbyte.c
  9510.  
  9511. Patch 6.1.466
  9512. Problem:    The "-f" argument is a bit obscure.
  9513. Solution:   Add the "--nofork" argument.  Improve the help text a bit.
  9514. Files:        runtime/doc/starting.txt, src/main.c
  9515.  
  9516. Patch 6.1.467
  9517. Problem:    Setting the window title doesn't work for Chinese.
  9518. Solution:   Use an X11 function to convert text to a text property. (Kentaro
  9519.         Nakazawa)
  9520. Files:        src/os_unix.c
  9521.  
  9522. Patch 6.1.468
  9523. Problem:    ":mksession" also stores folds for buffers which will not be
  9524.         restored.
  9525. Solution:   Only store folds for a buffer with 'buftype' empty and help files.
  9526. Files:        src/ex_docmd.c
  9527.  
  9528. Patch 6.1.469
  9529. Problem:    'listchars' cannot contain multi-byte characters.
  9530. Solution:   Handle multi-byte UTF-8 list characters. (Matthew Samsonoff)
  9531. Files:        src/message.c, src/option.c, src/screen.c
  9532.  
  9533. Patch 6.1.470 (lang)
  9534. Problem:    Polish messages don't show up correctly on MS-Windows.
  9535. Solution:   Convert messages to cp1250. (Mikolaj Machowski)
  9536.         Also add English message translations, because it got in the way
  9537.         of the patch.
  9538. Files:        Makefile, src/po/Makefile, src/po/en_gb.po, src/po/pl.po
  9539.  
  9540. Patch 6.1.471
  9541. Problem:    ":jumps" output continues after pressing "q" at the more-prompt.
  9542.         (Hari Krishna Dara)
  9543. Solution:   Check for "got_int" being set.
  9544. Files:        src/mark.c
  9545.  
  9546. Patch 6.1.472
  9547. Problem:    When there is an authentication error when connecting to the X
  9548.         server Vim exits.
  9549. Solution:   Use XSetIOErrorHandler() to catch the error and longjmp() to avoid
  9550.         the exit.  Also do this in the main loop, so that when the X
  9551.         server exits a Vim running in a console isn't killed.
  9552. Files:        src/globals.h, src/main.c, src/os_unix.c
  9553.  
  9554. Patch 6.1.473
  9555. Problem:    Referring to $curwin or $curbuf in Perl 5.6 causes a crash.
  9556. Solution:   Add "pTHX_" to cur_val(). (Yasuhiro Matsumoto)
  9557. Files:        src/if_perl.xs
  9558.  
  9559. Patch 6.1.474
  9560. Problem:    When opening the command-line window in Ex mode it's impossible to
  9561.         go back. (Pavol Juhas)
  9562. Solution:   Reset "exmode_active" and restore it when the command-line window
  9563.         is closed.
  9564. Files:        src/ex_getln.c
  9565.  
  9566.  
  9567. Patch 6.2f.001
  9568. Problem:    The configure check for Ruby didn't work properly for Ruby 1.8.0.
  9569. Solution:   Change the way the Ruby check is done. (Aron Griffis)
  9570. Files:        src/auto/configure, src/configure.in
  9571.  
  9572. Patch 6.2f.002
  9573. Problem:    The output of ":ls" doesn't show whether a buffer had read errors.
  9574. Solution:   Add the "x" flag in the ":ls" output.
  9575. Files:        runtime/doc/windows.txt, src/buffer.c
  9576.  
  9577. Patch 6.2f.003
  9578. Problem:    Test49 doesn't properly test the behavior of ":catch" without an
  9579.         argument.
  9580. Solution:   Update test49. (Servatius Brandt)
  9581. Files:        src/testdir/test49.ok, src/testdir/test49.vim
  9582.  
  9583. Patch 6.2f.004
  9584. Problem:    "vim --version" always uses CR/LF in the output.
  9585. Solution:   Omit the CR.
  9586. Files:        src/message.c, src/os_unix.c
  9587.  
  9588. Patch 6.2f.005
  9589. Problem:    Two error messages without a colon after the number.
  9590. Solution:   Add the colon. (Taro Muraoka)
  9591. Files:        src/if_cscope.c
  9592.  
  9593. Patch 6.2f.006
  9594. Problem:    When saving a file takes a while and Vim regains focus this can
  9595.         result in a "file changed outside of Vim" warning and ml_get()
  9596.         errors. (Mike Williams)
  9597. Solution:   Add the "b_saving" flag to avoid checking the timestamp while the
  9598.         buffer is being saved. (Michael Schaap)
  9599. Files:        src/fileio.c, src/structs.h
  9600.  
  9601. Patch 6.2f.007
  9602. Problem:    Irix compiler complains about multiple defined symbols.
  9603.         vsnprintf() is not available.  (Charles Campbell)
  9604. Solution:   Insert EXTERN for variables in globals.h.  Change the configure
  9605.         check for vsnprintf() from compiling to linking.
  9606. Files:        src/auto/configure, src/configure.in, src/globals.h
  9607.  
  9608. Patch 6.2f.008
  9609. Problem:    The Aap recipe doesn't work with Aap 0.149.
  9610. Solution:   Change targetarg to TARGETARG.  Update the mysign file.
  9611. Files:        src/main.aap, src/mysign
  9612.  
  9613. Patch 6.2f.009 (extra)
  9614. Problem:    Small problem when building with Borland 5.01.
  9615. Solution:   Use mkdir() instead of _mkdir(). (Walter Briscoe)
  9616. Files:        src/dosinst.h
  9617.  
  9618. Patch 6.2f.010
  9619. Problem:    Warning for missing prototypes.
  9620. Solution:   Add missing prototypes. (Walter Briscoe)
  9621. Files:        src/if_cscope.c
  9622.  
  9623. Patch 6.2f.011
  9624. Problem:    The configure script doesn't work with autoconf 2.5x.
  9625. Solution:   Add square brackets around a header check. (Aron Griffis)
  9626.         Note: touch src/auto/configure after applying this patch.
  9627. Files:        src/configure.in
  9628.  
  9629. Patch 6.2f.012
  9630. Problem:    ":echoerr" doesn't work correctly inside try/endtry.
  9631. Solution:   Don't reset did_emsg inside a try/endtry. (Servatius Brandt)
  9632. Files:        src/eval.c
  9633.  
  9634. Patch 6.2f.013 (extra)
  9635. Problem:    Macintosh: Compiler warning for a trigraph.
  9636. Solution:   Insert a backslash before each question mark. (Peter Cucka)
  9637. Files:        src/os_mac.h
  9638.  
  9639. Patch 6.2f.014 (extra)
  9640. Problem:    Macintosh: ex_eval is not included in the project file.
  9641. Solution:   Add ex_eval. (Dany St-Amant)
  9642. Files:        src/os_mac.pbproj/project.pbxproj
  9643.  
  9644. Patch 6.2f.015 (extra)
  9645. Problem:    Win32: When changing header files not all source files involved
  9646.         are recompiled.
  9647. Solution:   Improve the dependency rules. (Dan Sharp)
  9648. Files:        src/Make_cyg.mak, src/Make_ming.mak
  9649.  
  9650. Patch 6.2f.016
  9651. Problem:    "vim --version > ff" on non-Unix systems results in a file with a
  9652.         missing line break at the end. (Bill McCArthy)
  9653. Solution:   Add a line break.
  9654. Files:        src/main.c
  9655.  
  9656. Patch 6.2f.017
  9657. Problem:    Unix: starting Vim in the background and then bringing it to the
  9658.         foreground may cause the terminal settings to be wrong.
  9659. Solution:   Check for tcsetattr() to return an error, retry when it does.
  9660.         (Paul Tapper)
  9661. Files:        src/os_unix.c
  9662.  
  9663. Patch 6.2f.018
  9664. Problem:    Mac OS X 10.2: OK is defined to zero in cursus.h while Vim uses
  9665.         one.  Redefining it causes a warning message.
  9666. Solution:   Undefine OK before defining it to one. (Taro Muraoka)
  9667. Files:        src/vim.h
  9668.  
  9669. Patch 6.2f.019
  9670. Problem:    Mac OS X 10.2: COLOR_BLACK and COLOR_WHITE are defined in
  9671.         curses.h.
  9672. Solution:   Rename them to PRCOLOR_BLACK and PRCOLOR_WHITE.
  9673. Files:        src/ex_cmds2.c
  9674.  
  9675. Patch 6.2f.020
  9676. Problem:    Win32: test50 produces beeps and fails with some versions of diff.
  9677. Solution:   Remove empty lines and convert the output to dos fileformat.
  9678. Files:        src/testdir/test50.in
  9679.  
  9680. Patch 6.2f.021
  9681. Problem:    Running configure with "--enable-netbeans" disables Netbeans.
  9682.         (Gordon Prieur)
  9683. Solution:   Fix the tests in configure.in where the default is to enable a
  9684.         feature.  Fix that "--enable-acl" reported "yes" confusingly.
  9685. Files:        src/auto/configure, src/configure.in, src/mysign
  9686.  
  9687. Patch 6.2f.022
  9688. Problem:    A bogus value for 'foldmarker' is not rejected, possibly causing a
  9689.         hang. (Derek Wyatt)
  9690. Solution:   Check for a non-empty string before and after the comma.
  9691. Files:        src/option.c
  9692.  
  9693. Patch 6.2f.023
  9694. Problem:    When the help files are not in $VIMRUNTIME but 'helpfile' is
  9695.         correct Vim still can't find the help files.
  9696. Solution:   Also look for a tags file in the directory of 'helpfile'.
  9697. Files:        src/tag.c
  9698.  
  9699. Patch 6.2f.024
  9700. Problem:    When 'delcombine' is set and a character has more than two
  9701.         composing characters "x" deletes them all.
  9702. Solution:   Always delete only the last composing character.
  9703. Files:        src/misc1.c
  9704.  
  9705. Patch 6.2f.025
  9706. Problem:    When reading a file from stdin that has DOS line endings but a
  9707.         missing end-of-line for the last line 'fileformat' becomes "unix".
  9708.         (Bill McCarthy)
  9709. Solution:   Don't add the missing line break when re-reading the text from the
  9710.         buffer.
  9711. Files:        src/fileio.c
  9712.  
  9713. Patch 6.2f.026
  9714. Problem:    When typing new text at the command line, old composing characters
  9715.         may be displayed.
  9716. Solution:   Don't read composing characters from after the end of the
  9717.         text to be displayed.
  9718. Files:        src/ex_getln.c, src/mbyte.c, src/message.c, src/proto/mbyte.pro,
  9719.         src/screen.c
  9720.  
  9721. Patch 6.2f.027
  9722. Problem:    Compiler warnings for unsigned char pointers. (Tony Leneis)
  9723. Solution:   Add typecasts to char pointer.
  9724. Files:        src/quickfix.c
  9725.  
  9726. Patch 6.2f.028
  9727. Problem:    GTK: When 'imactivatekey' is empty and XIM is inactive it can't be
  9728.         made active again.  Cursor isn't updated immediately when changing
  9729.         XIM activation.  Japanese XIM may hang when using 'imactivatekey'.
  9730.         Can't activate XIM after typing fFtT command or ":sh".
  9731. Solution:   Properly set the flag that indicates the IM is active.  Update the
  9732.         cursor right away.  Do not send a key-release event.  Handle
  9733.         Normal mode and running an external command differently.
  9734.         (Yasuhiro Matsumoto)
  9735. Files:        src/mbyte.c
  9736.  
  9737. Patch 6.2f.029
  9738. Problem:    Mixing use of int and enum.
  9739. Solution:   Adjust argument type of cs_usage_msg().  Fix wrong typedef.
  9740. Files:        src/if_cscope.c, src/if_cscope.h
  9741.  
  9742. Patch 6.2f.030 (after 6.2f.028)
  9743. Problem:    Cursor moves up when using XIM.
  9744. Solution:   Reset im_preedit_cursor.  (Yasuhiro Matsumoto)
  9745. Files:        src/mbyte.c
  9746.  
  9747. Patch 6.2f.031
  9748. Problem:    Crash when listing a function argument in the debugger. (Ron Aaron)
  9749. Solution:   Init the name field of an argument to NULL.
  9750. Files:        src/eval.c
  9751.  
  9752. Patch 6.2f.032
  9753. Problem:    When a write fails for a ":silent!" while inside try/endtry the
  9754.         BufWritePost autocommands are not triggered.
  9755. Solution:   Check the emsg_silent flag in should_abort(). (Servatius Brandt)
  9756. Files:        src/ex_eval.c, src/testdir/test49.ok, src/testdir/test49.vim
  9757.  
  9758. Patch 6.2f.033
  9759. Problem:    Cscope: re-entrance problem for ":cscope" command.  Checking for
  9760.         duplicate database didn't work well for Win95.  Didn't check for
  9761.         duplicate databases after an empty entry.
  9762. Solution:   Don't set postponed_split too early.  Remember first empty
  9763.         database entry. (Sergey Khorev)
  9764. Files:        src/if_cscope.c
  9765.  
  9766. Patch 6.2f.034
  9767. Problem:    The netbeans interface cannot be used on systems without
  9768.         vsnprintf(). (Tony Leneis)
  9769. Solution:   Use EMSG(), EMSGN() and EMSG2() instead.
  9770. Files:        src/auto/configure, src/configure.in, src/netbeans.c
  9771.  
  9772. Patch 6.2f.035
  9773. Problem:    The configure check for the netbeans interface doesn't work if the
  9774.         socket and nsl libraries are required.
  9775. Solution:   Check for the socket and nsl libraries before the netbeans check.
  9776. Files:        src/auto/configure, src/configure.in
  9777.  
  9778. Patch 6.2f.036
  9779. Problem:    Moving leftwards over text with an illegal UTF-8 byte moves one
  9780.         byte instead of one character.
  9781. Solution:   Ignore an illegal byte after the cursor position.
  9782. Files:        src/mbyte.c
  9783.  
  9784. Patch 6.2f.037
  9785. Problem:    When receiving a Netbeans command at the hit-enter or more prompt
  9786.         the screen is redrawn but Vim is still waiting at the prompt.
  9787. Solution:   Quit the prompt like a CTRL-C was typed.
  9788. Files:        src/netbeans.c
  9789.  
  9790. Patch 6.2f.038
  9791. Problem:    The dependency to run autoconf causes a patch for configure.in
  9792.         to run autoconf, even though the configure script was updated as
  9793.         well.
  9794. Solution:   Only run autoconf with "make autoconf".
  9795. Files:        src/Makefile
  9796.  
  9797. Patch 6.2f.039
  9798. Problem:    CTRL-W K makes the new top window very high.
  9799. Solution:   When 'equalalways' is set equalize the window heights.
  9800. Files:        src/window.c
  9801.  
  9802.  
  9803. ==============================================================================
  9804. VERSION 6.3                        *version-6.3*
  9805.  
  9806. This section is about improvements made between version 6.2 and 6.3.
  9807.  
  9808. This is mainly a bug-fix release.  There are also a few new features.
  9809. The major number of new items is in the runtime files and translations.
  9810.  
  9811.  
  9812. Changed                            *changed-6.3*
  9813. -------
  9814.  
  9815. The intro message also displays a note about sponsoring Vim, mixed randomly
  9816. with the message about helping children in Uganda.
  9817.  
  9818. Included the translated menus, keymaps and tutors with the normal runtime
  9819. files.  The separate "lang" archive now only contains translated messages.
  9820.  
  9821. Made the translated menu file names a bit more consistent.  Use "latin1" for
  9822. "iso_8859-1" and "iso_8859-15".
  9823.  
  9824. Removed the "file_select.vim" script from the distribution.  It's not more
  9825. useful than other scripts that can be downloaded from www.vim.org.
  9826.  
  9827. The "runtime/doc/tags" file is now always in unix fileformat.  On MS-Windows
  9828. it used to be dos fileformat, but ":helptags" generates a unix format file.
  9829.  
  9830.  
  9831. Added                            *added-6.3*
  9832. -----
  9833.  
  9834. New commands:
  9835.     :cNfile        go to last error in previous file
  9836.     :cpfile        idem
  9837.     :changes    print the change list
  9838.     :keepmarks    following command keeps marks where they are
  9839.     :keepjumps    following command keeps jumplist and marks
  9840.     :lockmarks    following command keeps marks where they are
  9841.     :redrawstatus    force a redraw of the status line(s)
  9842.  
  9843. New options:
  9844.     'antialias'    Mac OS X: use smooth, antialiased fonts
  9845.     'helplang'    preferred help languages
  9846.  
  9847. Syntax files:
  9848.     Arch inventory (Nikolai Weibull)
  9849.     Calendar (Nikolai Weibull)
  9850.     Ch (Wayne Cheng)
  9851.     Controllable Regex Mutilator (Nikolai Weibull)
  9852.     D (Jason Mills)
  9853.     Desktop (Mikolaj Machowski)
  9854.     Dircolors (Nikolai Weibull)
  9855.     Elinks configuration (Nikolai Weibull)
  9856.     FASM (Ron Aaron)
  9857.     GrADS scripts (Stefan Fronzek)
  9858.     Icewm menu (James Mahler)
  9859.     LDIF (Zak Johnson)
  9860.     Locale input, fdcc. (Dwayne Bailey)
  9861.     Pinfo config (Nikolai Weibull)
  9862.     Pyrex (Marco Barisione)
  9863.     Relax NG Compact (Nikolai Weibull)
  9864.     Slice (Morel Bodin)
  9865.     VAX Macro Assembly (Tom Uijldert)
  9866.     grads (Stefan Fronzek)
  9867.     libao (Nikolai Weibull)
  9868.     mplayer (Nikolai Weibull)
  9869.     rst (Nikolai Weibull)
  9870.     tcsh (Gautam Iyer)
  9871.     yaml (Nikolai Weibull)
  9872.  
  9873. Compiler plugins:
  9874.     ATT dot (Marcos Macedo)
  9875.     Apple Project Builder (Alexander von Below)
  9876.     Intel (David Harrison)
  9877.     bdf (Nikolai Weibull)
  9878.     icc (Peter Puck)
  9879.     javac (Doug Kearns)
  9880.     neato (Marcos Macedo)
  9881.     onsgmls (Robert B. Rowsome)
  9882.     perl (Christian J. Robinson)
  9883.     rst (Nikolai Weibull)
  9884.     se (SmartEiffel) (Doug Kearns)
  9885.     tcl (Doug Kearns)
  9886.     xmlwf (Robert B. Rowsome)
  9887.  
  9888. Filetype plugins:
  9889.     Aap (Bram Moolenaar)
  9890.     Ch (Wayne Cheng)
  9891.     Css (Nikolai Weibull)
  9892.     Pyrex (Marco Barisione)
  9893.     Rst (Nikolai Weibull)
  9894.  
  9895. Indent scripts:
  9896.     Aap (Bram Moolenaar)
  9897.     Ch (Wayne Cheng)
  9898.     DocBook (Nikolai Weibull)
  9899.     MetaPost (Eugene Minkovskii)
  9900.     Objective-C (Kazunobu Kuriyama)
  9901.     Pyrex (Marco Barisione)
  9902.     Rst (Nikolai Weibull)
  9903.     Tcsh (Gautam Iyer)
  9904.     XFree86 configuration file (Nikolai Weibull)
  9905.     Zsh (Nikolai Weibull)
  9906.  
  9907. Keymaps:
  9908.     Greek for cp1253 (Panagiotis Louridas)
  9909.     Hungarian (Magyar) (Laszlo Zavaleta)
  9910.     Persian-Iranian (Behnam Esfahbod)
  9911.  
  9912. Message translations:
  9913.     Catalan (Ernest Adrogue)
  9914.     Russian (Vassily Ragosin)
  9915.     Swedish (Johan Svedberg)
  9916.  
  9917. Menu translations:
  9918.     Catalan (Ernest Adrogue)
  9919.     Russian (Tim Alexeevsky)
  9920.     Swedish (Johan Svedberg)
  9921.  
  9922. Tutor translations:
  9923.     Catalan (Ernest Adrogue)
  9924.     Russian in cp1251 (Alexey Froloff)
  9925.     Slovak in cp1250 and iso8859-2 (Lubos Celko)
  9926.     Swedish (Johan Svedberg)
  9927.     Korean (Kee-Won Seo)
  9928.     UTF-8 version of the Japanese tutor (Yasuhiro Matsumoto) Use this as
  9929.         the original, create the other Japanese tutor by conversion.
  9930.  
  9931. Included "russian.txt" help file. (Vassily Ragosin)
  9932.  
  9933. Include Encapsulated PostScript and PDF versions of the Vim logo in the extra
  9934. archive.
  9935.  
  9936. The help highlighting finds the highlight groups and shows them in the color
  9937. that is actually being used. (idea from Yakov Lerner)
  9938.  
  9939. The big Win32 version is now compiled with Ruby interface, version 1.8.  For
  9940. Python version 2.3 is used.  For Perl version 5.8 is used.
  9941.  
  9942. The "ftdetect" directory is mentioned in the documentation.  The DOS install
  9943. program creates it.
  9944.  
  9945.  
  9946. Fixed                            *fixed-6.3*
  9947. -----
  9948.  
  9949. Test 42 failed on MS-Windows.  Set and reset 'fileformat' and 'binary' options
  9950. here and there.  (Walter Briscoe)
  9951.  
  9952. The explorer plugin didn't work for double-byte 'encoding's.
  9953.  
  9954. Use "copy /y" in Make_bc5.mak to avoid a prompt for overwriting.
  9955.  
  9956. Patch 6.2.001
  9957. Problem:    The ":stopinsert" command doesn't have a help tag.
  9958. Solution:   Add the tag. (Antoine J.  Mechelynck)
  9959. Files:        runtime/doc/insert.txt, runtime/doc/tags
  9960.  
  9961. Patch 6.2.002
  9962. Problem:    When compiled with the +multi_byte feature but without +eval,
  9963.         displaying UTF-8 characters may cause a crash. (Karsten Hopp)
  9964. Solution:   Also set the default for 'ambiwidth' when compiled without the
  9965.         +eval feature.
  9966. Files:        src/option.c
  9967.  
  9968. Patch 6.2.003
  9969. Problem:    GTK 2: double-wide characters below 256 are not displayed
  9970.         correctly.
  9971. Solution:   Check the cell width for characters above 127. (Yasuhiro
  9972.         Matsumoto)
  9973. Files:        src/gui_gtk_x11.c
  9974.  
  9975. Patch 6.2.004
  9976. Problem:    With a line-Visual selection at the end of the file a "p" command
  9977.         puts the text one line upwards.
  9978. Solution:   Detect that the last line was deleted and put forward. (Taro
  9979.         Muraoka)
  9980. Files:        src/normal.c
  9981.  
  9982. Patch 6.2.005
  9983. Problem:    GTK: the "Find" and "Find and Replace" tools don't work. (Aschwin
  9984.         Marsman)
  9985. Solution:   Show the dialog after creating it.  (David Necas)
  9986. Files:        src/gui_gtk.c
  9987.  
  9988. Patch 6.2.006
  9989. Problem:    The Netbeans code contains an obsolete function that uses "vim61"
  9990.         and sets the fall-back value for $VIMRUNTIME.
  9991. Solution:   Delete the obsolete function.
  9992. Files:        src/main.c, src/netbeans.c, src/proto/netbeans.pro
  9993.  
  9994. Patch 6.2.007
  9995. Problem:    Listing tags for Cscope doesn't always work.
  9996. Solution:   Avoid using smgs_attr(). (Sergey Khorev)
  9997. Files:        src/if_cscope.c
  9998.  
  9999. Patch 6.2.008
  10000. Problem:    XIM with GTK 2: After backspacing preedit characters are wrong.
  10001. Solution:   Reset the cursor position. (Yasuhiro Matsumoto)
  10002. Files:        src/mbyte.c
  10003.  
  10004. Patch 6.2.009
  10005. Problem:    Win32: The self-installing executable "Full" selection only
  10006.         selects some of the items to install. (Salman Mohsin)
  10007. Solution:   Change commas to spaces in between section numbers.
  10008. Files:        nsis/gvim.nsi
  10009.  
  10010. Patch 6.2.010
  10011. Problem:    When 'virtualedit' is effective and a line starts with a
  10012.         multi-byte character, moving the cursor right doesn't work.
  10013. Solution:   Obtain the right character to compute the column offset. (Taro
  10014.         Muraoka)
  10015. Files:        src/charset.c
  10016.  
  10017. Patch 6.2.011
  10018. Problem:    Alpha OSF1: stat() is a macro and doesn't allow an #ifdef halfway.
  10019.         (Moshe Kaminsky)
  10020. Solution:   Move the #ifdef outside of stat().
  10021. Files:        src/os_unix.c
  10022.  
  10023. Patch 6.2.012
  10024. Problem:    May hang when polling for a character.
  10025. Solution:   Break the wait loop when not waiting for a character.
  10026. Files:        src/os_unix.c
  10027.  
  10028. Patch 6.2.013 (extra)
  10029. Problem:    Win32: The registry key for uninstalling GvimExt still uses "6.1".
  10030. Solution:   Change the version number to "6.2". (Ajit Thakkar)
  10031. Files:        src/GvimExt/GvimExt.reg
  10032.  
  10033. Patch 6.2.014 (after 6.2.012)
  10034. Problem:    XSMP doesn't work when using poll().
  10035. Solution:   Use xsmp_idx instead of gpm_idx. (Neil Bird)
  10036. Files:        src/os_unix.c
  10037.  
  10038. Patch 6.2.015
  10039. Problem:    The +xsmp feature is never enabled.
  10040. Solution:   Move the #define for USE_XSMP to below where WANT_X11 is defined.
  10041.         (Alexey Froloff)
  10042. Files:        src/feature.h
  10043.  
  10044. Patch 6.2.016
  10045. Problem:    Using ":scscope find" with 'cscopequickfix' does not always split
  10046.         the window. (Gary Johnson)
  10047.         Win32: ":cscope add" could make the script that contains it
  10048.         read-only until the corresponding ":cscope kill".
  10049.         Errors during ":cscope add" may not be handled properly.
  10050. Solution:   When using the quickfix window may need to split the window.
  10051.         Avoid file handle inheritance for the script.
  10052.         Check for a failed connection and/or process.  (Sergey Khorev)
  10053. Files:        src/ex_cmds2.c, src/if_cscope.c
  10054.  
  10055. Patch 6.2.017
  10056. Problem:    Test11 sometimes prompts the user, because a file would have been
  10057.         changed outside of Vim. (Antonio Colombo)
  10058. Solution:   Add a FileChangedShell autocommand to avoid the prompt.
  10059. Files:        src/testdir/test11.in
  10060.  
  10061. Patch 6.2.018
  10062. Problem:    When using the XSMP protocol and reading from stdin Vim may wait
  10063.         for a key to be pressed.
  10064. Solution:   Avoid that RealWaitForChar() is used recursively.
  10065. Files:        src/os_unix.c
  10066.  
  10067. Patch 6.2.019 (lang)
  10068. Problem:    Loading the Portuguese menu causes an error message.
  10069. Solution:   Join two lines.  (Jose Pedro Oliveira, JosΘ de Paula)
  10070. Files:        runtime/lang/menu_pt_br.vim
  10071.  
  10072. Patch 6.2.020
  10073. Problem:    The "Syntax/Set syntax only" menu item causes an error message.
  10074.         (Oyvind Holm)
  10075. Solution:   Set the script-local variable in a function. (Benji Fisher)
  10076. Files:        runtime/synmenu.vim
  10077.  
  10078. Patch 6.2.021
  10079. Problem:    The user manual section on exceptions contains small mistakes.
  10080. Solution:   Give a good example of an error that could be missed and other
  10081.         improvements. (Servatius Brandt)
  10082. Files:        runtime/doc/usr_41.txt
  10083.  
  10084. Patch 6.2.022 (extra)
  10085. Problem:    Win32: After deleting a menu item it still appears in a tear-off
  10086.         window.
  10087. Solution:   Set the mode to zero for the deleted item. (Yasuhiro Matsumoto)
  10088. Files:        src/gui_w32.c
  10089.  
  10090. Patch 6.2.023 (extra)
  10091. Problem:    Win32: Make_ivc.mak does not clean everything.
  10092. Solution:   Delete more files in the clean rule. (Walter Briscoe)
  10093. Files:        src/Make_ivc.mak
  10094.  
  10095. Patch 6.2.024 (extra)
  10096. Problem:    Win32: Compiler warnings for typecasts.
  10097. Solution:   Use DWORD instead of WORD. (Walter Briscoe)
  10098. Files:        src/gui_w32.c
  10099.  
  10100. Patch 6.2.025
  10101. Problem:    Missing prototype for sigaltstack().
  10102. Solution:   Add the prototype when it is not found in a header file.
  10103. Files:        src/os_unix.c
  10104.  
  10105. Patch 6.2.026
  10106. Problem:    Warning for utimes() argument.
  10107. Solution:   Add a typecast.
  10108. Files:        src/fileio.c
  10109.  
  10110. Patch 6.2.027
  10111. Problem:    Warning for uninitialized variable.
  10112. Solution:   Set mb_l to one when not using multi-byte characters.
  10113. Files:        src/message.c
  10114.  
  10115. Patch 6.2.028
  10116. Problem:    Cscope connection may kill Vim process and others.
  10117. Solution:   Check for pid being larger than one. (Khorev Sergey)
  10118. Files:        src/if_cscope.c
  10119.  
  10120. Patch 6.2.029
  10121. Problem:    When using the remote server functionality Vim may leak memory.
  10122.         (Srikanth Sankaran)
  10123. Solution:   Free the result of XListProperties().
  10124. Files:        src/if_xcmdsrv.c
  10125.  
  10126. Patch 6.2.030
  10127. Problem:    Mac: Warning for not being able to use precompiled header files.
  10128. Solution:   Don't redefine select.  Use -no-cpp-precomp for compiling, so that
  10129.         function prototypes are still found.
  10130. Files:        src/os_unix.c, src/osdef.sh
  10131.  
  10132. Patch 6.2.031
  10133. Problem:    The langmenu entry in the options window doesn't work. (Rodolfo
  10134.         Lima)
  10135.         With GTK 1 the ":options" command causes an error message.
  10136.         (Michael Naumann)
  10137. Solution:   Change "lmenu" to "langmenu".  Only display the 'tbis' option for
  10138.         GTK 2.
  10139. Files:        runtime/optwin.vim
  10140.  
  10141. Patch 6.2.032
  10142. Problem:    The lpc filetype is never recognized. (Shizhu Pan)
  10143. Solution:   Check for g:lpc_syntax_for_c instead of the local variable
  10144.         lpc_syntax_for_c. (Benji Fisher)
  10145. Files:        runtime/filetype.vim
  10146.  
  10147. Patch 6.2.033 (extra)
  10148. Problem:    Mac: Various compiler warnings.
  10149. Solution:   Don't include Classic-only headers in Unix version.
  10150.         Remove references to several unused variables. (Ben Fowler)
  10151.         Fix double definition of DEFAULT_TERM.
  10152.         Use int instead of unsigned short for pixel values, so that the
  10153.         negative error values are recognized.
  10154. Files:        src/gui_mac.c, src/term.c
  10155.  
  10156. Patch 6.2.034
  10157. Problem:    Mac: Compiler warning for redefining DEFAULT_TERM.
  10158. Solution:   Fix double definition of DEFAULT_TERM.
  10159. Files:        src/term.c
  10160.  
  10161. Patch 6.2.035
  10162. Problem:    Mac: Compiler warnings in Python interface.
  10163. Solution:   Make a difference between pure Mac and Unix-Mac. (Peter Cucka)
  10164. Files:        src/if_python.c
  10165.  
  10166. Patch 6.2.036 (extra)
  10167. Problem:    Mac Unix version: If foo is a directory, then ":e f<Tab>" should
  10168.         expand to ":e foo/" instead of ":e foo" .  (Vadim Zeitlin)
  10169. Solution:   Define DONT_ADD_PATHSEP_TO_DIR only for pure Mac. (Benji Fisher)
  10170. Files:        src/os_mac.h
  10171.  
  10172. Patch 6.2.037
  10173. Problem:    Win32: converting an encoding name to a codepage could result in
  10174.         an arbitrary number.
  10175. Solution:   make encname2codepage() return zero if the encoding name doesn't
  10176.         contain a codepage number.
  10177. Files:        src/mbyte.c
  10178.  
  10179. Patch 6.2.038 (extra)
  10180. Problem:    Warning messages when using the MingW compiler. (Bill McCarthy)
  10181.         Can't compile console version without +mouse feature.
  10182. Solution:   Initialize variables, add parenthesis.
  10183.         Add an #ifdef around g_nMouseClick. (Ajit Thakkar)
  10184. Files:        src/eval.c, src/os_win32.c, src/gui_w32.c, src/dosinst.c
  10185.  
  10186. Patch 6.2.039 (extra)
  10187. Problem:    More warning messages when using the MingW compiler.
  10188. Solution:   Initialize variables. (Bill McCarthy)
  10189. Files:        src/os_mswin.c
  10190.  
  10191. Patch 6.2.040
  10192. Problem:    FreeBSD: Crash while starting up when compiled with +xsmp feature.
  10193. Solution:   Pass a non-NULL argument to IceAddConnectionWatch().
  10194. Files:        src/os_unix.c
  10195.  
  10196. Patch 6.2.041 (extra, after 6.2.033)
  10197. Problem:    Mac: Compiler warnings for conversion types, missing prototype,
  10198.         missing return type.
  10199. Solution:   Change sscanf "%hd" to "%d", the argument is an int now.  Add
  10200.         gui_mch_init_check() prototype.  Add "int" to termlib functions.
  10201. Files:        src/gui_mac.c, src/proto/gui_mac.pro, src/termlib.c.
  10202.  
  10203. Patch 6.2.042 (extra)
  10204. Problem:    Cygwin: gcc 3.2 has an optimizer problem, sometimes causing a
  10205.         crash.
  10206. Solution:   Add -fno-strength-reduce to the compiler arguments. (Dan Sharp)
  10207. Files:        src/Make_cyg.mak
  10208.  
  10209. Patch 6.2.043
  10210. Problem:    Compiling with both netbeans and workshop doesn't work.
  10211. Solution:   Move the shellRectangle() function to gui_x11.c. (Gordon Prieur)
  10212. Files:        src/gui_x11.c, src/integration.c, src/netbeans.c,
  10213.         src/proto/netbeans.pro
  10214.  
  10215. Patch 6.2.044
  10216. Problem:    ":au filetypedetect" gives an error for a non-existing event name,
  10217.         but it's actually a non-existing group name. (Antoine Mechelynck)
  10218. Solution:   Make the error message clearer.
  10219. Files:        src/fileio.c
  10220.  
  10221. Patch 6.2.045
  10222. Problem:    Obtaining the '( mark changes the '' mark. (Gary Holloway)
  10223. Solution:   Don't set the '' mark when searching for the start/end of the
  10224.         current sentence/paragraph.
  10225. Files:        src/mark.c
  10226.  
  10227. Patch 6.2.046
  10228. Problem:    When evaluating an argument of a function throws an exception the
  10229.         function is still called. (Hari Krishna Dara)
  10230. Solution:   Don't call the function when an exception was thrown.
  10231. Files:        src/eval.c
  10232.  
  10233. Patch 6.2.047 (extra)
  10234. Problem:    Compiler warnings when using MingW. (Bill McCarthy)
  10235. Solution:   Give the s_dwLastClickTime variable a type.  Initialize dwEndTime.
  10236. Files:        src/os_win32.c
  10237.  
  10238. Patch 6.2.048
  10239. Problem:    The Python interface doesn't compile with Python 2.3 when
  10240.         dynamically loaded.
  10241. Solution:   Use dll_PyObject_Malloc and dll_PyObject_Free. (Paul Moore)
  10242. Files:        src/if_python.c
  10243.  
  10244. Patch 6.2.049
  10245. Problem:    Using a "-range=" argument with ":command" doesn't work and
  10246.         doesn't generate an error message.
  10247. Solution:   Generate an error message.
  10248. Files:        src/ex_docmd.c
  10249.  
  10250. Patch 6.2.050
  10251. Problem:    Test 32 didn't work on MS-Windows.
  10252. Solution:   Write the temp file in Unix fileformat. (Walter Briscoe)
  10253. Files:        src/testdir/test32.in
  10254.  
  10255. Patch 6.2.051
  10256. Problem:    When using "\=submatch(0)" in a ":s" command, line breaks become
  10257.         NUL characters.
  10258. Solution:   Change NL to CR characters, so that they become line breaks.
  10259. Files:        src/regexp.c
  10260.  
  10261. Patch 6.2.052
  10262. Problem:    A few messages are not translated.
  10263. Solution:   Add _() to the messages. (Muraoka Taro)
  10264. Files:        src/ex_cmds.c
  10265.  
  10266. Patch 6.2.053
  10267. Problem:    Prototype for bzero() doesn't match most systems.
  10268. Solution:   Use "void *" instead of "char *" and "size_t" instead of "int".
  10269. Files:        src/osdef1.h.in
  10270.  
  10271. Patch 6.2.054
  10272. Problem:    A double-byte character with a second byte that is a backslash
  10273.         causes problems inside a string.
  10274. Solution:   Skip over multi-byte characters in a string properly. (Yasuhiro
  10275.         Matsumoto)
  10276. Files:        src/eval.c
  10277.  
  10278. Patch 6.2.055
  10279. Problem:    Using col('.') from CTRL-O in Insert mode does not return the
  10280.         correct value for multi-byte characters.
  10281. Solution:   Correct the cursor position when it is necessary, move to the
  10282.         first byte of a multi-byte character. (Yasuhiro Matsumoto)
  10283. Files:        src/edit.c
  10284.  
  10285. Patch 6.2.056 (extra)
  10286. Problem:    Building with Sniff++ doesn't work.
  10287. Solution:   Use the multi-threaded libc when needed. (Holger Ditting)
  10288. Files:        src/Make_mvc.mak
  10289.  
  10290. Patch 6.2.057 (extra)
  10291. Problem:    Mac: With -DMACOS_X putenv() is defined twice, it is in a system
  10292.         library.  Get a warning for redefining OK.  Unused variables in
  10293.         os_mac.c
  10294. Solution:   Define HAVE_PUTENV.  Undefine OK after including curses.h.
  10295.         Remove declarations for unused variables.
  10296. Files:        src/os_mac.c, src/os_mac.h, src/vim.h
  10297.  
  10298. Patch 6.2.058
  10299. Problem:    When 'autochdir' is set ":bnext" to a buffer without a name causes
  10300.         a crash.
  10301. Solution:   Don't call vim_chdirfile() when the file name is NULL. (Taro
  10302.         Muraoka)
  10303. Files:        src/buffer.c
  10304.  
  10305. Patch 6.2.059
  10306. Problem:    When 'scrolloff' is a large number and listing completion results
  10307.         on the command line, then executing a command that jumps close to
  10308.         where the cursor was before, part of the screen is not updated.
  10309.         (Yakov Lerner)
  10310. Solution:   Don't skip redrawing part of the window when it was scrolled.
  10311. Files:        src/screen.c
  10312.  
  10313. Patch 6.2.060 (extra)
  10314. Problem:    Win32: When 'encoding' is set to "iso-8859-7" copy/paste to/from
  10315.         the clipboard gives a lalloc(0) error. (Kriton Kyrimis)
  10316. Solution:   When the string length is zero allocate one byte.  Also fix that
  10317.         when the length of the Unicode text is zero (conversion from
  10318.         'encoding' to UCS-2 was not possible) the normal text is used.
  10319. Files:        src/os_mswin.c
  10320.  
  10321. Patch 6.2.061
  10322. Problem:    GUI: Using the left mouse button with the shift key should work
  10323.         like "*" but it scrolls instead. (Martin Beller)
  10324. Solution:   Don't recognize an rxvt scroll wheel event when using the GUI.
  10325. Files:        src/term.c
  10326.  
  10327. Patch 6.2.062
  10328. Problem:    When one buffer uses a syntax with "containedin" and another
  10329.         buffer does not, redrawing depends on what the current buffer is.
  10330.         (Brett Pershing Stahlman)
  10331. Solution:   Use "syn_buf" instead of "curbuf" to get the b_syn_containedin
  10332.         flag.
  10333. Files:        src/syntax.c
  10334.  
  10335. Patch 6.2.063
  10336. Problem:    When using custom completion end up with no matches.
  10337. Solution:   Make cmd_numfiles and cmd_files local to completion to avoid that
  10338.         they are overwritten when ExpandOne() is called recursively by
  10339.         f_glob().
  10340. Files:        src/eval.c, src/ex_docmd.c, src/ex_getln.c, src/proto/ex_getln.pro,
  10341.         src/misc1.c, src/structs.h, src/tag.c
  10342.  
  10343. Patch 6.2.064
  10344. Problem:    resolve() only handles one symbolic link, need to repeat it to
  10345.         resolve all of them.  Then need to simplify the file name.
  10346. Solution:   Make resolve() resolve all symbolic links and simplify the result.
  10347.         Add simplify() to just simplify a file name.  Fix that test49
  10348.         doesn't work if /tmp is a symbolic link.  (Servatius Brandt)
  10349. Files:        runtime/doc/eval.txt, src/eval.c, src/tag.c,
  10350.         src/testdir/test49.vim
  10351.  
  10352. Patch 6.2.065
  10353. Problem:    ":windo 123" only updates other windows when entering them.
  10354.         (Walter Briscoe)
  10355. Solution:   Update the topline before going to the next window.
  10356. Files:        src/ex_cmds2.c
  10357.  
  10358. Patch 6.2.066 (extra)
  10359. Problem:    Ruby interface doesn't work with Ruby 1.8.0.
  10360. Solution:   Change "defout" to "stdout". (Aron Griffis)
  10361.         Change dynamic loading. (Taro Muraoka)
  10362. Files:        src/if_ruby.c, src/Make_mvc.mak
  10363.  
  10364. Patch 6.2.067
  10365. Problem:    When searching for a string that starts with a composing character
  10366.         the command line isn't drawn properly.
  10367. Solution:   Don't count the space to draw the composing character on and
  10368.         adjust the cursor column after drawing the string.
  10369. Files:        src/message.c
  10370.  
  10371. Patch 6.2.068
  10372. Problem:    Events for the netbeans interface that include a file name with
  10373.         special characters don't work properly.
  10374. Solution:   Use nb_quote() on the file name. (Sergey Khorev)
  10375. Files:        src/netbeans.c
  10376.  
  10377. Patch 6.2.069 (after 6.2.064)
  10378. Problem:    Unused variables "limit" and "new_st" and unused label "fail" in
  10379.         some situation. (Bill McCarthy)
  10380. Solution:   Put the declarations inside an #ifdef. (Servatius Brandt)
  10381. Files:        src/eval.c, src/tag.c
  10382.  
  10383. Patch 6.2.070 (after 6.2.069)
  10384. Problem:    Still unused variable "new_st". (Bill McCarthy)
  10385. Solution:   Move the declaration to the right block this time.
  10386. Files:        src/tag.c
  10387.  
  10388. Patch 6.2.071
  10389. Problem:    'statusline' can only contain 50 % items. (Antony Scriven)
  10390. Solution:   Allow 80 items and mention it in the docs.
  10391. Files:        runtime/doc/option.txt, src/vim.h
  10392.  
  10393. Patch 6.2.072
  10394. Problem:    When using expression folding, foldexpr() mostly returns -1 for
  10395.         the previous line, which makes it difficult to write a fold
  10396.         expression.
  10397. Solution:   Make the level of the previous line available while still looking
  10398.         for the end of a fold.
  10399. Files:        src/fold.c
  10400.  
  10401. Patch 6.2.073
  10402. Problem:    When adding detection of a specific filetype for a plugin you need
  10403.         to edit "filetype.vim".
  10404. Solution:   Source files from the "ftdetect" directory, so that a filetype
  10405.         detection plugin only needs to be dropped in a directory.
  10406. Files:        runtime/doc/filetype.txt, runtime/doc/usr_05.txt,
  10407.         runtime/doc/usr_41.txt, runtime/filetype.vim
  10408.  
  10409. Patch 6.2.074
  10410. Problem:    Warnings when compiling the Python interface. (Ajit Thakkar)
  10411. Solution:   Use ANSI function declarations.
  10412. Files:        src/if_python.c
  10413.  
  10414. Patch 6.2.075
  10415. Problem:    When the temp file for writing viminfo can't be used "NULL"
  10416.         appears in the error message. (Ben Lavender)
  10417. Solution:   Print the original file name when there is no temp file name.
  10418. Files:        src/ex_cmds.c
  10419.  
  10420. Patch 6.2.076
  10421. Problem:    The tags listed for cscope are in the wrong order. (Johannes
  10422.         Stezenbach)
  10423. Solution:   Remove the reordering of tags for the current file. (Sergey
  10424.         Khorev)
  10425. Files:        src/if_cscope.c
  10426.  
  10427. Patch 6.2.077
  10428. Problem:    When a user function specifies custom completion, the function
  10429.         gets a zero argument instead of an empty string when there is no
  10430.         word before the cursor. (Preben Guldberg)
  10431. Solution:   Don't convert an empty string to a zero.
  10432. Files:        src/eval.c
  10433.  
  10434. Patch 6.2.078
  10435. Problem:    "make test" doesn't work if Vim wasn't compiled yet. (Ed Avis)
  10436. Solution:   Build Vim before running the tests.
  10437. Files:        src/Makefile
  10438.  
  10439. Patch 6.2.079
  10440. Problem:    ":w ++enc=utf-8 !cmd" doesn't work.
  10441. Solution:   Check for the "++" argument before the "!".
  10442. Files:        src/ex_docmd.c
  10443.  
  10444. Patch 6.2.080
  10445. Problem:    When 't_ti' is not empty but doesn't swap screens, using "ZZ" in
  10446.         an unmodified file doesn't clear the last line.
  10447. Solution:   Call msg_clr_eos() when needed. (Michael Schroeder)
  10448. Files:        src/os_unix.c
  10449.  
  10450. Patch 6.2.081
  10451. Problem:    Problem when using a long multibyte string for the statusline.
  10452. Solution:   Use the right pointer to get the cell size. (Taro Muraoka)
  10453. Files:        src/buffer.c
  10454.  
  10455. Patch 6.2.082
  10456. Problem:    Can't compile with Perl 5.8.1.
  10457. Solution:   Rename "e_number" to "e_number_exp". (Sascha Blank)
  10458. Files:        src/digraph.c, src/globals.h
  10459.  
  10460. Patch 6.2.083
  10461. Problem:    When a compiler uses ^^^^ to mark a word the information is not
  10462.         visible in the quickfix window. (Srikanth Sankaran)
  10463. Solution:   Don't remove the indent for a line that is not recognized as an
  10464.         error message.
  10465. Files:        src/quickfix.c
  10466.  
  10467. Patch 6.2.084
  10468. Problem:    "g_" in Visual mode always goes to the character after the line.
  10469.         (Jean-Rene David)
  10470. Solution:   Ignore the NUL at the end of the line.
  10471. Files:        src/normal.c
  10472.  
  10473. Patch 6.2.085
  10474. Problem:    ":verbose set ts" doesn't say an option was set with a "-c" or
  10475.         "--cmd" argument.
  10476. Solution:   Remember the option was set from a Vim argument.
  10477. Files:        src/main.c, src/ex_cmds2.c, src/vim.h
  10478.  
  10479. Patch 6.2.086
  10480. Problem:    "{" and "}" stop inside a closed fold.
  10481. Solution:   Only stop once inside a closed fold. (Stephen Riehm)
  10482. Files:        src/search.c
  10483.  
  10484. Patch 6.2.087
  10485. Problem:    CTRL-^ doesn't use the 'confirm' option.  Same problem with
  10486.         ":bnext". (Yakov Lerner)
  10487. Solution:   Put up a dialog for a changed file when 'confirm' is set in more
  10488.         situations.
  10489. Files:        src/buffer.c, src/ex_cmds.c
  10490.  
  10491. Patch 6.2.088
  10492. Problem:    When 'sidescrolloff' is set 'showmatch' doesn't work correctly if
  10493.         the match is less than 'sidescrolloff' off from the side of the
  10494.         window.  (Roland Stahn)
  10495. Solution:   Set 'sidescrolloff' to zero while displaying the match.
  10496. Files:        src/search.c
  10497.  
  10498. Patch 6.2.089
  10499. Problem:    ":set isk+=" adds a comma. (Mark Waggoner)
  10500. Solution:   Don't add a comma when the added value is empty.
  10501. Files:        src/option.c
  10502.  
  10503. Patch 6.2.090 (extra)
  10504. Problem:    Win32: MingW compiler complains about #pragmas. (Bill McCarthy)
  10505. Solution:   Put an #ifdef around the #pragmas.
  10506. Files:        src/os_win32.c
  10507.  
  10508. Patch 6.2.091
  10509. Problem:    When an autocommand is triggered when a file is dropped on Vim and
  10510.         it produces output, messages from a following command may be
  10511.         scrolled unexpectedly. (David Rennalls)
  10512. Solution:   Save and restore msg_scroll in handle_drop().
  10513. Files:        src/ex_docmd.c
  10514.  
  10515. Patch 6.2.092
  10516. Problem:    Invalid items appear in the help file tags. (Antonio Colombo)
  10517. Solution:   Only accept tags with white space before the first "*".
  10518. Files:        runtime/doc/doctags.c, src/ex_cmds.c
  10519.  
  10520. Patch 6.2.093
  10521. Problem:    ":nnoremenu" also defines menu for Visual mode. (Klaus Bosau)
  10522. Solution:   Check the second command character for an "o", not the third.
  10523. Files:        src/menu.c
  10524.  
  10525. Patch 6.2.094
  10526. Problem:    Can't compile with GTK and tiny features.
  10527. Solution:   Include handle_drop() and vim_chdirfile() when FEAT_DND is defined.
  10528.         Do not try to split the window.
  10529. Files:        src/ex_docmd.c, src/misc2.c
  10530.  
  10531. Patch 6.2.095
  10532. Problem:    The message "Cannot go to buffer x" is confusing for ":buf 6".
  10533.         (Frans Englich)
  10534. Solution:   Make it "Buffer x does not exist".
  10535. Files:        src/buffer.c
  10536.  
  10537. Patch 6.2.096
  10538. Problem:    Win32: ":let @* = ''" put a newline on the clipboard. (Klaus
  10539.         Bosau)
  10540. Solution:   Put zero bytes on the clipboard for an empty string.
  10541. Files:        src/ops.c
  10542.  
  10543. Patch 6.2.097
  10544. Problem:    Setting or resetting 'insertmode' in a BufEnter autocommand
  10545.         doesn't always have immediate effect. (Nagger)
  10546. Solution:   When 'insertmode' is set, set need_start_insertmode, when it's
  10547.         reset set stop_insert_mode.
  10548. Files:        src/option.c
  10549.  
  10550. Patch 6.2.098 (after 6.2.097)
  10551. Problem:    Can't build Vim with tiny features. (Christian J. Robinson)
  10552. Solution:   Declare stop_insert_mode always.
  10553. Files:        src/edit.c, src/globals.h
  10554.  
  10555. Patch 6.2.099 (extra)
  10556. Problem:    Test 49 fails. (Mikolaj Machowski)
  10557. Solution:   The Polish translation must not change "E116" to "R116".
  10558. Files:        src/po/pl.po
  10559.  
  10560. Patch 6.2.100
  10561. Problem:    "make proto" fails when compiled with the Perl interface.
  10562. Solution:   Remove "-fno.*" from PERL_CFLAGS, cproto sees it as its option.
  10563. Files:        src/auto/configure, src/configure.in
  10564.  
  10565. Patch 6.2.101
  10566. Problem:    When using syntax folding, opening a file slows down a lot when
  10567.         it's size increases by only 20%. (Gary Johnson)
  10568. Solution:   The array with cached syntax states is leaking entries.  After
  10569.         cleaning up the list obtain the current entry again.
  10570. Files:        src/syntax.c
  10571.  
  10572. Patch 6.2.102
  10573. Problem:    The macros equal() and CR conflict with a Carbon header file.
  10574. Solution:   Rename equal() to equalpos().  Rename CR to CAR.
  10575.         Do this in the non-extra files only.
  10576. Files:        src/ascii.h, src/buffer.c, src/charset.c, src/edit.c, src/eval.c,
  10577.         src/ex_cmds.c, src/ex_cmds2.c, src/ex_getln.c, src/fileio.c,
  10578.         src/getchar.c, src/gui.c, src/gui_athena.c, src/gui_gtk_x11.c,
  10579.         src/gui_motif.c, src/macros.h, src/mark.c, src/message.c,
  10580.         src/misc1.c, src/misc2.c, src/normal.c, src/ops.c, src/os_unix.c,
  10581.         src/regexp.c, src/search.c, src/ui.c, src/workshop.c
  10582.  
  10583. Patch 6.2.103 (extra)
  10584. Problem:    The macros equal() and CR conflict with a Carbon header file.
  10585. Solution:   Rename equal() to equalpos().  Rename CR to CAR.
  10586.         Do this in the extra files only.
  10587. Files:        src/gui_photon.c, src/gui_w48.c
  10588.  
  10589. Patch 6.2.104
  10590. Problem:    Unmatched braces in the table with options.
  10591. Solution:   Move the "}," outside of the #ifdef. (Yakov Lerner)
  10592. Files:        src/option.c
  10593.  
  10594. Patch 6.2.105
  10595. Problem:    When the cursor is past the end of the line when calling
  10596.         get_c_indent() a crash might occur.
  10597. Solution:   Don't look past the end of the line. (NJ Verenini)
  10598. Files:        src/misc1.c
  10599.  
  10600. Patch 6.2.106
  10601. Problem:    Tag searching gets stuck on a very long line in the tags file.
  10602. Solution:   When skipping back to search the first matching tag remember the
  10603.         offset where searching started looking for a line break.
  10604. Files:        src/tag.c
  10605.  
  10606. Patch 6.2.107 (extra)
  10607. Problem:    The NetBeans interface cannot be used on Win32.
  10608. Solution:   Add support for the NetBeans for Win32.  Add support for reading
  10609.         XPM files on Win32.  Also fixes that a sign icon with a space in
  10610.         the file name did not work through the NetBeans interface.
  10611.         (Sergey Khorev)
  10612.         Also: avoid repeating error messages when the connection is lost.
  10613. Files:        Makefile, runtime/doc/netbeans.txt, src/Make_bc5.mak,
  10614.         src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak,
  10615.         src/bigvim.bat, src/feature.h, src/gui_beval.c, src/gui_beval.h,
  10616.         src/gui_w32.c, src/gui_w48.c, src/menu.c, src/nbdebug.c,
  10617.         src/nbdebug.h, src/netbeans.c, src/os_mswin.c, src/os_win32.h,
  10618.         src/proto/gui_beval.pro, src/proto/gui_w32.pro,
  10619.         src/proto/netbeans.pro, src/proto.h, src/version.c, src/vim.h,
  10620.         src/xpm_w32.c, src/xpm_w32.h
  10621.  
  10622. Patch 6.2.108
  10623. Problem:    Crash when giving a message about ignoring case in a tag. (Manfred
  10624.         Kuehn)
  10625. Solution:   Use a longer buffer for the message.
  10626. Files:        src/tag.c
  10627.  
  10628. Patch 6.2.109
  10629. Problem:    Compiler warnings with various Amiga compilers.
  10630. Solution:   Add typecast, prototypes, et al. that are also useful for other
  10631.         systems.  (Flavio Stanchina)
  10632. Files:        src/eval.c, src/ops.c
  10633.  
  10634. Patch 6.2.110
  10635. Problem:    When $LANG includes the encoding, a menu without an encoding name
  10636.         is not found.
  10637. Solution:   Also look for a menu file without any encoding.
  10638. Files:        runtime/menu.vim
  10639.  
  10640. Patch 6.2.111
  10641. Problem:    Encoding "cp1251" is not recognized.
  10642. Solution:   Add "cp1251" to the table of encodings. (Alexey Froloff)
  10643. Files:        src/mbyte.c
  10644.  
  10645. Patch 6.2.112
  10646. Problem:    After applying patches test32 fails. (Antonio Colombo)
  10647. Solution:   Have "make clean" in the testdir delete *.rej and *.orig files.
  10648.         Use this when doing "make clean" in the src directory.
  10649. Files:        src/Makefile, src/testdir/Makefile
  10650.  
  10651. Patch 6.2.113
  10652. Problem:    Using ":startinsert" after "$" works like "a" instead of "i".
  10653.         (Ajit Thakkar)
  10654. Solution:   Reset "w_curswant" for ":startinsert" and reset o_eol in edit().
  10655. Files:        src/edit.c, src/ex_docmd.c
  10656.  
  10657. Patch 6.2.114
  10658. Problem:    When stdout is piped through "tee", the size of the screen may not
  10659.         be correct.
  10660. Solution:   Use stdin instead of stdout for ioctl() when stdin is a tty and
  10661.         stdout isn't.
  10662. Files:        src/os_unix.c
  10663.  
  10664. Patch 6.2.115 (extra)
  10665. Problem:    Compiler warnings with various Amiga compilers.
  10666. Solution:   Add typecast, prototypes, et al.  Those changes that are
  10667.         Amiga-specific. (Flavio Stanchina)
  10668. Files:        src/fileio.c, src/memfile.c, src/os_amiga.c, src/os_amiga.h,
  10669.         src/vim.h
  10670.  
  10671. Patch 6.2.116 (extra)
  10672. Problem:    German keyboard with Numlock set different from system startup
  10673.         causes problems.
  10674. Solution:   Ignore keys with code 0xff. (Helmut Stiegler)
  10675. Files:        src/gui_w48.c
  10676.  
  10677. Patch 6.2.117
  10678. Problem:    Breakpoints in loops of sourced files and functions are not
  10679.         detected. (Hari Krishna Dara)
  10680. Solution:   Check for breakpoints when using lines that were previously read.
  10681.         (Servatius Brandt)
  10682. Files:        src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, src/proto/eval.pro,
  10683.         src/proto/ex_cmds2.pro
  10684.  
  10685. Patch 6.2.118 (extra)
  10686. Problem:    Mac: Compiling is done in a non-standard way.
  10687. Solution:   Use the Unix method for Mac OS X, with autoconf.  Add "CARBONGUI"
  10688.         to Makefile and configure. (Eric Kow)
  10689.         Move a few prototypes from os_mac.pro to gui_mac.pro.
  10690. Files:        src/Makefile, src/auto/configure, src/configure.in,
  10691.         src/config.mk.in, src/gui_mac.c, src/os_mac.h, src/os_macosx.c,
  10692.         src/proto/gui_mac.pro, src/proto/os_mac.pro,
  10693.         src/infplist.xml, src/vim.h
  10694.  
  10695. Patch 6.2.119 (after 6.2.107)
  10696. Problem:    When packing the MS-Windows archives a few files are missing.
  10697.         (Guopeng Wen)
  10698. Solution:   Add gui_beval.* to the list of generic source files.
  10699. Files:        Makefile
  10700.  
  10701. Patch 6.2.120
  10702. Problem:    Win32 GUI: The console dialogs are not supported on MS-Windows,
  10703.         disabling the 'c' flag of 'guioptions'. (Servatius Brandt)
  10704. Solution:   Define FEAT_CON_DIALOG also for GUI-only builds.
  10705. Files:        src/feature.h
  10706.  
  10707. Patch 6.2.121 (after 6.2.118)
  10708. Problem:    Not all make programs support "+=". (Charles Campbell)
  10709. Solution:   Use a normal assignment.
  10710. Files:        src/Makefile
  10711.  
  10712. Patch 6.2.122 (after 6.2.119)
  10713. Problem:    Not all shells can expand [^~].  File missing.  (Guopeng Wen)
  10714. Solution:   Use a simpler pattern.  Add the Aap recipe for the maze program
  10715.         and a clean version of the source code.
  10716. Files:        Makefile, runtime/macros/maze/Makefile,
  10717.         runtime/macros/maze/README.txt, runtime/macros/maze/main.aap,
  10718.         runtime/macros/maze/mazeclean.c
  10719.  
  10720. Patch 6.2.123 (after 6.2.118)
  10721. Problem:    Running configure fails. (Tony Leneis)
  10722. Solution:   Change "==" to "=" for a test.
  10723. Files:        src/auto/configure, src/configure.in
  10724.  
  10725. Patch 6.2.124 (after 6.2.121)(extra)
  10726. Problem:    Mac: Recursive use of M4FLAGS causes problems.  When running Vim
  10727.         directly it can't find the runtime files.  (Emily Jackson)
  10728.         Using GNU constructs causes warnings with other make programs.
  10729.         (Ronald Schild)
  10730. Solution:   Use another name for the M4FLAGS variable.
  10731.         Don't remove "Vim.app" from the path.
  10732.         Update the explanation for compiling on the Mac. (Eric Kow)
  10733.         Don't use $(shell ) and $(addprefix ).
  10734. Files:        src/INSTALLmac.txt, src/Makefile, src/misc1.c
  10735.  
  10736. Patch 6.2.125 (after 6.2.107)
  10737. Problem:    The "winsock2.h" file isn't always available.
  10738. Solution:   Don't include this header file.
  10739. Files:        src/netbeans.c
  10740.  
  10741. Patch 6.2.126
  10742. Problem:    Typing CTRL-C at a confirm() prompt doesn't throw an exception.
  10743. Solution:   Reset "mapped_ctrl_c" in get_keystroke(), so that "got_int" is set
  10744.         in _OnChar().
  10745. Files:        src/misc1.c
  10746.  
  10747. Patch 6.2.127 (extra)
  10748. Problem:    Win32 console: Typing CTRL-C doesn't throw an exception.
  10749. Solution:   Set got_int immediately when CTRL-C is typed, don't wait for
  10750.         mch_breakcheck() being called.
  10751. Files:        src/os_win32.c
  10752.  
  10753. Patch 6.2.128 (after 6.2.118)
  10754. Problem:    src/auto/configure is not consistent with src/configure.in.
  10755. Solution:   Use the newly generated configure script.
  10756. Files:        src/auto/configure
  10757.  
  10758. Patch 6.2.129
  10759. Problem:    When 'number' is set 'wrapmargin' does not work Vi-compatible.
  10760.         (Yasuhiro Matsumoto)
  10761. Solution:   Reduce the textwidth when 'number' is set.  Also for 'foldcolumn'
  10762.         and similar things.
  10763. Files:        src/edit.c
  10764.  
  10765. Patch 6.2.130 (extra)
  10766. Problem:    Win32 console: When 'restorescreen' is not set exiting Vim causes
  10767.         the screen to be cleared. (Michael A. Mangino)
  10768. Solution:   Don't clear the screen when exiting and 'restorescreen' isn't set.
  10769. Files:        src/os_win32.c
  10770.  
  10771. Patch 6.2.131 (extra)
  10772. Problem:    Win32: Font handles are leaked.
  10773. Solution:   Free italic, bold and bold-italic handles before overwriting them.
  10774.         (Michael Wookey)
  10775. Files:        src/gui_w48.c
  10776.  
  10777. Patch 6.2.132 (extra)
  10778. Problem:    Win32: console version doesn't work on latest Windows Server 2003.
  10779. Solution:   Copy 12000 instead of 15000 cells at a time to avoid running out
  10780.         of memory.
  10781. Files:        src/os_win32.c
  10782.  
  10783. Patch 6.2.133
  10784. Problem:    When starting the GUI a bogus error message about 'imactivatekey'
  10785.         may be given.
  10786. Solution:   Only check the value of 'imactivatekey' when the GUI is running.
  10787. Files:        src/gui.c, src/option.c
  10788.  
  10789. Patch 6.2.134 (extra)
  10790. Problem:    Win32: When scrolling parts of the window are redrawn when this
  10791.         isn't necessary.
  10792. Solution:   Only invalidate parts of the window when they are obscured by
  10793.         other windows. (Michael Wookey)
  10794. Files:        src/gui_w48.c
  10795.  
  10796. Patch 6.2.135
  10797. Problem:    An item <> in the ":command" argument is interpreted as <args>.
  10798. Solution:   Avoid that <> is recognized as <args>.
  10799. Files:        src/ex_docmd.c
  10800.  
  10801. Patch 6.2.136
  10802. Problem:    ":e ++enc=latin1 newfile" doesn't set 'fenc' when the file doesn't
  10803.         exist.  (Miroslaw Dobrzanski-Neumann)
  10804. Solution:   Set 'fileencoding' to the specified encoding when editing a file
  10805.         that does not exist.
  10806. Files:        src/fileio.c
  10807.  
  10808. Patch 6.2.137
  10809. Problem:    "d:cmd<CR>" cannot be repeated with ".".  Breaks repeating "d%"
  10810.         when using the matchit plugin.
  10811. Solution:   Store the command to be repeated.  This is restricted to
  10812.         single-line commands.
  10813. Files:        src/ex_docmd.c, src/globals.h, src/normal.c, src/vim.h
  10814.  
  10815. Patch 6.2.138 (extra)
  10816. Problem:    Compilation problem on VMS with dynamic buffer on the stack.
  10817. Solution:   Read one byte less than the size of the buffer, so that we can
  10818.         check for the string length without an extra buffer.
  10819. Files:        src/os_vms.c
  10820.  
  10821. Patch 6.2.139
  10822. Problem:    Code is repeated in the two Perl files.
  10823. Solution:   Move common code from if_perl.xs and if_perlsfio.c to vim.h.
  10824.         Also fix a problem with generating prototypes.
  10825. Files:        src/if_perl.xs, src/if_perlsfio.c, src/vim.h
  10826.  
  10827. Patch 6.2.140 (after 6.2.121)
  10828. Problem:    Mac: Compiling with Python and Perl doesn't work.
  10829. Solution:   Adjust the configure check for Python to use "-framework Python"
  10830.         for Python 2.3 on Mac OS/X.
  10831.         Move "-ldl" after "DynaLoader.a" in the link command.
  10832.         Change "perllibs" to "PERL_LIBS".
  10833. Files:        src/auto/configure, src/configure.in, src/config.mk.in
  10834.  
  10835. Patch 6.2.141 (extra)
  10836. Problem:    Mac: The b_FSSpec field is sometimes unused.
  10837. Solution:   Change the #ifdef to FEAT_CW_EDITOR and defined it in feature.h
  10838. Files:        src/fileio.c, src/gui_mac.c, src/structs.h, src/feature.h
  10839.  
  10840. Patch 6.2.142 (after 6.2.124)
  10841. Problem:    Mac: building without GUI through configure doesn't work.
  10842.         When the system is slow, unpacking the resource file takes too
  10843.         long.
  10844. Solution:   Don't always define FEAT_GUI_MAC when MACOS is defined, define it
  10845.         in the Makefile.
  10846.         Add a configure option to skip Darwin detection.
  10847.         Use a Python script to unpack the resources to avoid a race
  10848.         condition. (Taro Muraoka)
  10849. Files:        Makefile, src/Makefile, src/auto/configure, src/configure.in,
  10850.         src/dehqx.py, src/vim.h
  10851.  
  10852. Patch 6.2.143
  10853. Problem:    Using "K" on Visually selected text doesn't work if it ends in
  10854.         a multi-byte character.
  10855. Solution:   Include all the bytes of the last character. (Taro Muraoka)
  10856. Files:        src/normal.c
  10857.  
  10858. Patch 6.2.144
  10859. Problem:    When "g:html_use_css" is set the HTML header generated by the
  10860.         2html script is wrong.
  10861. Solution:   Add the header after adding HREF for links.
  10862.         Also use ":normal!" instead of ":normal" to avoid mappings
  10863.         getting in the way.
  10864. Files:        runtime/syntax/2html.vim
  10865.  
  10866. Patch 6.2.145 (after 6.2.139)
  10867. Problem:    Undefining "bool" doesn't work for older systems. (Wojtek Pilorz)
  10868. Solution:   Only undefine "bool" on Mac OS.
  10869. Files:        src/vim.h
  10870.  
  10871. Patch 6.2.146
  10872. Problem:    On some systems the prototype for iconv() is wrong, causing a
  10873.         warning message.
  10874. Solution:   Use a cast (void *) to avoid the warning. (Charles Campbell)
  10875. Files:        src/fileio.c, src/mbyte.c
  10876.  
  10877. Patch 6.2.147
  10878. Problem:    ":s/pat/\=col('.')" always replaces with "1".
  10879. Solution:   Set the cursor to the start of the match before substituting.
  10880.         (Helmut Stiegler)
  10881. Files:        src/ex_cmds.c
  10882.  
  10883. Patch 6.2.148
  10884. Problem:    Can't break an Insert into several undoable parts.
  10885. Solution:   Add the CTRL-G u command.
  10886. Files:        runtime/doc/insert.txt, src/edit.c
  10887.  
  10888. Patch 6.2.149
  10889. Problem:    When the cursor is on a line past 21,474,748 the indicated
  10890.         percentage of the position is invalid.  With that many lines
  10891.         "100%" causes a negative cursor line number, resulting in a crash.
  10892.         (Daniel Goujot)
  10893. Solution:   Divide by 100 instead of multiplying.  Avoid overflow when
  10894.         computing the line number for "100%".
  10895. Files:        src/buffer.c, src/ex_cmds2.c, src/normal.c
  10896.  
  10897. Patch 6.2.150
  10898. Problem:    When doing "vim - < file" lines are broken at NUL chars.
  10899.         (Daniel Goujot)
  10900. Solution:   Change NL characters back to NUL when reading from the temp
  10901.         buffer.
  10902. Files:        src/fileio.c
  10903.  
  10904. Patch 6.2.151
  10905. Problem:    When doing "vim --remote +startinsert file" some commands are
  10906.         inserted as text. (Klaus Bosau)
  10907. Solution:   Put all the init commands in one Ex line, not using a <CR>, so
  10908.         that Insert mode isn't started too early.
  10909. Files:        src/main.c
  10910.  
  10911. Patch 6.2.152
  10912. Problem:    The cursor() function doesn't reset the column offset for
  10913.         'virtualedit'.
  10914. Solution:   Reset the offset to zero. (Helmut Stiegler)
  10915. Files:        src/eval.c
  10916.  
  10917. Patch 6.2.153
  10918. Problem:    Win32: ":lang german" doesn't use German messages.
  10919. Solution:   Add a table to translate the Win32 language names to two-letter
  10920.         language codes.
  10921. Files:        src/ex_cmds2.c
  10922.  
  10923. Patch 6.2.154
  10924. Problem:    Python bails out when giving a warning message. (Eugene
  10925.         Minkovskii)
  10926. Solution:   Set sys.argv[] to an empty string.
  10927. Files:        src/if_python.c
  10928.  
  10929. Patch 6.2.155
  10930. Problem:    Win32: Using ":tjump www" in a help file gives two results.
  10931.         (Dave Roberts)
  10932. Solution:   Ignore differences between slashes and backslashes when checking
  10933.         for identical tag matches.
  10934. Files:        src/tag.c
  10935.  
  10936. Patch 6.2.156 (after 6.2.125)
  10937. Problem:    Win32: Netbeans fails to build, EINTR is not defined.
  10938. Solution:   Redefine EINTR to WSAEINTR. (Mike Williams)
  10939. Files:        src/netbeans.c
  10940.  
  10941. Patch 6.2.157
  10942. Problem:    Using "%p" in 'errorformat' gives a column number that is too
  10943.         high.
  10944. Solution:   Set the flag to use the number as a virtual column.  (Lefteris
  10945.         Koutsoloukas)
  10946. Files:        src/quickfix.c
  10947.  
  10948. Patch 6.2.158
  10949. Problem:    The sed command on Solaris and HPUX doesn't work for a line that
  10950.         doesn't end in a newline.
  10951. Solution:   Add a newline when feeding text to sed. (Mark Waggoner)
  10952. Files:        src/configure.in, src/auto/configure
  10953.  
  10954. Patch 6.2.159
  10955. Problem:    When using expression folding and 'foldopen' is "undo" an undo
  10956.         command doesn't always open the fold.
  10957. Solution:   Save and restore the KeyTyped variable when evaluating 'foldexpr'.
  10958.         (Taro Muraoka)
  10959. Files:        src/fold.c
  10960.  
  10961. Patch 6.2.160
  10962. Problem:    When 'virtualedit' is "all" and 'selection is "exclusive",
  10963.         selecting a double-width character below a single-width character
  10964.         may cause a crash.
  10965. Solution:   Avoid overflow on unsigned integer decrement. (Taro Muraoka)
  10966. Files:        src/normal.c
  10967.  
  10968. Patch 6.2.161 (extra)
  10969. Problem:    VMS: Missing header file.  Reading input busy loops.
  10970. Solution:   Include termdef.h.  Avoid the use of a wait function in
  10971.         vms_read().  (Frank Ries)
  10972. Files:        src/os_unix.h, src/os_vms.c
  10973.  
  10974. Patch 6.2.162
  10975. Problem:    ":redraw" doesn't always display the text that includes the cursor
  10976.         position, e.g. after ":call cursor(1, 0)". (Eugene Minkovskii)
  10977. Solution:   Call update_topline() before redrawing.
  10978. Files:        src/ex_docmd.c
  10979.  
  10980. Patch 6.2.163
  10981. Problem:    "make install" may also copy AAPDIR directories.
  10982. Solution:   Delete AAPDIR directories, just like CVS directories.
  10983. Files:        src/Makefile
  10984.  
  10985. Patch 6.2.164 (after 6.2.144)
  10986. Problem:    When "g:html_use_css" is set the HTML header generated by the
  10987.         2html script is still wrong.
  10988. Solution:   Search for a string instead of jumping to a fixed line number.
  10989.         Go to the start of the line before inserting the header.
  10990.         (Jess Thrysoee)
  10991. Files:        runtime/syntax/2html.vim
  10992.  
  10993. Patch 6.2.165
  10994. Problem:    The configure checks hang when using autoconf 2.57.
  10995. Solution:   Invoke AC_PROGRAM_EGREP to set $EGREP. (Aron Griffis)
  10996. Files:        src/auto/configure, src/configure.in
  10997.  
  10998. Patch 6.2.166
  10999. Problem:    When $GZIP contains "-N" editing compressed files doesn't work
  11000.         properly.
  11001. Solution:   Add "-n" to "gzip -d" to avoid restoring the file name. (Oyvind
  11002.         Holm)
  11003. Files:        runtime/plugin/gzip.vim
  11004.  
  11005. Patch 6.2.167
  11006. Problem:    The Python interface leaks memory when assigning lines to a
  11007.         buffer. (Sergey Khorev)
  11008. Solution:   Do not copy the line when calling ml_replace().
  11009. Files:        src/if_python.c
  11010.  
  11011. Patch 6.2.168
  11012. Problem:    Python interface: There is no way to get the indices from a range
  11013.         object.
  11014. Solution:   Add the "start" and "end" attributes. (Maurice S. Barnum)
  11015. Files:        src/if_python.c, runtime/doc/if_pyth.txt
  11016.  
  11017. Patch 6.2.169
  11018. Problem:    The prototype for _Xmblen() appears in a recent XFree86 header
  11019.         file, causing a warning for our prototype. (Hisashi T Fujinaka)
  11020. Solution:   Move the prototype to an osdef file, so that it's filtered out.
  11021. Files:        src/mbyte.c, src/osdef2.h.in
  11022.  
  11023. Patch 6.2.170
  11024. Problem:    When using Sun WorkShop the current directory isn't changed to
  11025.         where the file is.
  11026. Solution:   Set the 'autochdir' option when using WorkShop.  And avoid using
  11027.         the basename when 'autochdir' is not set.
  11028. Files:        src/gui_x11.c, src/ex_cmds.c
  11029.  
  11030. Patch 6.2.171 (after 6.2.163)
  11031. Problem:    The "-or" argument of "find" doesn't work for SysV systems.
  11032. Solution:   Use "-o" instead. (Gordon Prieur)
  11033. Files:        src/Makefile
  11034.  
  11035. Patch 6.2.172 (after 6.2.169)
  11036. Problem:    The prototype for _Xmblen() still causes trouble.
  11037. Solution:   Include the X11 header file that defines the prototype.
  11038. Files:        src/osdef2.h.in, src/osdef.sh
  11039.  
  11040. Patch 6.2.173 (extra)
  11041. Problem:    Win32: Ruby interface doesn't work with Ruby 1.8.0 for other
  11042.         compilers than MSVC.
  11043. Solution:   Fix the BC5, Cygwin and Mingw makefiles. (Dan Sharp)
  11044. Files:        src/Make_bc5.mak, src/Make_cyg.mak, src/Make_ming.mak
  11045.  
  11046. Patch 6.2.174
  11047. Problem:    After the ":intro" message only a mouse click in the last line
  11048.         gets past the hit-return prompt.
  11049. Solution:   Accept a click at or below the hit-return prompt.
  11050. Files:        src/gui.c, src/message.c
  11051.  
  11052. Patch 6.2.175
  11053. Problem:    Changing 'backupext' in a *WritePre autocommand doesn't work.
  11054.         (William Natter)
  11055. Solution:   Move the use of p_bex to after executing the *WritePre
  11056.         autocommands.  Also avoids reading allocated memory after freeing.
  11057. Files:        src/fileio.c
  11058.  
  11059. Patch 6.2.176
  11060. Problem:    Accented characters in translated help files are not handled
  11061.         correctly. (Fabien Vayssiere)
  11062. Solution:   Include "192-255" in 'iskeyword' for the help window.
  11063. Files:        src/ex_cmds.c
  11064.  
  11065. Patch 6.2.177 (extra)
  11066. Problem:    VisVim: Opening a file with a space in the name doesn't work. (Rob
  11067.         Retter)  Arbitrary commands are being executed. (Neil Bird)
  11068. Solution:   Put a backslash in front of every space in the file name.
  11069.         (Gerard Blais)  Terminate the CTRL-\ CTRL-N command with a NUL.
  11070. Files:        src/VisVim/Commands.cpp, src/VisVim/VisVim.rc
  11071.  
  11072. Patch 6.2.178
  11073. Problem:    People who don't know how to exit Vim try pressing CTRL-C.
  11074. Solution:   Give a message how to exit Vim when CTRL-C is pressed and it
  11075.         doesn't cancel anything.
  11076. Files:        src/normal.c
  11077.  
  11078. Patch 6.2.179 (extra)
  11079. Problem:    The en_gb messages file isn't found on case sensitive systems.
  11080. Solution:   Rename en_gb to en_GB. (Mike Williams)
  11081. Files:        src/po/en_gb.po, src/po/en_GB.po, src/po/Make_ming.mak,
  11082.         src/po/Make_mvc.mak, src/po/Makefile, src/po/README_mvc.txt
  11083.  
  11084. Patch 6.2.180
  11085. Problem:    Compiling with GTK2 on Win32 doesn't work.
  11086. Solution:   Include gdkwin32.h instead of gdkx.h. (Srinath Avadhanula)
  11087. Files:        src/gui_gtk.c, src/gui_gtk_f.c, src/gui_gtk_x11.c, src/mbyte.c
  11088.  
  11089. Patch 6.2.181 (after 6.2.171)
  11090. Problem:    The "-o" argument of "find" has lower priority than the implied
  11091.         "and" with "-print".
  11092. Solution:   Add parenthesis around the "-o" expression. (Gordon Prieur)
  11093. Files:        src/Makefile
  11094.  
  11095. Patch 6.2.182 (after 6.2.094)
  11096. Problem:    Compilation with tiny features fails because of missing
  11097.         get_past_head() function.
  11098. Solution:   Adjust the #ifdef for get_past_head().
  11099. Files:        src/misc1.c
  11100.  
  11101. Patch 6.2.183 (after 6.2.178)
  11102. Problem:    Warning for char/unsigned char mixup.
  11103. Solution:   Use MSG() instead of msg(). (Tony Leneis)
  11104. Files:        src/normal.c
  11105.  
  11106. Patch 6.2.184
  11107. Problem:    With 'formatoptions' set to "1aw" inserting text may cause the
  11108.         paragraph to be ended. (Alan Schmitt)
  11109. Solution:   Temporarily add an extra space to make the paragraph continue
  11110.         after moving the word after the cursor to the next line.
  11111.         Also format when pressing Esc.
  11112. Files:        src/edit.c, src/normal.c, src/proto/edit.pro
  11113.  
  11114. Patch 6.2.185
  11115. Problem:    Restoring a session with zero-height windows does not work
  11116.         properly. (Charles Campbell)
  11117. Solution:   Accept a zero argument to ":resize" as intended.  Add a window
  11118.         number argument to ":resize" to be able to set the size of other
  11119.         windows, because the current window cannot be zero-height.
  11120.         Fix the explorer plugin to avoid changing the window sizes.  Add
  11121.         the winrestcmd() function for this.
  11122. Files:        runtime/doc/eval.txt, runtime/plugin/explorer.vim, src/eval.c,
  11123.         src/ex_cmds.h, src/ex_docmd.c, src/proto/window.pro, src/window.c
  11124.  
  11125. Patch 6.2.186 (after 6.2.185)
  11126. Problem:    Documentation file eval.txt contains examples without indent.
  11127. Solution:   Insert the indent.  Also fix other mistakes.
  11128. Files:        runtime/doc/eval.txt
  11129.  
  11130. Patch 6.2.187
  11131. Problem:    Using Insure++ reveals a number of bugs.  (Dominique Pelle)
  11132. Solution:   Initialize variables where needed.  Free allocated memory to avoid
  11133.         leaks.  Fix comparing tags to avoid reading past allocated memory.
  11134. Files:        src/buffer.c, src/diff.c, src/fileio.c, src/mark.c, src/misc1.c,
  11135.         src/misc2.c, src/ops.c, src/option.c, src/tag.c, src/ui.c
  11136.  
  11137. Patch 6.2.188 (extra)
  11138. Problem:    MS-Windows: Multi-byte characters in a filename cause trouble for
  11139.         the window title.
  11140. Solution:   Return when the wide function for setting the title did its work.
  11141. Files:        src/gui_w48.c
  11142.  
  11143. Patch 6.2.189
  11144. Problem:    When setting 'viminfo' after editing a new buffer its marks are
  11145.         not stored. (Keith Roberts)
  11146. Solution:   Set the "b_marks_read" flag when skipping to read marks from the
  11147.         viminfo file.
  11148. Files:        src/fileio.c
  11149.  
  11150. Patch 6.2.190
  11151. Problem:    When editing a compressed files, marks are lost.
  11152. Solution:   Add the ":lockmarks" modifier and use it in the gzip plugin.
  11153.         Make exists() also check for command modifiers, so that the
  11154.         existence of ":lockmarks" can be checked for.
  11155.         Also add ":keepmarks" to avoid that marks are deleted when
  11156.         filtering text.
  11157.         When deleting lines put marks 'A - 'Z and '0 - '9 at the first
  11158.         deleted line instead of clearing the mark.  They were kept in the
  11159.         viminfo file anyway.
  11160.         Avoid that the gzip plugin puts deleted text in registers.
  11161. Files:        runtime/doc/motion.txt, runtime/plugin/gzip.vim, src/ex_cmds.c,
  11162.         src/ex_docmd.c, src/mark.c, src/structs.h
  11163.  
  11164. Patch 6.2.191
  11165. Problem:    The intro message is outdated.  Information about sponsoring and
  11166.         registering is missing.
  11167. Solution:   Show info about sponsoring and registering Vim in the intro
  11168.         message now and then.  Add help file about sponsoring.
  11169. Files:        runtime/doc/help.txt, runtime/doc/sponsor.txt, runtime/doc/tags,
  11170.         runtime/menu.vim, src/version.c
  11171.  
  11172. Patch 6.2.192
  11173. Problem:    Using CTRL-T and CTRL-D with "gR" messes up the text.  (Jonathan
  11174.         Hankins)
  11175. Solution:   Avoid calling change_indent() recursively.
  11176. Files:        src/edit.c
  11177.  
  11178. Patch 6.2.193
  11179. Problem:    When recalling a search pattern from the history from a ":s,a/c,"
  11180.         command the '/' ends the search string. (JC van Winkel)
  11181. Solution:   Store the separator character with the history entries.  Escape
  11182.         characters when needed, replace the old separator with the new one.
  11183.         Also fixes that recalling a "/" search for a "?" command messes up
  11184.         trailing flags.
  11185. Files:        src/eval.c, src/ex_getln.c, src/normal.c, src/proto/ex_getln.pro,
  11186.         src/search.c, src/tag.c
  11187.  
  11188. Patch 6.2.194 (after 6.2.068)
  11189. Problem:    For NetBeans, instead of writing the file and sending an event
  11190.         about it, tell NetBeans to write the file.
  11191. Solution:   Add the "save" command, "netbeansBuffer" command and
  11192.         "buttonRelease" event to the netbeans protocol.  Updated the
  11193.         interface to version 2.2.  (Gordon Prieur)
  11194.         Also: open a fold when the cursor has been positioned.
  11195.         Also: fix memory leak, free result of nb_quote().
  11196. Files:        runtime/doc/netbeans.txt, src/fileio.c, src/netbeans.c,
  11197.         src/normal.c, src/proto/netbeans.pro, src/structs.h
  11198.  
  11199. Patch 6.2.195 (after 6.2.190)
  11200. Problem:    Compiling fails for missing CPO_REMMARK symbol.
  11201. Solution:   Add the patch I forgot to include...
  11202. Files:        src/option.h
  11203.  
  11204. Patch 6.2.196 (after 6.2.191)
  11205. Problem:    Rebuilding the documentation doesn't use the sponsor.txt file.
  11206. Solution:   Add sponsor.txt to the Makefile. (Christian J. Robinson)
  11207. Files:        runtime/doc/Makefile
  11208.  
  11209. Patch 6.2.197
  11210. Problem:    It is not possible to force a redraw of status lines. (Gary
  11211.         Johnson)
  11212. Solution:   Add the ":redrawstatus" command.
  11213. Files:        runtime/doc/various.txt, src/ex_cmds.h, src/ex_docmd.c,
  11214.         src/screen.c
  11215.  
  11216. Patch 6.2.198
  11217. Problem:    A few messages are not translated. (Ernest Adrogue)
  11218. Solution:   Mark the messages to be translated.
  11219. Files:        src/ex_cmds.c
  11220.  
  11221. Patch 6.2.199 (after 6.2.194)
  11222. Problem:    Vim doesn't work perfectly well with NetBeans.
  11223. Solution:   When NetBeans saves the file, reset the timestamp to avoid "file
  11224.         changed" warnings.  Close a buffer in a proper way.  Don't try
  11225.         giving a debug message with an invalid pointer.  Send a
  11226.         newDotAndMark message when needed.  Report a change by the "r"
  11227.         command to NetBeans.  (Gordon Prieur)
  11228. Files:        src/netbeans.c, src/normal.c
  11229.  
  11230. Patch 6.2.200
  11231. Problem:    When recovering a file, 'fileformat' is always the default, thus
  11232.         writing the file may result in differences. (Penelope Fudd)
  11233. Solution:   Before recovering the file try reading the original file to obtain
  11234.         the values of 'fileformat', 'fileencoding', etc.
  11235. Files:        src/memline.c
  11236.  
  11237. Patch 6.2.201
  11238. Problem:    When 'autowriteall' is set ":qall" still refuses to exit if there
  11239.         is a modified buffer. (Antoine Mechelynck)
  11240. Solution:   Attempt writing modified buffers as intended.
  11241. Files:        src/ex_cmds2.c
  11242.  
  11243. Patch 6.2.202
  11244. Problem:    Filetype names of CHILL and ch script are confusing.
  11245. Solution:   Rename "ch" to "chill" and "chscript" to "ch".
  11246. Files:        runtime/filetype.vim, runtime/makemenu.vim, runtime/synmenu.vim
  11247.         runtime/syntax/ch.vim, runtime/syntax/chill.vim
  11248.  
  11249. Patch 6.2.203
  11250. Problem:    With characterwise text that has more than one line, "3P" works
  11251.         wrong.  "3p" has the same problem.  There also is a display
  11252.         problem. (Daniel Goujot)
  11253. Solution:   Perform characterwise puts with a count in the right position.
  11254. Files:        src/ops.c
  11255.  
  11256. Patch 6.2.204 (after 6.2.086)
  11257. Problem:    "]]" in a file with closed folds moves to the end of the file.
  11258.         (Nam SungHyun)
  11259. Solution:   Find one position in each closed fold, then move to after the fold.
  11260. Files:        src/search.c
  11261.  
  11262. Patch 6.2.205 (extra)
  11263. Problem:    MS-Windows: When the taskbar is at the left or top of the screen,
  11264.         the Vim window placement is wrong.
  11265. Solution:   Compute the size and position of the window correctly. (Taro
  11266.         Muraoka)
  11267. Files:        src/gui_w32.c, src/gui_w48.c
  11268.  
  11269. Patch 6.2.206
  11270. Problem:    Multi-byte characters cannot be used as hotkeys in a console
  11271.         dialog.  (Mattias Erkisson)
  11272. Solution:   Handle multi-byte characters properly.  Also put () or [] around
  11273.         default hotkeys.
  11274. Files:        src/message.c, src/macros.h
  11275.  
  11276. Patch 6.2.207
  11277. Problem:    When 'encoding' is a multi-byte encoding, expanding an
  11278.         abbreviation that starts where insertion started results in
  11279.         characters before the insertion to be deleted.  (Xiangjiang Ma)
  11280. Solution:   Stop searching leftwards for the start of the word at the position
  11281.         where insertion started.
  11282. Files:        src/getchar.c
  11283.  
  11284. Patch 6.2.208
  11285. Problem:    When using fold markers, three lines in a row have the start
  11286.         marker and deleting the first one with "dd", a nested fold is not
  11287.         deleted.  (Kamil Burzynski)
  11288.         Using marker folding, a level 1 fold doesn't stop when it is
  11289.         followed by "{{{2", starting a level 2 fold.
  11290. Solution:   Don't stop updating folds at the end of a change when the nesting
  11291.         level of folds is larger than the fold level.
  11292.         Correctly compute the number of folds that start at "{{{2".
  11293.         Also avoid a crash for a NULL pointer.
  11294. Files:        src/fold.c
  11295.  
  11296. Patch 6.2.209
  11297. Problem:    A bogus fold is created when using "P" while the cursor is in the
  11298.         middle of a closed fold. (Kamil Burzynski)
  11299. Solution:   Correct the line number where marks are modified for closed folds.
  11300. Files:        src/ops.c
  11301.  
  11302. Patch 6.2.210 (extra)
  11303. Problem:    Mac OSX: antialiased fonts are not supported.
  11304. Solution:   Add the 'antialias' option to switch on antialiasing on Mac OSX
  11305.         10.2 and later. (Peter Cucka)
  11306. Files:        runtime/doc/options.txt, src/gui_mac.c, src/option.h, src/option.c
  11307.  
  11308. Patch 6.2.211 (extra)
  11309. Problem:    Code for handling file dropped on Vim is duplicated.
  11310. Solution:   Move the common code to gui_handle_drop().
  11311.         Add code to drop the files in the window under the cursor.
  11312.         Support drag&drop on the Macintosh.  (Taro Muraoka)
  11313.         When dropping a directory name edit that directory (using the
  11314.         explorer plugin)
  11315.         Fix that changing directory with Shift pressed didn't work for
  11316.         relative path names.
  11317. Files:        src/fileio.c, src/gui.c, src/gui_gtk_x11.c, src/gui_mac.c,
  11318.         src/gui_w48.c, src/proto/fileio.pro, src/proto/gui.pro
  11319.  
  11320. Patch 6.2.212 (after 6.2.199)
  11321. Problem:    NetBeans: Replacing with a count is not handled correctly.
  11322. Solution:   Move reporting the change outside of the loop for the count.
  11323.         (Gordon Prieur)
  11324. Files:        src/normal.c
  11325.  
  11326. Patch 6.2.213 (after 6.2.208)
  11327. Problem:    Using marker folding, "{{{1" doesn't start a new fold when already
  11328.         at fold level 1. (Servatius Brandt)
  11329. Solution:   Correctly compute the number of folds that start at "{{{1".
  11330. Files:        src/fold.c
  11331.  
  11332. Patch 6.2.214 (after 6.2.211) (extra)
  11333. Problem:    Warning for an unused variable.
  11334. Solution:   Delete the declaration. (Bill McCarthy)
  11335. Files:        src/gui_w48.c
  11336.  
  11337. Patch 6.2.215
  11338. Problem:    NetBeans: problems saving an unmodified file.
  11339. Solution:   Add isNetbeansModified() function.  Disable netbeans_unmodified().
  11340.         (Gordon Prieur)
  11341. Files:        src/fileio.c, src/netbeans.c, src/proto/netbeans.pro,
  11342.         runtime/doc/netbeans.txt, runtime/doc/tags
  11343.  
  11344. Patch 6.2.216 (after 6.2.206)
  11345. Problem:    Multi-byte characters still cannot be used as hotkeys in a console
  11346.         dialog.  (Mattias Erkisson)
  11347. Solution:   Make get_keystroke() handle multi-byte characters.
  11348. Files:        src/misc1.c
  11349.  
  11350. Patch 6.2.217
  11351. Problem:    GTK: setting the title doesn't always work correctly.
  11352. Solution:   Invoke gui_mch_settitle(). (Tomas Stehlik)
  11353. Files:        src/os_unix.c
  11354.  
  11355. Patch 6.2.218
  11356. Problem:    Warning for function without prototype.
  11357. Solution:   Add argument types to the msgCB field of the BalloonEval struct.
  11358. Files:        src/gui_beval.h
  11359.  
  11360. Patch 6.2.219
  11361. Problem:    Syntax highlighting hangs on an empty match of an item with a
  11362.         nextgroup.  (Charles Campbell)
  11363. Solution:   Remember that the item has already matched and don't match it
  11364.         again at the same position.
  11365. Files:        src/syntax.c
  11366.  
  11367. Patch 6.2.220
  11368. Problem:    When a Vim server runs in a console a remote command isn't handled
  11369.         before a key is typed.  (Joshua Neuheisel)
  11370. Solution:   Don't try reading more input when a client-server command has been
  11371.         received.
  11372. Files:        src/os_unix.c
  11373.  
  11374. Patch 6.2.221
  11375. Problem:    No file name completion for ":cscope add".
  11376. Solution:   Add the XFILE flag to ":cscope". (Gary Johnson)
  11377. Files:        src/ex_cmds.h
  11378.  
  11379. Patch 6.2.222
  11380. Problem:    Using "--remote" several times on a row only opens some of the
  11381.         files. (Dany St-Amant)
  11382. Solution:   Don't delete all typeahead when the server receives a command from
  11383.         a client, only delete typed characters.
  11384. Files:        src/main.c
  11385.  
  11386. Patch 6.2.223
  11387. Problem:    Cscope: Avoid a hang when cscope waits for a response while Vim
  11388.         waits for a prompt.
  11389.         Error messages from Cscope mess up the display.
  11390. Solution:   Detect the hit-enter message and respond by sending a return
  11391.         character to cscope. (Gary Johnson)
  11392.         Use EMSG() and strerror() when possible.  Replace perror() with
  11393.         PERROR() everywhere, add emsg3().
  11394. Files:        src/diff.c, src/if_cscope.c, src/integration.c, src/message.c,
  11395.         src/proto/message.pro, src/misc2.c, src/netbeans.c, src/vim.h
  11396.  
  11397. Patch 6.2.224
  11398. Problem:    Mac: Can't compile with small features. (Axel Kielhorn)
  11399. Solution:   Also include vim_chdirfile() when compiling for the Mac.
  11400. Files:        src/misc2.c
  11401.  
  11402. Patch 6.2.225
  11403. Problem:    NetBeans: Reported modified state isn't exactly right.
  11404. Solution:   Report a file being modified in the NetBeans way.
  11405. Files:        src/netbeans.c
  11406.  
  11407. Patch 6.2.226 (after 6.2.107) (extra)
  11408. Problem:    The "ws2-32.lib" file isn't always available.
  11409. Solution:   Use "WSock32.lib" instead. (Taro Muraoka, Dan Sharp)
  11410. Files:        src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak
  11411.  
  11412. Patch 6.2.227 (extra)
  11413. Problem:    The "PC" symbol is defined but not used anywhere.
  11414. Solution:   Remove "-DPC" from the makefiles.
  11415. Files:        src/Make_bc3.mak, src/Make_bc5.mak, src/Make_cyg.mak,
  11416.         src/Make_ming.mak
  11417.  
  11418. Patch 6.2.228
  11419. Problem:    Receiving CTRL-\ CTRL-N after typing "f" or "m" doesn't switch Vim
  11420.         back to Normal mode.  Same for CTRL-\ CTRL-G.
  11421. Solution:   Check if the character typed after a command is CTRL-\ and obtain
  11422.         another character to check for CTRL-N or CTRL-G, waiting up to
  11423.         'ttimeoutlen' msec.
  11424. Files:        src/normal.c
  11425.  
  11426. Patch 6.2.229
  11427. Problem:    ":function" with a name that uses magic curlies does not work
  11428.         inside a function.  (Servatius Brandt)
  11429. Solution:   Skip over the function name properly.
  11430. Files:        src/eval.c
  11431.  
  11432. Patch 6.2.230 (extra)
  11433. Problem:    Win32: a complex pattern may cause a crash.
  11434. Solution:   Use __try and __except to catch the exception and handle it
  11435.         gracefully, when possible.  Add myresetstkoflw() to reset the
  11436.         stack overflow. (Benjamin Peterson)
  11437. Files:        src/Make_bc5.mak, src/os_mswin.c src/os_win32.c, src/os_win32.h,
  11438.         src/proto/os_win32.pro, src/regexp.c
  11439.  
  11440. Patch 6.2.231 (after 6.2.046)
  11441. Problem:    Various problems when an error exception is raised from within a
  11442.         builtin function.  When it is invoked while evaluating arguments
  11443.         to a function following arguments are still evaluated.  When
  11444.         invoked with a line range it will be called for remaining lines.
  11445. Solution:   Update "force_abort" also after calling a builtin function, so
  11446.         that aborting() always returns the correct value. (Servatius
  11447.         Brandt)
  11448. Files:        src/eval.c, src/ex_eval.c, src/proto/ex_eval.pro,
  11449.         src/testdir/test49.ok, src/testdir/test49.vim
  11450.  
  11451. Patch 6.2.232
  11452. Problem:    ":python vim.command('python print 2*2')" crashes Vim.  (Eugene
  11453.         Minkovskii)
  11454. Solution:   Disallow executing a Python command recursively and give an error
  11455.         message.
  11456. Files:        src/if_python.c
  11457.  
  11458. Patch 6.2.233
  11459. Problem:    On Mac OSX adding -pthread for Python only generates a warning.
  11460.         The test for Perl threads rejects Perl while it's OK.
  11461.         Tcl doesn't work at all.
  11462.         The test for Ruby fails if ruby exists but there are no header
  11463.         files.  The Ruby library isn't detected properly
  11464. Solution:   Avoid adding -pthread on Mac OSX.  Accept Perl threads when it's
  11465.         not the 5.5 threads.
  11466.         Use the Tcl framework for header files.  For Ruby rename cWindow
  11467.         to cVimWindow to avoid a name clash. (Ken Scott)
  11468.         Only enable Ruby when the header files can be found.  Use "-lruby"
  11469.         instead of "libruby.a" when it can't be found.
  11470. Files:        src/auto/configure, src/configure.in, src/if_ruby.c
  11471.  
  11472. Patch 6.2.234
  11473. Problem:    GTK 2 GUI: ":sp" and the ":q" leaves the cursor on the command
  11474.         line.
  11475. Solution:   Flush output before removing scrollbars.  Also do this in other
  11476.         places where gui_mch_*() functions are invoked.
  11477. Files:        src/ex_cmds.c, src/option.c, src/window.c
  11478.  
  11479. Patch 6.2.235 (extra)
  11480. Problem:    Win32: Cursor isn't removed with a 25x80 window and doing:
  11481.         "1830ia<Esc>400a-<Esc>0w0". (Yasuhiro Matsumoto)
  11482. Solution:   Remove the call to gui_undraw_cursor() from gui_mch_insert_lines().
  11483. Files:        src/gui_w48.c
  11484.  
  11485. Patch 6.2.236
  11486. Problem:    Using gvim with Agide gives "connection lost" error messages.
  11487. Solution:   Only give the "connection lost" message when the buffer was once
  11488.         owned by NetBeans.
  11489. Files:        src/netbeans.c, src/structs.h
  11490.  
  11491. Patch 6.2.237
  11492. Problem:    GTK 2: Thai text is drawn wrong.  It changes when moving the
  11493.         cursor over it.
  11494. Solution:   Disable the shaping engine, it moves combining characters to a
  11495.         wrong position and combines characters, while drawing the cursor
  11496.         doesn't combine characters.
  11497. Files:        src/gui_gtk_x11.c
  11498.  
  11499. Patch 6.2.238 (after 6.2.231)
  11500. Problem:    ":function" does not work inside a while loop. (Servatius Brandt)
  11501. Solution:   Add get_while_line() and pass it to do_one_cmd() when in a while
  11502.         loop, so that all lines are stored and can be used again when
  11503.         repeating the loop.
  11504.         Adjust test 49 so that it checks for the fixed problems.
  11505.         (Servatius Brandt)
  11506. Files:        src/digraph.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_eval.c,
  11507.         src/proto/ex_cmds2.pro, src/proto/ex_docmd.pro,
  11508.         src/testdir/test49.in, src/testdir/test49.ok,
  11509.         src/testdir/test49.vim
  11510.  
  11511. Patch 6.2.239
  11512. Problem:    GTK 2: With closed folds the arrow buttons of a vertical scrollbar
  11513.         often doesn't scroll. (Moshe Kaminsky)
  11514. Solution:   Hackish solution: Detect that the button was pressed from the
  11515.         mouse pointer position.
  11516. Files:        src/gui_gtk.c, src/gui.c
  11517.  
  11518. Patch 6.2.240
  11519. Problem:    GTK 2: Searching for bitmaps for the toolbar doesn't work as with
  11520.         other systems.  Need to explicitly use "icon=name".  (Ned Konz,
  11521.         Christian J.  Robinson)
  11522. Solution:   Search for icons like done for Motif.
  11523. Files:        src/gui_gtk.c
  11524.  
  11525. Patch 6.2.241
  11526. Problem:    GTK 2: Search and Search/Replace dialogs are synced, that makes no
  11527.         sense.  Buttons are sometimes greyed-out. (Jeremy Messenger)
  11528. Solution:   Remove the code to sync the two dialogs.  Adjust the code to react
  11529.         to an empty search string to also work for GTK2. (David Necas)
  11530. Files:        src/gui_gtk.c
  11531.  
  11532. Patch 6.2.242
  11533. Problem:    Gnome: "vim --help" only shows the Gnome arguments, not the Vim
  11534.         arguments.
  11535. Solution:   Don't let the Gnome code remove the "--help" argument and don't
  11536.         exit at the end of usage().
  11537. Files:        src/gui_gtk_x11.c, src/main.c
  11538.  
  11539. Patch 6.2.243 (extra)
  11540. Problem:    Mac: Dropping a file on a Vim icon causes a hit-enter prompt.
  11541. Solution:   Move the dropped files to the global argument list, instead of the
  11542.         usual drop handling. (Eckehard Berns)
  11543. Files:        src/main.c, src/gui_mac.c
  11544.  
  11545. Patch 6.2.244
  11546. Problem:    ':echo "\xf7"' displays the illegal byte as if it was a character
  11547.         and leaves "cho" after it.
  11548. Solution:   When checking the length of a UTF-8 byte sequence and it's shorter
  11549.         than the number of bytes available, assume it's an illegal byte.
  11550. Files:        src/mbyte.c
  11551.  
  11552. Patch 6.2.245
  11553. Problem:    Completion doesn't work for ":keepmarks" and ":lockmarks".
  11554. Solution:   Add the command modifiers to the table of commands. (Madoka
  11555.         Machitani)
  11556. Files:        src/ex_cmds.h, src/ex_docmd.c
  11557.  
  11558. Patch 6.2.246
  11559. Problem:    Mac: Starting Vim from Finder doesn't show error messages.
  11560. Solution:   Recognize that output is being displayed by stderr being
  11561.         "/dev/console".  (Eckehard Berns)
  11562. Files:        src/main.c, src/message.c
  11563.  
  11564. Patch 6.2.247 (after 6.2.193)
  11565. Problem:    When using a search pattern from the viminfo file the last
  11566.         character is replaced with a '/'.
  11567. Solution:   Store the separator character in the right place. (Kelvin Lee)
  11568. Files:        src/ex_getln.c
  11569.  
  11570. Patch 6.2.248
  11571. Problem:    GTK: When XIM is enabled normal "2" and keypad "2" cannot be
  11572.         distinguished.
  11573. Solution:   Detect that XIM changes the keypad key to the expected ASCII
  11574.         character and fall back to the non-XIM code. (Neil Bird)
  11575. Files:        src/gui_gtk_x11.c, src/mbyte.c, src/proto/mbyte.pro
  11576.  
  11577. Patch 6.2.249
  11578. Problem:    ":cnext" moves to the error in the next file, but there is no
  11579.         method to go back.
  11580. Solution:   Add ":cpfile" and ":cNfile".
  11581. Files:        src/ex_cmds.h, src/quickfix.c, src/vim.h, runtime/doc/quickfix.txt
  11582.  
  11583. Patch 6.2.250
  11584. Problem:    Memory leaks when using signs. (Xavier de Gaye)
  11585. Solution:   Delete the list of signs when unloading a buffer.
  11586. Files:        src/buffer.c
  11587.  
  11588. Patch 6.2.251
  11589. Problem:    GTK: The 'v' flag in 'guioptions' doesn't work. (Steve Hall)
  11590.         Order of buttons is reversed for GTK 2.2.4.  Don't always get
  11591.         focus back after handling a dialog.
  11592. Solution:   Make buttons appear vertically when desired.  Reverse the order in
  11593.         which buttons are added to a dialog.  Move mouse pointer around
  11594.         when the dialog is done and we don't have focus.
  11595. Files:        src/gui_gtk.c
  11596.  
  11597. Patch 6.2.252 (extra, after 6.2.243)
  11598. Problem:    Mac: Dropping a file on a Vim icon causes a hit-enter prompt for
  11599.         Mac OS classic.
  11600. Solution:   Remove the #ifdef from the code that fixes it for Mac OSX.
  11601. Files:        src/gui_mac.c
  11602.  
  11603. Patch 6.2.253
  11604. Problem:    When 'tagstack' is not set a ":tag id" command does not work after
  11605.         a ":tjump" command.
  11606. Solution:   Set "new_tag" when 'tagstack' isn't set. (G. Narendran)
  11607. Files:        src/tag.c
  11608.  
  11609. Patch 6.2.254
  11610. Problem:    May run out of space for error messages.
  11611. Solution:   Keep room for two more bytes.
  11612. Files:        src/quickfix.c
  11613.  
  11614. Patch 6.2.255
  11615. Problem:    GTK: A new item in the popup menu is put just after instead of
  11616.         just before the right item. (Gabriel Zachmann)
  11617. Solution:   Don't increment the menu item index.
  11618. Files:        src/gui_gtk.c
  11619.  
  11620. Patch 6.2.256
  11621. Problem:    Mac: "macroman" encoding isn't recognized, need to use
  11622.         "8bit-macroman.
  11623. Solution:   Recognize "macroman" with an alias "mac". (Eckehard Berns)
  11624. Files:        src/mbyte.c
  11625.  
  11626. Patch 6.2.257 (after 6.2.250)
  11627. Problem:    Signs are deleted for ":bdel", but they could still be useful.
  11628. Solution:   Delete signs only for ":bwipe".
  11629. Files:        src/buffer.c
  11630.  
  11631. Patch 6.2.258
  11632. Problem:    GUI: can't disable (grey-out) a popup menu item.  (Ajit Thakkar)
  11633. Solution:   Loop over the popup menus for all modes.
  11634. Files:        src/menu.c
  11635.  
  11636. Patch 6.2.259
  11637. Problem:    If there are messages when exiting, on the console there is a
  11638.         hit-enter prompt while the message can be read; in the GUI the
  11639.         message may not be visible.
  11640. Solution:   Use the hit-enter prompt when there is an error message from
  11641.         writing the viminfo file or autocommands, or when there is any
  11642.         output in the GUI and 'verbose' is set.  Don't use a hit-enter
  11643.         prompt for the non-GUI version unless there is an error message.
  11644. Files:        src/main.c
  11645.  
  11646. Patch 6.2.260
  11647. Problem:    GTK 2: Can't quit a dialog with <Esc>.
  11648.         GTK 1 and 2: <Enter> always gives a result, even when the default
  11649.         button has been disabled.
  11650. Solution:   Handle these keys explicitly.  When no default button is specified
  11651.         use the first one (works mostly like it was before).
  11652. Files:        src/gui_gtk.c
  11653.  
  11654. Patch 6.2.261
  11655. Problem:    When 'autoindent' and 'cindent' are set and a line is recognized
  11656.         as a comment, starting a new line won't do 'cindent' formatting.
  11657. Solution:   Also use 'cindent' formatting for lines that are used as a
  11658.         comment. (Servatius Brandt)
  11659. Files:        src/misc1.c
  11660.  
  11661. Patch 6.2.262
  11662. Problem:    1 CTRL-W w beeps, even though going to the first window is
  11663.         possible. (Charles Campbell)
  11664. Solution:   Don't beep.
  11665. Files:        src/window.c
  11666.  
  11667. Patch 6.2.263
  11668. Problem:    Lint warnings: Duplicate function prototypes, duplicate macros,
  11669.         use of a zero character instead of a zero pointer, unused
  11670.         variable.  Clearing allocated memory in a complicated way.
  11671. Solution:   Remove the function prototypes from farsi.h.  Remove the
  11672.         duplicated lines in keymap.h.  Change getvcol() argument from NUL
  11673.         to NULL.  Remove the "col" variable in regmatch().  Use
  11674.         lalloc_clear() instead of lalloc(). (Walter Briscoe)
  11675. Files:        src/farsi.h, src/keymap.h, src/ops.c, src/regexp.c, src/search.c
  11676.  
  11677. Patch 6.2.264 (after 6.2.247)
  11678. Problem:    Writing past allocated memory when using a command line from the
  11679.         viminfo file.
  11680. Solution:   Store the NUL in the right place.
  11681. Files:        src/ex_getln.c
  11682.  
  11683. Patch 6.2.265
  11684. Problem:    Although ":set" is not allowed in the sandbox, ":let &opt = val"
  11685.         works.
  11686. Solution:   Do allow changing options in the sandbox, but not the ones that
  11687.         can't be changed from a modeline.
  11688. Files:        src/ex_cmds.h, src/options.c
  11689.  
  11690. Patch 6.2.266
  11691. Problem:    When redirecting output and using ":silent", line breaks are
  11692.         missing from output of ":map" and ":tselect".  Alignment of
  11693.         columns is wrong.
  11694. Solution:   Insert a line break where "msg_didout" was tested.  Update msg_col
  11695.         when redirecting and using ":silent".
  11696. Files:        src/getchar.c, src/message.c
  11697.  
  11698. Patch 6.2.267 (extra)
  11699. Problem:    Win32: "&&" in a tearoff menu is not shown. (Luc Hermitte)
  11700. Solution:   Use the "name" item from the menu instead of the "dname" item.
  11701. Files:        src/gui_w32.c, src/menu.c
  11702.  
  11703. Patch 6.2.268
  11704. Problem:    GUI: When changing 'guioptions' part of the window may be off
  11705.         screen. (Randall Morris)
  11706. Solution:   Adjust the size of the window when changing 'guioptions', but only
  11707.         when adding something.
  11708. Files:        src/gui.c
  11709.  
  11710. Patch 6.2.269
  11711. Problem:    Diff mode does not highlight a change in a combining character.
  11712.         (Raphael Finkel)
  11713. Solution:   Make diff_find_change() multi-byte aware: find the start byte of
  11714.         a character that contains a change.
  11715. Files:        src/diff.c
  11716.  
  11717. Patch 6.2.270
  11718. Problem:    Completion in Insert mode, then repeating with ".", doesn't handle
  11719.         composing characters in the completed text. (Raphael Finkel)
  11720. Solution:   Don't skip over composing chars when adding completed text to the
  11721.         redo buffer.
  11722. Files:        src/getchar.c
  11723.  
  11724. Patch 6.2.271
  11725. Problem:    NetBeans: Can't do "tail -f" on the log.  Passing socket info with
  11726.         an argument or environment variable is not secure.
  11727. Solution:   Wait after initializing the log.  Allow passing the socket info
  11728.         through a file. (Gordon Prieur)
  11729. Files:        runtime/doc/netbeans.txt, src/main.c, src/netbeans.c
  11730.  
  11731. Patch 6.2.272
  11732. Problem:    When the "po" directory exists, but "po/Makefile" doesn't,
  11733.         building fails.  Make loops when the "po" directory has been
  11734.         deleted after running configure.
  11735. Solution:   Check for the "po/Makefile" instead of just the "po" directory.
  11736.         Check this again before trying to run make with that Makefile.
  11737. Files:        src/auto/configure, src/configure.in, src/Makefile
  11738.  
  11739. Patch 6.2.273
  11740. Problem:    Changing the sort order in an explorer window for an empty
  11741.         directory produces error messages. (Doug Kearns)
  11742. Solution:   When an invalid range is used for a function that is not going to
  11743.         be executed, skip over the arguments anyway.
  11744. Files:        src/eval.c
  11745.  
  11746. Patch 6.2.274
  11747. Problem:    ":print" skips empty lines when 'list' is set and there is no
  11748.         "eol" in 'listchars'. (Yakov Lerner)
  11749. Solution:   Skip outputting a space for an empty line only when 'list' is set
  11750.         and the end-of-line character is not empty.
  11751. Files:        src/message.c
  11752.  
  11753. Patch 6.2.275 (extra, after 6.2.267)
  11754. Problem:    Warning for uninitialized variable when using gcc.
  11755. Solution:   Initialize "acLen" to zero. (Bill McCarthy)
  11756. Files:        src/gui_w32.c
  11757.  
  11758. Patch 6.2.276
  11759. Problem:    ":echo X()" does not put a line break between the message that X()
  11760.         displays and the text that X() returns. (Yakov Lerner)
  11761. Solution:   Invoke msg_start() after evaluating the argument.
  11762. Files:        src/eval.c
  11763.  
  11764. Patch 6.2.277
  11765. Problem:    Vim crashes when a ":runtime ftplugin/ada.vim" causes a recursive
  11766.         loop. (Robert Nowotniak)
  11767. Solution:   Restore "msg_list" before returning from do_cmdline().
  11768. Files:        src/ex_docmd.c
  11769.  
  11770. Patch 6.2.278
  11771. Problem:    Using "much" instead of "many".
  11772. Solution:   Correct the error message.
  11773. Files:        src/eval.c
  11774.  
  11775. Patch 6.2.279
  11776. Problem:    There is no default choice for a confirm() dialog, now that it is
  11777.         possible not to have a default choice.
  11778. Solution:   Make the first choice the default choice.
  11779. Files:        runtime/doc/eval.txt, src/eval.c
  11780.  
  11781. Patch 6.2.280
  11782. Problem:    "do" and ":diffget" don't work in the first line and the last line
  11783.         of a buffer. (Aron Griffis)
  11784. Solution:   Find a difference above the first line and below the last line.
  11785.         Also fix a few display updating bugs.
  11786. Files:        src/diff.c, src/fold.c, src/move.c
  11787.  
  11788. Patch 6.2.281
  11789. Problem:    PostScript printing doesn't work on Mac OS X 10.3.2.
  11790. Solution:   Adjust the header file. (Mike Williams)
  11791. Files:        runtime/print/prolog.ps
  11792.  
  11793. Patch 6.2.282
  11794. Problem:    When using CTRL-O to go back to a help file, it becomes listed.
  11795.         (Andrew Nesbit)
  11796.         Using ":tag" or ":tjump" in a help file doesn't keep the help file
  11797.         settings (e.g. for 'iskeyword').
  11798. Solution:   Don't mark a buffer as listed when its help flag is set.  Put all
  11799.         the option settings for a help buffer together in do_ecmd().
  11800. Files:        src/ex_cmds.c
  11801.  
  11802. Patch 6.2.283
  11803. Problem:    The "local additions" in help.txt are used without conversion,
  11804.         causing latin1 characters showing up wrong when 'enc' is utf-8.
  11805.         (Antoine J. Mechelynck)
  11806. Solution:   Convert the text to 'encoding'.
  11807. Files:        src/ex_cmds.c
  11808.  
  11809. Patch 6.2.284
  11810. Problem:    Listing a function puts "endfunction" in the message history.
  11811.         Typing "q" at the more prompt isn't handled correctly when listing
  11812.         variables and functions.  (Hara Krishna Dara)
  11813. Solution:   Don't use msg() for "endfunction".  Check "got_int" regularly.
  11814. Files:        src/eval.c
  11815.  
  11816. Patch 6.2.285
  11817. Problem:    GUI: In a single wrapped line that fills the window, "gj" in the
  11818.         last screen line leaves the cursor behind. (Ivan Tarasov)
  11819. Solution:   Undraw the cursor before scrolling the text up.
  11820. Files:        src/gui.c
  11821.  
  11822. Patch 6.2.286
  11823. Problem:    When trying to rename a file and it doesn't exist, the destination
  11824.         file is deleted anyway. (Luc Deux)
  11825. Solution:   Don't delete the destination when the source doesn't exist. (Taro
  11826.         Muraoka)
  11827. Files:        src/fileio.c
  11828.  
  11829. Patch 6.2.287 (after 6.2.264)
  11830. Problem:    Duplicate lines are added to the viminfo file.
  11831. Solution:   Compare with existing entries without an offset.  Also fixes
  11832.         reading very long history lines from viminfo.
  11833. Files:        src/ex_getln.c
  11834.  
  11835. Patch 6.2.288 (extra)
  11836. Problem:    Mac: An external program can't be interrupted.
  11837. Solution:   Don't use the 'c' key for backspace. (Eckehard Berns)
  11838. Files:        src/gui_mac.c
  11839.  
  11840. Patch 6.2.289
  11841. Problem:    Compiling the Tcl interface with thread support causes ":make" to
  11842.         fail.  (Juergen Salk)
  11843. Solution:   Use $TCL_DEFS from the Tcl config script to obtain the required
  11844.         compile flags for using the thread library.
  11845. Files:        src/auto/configure, src/configure.in
  11846.  
  11847. Patch 6.2.290 (extra)
  11848. Problem:    Mac: The mousewheel doesn't work.
  11849. Solution:   Add mousewheel support.  Also fix updating the thumb after a drag
  11850.         and then using another way to scroll.  (Eckehard Berns)
  11851. Files:        src/gui_mac.c
  11852.  
  11853. Patch 6.2.291 (extra)
  11854. Problem:    Mac: the plus button and close button don't do anything.
  11855. Solution:   Make the plus button maximize the window and the close button
  11856.         close Vim. (Eckehard Berns)
  11857. Files:        src/gui.c, src/gui_mac.c
  11858.  
  11859. Patch 6.2.292
  11860. Problem:    Motif: When removing GUI arguments from argv[] a "ps -ef" shows
  11861.         the last argument repeated.
  11862. Solution:   Set argv[argc] to NULL. (Michael Jarvis)
  11863. Files:        src/gui_x11.c
  11864.  
  11865. Patch 6.2.293 (after 6.2.255)
  11866. Problem:    GTK: A new item in a menu is put before the tearoff item.
  11867. Solution:   Do increment the menu item index for non-popup menu items.
  11868. Files:        src/gui_gtk.c
  11869.  
  11870. Patch 6.2.294 (extra)
  11871. Problem:    Mac: Cannot use modifiers with Space, Tab, Enter and Escape.
  11872. Solution:   Handle all modifiers for these keys.  (Eckehard Berns)
  11873. Files:        src/gui_mac.c
  11874.  
  11875. Patch 6.2.295
  11876. Problem:    When in debug mode, receiving a message from a remote client
  11877.         causes a crash.  Evaluating an expression causes Vim to wait for
  11878.         "cont" to be typed, without a prompt.  (Hari Krishna Dara)
  11879. Solution:   Disable debugging when evaluating an expression for a client.
  11880.         (Michael Geddes)  Don't try reading into the typeahead buffer when
  11881.         it may have been filled in another way.
  11882. Files:        src/ex_getln.c, src/getchar.c, src/if_xcmdsrv.c, src/main.c,
  11883.         src/misc1.c, src/proto/getchar.pro, src/proto/main.pro,
  11884.         src/proto/os_unix.pro, src/proto/ui.pro, src/structs.h,
  11885.         src/os_unix.c, src/ui.c
  11886.  
  11887. Patch 6.2.296 (extra)
  11888. Problem:    Same as 6.2.295.
  11889. Solution:   Extra files for patch 6.2.295.
  11890. Files:        src/os_amiga.c, src/os_msdos.c, src/os_riscos.c, src/os_win32.c,
  11891.         src/proto/os_amiga.pro, src/proto/os_msdos.pro,
  11892.         src/proto/os_riscos.pro, src/proto/os_win32.pro
  11893.  
  11894. Patch 6.2.297 (after 6.2.232)
  11895. Problem:    Cannot invoke Python commands recursively.
  11896. Solution:   With Python 2.3 and later use the available mechanisms to invoke
  11897.         Python recursively. (Matthew Mueller)
  11898. Files:        src/if_python.c
  11899.  
  11900. Patch 6.2.298
  11901. Problem:    A change always sets the '. mark and an insert always sets the '^
  11902.         mark, even when this is not wanted.
  11903.         Cannot go back to the position of older changes without undoing
  11904.         those changes.
  11905. Solution:   Add the ":keepjumps" command modifier.
  11906.         Add the "g," and "g;" commands.
  11907. Files:        runtime/doc/motion.txt, src/ex_cmds.h, src/ex_docmd.c, src/edit.c,
  11908.         src/mark.c, src/misc1.c, src/normal.c, src/proto/mark.pro,
  11909.         src/structs.h, src/undo.c
  11910.  
  11911. Patch 6.2.299
  11912. Problem:    Can only use one language for help files.
  11913. Solution:   Add the 'helplang' option to select the preferred language(s).
  11914.         Make ":helptags" generate tags files for all languages.
  11915. Files:        runtime/doc/options.txt, runtime/doc/various.txt, src/Makefile,
  11916.         src/ex_cmds.c, src/ex_cmds2.c, src/ex_cmds.h, src/ex_getln.c,
  11917.         src/normal.c, src/option.c, src/option.h, src/proto/ex_cmds.pro,
  11918.         src/proto/ex_cmds2.pro, src/proto/option.pro, src/structs.h,
  11919.         src/tag.c, src/vim.h
  11920.  
  11921. Patch 6.2.300 (after 6.2.297)
  11922. Problem:    Cannot build Python interface with Python 2.2 or earlier.
  11923. Solution:   Add a semicolon.
  11924. Files:        src/if_python.c
  11925.  
  11926. Patch 6.2.301
  11927. Problem:    The "select all" item from the popup menu doesn't work for Select
  11928.         mode.
  11929. Solution:   Use the same commands as for the "Edit.select all" menu.
  11930.         (Benji Fisher)
  11931. Files:        runtime/menu.vim
  11932.  
  11933. Patch 6.2.302
  11934. Problem:    Using "CTRL-O ." in Insert mode doesn't work properly. (Benji
  11935.         Fisher)
  11936. Solution:   Restore "restart_edit" after an insert command that was not typed.
  11937.         Avoid waiting with displaying the mode when there is no text to be
  11938.         overwritten.
  11939.         Fix that "CTRL-O ." sometimes doesn't put the cursor back after
  11940.         the end-of-line.  Only reset the flag that CTRL-O was used past
  11941.         the end of the line when restarting editing.  Update "o_lnum"
  11942.         number when inserting text and "o_eol" is set.
  11943. Files:        src/edit.c, src/normal.c
  11944.  
  11945. Patch 6.2.303
  11946. Problem:    Cannot use Unicode digraphs while 'encoding' is not Unicode.
  11947. Solution:   Convert the character from Unicode to 'encoding' when needed.
  11948.         Use the Unicode digraphs for the Macintosh. (Eckehard Berns)
  11949. Files:        src/digraph.c
  11950.  
  11951. Patch 6.2.304 (extra, after 6.2.256)
  11952. Problem:    Mac: No proper support for 'encoding'.  Conversion without iconv()
  11953.         is not possible.
  11954. Solution:   Convert input from 'termencoding' to 'encoding'.  Add
  11955.         mac_string_convert().  Convert text for the clipboard when needed.
  11956.         (Eckehard Berns)
  11957. Files:        src/gui_mac.c, src/mbyte.c, src/structs.h, src/vim.h
  11958.  
  11959. Patch 6.2.305 (after 6.2.300)
  11960. Problem:    Win32: Cannot build Python interface with Python 2.3. (Ajit
  11961.         Thakkar)
  11962. Solution:   Add two functions to the dynamic loading feature.
  11963. Files:        src/if_python.c
  11964.  
  11965. Patch 6.2.306 (extra)
  11966. Problem:    Win32: Building console version with BCC 5.5 gives a warning for
  11967.         get_cmd_args() prototype missing.  (Ajit Thakkar)
  11968. Solution:   Don't build os_w32exe.c for the console version.
  11969. Files:        src/Make_bc5.mak
  11970.  
  11971. Patch 6.2.307 (after 6.2.299)
  11972. Problem:    Installing help files fails.
  11973. Solution:   Expand wildcards for translated help files separately.
  11974. Files:        src/Makefile
  11975.  
  11976. Patch 6.2.308
  11977. Problem:    Not all systems have "whoami", resulting in an empty user name.
  11978. Solution:   Use "logname" when possible, "whoami" otherwise.  (David Boyce)
  11979. Files:        src/Makefile
  11980.  
  11981. Patch 6.2.309
  11982. Problem:    "3grx" waits for two ESC to be typed.  (Jens Paulus)
  11983. Solution:   Append the ESC to the stuff buffer when redoing the "gr" insert.
  11984. Files:        src/edit.c
  11985.  
  11986. Patch 6.2.310
  11987. Problem:    When setting 'undolevels' to -1, making a change and setting
  11988.         'undolevels' to a positive value an "undo list corrupt" error
  11989.         occurs. (Madoka Machitani)
  11990. Solution:   Sync undo before changing 'undolevels'.
  11991. Files:        src/option.c
  11992.  
  11993. Patch 6.2.311 (after 6.2.298)
  11994. Problem:    When making several changes in one line the changelist grows
  11995.         quickly.  There is no error message for reaching the end of the
  11996.         changelist.  Reading changelist marks from viminfo doesn't work
  11997.         properly.
  11998. Solution:   Only make a new entry in the changelist when making a change in
  11999.         another line or 'textwidth' columns away.  Add E662, E663 and E664
  12000.         error messages.  Put a changelist mark from viminfo one position
  12001.         before the end.
  12002. Files:        runtime/doc/motion.txt, src/mark.c, src/misc1.c, src/normal.c
  12003.  
  12004. Patch 6.2.312 (after 6.2.299)
  12005. Problem:    "make install" clears the screen when installing the docs.
  12006. Solution:   Execute ":helptags" in silent mode.
  12007. Files:        runtime/doc/Makefile
  12008.  
  12009. Patch 6.2.313
  12010. Problem:    When opening folds in a diff window, other diff windows no longer
  12011.         show the same text.
  12012. Solution:   Sync the folds in diff windows.
  12013. Files:        src/diff.c, src/fold.c, src/move.c, src/proto/diff.pro,
  12014.         src/proto/move.pro
  12015.  
  12016. Patch 6.2.314
  12017. Problem:    When 'virtualedit' is set "rx" may cause a crash with a blockwise
  12018.         selection and using "$". (Moritz Orbach)
  12019. Solution:   Don't try replacing chars in a line that has no characters in the
  12020.         block.
  12021. Files:        src/ops.c
  12022.  
  12023. Patch 6.2.315
  12024. Problem:    Using CTRL-C in a Visual mode mapping while 'insertmode' is set
  12025.         stops Vim from returning to Insert mode.
  12026. Solution:   Don't reset "restart_edit" when a CTRL-C is found and 'insertmode'
  12027.         is set.
  12028. Files:        src/normal.c
  12029.  
  12030. Patch 6.2.316 (after 6.2.312)
  12031. Problem:    "make install" tries connecting to the X server when installing
  12032.         the docs. (Stephen Thomas)
  12033. Solution:   Add the "-X" argument.
  12034. Files:        runtime/doc/Makefile
  12035.  
  12036. Patch 6.2.317 (after 6.2.313)
  12037. Problem:    When using "zi" in a diff window, other diff windows are not
  12038.         adjusted. (Richard Curnow)
  12039. Solution:   Distribute a change in 'foldenable' to other diff windows.
  12040. Files:        src/normal.c
  12041.  
  12042. Patch 6.2.318
  12043. Problem:    When compiling with _THREAD_SAFE external commands don't echo
  12044.         typed characters.
  12045. Solution:   Don't set the terminal mode to TMODE_SLEEP when it's already at
  12046.         TMODE_COOK.
  12047. Files:        src/os_unix.c
  12048.  
  12049. Patch 6.2.319 (extra)
  12050. Problem:    Building gvimext.dll with Mingw doesn't work properly.
  12051. Solution:   Use gcc instead of dllwrap.  Use long option names. (Alejandro
  12052.         Lopez-Valencia)
  12053. Files:        src/GvimExt/Make_ming.mak
  12054.  
  12055. Patch 6.2.320
  12056. Problem:    Win32: Adding and removing the menubar resizes the Vim window.
  12057.         (Jonathon Merz)
  12058. Solution:   Don't let a resize event change 'lines' unexpectedly.
  12059. Files:        src/gui.c
  12060.  
  12061. Patch 6.2.321
  12062. Problem:    When using modeless selection, wrapping lines are not recognized,
  12063.         a line break is always inserted.
  12064. Solution:   Add LineWraps[] to remember whether a line wrapped or not.
  12065. Files:        src/globals.h, src/screen.c, src/ui.c
  12066.  
  12067. Patch 6.2.322
  12068. Problem:    With 'showcmd' set, after typing "dd" the next "d" may not be
  12069.         displayed. (Jens Paulus)
  12070. Solution:   Redraw the command line after updating the screen, scrolling may
  12071.         have set "clear_cmdline".
  12072. Files:        src/screen.c
  12073.  
  12074. Patch 6.2.323
  12075. Problem:    Win32: expanding "~/file" in an autocommand pattern results in
  12076.         backslashes, while this pattern should only have forward slashes.
  12077. Solution:   Make expanding environment variables respect 'shellslash' and set
  12078.         p_ssl when expanding the autocommand pattern.
  12079. Files:        src/fileio.c, src/misc1.c, src/proto/fileio.pro
  12080.  
  12081. Patch 6.2.324 (extra)
  12082. Problem:    Win32: when "vimrun.exe" has a path with white space, such as
  12083.         "Program Files", executing external commands may fail.
  12084. Solution:   Put double quotes around the path to "vimrun".
  12085. Files:        src/os_win32.c
  12086.  
  12087. Patch 6.2.325
  12088. Problem:    When $HOME includes a space, doing ":set tags=~/tags" doesn't
  12089.         work, the space is used to separate file names.  (Brett Stahlman)
  12090. Solution:   Escape the space with a backslash.
  12091. Files:        src/option.c
  12092.  
  12093. Patch 6.2.326
  12094. Problem:    ":windo set syntax=foo" doesn't work.  (Tim Chase)
  12095. Solution:   Don't change 'eventignore' for ":windo".
  12096. Files:        src/ex_cmds2.c
  12097.  
  12098. Patch 6.2.327
  12099. Problem:    When formatting text all marks in the formatted lines are lost.
  12100.         A word is not joined to a previous line when this would be
  12101.         possible.  (Mikolaj Machowski)
  12102. Solution:   Try to keep marks in the same position as much as possible.
  12103.         Also keep mark positions when joining lines.
  12104.         Start auto-formatting in the previous line when appropriate.
  12105.         Add the "gw" operator: Like "gq" but keep the cursor where it is.
  12106. Files:        runtime/doc/change.txt, src/edit.c, src/globals.h, src/mark.c,
  12107.         src/misc1.c, src/normal.c, src/ops.c, src/proto/edit.pro,
  12108.         src/proto/mark.pro, src/proto/ops.pro, src/structs.h, src/vim.h
  12109.  
  12110. Patch 6.2.328
  12111. Problem:    XIM with GTK: It is hard to understand what XIM is doing.
  12112. Solution:   Add xim_log() to log XIM events and help with debugging.
  12113. Files:        src/mbyte.c
  12114.  
  12115. Patch 6.2.329
  12116. Problem:    ":=" does not work Vi compatible. (Antony Scriven)
  12117. Solution:   Print the last line number instead of the current line.  Don't
  12118.         print "line".
  12119. Files:        src/ex_cmds.h, src/ex_docmd.c
  12120.  
  12121. Patch 6.2.330 (extra, after 6.2.267)
  12122. Problem:    Win32: Crash when tearing off a menu.
  12123. Solution:   Terminate a string with a NUL. (Yasuhiro Matsumoto)
  12124. Files:        src/gui_w32.c
  12125.  
  12126. Patch 6.2.331 (after 6.2.327)
  12127. Problem:    "gwap" leaves cursor in the wrong line.
  12128. Solution:   Remember the cursor position before finding the ends of the
  12129.         paragraph.
  12130. Files:        src/normal.c, src/ops.c, src/structs.h
  12131.  
  12132. Patch 6.2.332 (extra)
  12133. Problem:    Amiga: Compile error for string array. Compiling the Amiga GUI
  12134.         doesn't work.
  12135. Solution:   Use a char pointer instead.  Move including "gui_amiga.h" to after
  12136.         including "vim.h".  Add a semicolon. (Ali Akcaagac)
  12137. Files:        src/gui_amiga.c, src/os_amiga.c
  12138.  
  12139. Patch 6.2.333 (extra)
  12140. Problem:    Win32: printing doesn't work with specified font charset.
  12141. Solution:   Use the specified font charset. (Mike Williams)
  12142. Files:        src/os_mswin.c
  12143.  
  12144. Patch 6.2.334 (extra, after 6.2.296)
  12145. Problem:    Win32: evaluating client expression in debug mode requires typing
  12146.         "cont".
  12147. Solution:   Use eval_client_expr_to_string().
  12148. Files:        src/os_mswin.c
  12149.  
  12150. Patch 6.2.335
  12151. Problem:    The ":sign" command cannot be followed by another command.
  12152. Solution:   Add TRLBAR to the command flags.
  12153. Files:        src/ex_cmds.h
  12154.  
  12155. Patch 6.2.336 (after 6.2.327)
  12156. Problem:    Mixup of items in an expression.
  12157. Solution:   Move "== NUL" to the right spot.
  12158. Files:        src/edit.c
  12159.  
  12160. Patch 6.2.337 (extra, after 6.2.319)
  12161. Problem:    Building gvimext.dll with Mingw doesn't work properly.
  12162. Solution:   Fix white space and other details. (Alejandro Lopez-Valencia)
  12163. Files:        src/GvimExt/Make_ming.mak
  12164.  
  12165. Patch 6.2.338 (after 6.2.331)
  12166. Problem:    When undoing "gwap" the cursor is always put at the start of the
  12167.         paragraph.  When undoing auto-formatting the cursor may be above
  12168.         the change.
  12169. Solution:   Try to move the cursor back to where it was or to the first line
  12170.         that actually changed.
  12171. Files:        src/normal.c, src/ops.c, src/undo.c
  12172.  
  12173. Patch 6.2.339
  12174. Problem:    Crash when using many different highlight groups and a User
  12175.         highlight group.  (Juergen Kraemer)
  12176. Solution:   Do not use the sg_name_u pointer when it is NULL.  Also simplify
  12177.         use of the highlight group table.
  12178. Files:        src/syntax.c
  12179.  
  12180. Patch 6.2.340
  12181. Problem:    ":reg" doesn't show the actual contents of the clipboard if it was
  12182.         filled outside of Vim. (Stuart MacDonald)
  12183. Solution:   Obtain the clipboard contents before displaying it.
  12184. Files:        src/ops.c
  12185.  
  12186. Patch 6.2.341 (extra)
  12187. Problem:    Win32: When the path to diff.exe contains a space and using the
  12188.         vimrc generated by the install program, diff mode does not work.
  12189. Solution:   Put the first double quote just before the space instead of before
  12190.         the path.
  12191. Files:        src/dosinst.c
  12192.  
  12193. Patch 6.2.342 (extra)
  12194. Problem:    Win32: macros are not always used as expected.
  12195. Solution:   Define WINVER to 0x0400 instead of 0x400. (Alejandro
  12196.         Lopez-Valencia)
  12197. Files:        src/Make_bc5.mak, src/Make_cyg.mak, src/Make_mvc.mak
  12198.  
  12199. Patch 6.2.343
  12200. Problem:    Title doesn't work with some window managers.  X11: Setting the
  12201.         text property for the window title is hard coded.
  12202. Solution:   Use STRING format when possible.  Use the UTF-8 function when
  12203.         it's available and 'encoding' is utf-8. Use
  12204.         XStringListToTextProperty().  Do the same for the icon name.
  12205.         (David Harrison)
  12206. Files:        src/os_unix.c
  12207.  
  12208. Patch 6.2.344 (extra, after 6.2.337)
  12209. Problem:    Cannot build gvimext.dll with MingW on Linux.
  12210. Solution:   Add support for cross compiling. (Ronald Hoellwarth)
  12211. Files:        src/GvimExt/Make_ming.mak
  12212.  
  12213. Patch 6.2.345 (extra)
  12214. Problem:    Win32: Copy/paste between two Vims fails if 'encoding' is not set
  12215.         properly or there are illegal bytes.
  12216. Solution:   Use a raw byte format.  Always set it when copying.  When pasting
  12217.         use the raw format if 'encoding' is the same.
  12218. Files:        src/os_mswin.c, src/os_win16.c, src/os_win32.c, src/vim.h
  12219.  
  12220. Patch 6.2.346
  12221. Problem:    Win32 console: After using "chcp" Vim does not detect the
  12222.         different codepage.
  12223. Solution:   Use GetConsoleCP() and when it is different from GetACP() set
  12224.         'termencoding'.
  12225. Files:        src/option.c
  12226.  
  12227. Patch 6.2.347 (extra)
  12228. Problem:    Win32: XP theme support is missing.
  12229. Solution:   Add a manifest and refer to it from the resource file.  (Michael
  12230.         Wookey)
  12231. Files:        Makefile, src/gvim.exe.mnf, src/vim.rc
  12232.  
  12233. Patch 6.2.348
  12234. Problem:    Win32: "vim c:\dir\(test)" doesn't work, because the 'isfname'
  12235.         default value doesn't contain parenthesis.
  12236. Solution:   Temporarily add '(' and ')' to 'isfname' when expanding file name
  12237.         arguments.
  12238. Files:        src/main.c
  12239.  
  12240. Patch 6.2.349
  12241. Problem:    Finding a match using 'matchpairs' may cause a crash.
  12242.         'matchpairs' is not used for 'showmatch'.
  12243. Solution:   Don't look past the NUL in 'matchpairs'.  Use 'matchpairs' for
  12244.         'showmatch'. (Dave Olszewkski)
  12245. Files:        src/misc1.c, src/normal.c, src/proto/search.pro, src/search.c
  12246.  
  12247. Patch 6.2.350
  12248. Problem:    Not enough info about startup timing.
  12249. Solution:   Add a few more TIME_MSG() calls.
  12250. Files:        src/main.c
  12251.  
  12252. Patch 6.2.351
  12253. Problem:    Win32: $HOME may be set to %USERPROFILE%.
  12254. Solution:   Expand %VAR% at the start of $HOME.
  12255. Files:        src/misc1.c
  12256.  
  12257. Patch 6.2.352 (after 6.2.335)
  12258. Problem:    ":sign texthl=||" does not work.
  12259. Solution:   Remove the check for a following command.  Give an error for extra
  12260.         arguments after "buff=1".
  12261. Files:        src/ex_cmds.c, src/ex_cmds.h
  12262.  
  12263. Patch 6.2.353 (extra)
  12264. Problem:    Win32: Supported server name length is limited. (Paul Bossi)
  12265. Solution:   Use MAX_PATH instead of 25.
  12266. Files:        src/os_mswin.c
  12267.  
  12268. Patch 6.2.354 (extra)
  12269. Problem:    Win32: When the mouse pointer is on a tear-off menu it is hidden
  12270.         when typing but is not redisplayed when moved. (Markx Hackmann)
  12271. Solution:   Handle the pointer move event for the tear-off menu window.
  12272. Files:        src/gui_w32.c
  12273.  
  12274. Patch 6.2.355 (after 6.2.303)
  12275. Problem:    When 'encoding' is a double-byte encoding different from the
  12276.         current locale, the width of characters is not correct.
  12277.         Possible failure and memory leak when using iconv, Unicode
  12278.         digraphs and 'encoding' is not "utf-8".
  12279. Solution:   Use iconv() to discover the actual width of characters.
  12280.         Add the "vc_fail" field to vimconv_T.
  12281.         When converting a digraph, init the conversion type to NONE and
  12282.         cleanup afterwards.
  12283. Files:        src/digraph.c, src/mbyte.c, src/structs.h
  12284.  
  12285. Patch 6.2.356
  12286. Problem:    When using a double-byte 'encoding' and 'selection' is
  12287.         "exclusive", "vy" only yanks the first byte of a double-byte
  12288.         character.  (Xiangjiang Ma)
  12289. Solution:   Correct the column in unadjust_for_sel() to position on the first
  12290.         byte, always include the trailing byte of the selected text.
  12291. Files:        src/normal.c
  12292.  
  12293. Patch 6.2.357 (after 6.2.321)
  12294. Problem:    Memory leak when resizing the Vim window.
  12295. Solution:   Free the LineWraps array.
  12296. Files:        src/screen.c
  12297.  
  12298. Patch 6.2.358 (after 6.2.299)
  12299. Problem:    Memory leak when using ":help" and the language doesn't match.
  12300. Solution:   Free the array with matching tags.
  12301. Files:        src/ex_cmds.c
  12302.  
  12303. Patch 6.2.359 (after 6.2.352)
  12304. Problem:    Compiler warning for long to int type cast.
  12305. Solution:   Add explicit type cast.
  12306. Files:        src/ex_cmds.c
  12307.  
  12308. Patch 6.2.360
  12309. Problem:    "100|" in an empty line results in a ruler "1,0-100". (Pavol
  12310.         Juhas)
  12311. Solution:   Recompute w_virtcol if the target column was not reached.
  12312. Files:        src/misc2.c
  12313.  
  12314. Patch 6.2.361 (extra)
  12315. Problem:    Win32: Run gvim, ":set go-=m", use Alt-Tab, keep Alt pressed while
  12316.         pressing Esc, then release Alt: Cursor disappears and typing a key
  12317.         causes a beep. (Hari Krishna Dara)
  12318. Solution:   Don't ignore the WM_SYSKEYUP event when the menu is disabled.
  12319. Files:        src/gui_w32.c
  12320.  
  12321. Patch 6.2.362 (extra, after 6.2.347)
  12322. Problem:    Win32: The manifest causes Gvim not to work. (Dave Roberts)
  12323. Solution:   Change "x86" to "X86". (Serge Pirotte)
  12324. Files:        src/gvim.exe.mnf
  12325.  
  12326. Patch 6.2.363
  12327. Problem:    In an empty file with 'showmode' off, "i" doesn't change the ruler
  12328.         from "0-1" to "1".  Typing "x<BS>" does show "1", but then <Esc>
  12329.         doesn't make it "0-1" again.  Same problem for ruler in
  12330.         statusline.  (Andrew Pimlott)
  12331. Solution:   Remember the "empty line" flag with Insert mode and'ed to it.
  12332. Files:        src/screen.c
  12333.  
  12334. Patch 6.2.364
  12335. Problem:    HTML version of the documentation doesn't mention the encoding,
  12336.         which is a problem for mbyte.txt.
  12337. Solution:   Adjust the awk script. (Ilya Sher)
  12338. Files:        runtime/doc/makehtml.awk
  12339.  
  12340. Patch 6.2.365
  12341. Problem:    The configure checks for Perl and Python may add compile and link
  12342.         arguments that break building Vim.
  12343. Solution:   Do a sanity check: try building with the arguments.
  12344. Files:        src/auto/configure, src/configure.in
  12345.  
  12346. Patch 6.2.366
  12347. Problem:    When the GUI can't start because no valid font is found, there is
  12348.         no error message. (Ugen)
  12349. Solution:   Add an error message.
  12350. Files:        src/gui.c
  12351.  
  12352. Patch 6.2.367
  12353. Problem:    Building the help tags file while installing may fail if there is
  12354.         another Vim in $PATH.
  12355. Solution:   Specify the just installed Vim executable. (Gordon Prieur)
  12356. Files:        src/Makefile
  12357.  
  12358. Patch 6.2.368
  12359. Problem:    When 'autochdir' is set, closing a window doesn't change to the
  12360.         directory of the new current window. (Salman Halim)
  12361. Solution:   Handle 'autochdir' always when a window becomes the current one.
  12362. Files:        src/window.c
  12363.  
  12364. Patch 6.2.369
  12365. Problem:    Various memory leaks: when using globpath(), when searching for
  12366.         help tags files, when defining a function inside a function, when
  12367.         giving an error message through an exception, for the final "."
  12368.         line in ":append", in expression "cond ? a : b" that fails and for
  12369.         missing ")" in an expression.  Using NULL pointer when adding
  12370.         first user command and for pointer computations with regexp.
  12371.         (tests by Dominique Pelle)
  12372. Solution:   Fix the leaks by freeing the allocated memory.  Don't use the
  12373.         array of user commands when there are no entries.  Use a macro
  12374.         instead of a function call for saving and restoring regexp states.
  12375. Files:        src/eval.c, src/ex_cmds.c, src/ex_docmd.c, src/ex_getln.c,
  12376.         src/misc2.c, src/regexp.c, src/screen.c, src/tag.c
  12377.  
  12378. Patch 6.2.370 (extra, after6.2.341)
  12379. Problem:    Win32: When the path to diff.exe contains a space and using the
  12380.         vimrc generated by the install program, diff mode may not work.
  12381.         (Alejandro Lopez-Valencia)
  12382. Solution:   Do not use double quotes for arguments that do not have a space.
  12383. Files:        src/dosinst.c
  12384.  
  12385. Patch 6.2.371
  12386. Problem:    When 'virtualedit' is set and there is a Tab before the next "x",
  12387.         "dtx" does not delete the whole Tab. (Ken Hashishi)
  12388. Solution:   Move the cursor to the last position of the Tab.  Also for
  12389.         "df<Tab>".
  12390. Files:        src/normal.c
  12391.  
  12392. Patch 6.2.372
  12393. Problem:    When using balloon evaluation, no value is displayed for members
  12394.         of structures and items of an array.
  12395. Solution:   Include "->", "." and "[*]" in the expression.
  12396. Files:        src/gui_beval.c, src/normal.c, src/vim.h
  12397.  
  12398. Patch 6.2.373
  12399. Problem:    When 'winminheight' is zero and a window is reduced to zero
  12400.         height, the ruler always says "Top" instead of the cursor
  12401.         position. (Antoine J. Mechelynck)
  12402. Solution:   Don't recompute w_topline for a zero-height window.
  12403. Files:        src/window.c
  12404.  
  12405. Patch 6.2.374
  12406. Problem:    ":echo "hello" | silent normal n" removes the "hello" message.
  12407.         (Servatius Brandt)
  12408. Solution:   Don't echo the search string when ":silent" was used.  Also don't
  12409.         show the mode.  In general: don't clear to the end of the screen.
  12410. Files:        src/gui.c, src/message.c, src/os_unix.c, src/proto/message.pro,
  12411.         src/screen.c, src/search.c, src/window.c
  12412.  
  12413. Patch 6.2.375
  12414. Problem:    When changing 'guioptions' the hit-enter prompt may be below the
  12415.         end of the Vim window.
  12416. Solution:   Call screen_alloc() before showing the prompt.
  12417. Files:        src/message.c
  12418.  
  12419. Patch 6.2.376
  12420. Problem:    Win32: Ruby interface cannot be dynamically linked with Ruby 1.6.
  12421. Solution:   Add #ifdefs around use of rb_w32_snprintf().  (Benoεt Cerrina)
  12422. Files:        src/if_ruby.c
  12423.  
  12424. Patch 6.2.377 (after 6.2.372)
  12425. Problem:    Compiler warnings for signed/unsigned compare. (Michael Wookey)
  12426. Solution:   Add type cast.
  12427. Files:        src/normal.c
  12428.  
  12429. Patch 6.2.378 (extra, after 6.2.118)
  12430. Problem:    Mac: cannot build with Project Builder.
  12431. Solution:   Add remove_tail_with_ext() to locate and remove the "build"
  12432.         directory from the runtime path.  Include os_unix.c when needed.
  12433.         (Dany St Amant)
  12434. Files:        src/misc1.c, src/os_macosx.c, src/vim.h
  12435.  
  12436. Patch 6.2.379
  12437. Problem:    Using ":mkvimrc" in the ":options" window sets 'bufhidden' to
  12438.         "delete". (Michael Naumann)
  12439. Solution:   Do not add buffer-specific option values to a global vimrc file.
  12440. Files:        src/option.c
  12441.  
  12442. Patch 6.2.380 (extra)
  12443. Problem:    DOS: "make test" fails when running it again.  Can't "make test"
  12444.         with Borland C.
  12445. Solution:   Make sure ".out" files are deleted when they get in the way.  Add
  12446.         a "test" target to the Borland C Makefile.
  12447. Files:        src/Make_bc5.mak, src/testdir/Make_dos.mak
  12448.  
  12449. Patch 6.2.381
  12450. Problem:    Setting 'fileencoding' to a comma separated list (confusing it
  12451.         with 'fileencodings') does not result in an error message.
  12452.         Setting 'fileencoding' in an empty file marks it as modified.
  12453.         There is no "+" in the title after setting 'fileencoding'.
  12454. Solution:   Check for a comma in 'fileencoding'.  Only consider a non-empty
  12455.         file modified by changing 'fileencoding'.  Update the title after
  12456.         changing 'fileencoding'.
  12457. Files:        src/option.c
  12458.  
  12459. Patch 6.2.382
  12460. Problem:    Running "make test" puts marks from test files in viminfo.
  12461. Solution:   Specify a different viminfo file to use.
  12462. Files:        src/testdir/test15.in, src/testdir/test49.in
  12463.  
  12464. Patch 6.2.383
  12465. Problem:    ":hi foo term='bla" crashes Vim. (Antony Scriven)
  12466. Solution:   Check that the closing ' is there.
  12467. Files:        src/syntax.c
  12468.  
  12469. Patch 6.2.384
  12470. Problem:    ":menu a.&b" ":unmenu a.b" only works if "&b" isn't translated.
  12471. Solution:   Also compare the names without '&' characters.
  12472. Files:        src/menu.c
  12473.  
  12474. Patch 6.2.385  (extra)
  12475. Problem:    Win32: forward_slash() and trash_input_buf() are undefined when
  12476.         compiling with small features. (Ajit Thakkar)
  12477. Solution:   Change the #ifdefs for forward_slash().  Don't call
  12478.         trash_input_buf() if the input buffer isn't used.
  12479. Files:        src/fileio.c, src/os_win32.c
  12480.  
  12481. Patch 6.2.386
  12482. Problem:    Wasting time trying to read marks from the viminfo file for a
  12483.         buffer without a name.
  12484. Solution:   Skip reading marks when the buffer has no name.
  12485. Files:        src/fileio.c
  12486.  
  12487. Patch 6.2.387
  12488. Problem:    There is no highlighting of translated items in help files.
  12489. Solution:   Search for a "help_ab.vim" syntax file when the help file is
  12490.         called "*.abx".  Also improve the help highlighting a bit.
  12491. Files:        runtime/syntax/help.vim
  12492.  
  12493. Patch 6.2.388
  12494. Problem:    GTK: When displaying some double-width characters they are drawn
  12495.         as single-width, because of conversion to UTF-8.
  12496. Solution:   Check the width that GTK uses and add a space if it's one instead
  12497.         of two.
  12498. Files:        src/gui_gtk_x11.c
  12499.  
  12500. Patch 6.2.389
  12501. Problem:    When working over a slow connection, it's very annoying that the
  12502.         last line is partly drawn and then cleared for every change.
  12503. Solution:   Don't redraw the bottom line if no rows were inserted or deleted.
  12504.         Don't draw the line if we know "@" lines will be used.
  12505. Files:        src/screen.c
  12506.  
  12507. Patch 6.2.390
  12508. Problem:    Using "r*" in Visual mode on multi-byte characters only replaces
  12509.         every other character. (Tyson Roberts)
  12510. Solution:   Correct the cursor position after replacing each character.
  12511. Files:        src/ops.c
  12512.  
  12513. Patch 6.2.391 (extra)
  12514. Problem:    The ":highlight" command is not tested.
  12515. Solution:   Add a test script for ":highlight".
  12516. Files:        src/testdir/Makefile, src/testdir/Make_amiga.mak,
  12517.         src/testdir/Make_dos.mak, src/testdir/Make_os2.mak,
  12518.         src/testdir/Make_vms.mms, src/testdir/test51.in,
  12519.         src/testdir/test51.ok
  12520.  
  12521. Patch 6.2.392 (after 6.2.384)
  12522. Problem:    Unused variable.
  12523. Solution:   Remove "dlen".
  12524. Files:        src/menu.c
  12525.  
  12526. Patch 6.2.393
  12527. Problem:    When using very long lines the viminfo file can become very big.
  12528. Solution:   Add the "s" flag to 'viminfo': skip registers with more than the
  12529.         specified Kbyte of text.
  12530. Files:        runtime/doc/options.txt, src/ops.c, src/option.c
  12531.  
  12532. Patch 6.2.394  (after 6.2.391)
  12533. Problem:    Test 51 fails on a terminal with 8 colors. (Tony Leneis)
  12534. Solution:   Use "DarkBlue" instead of "Blue" to avoid the "bold" attribute.
  12535. Files:        src/testdir/test51.in
  12536.  
  12537. Patch 6.2.395
  12538. Problem:    When using ":tag" or ":pop" the previous matching tag is used.
  12539.         But since the current file is different, the ordering of the tags
  12540.         may change.
  12541. Solution:   Remember what the current buffer was for when re-using cur_match.
  12542. Files:        src/edit.c, src/ex_cmds.c, src/proto/tag.pro, src/structs.h,
  12543.         src/tag.c
  12544.  
  12545. Patch 6.2.396
  12546. Problem:    When CTRL-T jumps to another file and an autocommand moves the
  12547.         cursor to the '" mark, don't end up on the right line.  (Michal
  12548.         Malecki)
  12549. Solution:   Set the line number after loading the file.
  12550. Files:        src/tag.c
  12551.  
  12552. Patch 6.2.397
  12553. Problem:    When using a double-byte 'encoding' mapping <M-x> doesn't work.
  12554.         (Yasuhiro Matsumoto)
  12555. Solution:   Do not set the 8th bit of the character but use a modifier.
  12556. Files:        src/gui_gtk_x11.c, src/gui_x11.c, src/misc2.c
  12557.  
  12558. Patch 6.2.398 (extra)
  12559. Problem:    Win32 console: no extra key modifiers are supported.
  12560. Solution:   Encode the modifiers into the input stream.  Also fix that special
  12561.         keys are converted and stop working when 'tenc' is set.  Also fix
  12562.         that when 'tenc' is initialized the input and output conversion is
  12563.         not setup properly until 'enc' or 'tenc' is set.
  12564. Files:        src/getchar.c, src/option.c, src/os_win32.c
  12565.  
  12566. Patch 6.2.399
  12567. Problem:    A ":set" command that fails still writes a message when it is
  12568.         inside a try/catch block.
  12569. Solution:   Include all the text of the message in the error message.
  12570. Files:        src/charset.c, src/option.c
  12571.  
  12572. Patch 6.2.400
  12573. Problem:    Can't compile if_xcmdsrv.c on HP-UX 11.0.
  12574. Solution:   Include header file poll.h. (Malte Neumann)
  12575. Files:        src/if_xcmdsrv.c
  12576.  
  12577. Patch 6.2.401
  12578. Problem:    When opening a buffer that was previously opened, Vim does not
  12579.         restore the cursor position if the first line starts with white
  12580.         space.  (Gregory Margo)
  12581. Solution:   Don't skip restoring the cursor position if it is past the blanks
  12582.         in the first line.
  12583. Files:        src/buffer.c
  12584.  
  12585. Patch 6.2.402
  12586. Problem:    Mac: "make install" doesn't generate help tags. (Benji Fisher)
  12587. Solution:   Generate help tags before copying the runtime files.
  12588. Files:        src/Makefile
  12589.  
  12590. Patch 6.2.403
  12591. Problem:    ":@y" checks stdin if there are more commands to execute.  This
  12592.         fails if stdin is not connected, e.g., when starting the GUI from
  12593.         KDE. (Ned Konz)
  12594. Solution:   Only check for a next command if there still is typeahead.
  12595. Files:        src/ex_docmd.c
  12596.  
  12597. Patch 6.2.404
  12598. Problem:    Our own function to determine width of Unicode characters may get
  12599.         outdated. (Markus Kuhn)
  12600. Solution:   Use wcwidth() when it is available.  Also use iswprint().
  12601. Files:        src/auto/configure, src/configure.in, src/config.h.in, src/mbyte.c
  12602.  
  12603. Patch 6.2.405
  12604. Problem:    Cannot map zero without breaking the count before a command.
  12605.         (Benji Fisher)
  12606. Solution:   Disable mapping zero when entering a count.
  12607. Files:        src/getchar.c, src/globals.h, src/normal.c
  12608.  
  12609. Patch 6.2.406
  12610. Problem:    ":help \zs", ":help \@=" and similar don't find useful help.
  12611. Solution:   Prepend "/\" to the arguments to find the desired help tag.
  12612. Files:        src/ex_cmds.c
  12613.  
  12614. Patch 6.2.407 (after 6.2.299)
  12615. Problem:    ":help \@<=" doesn't find help.
  12616. Solution:   Avoid that ":help \@<=" searches for the "<=" language.
  12617. Files:        src/tag.c
  12618.  
  12619. Patch 6.2.408
  12620. Problem:    ":compiler" is not consistent: Sets local options and a global
  12621.         variable. (Douglas Potts)  There is no error message when a
  12622.         compiler is not supported.
  12623. Solution:   Use ":compiler!" to set a compiler globally, otherwise it's local
  12624.         to the buffer and "b:current_compiler" is used.  Give an error
  12625.         when no compiler script could be found.
  12626.         Note: updated compiler plugins can be found at
  12627.         ftp://ftp.vim.org/pub/vim/runtime/compiler/
  12628. Files:        runtime/compiler/msvc.vim, runtime/doc/quickfix.txt, src/eval.c,
  12629.         src/ex_cmds2.c
  12630.  
  12631. Patch 6.2.409
  12632. Problem:    The cursor ends up in the last column instead of after the line
  12633.         when doing "i//<Esc>o" with 'indentexpr' set to "cindent(v:lnum)".
  12634.         (Toby Allsopp)
  12635. Solution:   Adjust the cursor as if in Insert mode.
  12636. Files:        src/misc1.c
  12637.  
  12638. Patch 6.2.410 (after 6.2.389)
  12639. Problem:    In diff mode, when there are more filler lines than fit in the
  12640.         window, they are not drawn.
  12641. Solution:   Check for filler lines when skipping to draw a line that doesn't
  12642.         fit.
  12643. Files:        src/screen.c
  12644.  
  12645. Patch 6.2.411
  12646. Problem:    A "\n" inside a string is not seen as a line break by the regular
  12647.         expression matching. (Hari Krishna Dara)
  12648. Solution:   Add the vim_regexec_nl() function for strings where "\n" is to be
  12649.         matched with a line break.
  12650. Files:        src/eval.c, src/ex_eval.c, src/proto/regexp.c, src/regexp.c
  12651.  
  12652. Patch 6.2.412
  12653. Problem:    Ruby: "ruby << EOF" inside a function doesn't always work.  Also
  12654.         for ":python", ":tcl" and ":perl".
  12655. Solution:   Check for "<< marker" and skip until "marker" before checking for
  12656.         "endfunction".
  12657. Files:        src/eval.c
  12658.  
  12659. Patch 6.2.413 (after 6.2.411)
  12660. Problem:    Missing prototype for vim_regexec_nl(). (Marcel Svitalsky)
  12661. Solution:   Now really include the prototype.
  12662. Files:        src/proto/regexp.pro
  12663.  
  12664. Patch 6.2.414
  12665. Problem:    The function used for custom completion of user commands cannot
  12666.         have <SID> to make it local. (Hari Krishna Dara)
  12667. Solution:   Pass the SID of the script where the user command was defined on
  12668.         to the completion.  Also clean up #ifdefs.
  12669. Files:        src/ex_docmd.c, src/eval.c, src/ex_getln.c, src/structs.h
  12670.  
  12671. Patch 6.2.415
  12672. Problem:    Vim may crash after a sequence of events that change the window
  12673.         size.  The window layout assumes a larger window than is actually
  12674.         available. (Servatius Brandt)
  12675. Solution:   Invoke win_new_shellsize() from screenalloc() instead of from
  12676.         set_shellsize().
  12677. Files:        src/screen.c, src/term.c
  12678.  
  12679. Patch 6.2.416
  12680. Problem:    Compiler warning for incompatible pointer.
  12681. Solution:   Remove the "&" in the call to poll(). (Xavier de Gaye)
  12682. Files:        src/os_unix.c
  12683.  
  12684. Patch 6.2.417 (after 6.2.393)
  12685. Problem:    Many people forget that the '"' item in 'viminfo' needs to be
  12686.         preceded with a backslash,
  12687. Solution:   Add '<' as an alias for the '"' item.
  12688. Files:        runtime/doc/options.txt, src/ops.c, src/option.c
  12689.  
  12690. Patch 6.2.418
  12691. Problem:    Using ":nnoremap <F12> :echo "cheese" and ":cabbr cheese xxx":
  12692.         when pressing <F12> still uses the abbreviation. (Hari Krishna)
  12693. Solution:   Also apply "noremap" to abbreviations.
  12694. Files:        src/getchar.c
  12695.  
  12696. Patch 6.2.419 (extra)
  12697. Problem:    Win32: Cannot open the Vim window inside another application.
  12698. Solution:   Add the "-P" argument to specify the window title of the
  12699.         application to run inside. (Zibo Zhao)
  12700. Files:        runtime/doc/starting.txt, src/main.c, src/gui_w32.c,
  12701.         src/gui_w48.c, src/if_ole.cpp, src/os_mswin.c,
  12702.         src/proto/gui_w32.pro
  12703.  
  12704. Patch 6.2.420
  12705. Problem:    Cannot specify a file to be edited in binary mode without setting
  12706.         the global value of the 'binary' option.
  12707. Solution:   Support ":edit ++bin file".
  12708. Files:        runtime/doc/editing.txt, src/buffer.c, src/eval.c, src/ex_cmds.h,
  12709.         src/ex_docmd.c, src/fileio.c, src/misc2.c
  12710.  
  12711. Patch 6.2.421
  12712. Problem:    Cannot set the '[ and '] mark, which may be necessary when an
  12713.         autocommand simulates reading a file.
  12714. Solution:   Allow using "m[" and "m]".
  12715. Files:        runtime/doc/motion.txt, src/mark.c
  12716.  
  12717. Patch 6.2.422
  12718. Problem:    In CTRL-X completion messages the "/" makes them less readable.
  12719. Solution:   Remove the slashes. (Antony Scriven)
  12720. Files:        src/edit.c
  12721.  
  12722. Patch 6.2.423
  12723. Problem:    ":vertical wincmd ]" does not split vertically.
  12724. Solution:   Add "postponed_split_flags".
  12725. Files:        src/ex_docmd.c, src/globals.h, src/if_cscope.c, src/tag.c
  12726.  
  12727. Patch 6.2.424
  12728. Problem:    A BufEnter autocommand that sets an option stops 'mousefocus' from
  12729.         working in Insert mode (Normal mode is OK). (Gregory Seidman)
  12730. Solution:   In the Insert mode loop invoke gui_mouse_correct() when needed.
  12731. Files:        src/edit.c
  12732.  
  12733. Patch 6.2.425
  12734. Problem:    Vertical split and command line window: can only drag status line
  12735.         above the cmdline window on the righthand side, not lefthand side.
  12736. Solution:   Check the status line row instead of the window pointer.
  12737. Files:        src/ui.c
  12738.  
  12739. Patch 6.2.426
  12740. Problem:    A syntax region end match with a matchgroup that includes a line
  12741.         break only highlights the last line with matchgroup. (Gary
  12742.         Holloway)
  12743. Solution:   Also use the line number of the position where the region
  12744.         highlighting ends.
  12745. Files:        src/syntax.c
  12746.  
  12747. Patch 6.2.427 (extra)
  12748. Problem:    When pasting a lot of text in a multi-byte encoding, conversion
  12749.         from 'termencoding' to 'encoding' may fail for some characters.
  12750.         (Kuang-che Wu)
  12751. Solution:   When there is an incomplete byte sequence at the end of the read
  12752.         text keep it for the next time.
  12753. Files:        src/mbyte.c, src/os_amiga.c, src/os_mswin.c, src/proto/mbyte.pro,
  12754.         src/proto/os_mswin.pro, src/ui.c
  12755.  
  12756. Patch 6.2.428
  12757. Problem:    The X11 clipboard supports the Vim selection for char/line/block
  12758.         mode, but since the encoding is not included  can't copy/paste
  12759.         between two Vims with a different 'encoding'.
  12760. Solution:   Add a new selection format that includes the 'encoding'.  Perform
  12761.         conversion when necessary.
  12762. Files:        src/gui_gtk_x11.c, src/ui.c, src/vim.h
  12763.  
  12764. Patch 6.2.429
  12765. Problem:    Unix: glob() doesn't work for a directory with a single quote in
  12766.         the name. (Nazri Ramliy)
  12767. Solution:   When using the shell to expand, only put double quotes around
  12768.         spaces and single quotes, not the whole thing.
  12769. Files:        src/os_unix.c
  12770.  
  12771. Patch 6.2.430
  12772. Problem:    BOM at start of a vim script file is not recognized and causes an
  12773.         error message.
  12774. Solution:   Detect the BOM and skip over it.  Also fix that after using
  12775.         ":scriptencoding" the iconv() file descriptor was not closed
  12776.         (memory leak).
  12777. Files:        src/ex_cmds2.c
  12778.  
  12779. Patch 6.2.431
  12780. Problem:    When using the horizontal scrollbar, the scrolling is limited to
  12781.         the length of the cursor line.
  12782. Solution:   Make the scroll limit depend on the longest visible line.  The
  12783.         cursor is moved when necessary.  Including the 'h' flag in
  12784.         'guioptions' disables this.
  12785. Files:        runtime/doc/gui.txt, runtime/doc/options.txt, src/gui.c,
  12786.         src/misc2.c, src/option.h
  12787.  
  12788. Patch 6.2.432 (after 6.2.430 and 6.2.431)
  12789. Problem:    Lint warnings.
  12790. Solution:   Add type casts.
  12791. Files:        src/ex_cmds2.c, src/gui.c
  12792.  
  12793. Patch 6.2.433
  12794. Problem:    Translating "VISUAL" and "BLOCK" separately doesn't give a good
  12795.         result. (Alejandro Lopez Valencia)
  12796. Solution:   Use a string for each combination.
  12797. Files:        src/screen.c
  12798.  
  12799. Patch 6.2.434 (after 6.2.431)
  12800. Problem:    Compiler warning. (Salman Halim)
  12801. Solution:   Add type casts.
  12802. Files:        src/gui.c
  12803.  
  12804. Patch 6.2.435
  12805. Problem:    When there are vertically split windows the minimal Vim window
  12806.         height is computed wrong.
  12807. Solution:   Use frame_minheight() to correctly compute the minimal height.
  12808. Files:        src/window.c
  12809.  
  12810. Patch 6.2.436
  12811. Problem:    Running the tests changes the user's viminfo file.
  12812. Solution:   In test 49 tell the extra Vim to use the test viminfo file.
  12813. Files:        src/testdir/test49.vim
  12814.  
  12815. Patch 6.2.437
  12816. Problem:    ":mksession" always puts "set nocompatible" in the session file.
  12817.         This changes option settings. (Ron Aaron)
  12818. Solution:   Add an "if" to only change 'compatible' when needed.
  12819. Files:        src/ex_docmd.c
  12820.  
  12821. Patch 6.2.438
  12822. Problem:    When the 'v' flag is present in 'cpoptions', backspacing and then
  12823.         typing text again: one character too much is overtyped before
  12824.         inserting is done again.
  12825. Solution:   Set "dollar_vcol" to the right column.
  12826. Files:        src/edit.c
  12827.  
  12828. Patch 6.2.439
  12829. Problem:    GTK 2: Changing 'lines' may cause a mismatch between the window
  12830.         layout and the size of the window.
  12831. Solution:   Disable the hack with force_shell_resize_idle().
  12832. Files:        src/gui_gtk_x11.c
  12833.  
  12834. Patch 6.2.440
  12835. Problem:    When 'lazyredraw' is set the window title is still updated.
  12836.         The size of the Visual area and the ruler are displayed too often.
  12837. Solution:   Postpone redrawing the window title.  Only show the Visual area
  12838.         size when waiting for a character.  Don't draw the ruler
  12839.         unnecessary.
  12840. Files:        src/buffer.c, src/normal.c, src/screen.c
  12841.  
  12842. Patch 6.2.441
  12843. Problem:    ":unabbreviate foo " doesn't work, because of the trailing space,
  12844.         while an abbreviation with a trailing space is not possible. (Paul
  12845.         Jolly)
  12846. Solution:   Accept a match with the lhs of an abbreviation without the
  12847.         trailing space.
  12848. Files:        src/getchar.c
  12849.  
  12850. Patch 6.2.442
  12851. Problem:    Cannot manipulate the command line from a function.
  12852. Solution:   Add getcmdline(), getcmdpos() and setcmdpos() functions and the
  12853.         CTRL-\ e command.
  12854. Files:        runtime/doc/cmdline.txt, runtime/doc/eval.txt, src/eval.c
  12855.         src/ex_getln.c, src/ops.c, src/proto/ex_getln.pro,
  12856.         src/proto/ops.pro
  12857.  
  12858. Patch 6.2.443
  12859. Problem:    With ":silent! echoerr something" you don't get the position of
  12860.         the error.  emsg() only writes the message itself and returns.
  12861. Solution:   Also redirect the position of the error.
  12862. Files:        src/message.c
  12863.  
  12864. Patch 6.2.444
  12865. Problem:    When adding the 'c' flag to a ":substitute" command it may replace
  12866.         more times than without the 'c' flag.  Happens for a  match that
  12867.         starts with "\ze" (Marcel Svitalsk) and when using "\@<=" (Klaus
  12868.         Bosau).
  12869. Solution:   Correct "prev_matchcol" when replacing the line.  Don't replace
  12870.         the line when the pattern uses look-behind matching.
  12871. Files:        src/ex_cmds.c, src/proto/regexp.pro, src/regexp.c
  12872.  
  12873. Patch 6.2.445
  12874. Problem:    Copying vimtutor to /tmp/something is not secure, a symlink may
  12875.         cause trouble.
  12876. Solution:   Create a directory and create the file in it.  Use "umask" to
  12877.         create the directory with mode 700.  (Stefan Nordhausen)
  12878. Files:        src/vimtutor
  12879.  
  12880. Patch 6.2.446 (after 6.2.404)
  12881. Problem:    Using library functions wcwidth() and iswprint() results in
  12882.         display problems for Hebrew characters. (Ron Aaron)
  12883. Solution:   Disable the code to use the library functions, use our own.
  12884. Files:        src/mbyte.c
  12885.  
  12886. Patch 6.2.447 (after 6.2.440)
  12887. Problem:    Now that the title is only updated when redrawing, it is no longer
  12888.         possible to show it while executing a function. (Madoka Machitani)
  12889. Solution:   Make ":redraw" also update the title.
  12890. Files:        src/ex_docmd.c
  12891.  
  12892. Patch 6.2.448 (after 6.2.427)
  12893. Problem:    Mac: conversion done when 'termencoding' differs from 'encoding'
  12894.         fails when pasting a longer text.
  12895. Solution:   Check for an incomplete sequence at the end of the chunk to be
  12896.         converted. (Eckehard Berns)
  12897. Files:        src/mbyte.c
  12898.  
  12899. Patch 6.2.449 (after 6.2.431)
  12900. Problem:    Get error messages when switching files.
  12901. Solution:   Check for a valid line number when calculating the width of the
  12902.         horizontal scrollbar. (Helmut Stiegler)
  12903. Files:        src/gui.c
  12904.  
  12905. Patch 6.2.450
  12906. Problem:    "  #include" and "  #define" are not recognized with the default
  12907.         option values for 'include' and 'defined'. (RG Kiran)
  12908. Solution:   Adjust the default values to allow white space before the #.
  12909. Files:        runtime/doc/options.txt, src/option.c
  12910.  
  12911. Patch 6.2.451
  12912. Problem:    GTK: when using XIM there are various problems, including setting
  12913.         'modified' and breaking undo at the wrong moment.
  12914. Solution:   Add "xim_changed_while_preediting", "preedit_end_col" and
  12915.         im_is_preediting(). (Yasuhiro Matsumoto)
  12916. Files:        src/ex_getln.c, src/globals.h, src/gui_gtk.c, src/gui_gtk_x11.c,
  12917.         src/mbyte.c, src/misc1.c, src/proto/mbyte.pro, src/screen.c,
  12918.         src/undo.c
  12919.  
  12920. Patch 6.2.452
  12921. Problem:    In diff mode, when DiffAdd and DiffText highlight settings are
  12922.         equal, an added line is highlighted with DiffChange. (Tom Schumm)
  12923. Solution:   Remember the diff highlight type instead of the attributes.
  12924. Files:        src/screen.c
  12925.  
  12926. Patch 6.2.453
  12927. Problem:    ":s/foo\|\nbar/x/g" does not replace two times in "foo\nbar".
  12928.         (Pavel Papushev)
  12929. Solution:   When the pattern can match a line break also try matching at the
  12930.         NUL at the end of a line.
  12931. Files:        src/ex_cmds.c, src/regexp.c
  12932.  
  12933. Patch 6.2.454
  12934. Problem:    ":let b:changedtick" doesn't work. (Alan Schmitt)  ":let
  12935.         b:changedtick = 99" does not give an error message.
  12936. Solution:   Add code to recognize ":let b:changedtick".
  12937. Files:        src/eval.c
  12938.  
  12939. Patch 6.2.455 (after 6.2.297)
  12940. Problem:    In Python commands the current locale changes how certain Python
  12941.         functions work. (Eugene M. Minkovskii)
  12942. Solution:   Set the LC_NUMERIC locale to "C" while executing a Python command.
  12943. Files:        src/if_python.c
  12944.  
  12945. Patch 6.2.456 (extra)
  12946. Problem:    Win32: Editing a file by its Unicode name (dropping it on Vim or
  12947.         using the file selection dialog) doesn't work. (Yakov Lerner, Alex
  12948.         Jakushev)
  12949. Solution:   Use wide character functions when file names are involved and
  12950.         convert from/to 'encoding' where needed.
  12951. Files:        src/gui_w48.c, src/macros.h, src/memfile.c, src/memline.c,
  12952.         src/os_mswin.c, src/os_win32.c
  12953.  
  12954. Patch 6.2.457 (after 6.2.244)
  12955. Problem:    When 'encoding' is "utf-8" and writing text with chars above 0x80
  12956.         in latin1, conversion is wrong every 8200 bytes. (Oyvind Holm)
  12957. Solution:   Correct the utf_ptr2len_check_len() function and fix the problem
  12958.         of displaying 0xf7 in utfc_ptr2len_check_len().
  12959. Files:        src/mbyte.c
  12960.  
  12961. Patch 6.2.458
  12962. Problem:    When 'virtualedit' is set "$" doesn't move to the end of an
  12963.         unprintable character, causing "y$" not to include that character.
  12964.         (Fred Ma)
  12965. Solution:   Set "coladd" to move the cursor to the end of the character.
  12966. Files:        src/misc2.c
  12967.  
  12968. Patch 6.2.459 (after 6.2.454)
  12969. Problem:    Variable "b" cannot be written. (Salman Halim)
  12970. Solution:   Compare strings properly.
  12971. Files:        src/eval.c
  12972.  
  12973. Patch 6.2.460 (extra, after 6.2.456)
  12974. Problem:    Compiler warnings for missing prototypes.
  12975. Solution:   Include the missing prototypes.
  12976. Files:        src/proto/os_win32.pro
  12977.  
  12978. Patch 6.2.461
  12979. Problem:    After using a search command "x" starts putting single characters
  12980.         in the numbered registers.
  12981. Solution:   Reset "use_reg_one" at the right moment.
  12982. Files:        src/normal.c
  12983.  
  12984. Patch 6.2.462
  12985. Problem:    Finding a matching parenthesis does not correctly handle a
  12986.         backslash in a trailing byte.
  12987. Solution:   Handle multi-byte characters correctly. (Taro Muraoka)
  12988. Files:        src/search.c
  12989.  
  12990. Patch 6.2.463 (extra)
  12991. Problem:    Win32: An NTFS file system may contain files with extra info
  12992.         streams.  The current method to copy them creates one and then
  12993.         deletes it again.  (Peter Toennies)  Also, only three streams with
  12994.         hard coded names are copied.
  12995. Solution:   Use BackupRead() to check which info streams the original file
  12996.         contains and only copy these streams.
  12997. Files:        src/os_win32.c
  12998.  
  12999. Patch 6.2.464 (extra, after 6.2.427)
  13000. Problem:    Amiga: Compilation error with gcc. (Ali Akcaagac)
  13001. Solution:   Move the #ifdef outside of Read().
  13002. Files:        src/os_amiga.c
  13003.  
  13004. Patch 6.2.465
  13005. Problem:    When resizing the GUI window the window manager sometimes moves it
  13006.         left of or above the screen. (Michael McCarty)
  13007. Solution:   Check the window position after resizing it and move it onto the
  13008.         screen when it isn't.
  13009. Files:        src/gui.c
  13010.  
  13011. Patch 6.2.466 (extra, after 6.2.456)
  13012. Problem:    Win32: Compiling with Borland C fails, and an un/signed warning.
  13013. Solution:   Redefine wcsicmp() to wcscmpi() and add type casts. (Yasuhiro
  13014.         Matsumoto)
  13015. Files:        src/os_win32.c
  13016.  
  13017. Patch 6.2.467 (extra, after 6.2.463)
  13018. Problem:    Win32: can't compile without multi-byte feature. (Ajit Thakkar)
  13019. Solution:   Add #ifdefs around the info stream code.
  13020. Files:        src/os_win32.c
  13021.  
  13022. Patch 6.2.468
  13023. Problem:    Compiler warnings for shadowed variables. (Matthias Mohr)
  13024. Solution:   Delete superfluous variables and rename others.
  13025. Files:        src/eval.c, src/ex_docmd.c, src/ex_eval.c, src/if_cscope.c,
  13026.         src/fold.c, src/option.c, src/os_unix.c, src/quickfix.c,
  13027.         src/regexp.c
  13028.  
  13029. Patch 6.2.469 (extra, after 6.2.456)
  13030. Problem:    Win32: Can't create swap file when 'encoding' differs from the
  13031.         active code page. (Kriton Kyrimis)
  13032. Solution:   In enc_to_ucs2() terminate the converted string with a NUL
  13033. Files:        src/os_mswin.c
  13034.  
  13035. Patch 6.2.470
  13036. Problem:    The name returned by tempname() may be equal to the file used for
  13037.         shell output when ignoring case.
  13038. Solution:   Skip 'O' and 'I' in tempname().
  13039. Files:        src/eval.c
  13040.  
  13041. Patch 6.2.471
  13042. Problem:    "-L/usr/lib" is used in the link command, even though it's
  13043.         supposed to be filtered out. "-lw" and "-ldl" are not
  13044.         automatically added when needed for "-lXmu". (Antonio Colombo)
  13045. Solution:   Check for a space after the argument instead of before.  Also
  13046.         remove "-R/usr/lib" if it's there.  Check for "-lw" and "-ldl"
  13047.         before trying "-lXmu".
  13048. Files:        src/auto/configure, src/configure.in, src/link.sh
  13049.  
  13050. Patch 6.2.472
  13051. Problem:    When using a FileChangedShell autocommand that changes the current
  13052.         buffer, a buffer exists that can't be wiped out.
  13053.         Also, Vim sometimes crashes when executing an external command
  13054.         that changes the buffer and a FileChangedShell autocommand is
  13055.         used.  (Hari Krishna Dara)
  13056.         Users are confused by the warning for a file being changed outside
  13057.         of Vim.
  13058. Solution:   Avoid that the window counter for a buffer is incremented twice.
  13059.         Avoid that buf_check_timestamp() is used recursively.
  13060.         Add a hint to look in the help for more info.
  13061. Files:        src/ex_cmds.c, src/fileio.c
  13062.  
  13063. Patch 6.2.473
  13064. Problem:    Using CTRL-] in a help buffer without a name causes a crash.
  13065. Solution:   Check for name to be present before using it. (Taro Muraoka)
  13066. Files:        src/tag.c
  13067.  
  13068. Patch 6.2.474 (extra, after 6.2.456)
  13069. Problem:    When Vim is starting up conversion is done unnecessarily.  Failure
  13070.         to find the runtime files on Windows 98. (Randall W. Morris)
  13071. Solution:   Init enc_codepage negative, only use it when not negative.
  13072.         Don't use GetFileAttributesW() on Windows 98 or earlier.
  13073. Files:        src/globals.h, src/gui_w32.c, src/gui_w48.c, src/os_mswin.c,
  13074.         src/os_win32.c
  13075.  
  13076. Patch 6.2.475
  13077. Problem:    Commands after "perl <<EOF" are parsed as Vim commands when they
  13078.         are not executed.
  13079. Solution:   Properly skip over the perl commands.
  13080. Files:        src/ex_docmd.c, src/ex_getln.c, src/if_perl.xs, src/if_python.c,
  13081.         src/if_ruby.c, src/if_tcl.c, src/misc2.c
  13082.  
  13083. Patch 6.2.476
  13084. Problem:    When reloading a hidden buffer changed outside of Vim and the
  13085.         current buffer is read-only, the reloaded buffer becomes
  13086.         read-only.  (Hari Krishna Dara)
  13087. Solution:   Save the 'readonly' flag of the reloaded buffer instead of the
  13088.         current buffer.
  13089. Files:        src/fileio.c
  13090.  
  13091. Patch 6.2.477
  13092. Problem:    Using remote_send(v:servername, "\<C-V>") causes Vim to hang.
  13093.         (Yakov Lerner)
  13094. Solution:   When the resulting string is empty don't set received_from_client.
  13095. Files:        src/main.c
  13096.  
  13097. Patch 6.2.478
  13098. Problem:    Win32: "--remote file" fails changing directory if the current
  13099.         directory name starts with a single quote.  (Iestyn Walters)
  13100. Solution:   Add a backslash where it will be removed later.
  13101. Files:        src/main.c, src/misc2.c, src/proto/misc2.pro
  13102.  
  13103. Patch 6.2.479
  13104. Problem:    The error message for errors during recovery goes unnoticed.
  13105. Solution:   Avoid that the hit-enter prompt overwrites the message.  Add a few
  13106.         lines to make the error stand out.
  13107. Files:        src/main.c, src/message.c, src/memline.c
  13108.  
  13109. Patch 6.2.480
  13110. Problem:    NetBeans: Using negative index in array.  backslash at end of
  13111.         message may cause Vim to crash. (Xavier de Gaye)
  13112. Solution:   Initialize buf_list_used to zero. Check for trailing backslash.
  13113. Files:        src/netbeans.c
  13114.  
  13115. Patch 6.2.481
  13116. Problem:    When writing a file it is not possible to specify that hard and/or
  13117.         symlinks are to be broken instead of preserved.
  13118. Solution:   Add the "breaksymlink" and "breakhardlink" values to 'backupcopy'.
  13119.         (Simon Ekstrand)
  13120. Files:        runtime/doc/options.txt, src/fileio.c, src/option.c, src/option.h
  13121.  
  13122. Patch 6.2.482
  13123. Problem:    Repeating insert of CTRL-K 1 S doesn't work.  The superscript 1 is
  13124.         considered to be a digit. (Juergen Kraemer)
  13125. Solution:   In vim_isdigit() only accept '0' to '9'.  Use VIM_ISDIGIT() for
  13126.         speed where possible.  Also add vim_isxdigit().
  13127. Files:        src/buffer.c, src/charset.c, src/diff.c, src/digraph.c,
  13128.         src/edit.c, src/eval.c,, src/ex_cmds.c, src/ex_cmds2.c,
  13129.         src/ex_docmd.c, src/ex_eval.c, src/ex_getln.c,
  13130.         src/if_xcmdsrv.c, src/farsi.c, src/fileio.c, src/fold.c,
  13131.         src/getchar.c, src/gui.c, src/if_cscope.c, src/macros.h,
  13132.         src/main.c, src/mark.c, src/mbyte.c, src/menu.c, src/misc1.c,
  13133.         src/misc2.c, src/normal.c, src/ops.c, src/option.c,
  13134.         src/proto/charset.pro, src/regexp.c, src/screen.c, src/search.c,
  13135.         src/syntax.c, src/tag.c, src/term.c, src/termlib.c
  13136.  
  13137. Patch 6.2.483 (extra, after 6.2.482)
  13138. Problem:    See 6.2.482.
  13139. Solution:   Extra part of patch 6.2.482.
  13140. Files:        src/gui_photon.c, src/gui_w48.c, src/os_msdos.c, src/os_mswin.c
  13141.  
  13142. Patch 6.2.484
  13143. Problem:    MS-Windows: With the included diff.exe, differences after a CTRL-Z
  13144.         are not recognized.  (Peter Keresztes)
  13145. Solution:   Write the files with unix fileformat and invoke diff with --binary
  13146.         if possible.
  13147. Files:        src/diff.c
  13148.  
  13149. Patch 6.2.485
  13150. Problem:    A BufWriteCmd autocommand cannot know if "!" was used or not.
  13151.         (Hari Krishna Dara)
  13152. Solution:   Add the v:cmdbang variable.
  13153. Files:        runtime/doc/eval.txt, src/eval.c, src/proto/eval.pro,
  13154.         src/fileio.c, src/vim.h
  13155.  
  13156. Patch 6.2.486 (6.2.482)
  13157. Problem:    Diff for eval.c is missing.
  13158. Solution:   Addition to patch 6.2.482.
  13159. Files:        src/eval.c
  13160.  
  13161. Patch 6.2.487 (extra, after 6.2.456)
  13162. Problem:    Compiler warnings for wrong prototype. (Alejandro Lopez Valencia)
  13163. Solution:   Delete the prototype for Handle_WM_Notify().
  13164. Files:        src/proto/gui_w32.pro
  13165.  
  13166. Patch 6.2.488
  13167. Problem:    Missing ")" in *.ch filetype detection.
  13168. Solution:   Add the ")".  (Ciaran McCreesh)
  13169. Files:        runtime/filetype.vim
  13170.  
  13171. Patch 6.2.489
  13172. Problem:    When accidentally opening a session in Vim which has already been
  13173.         opened in another Vim there is a long row of ATTENTION prompts.
  13174.         Need to quit each of them to get out. (Robert Webb)
  13175. Solution:   Add the "Abort" alternative to the dialog.
  13176. Files:        src/memline.c
  13177.  
  13178. Patch 6.2.490
  13179. Problem:    With 'paragraph' it is not possible to use a single dot as a
  13180.         paragraph boundary.  (Dorai Sitaram)
  13181. Solution:   Allow using "  " (two spaces) in 'paragraph' to match ".$" or
  13182.         ". $"
  13183. Files:        src/search.c
  13184.  
  13185. Patch 6.2.491
  13186. Problem:    Decrementing a position doesn't take care of multi-byte chars.
  13187. Solution:   Adjust the column for multi-byte characters.  Remove mb_dec().
  13188.         (Yasuhiro Matsumoto)
  13189. Files:        src/mbyte.c, src/misc2.c, src/proto/mbyte.pro
  13190.  
  13191. Patch 6.2.492
  13192. Problem:    When using ":redraw" while there is a message, the next ":echo"
  13193.         still causes text to scroll. (Yasuhiro Matsumoto)
  13194. Solution:   Reset msg_didout and msg_col, so that after ":redraw" the next
  13195.         message overwrites an existing one.
  13196. Files:        src/ex_docmd.c
  13197.  
  13198. Patch 6.2.493
  13199. Problem:    "@x" doesn't work when 'insertmode' is set. (Benji Fisher)
  13200. Solution:   Put "restart_edit" in the typeahead buffer, so that it's used
  13201.         after executing the register contents.
  13202. Files:        src/ops.c
  13203.  
  13204. Patch 6.2.494
  13205. Problem:    Using diff mode with two windows, when moving horizontally in
  13206.         inserted lines, a fold in the other window may open.
  13207. Solution:   Compute the line number in the other window correctly.
  13208. Files:        src/diff.c
  13209.  
  13210. Patch 6.2.495 (extra, after 6.2.456)
  13211. Problem:    Win32: The file dialog doesn't work on Windows 95.
  13212. Solution:   Put the wide code of gui_mch_browse() in gui_mch_browseW() and use
  13213.         it only on Windows NT/2000/XP.
  13214. Files:        src/gui_w32.c, src/gui_w48.c
  13215.  
  13216. Patch 6.2.496
  13217. Problem:    FreeBSD 4.x: When compiled with the pthread library (Python) a
  13218.         complicated pattern may cause Vim to crash.  Catching the signal
  13219.         doesn't work.
  13220. Solution:   When compiled with threads, instead of using the normal stacksize
  13221.         limit, use the size of the initial stack.
  13222. Files:        src/auto/configure, src/config.h.in, src/configure.in,
  13223.         src/os_unix.c
  13224.  
  13225. Patch 6.2.497 (extra)
  13226. Problem:    Russian messages are only available in one encoding.
  13227. Solution:   Convert the messages to MS-Windows codepages. (Vassily Ragosin)
  13228. Files:        src/po/Makefile
  13229.  
  13230. Patch 6.2.498
  13231. Problem:    Non-latin1 help files are not properly supported.
  13232. Solution:   Support utf-8 help files and convert them to 'encoding' when
  13233.         needed.
  13234. Files:        src/fileio.c
  13235.  
  13236. Patch 6.2.499
  13237. Problem:    When writing a file and halting the system, the file might be lost
  13238.         when using a journaling file system.
  13239. Solution:   Use fsync() to flush the file data to disk after writing a file.
  13240.         (Radim Kolar)
  13241. Files:        src/fileio.c
  13242.  
  13243. Patch 6.2.500 (extra)
  13244. Problem:    The DOS/MS-Windows the installer doesn't use the --binary flag for
  13245.         diff.
  13246. Solution:   Add --binary to the diff argument in MyDiff(). (Alejandro Lopez-
  13247.         Valencia)
  13248. Files:        src/dosinst.c
  13249.  
  13250. Patch 6.2.501
  13251. Problem:    Vim does not compile with MorphOS.
  13252. Solution:   Add a Makefile and a few changes to make Vim work with MorphOS.
  13253.         (Ali Akcaagac)
  13254. Files:        runtime/doc/os_amiga.txt, src/INSTALLami.txt,
  13255.         src/Make_morphos.mak, src/memfile.c, src/term.c
  13256.  
  13257. Patch 6.2.502
  13258. Problem:    Building fails for generating message files.
  13259. Solution:   Add dummy message files.
  13260. Files:        src/po/ca.po, src/po/ru.po, src/po/sv.po
  13261.  
  13262. Patch 6.2.503
  13263. Problem:    Mac: Can't compile MacRoman conversions without the GUI.
  13264. Solution:   Also link with the Carbon framework for the terminal version, for
  13265.         the MacRoman conversion functions. (Eckehard Berns)
  13266.         Remove -ltermcap from the GUI link command, it is not needed.
  13267. Files:        src/auto/configure, src/Makefile, src/configure.in
  13268.  
  13269. Patch 6.2.504
  13270. Problem:    Various problems with 'cindent', among which that a
  13271.         list of variable declarations is not indented properly.
  13272. Solution:   Fix the wrong indenting.  Improve indenting of C++ methods.
  13273.         Add the 'i', 'b' and 'W' options to 'cinoptions'. (mostly by
  13274.         Helmut Stiegler)
  13275.         Improve indenting of preprocessor-continuation lines.
  13276. Files:        runtime/doc/indent.txt, src/misc1.c, src/testdir/test3.in,
  13277.         src/testdir/test3.ok
  13278.  
  13279. Patch 6.2.505
  13280. Problem:    Help for -P argument is missing. (Ronald Hoellwarth)
  13281. Solution:   Add the patch that was missing in 6.2.419.
  13282. Files:        runtime/doc/starting.txt
  13283.  
  13284. Patch 6.2.506 (extra)
  13285. Problem:    Win32: When 'encoding' is a codepage then reading a utf-8 file
  13286.         only works when iconv is available.  Writing a file in another
  13287.         codepage uses the wrong kind of conversion.
  13288. Solution:   Use internal conversion functions.  Enable reading and writing
  13289.         files with 'fileencoding' different from 'encoding' for all valid
  13290.         codepages and utf-8 without the need for iconv.
  13291. Files:        src/fileio.c, src/testdir/Make_dos.mak, src/testdir/test52.in,
  13292.         src/testdir/test52.ok
  13293.  
  13294. Patch 6.2.507
  13295. Problem:    The ownership of the file with the password for the NetBeans
  13296.         connection is not checked.  "-nb={file}" doesn't work for GTK.
  13297. Solution:   Only accept the file when owned by the user and not accessible by
  13298.         others.  Detect "-nb=" for GTK.
  13299. Files:        src/netbeans.c, src/gui_gtk_x11.c
  13300.  
  13301. Patch 6.2.508
  13302. Problem:    Win32: "v:lang" does not show the current language for messages if
  13303.         it differs from the other locale settings.
  13304. Solution:   Use the value of the $LC_MESSAGES environment variable.
  13305. Files:        src/ex_cmds2.c
  13306.  
  13307. Patch 6.2.509 (after 6.2.508)
  13308. Problem:    Crash when $LANG is not set.
  13309. Solution:   Add check for NULL pointer. (Ron Aaron)
  13310. Files:        src/ex_cmds2.c
  13311.  
  13312. Patch 6.2.510 (after 6.2.507)
  13313. Problem:    Warning for pointer conversion.
  13314. Solution:   Add a type cast.
  13315. Files:        src/gui_gtk_x11.c
  13316.  
  13317. Patch 6.2.511
  13318. Problem:    Tags in Russian help files are in utf-8 encoding, which may be
  13319.         different from 'encoding'.
  13320. Solution:   Use the "TAG_FILE_ENCODING" field in the tags file to specify the
  13321.         encoding of the tags.  Convert help tags from 'encoding' to the
  13322.         tag file encoding when searching for matches, do the reverse when
  13323.         listing help tags.
  13324. Files:        runtime/doc/tagsrch.txt, src/ex_cmds.c, src/tag.c
  13325.  
  13326. Patch 6.2.512
  13327. Problem:    Translating "\"\n" is useless. (Gerfried Fuchs)
  13328. Solution:   Remove the _() around it.
  13329. Files:        src/main.c, src/memline.c
  13330.  
  13331. Patch 6.2.513 (after 6.2.507)
  13332. Problem:    NetBeans: the check for owning the connection info file can be
  13333.         simplified. (Nikolay Molchanov)
  13334. Solution:   Only check if the access mode is right.
  13335. Files:        src/netbeans.c
  13336.  
  13337. Patch 6.2.514
  13338. Problem:    When a highlight/syntax group name contains invalid characters
  13339.         there is no warning.
  13340. Solution:   Add an error for unprintable characters and a warning for other
  13341.         invalid characters.
  13342. Files:        src/syntax.c
  13343.  
  13344. Patch 6.2.515
  13345. Problem:    When using the options window 'swapfile' is reset.
  13346. Solution:   Use ":setlocal" instead of ":set".
  13347. Files:        runtime/optwin.vim
  13348.  
  13349. Patch 6.2.516
  13350. Problem:    The sign column cannot be seen, looks like there are two spaces
  13351.         before the text. (Rob Retter)
  13352. Solution:   Add the SignColumn highlight group.
  13353. Files:        runtime/doc/options.txt, runtime/doc/sign.txt, src/option.c,
  13354.         src/screen.c, src/syntax.c, src/vim.h
  13355.  
  13356. Patch 6.2.517
  13357. Problem:    Using "r*" in Visual mode on multi-byte characters replaces
  13358.         too many characters.  In Visual Block mode replacing with a
  13359.         multi-byte character doesn't work.
  13360. Solution:   Adjust the operator end for the difference in byte length of the
  13361.         original and the replaced character.  Insert all bytes of a
  13362.         multi-byte character, take care of double-wide characters.
  13363. Files:        src/ops.c
  13364.  
  13365. Patch 6.2.518
  13366. Problem:    Last line of a window is not updated after using "J" and then "D".
  13367.         (Adri Verhoef)
  13368. Solution:   When no line is found below a change that doesn't need updating,
  13369.         update all lines below the change.
  13370. Files:        src/screen.c
  13371.  
  13372. Patch 6.2.519
  13373. Problem:    Mac: cannot read/write files in MacRoman format.
  13374. Solution:   Do internal conversion from/to MacRoman to/from utf-8 and latin1.
  13375.         (Eckehard Berns)
  13376. Files:        src/fileio.c
  13377.  
  13378. Patch 6.2.520 (extra)
  13379. Problem:    The NSIS installer is outdated.
  13380. Solution:   Make it work with NSIS 2.0.  Also include console executables for
  13381.         Win 95/98/ME and Win NT/2000/XP.  Use LZWA compression.  Use
  13382.         "/oname" to avoid having to rename files before running NSIS.
  13383. Files:        Makefile, nsis/gvim.nsi
  13384.  
  13385. Patch 6.2.521
  13386. Problem:    When using silent Ex mode the "changing a readonly file" warning
  13387.         is omitted but the one second wait isn't. (Yakov Lerner)
  13388. Solution:   Skip the delay when "silent_mode" is set.
  13389. Files:        src/misc1.c
  13390.  
  13391. Patch 6.2.522
  13392. Problem:    GUI: when changing 'cmdheight' in the gvimrc file the window
  13393.         layout is messed up. (Keith Dart)
  13394. Solution:   Skip updating the window layout when changing 'cmdheight' while
  13395.         still starting up.
  13396. Files:        src/option.c
  13397.  
  13398. Patch 6.2.523
  13399. Problem:    When loading a session and aborting when a swap file already
  13400.         exists, the user is left with useless windows. (Robert Webb)
  13401. Solution:   Load one file before creating the windows.
  13402. Files:        src/ex_docmd.c
  13403.  
  13404. Patch 6.2.524 (extra, after 6.2.520)
  13405. Problem:    Win32: (un)installing gvimext.dll may fail if it was used.
  13406.         The desktop and start menu links are created for the current user
  13407.         instead of all users.
  13408.         Using the home directory as working directory for the links is a
  13409.         bad idea for multi-user systems.
  13410.         Cannot use Vim from the "Open With..." menu.
  13411. Solution:   Force a reboot if necessary. (Alejandro Lopez-Valencia)  Also use
  13412.         macros for the directory of the source and runtime files.  Use
  13413.         "CSIDL_COMMON_*" instead of "CSIDL_*" when possible.
  13414.         Do not specify a working directory in the links.
  13415.         Add Vim to the "Open With..." menu. (Giuseppe Bilotta)
  13416. Files:        nsis/gvim.nsi, src/dosinst.c, src/dosinst.h, src/uninstal.c
  13417.  
  13418. Patch 6.2.525
  13419. Problem:    When the history contains a very long line ":history" causes a
  13420.         crash. (Volker Kiefel)
  13421. Solution:   Shorten the history entry to fit it in one line.
  13422. Files:        src/ex_getln.c
  13423.  
  13424. Patch 6.2.526
  13425. Problem:    When s:lang is "ja" the Japanese menus are not used.
  13426. Solution:   Add 'encoding' to the language when there is no charset.
  13427. Files:        runtime/menu.vim
  13428.  
  13429. Patch 6.2.527
  13430. Problem:    The 2html script uses ":wincmd p", which breaks when using some
  13431.         autocommands.
  13432. Solution:   Remember the window numbers and jump to them with ":wincmd w".
  13433.         Also add XHTML support. (Panagiotis Issaris)
  13434. Files:        runtime/syntax/2html.vim
  13435.  
  13436. Patch 6.2.528
  13437. Problem:    NetBeans: Changes of the "~" command are not reported.
  13438. Solution:   Call netbeans_inserted() after performing "~". (Gordon Prieur)
  13439.         Also change NetBeans debugging to append to the log file.
  13440.         Also fix that "~" in Visual block mode changes too much if there
  13441.         are multi-byte characters.
  13442. Files:        src/nbdebug.c, src/normal.c, src/ops.c
  13443.  
  13444. Patch 6.2.529 (extra)
  13445. Problem:    VisVim only works for Admin.  Doing it for one user doesn't work.
  13446.         (Alexandre Gouraud)
  13447. Solution:   When registering the module fails, simply continue.
  13448. Files:        src/VisVim/VisVim.cpp
  13449.  
  13450. Patch 6.2.530
  13451. Problem:    Warning for missing prototype on the Amiga.
  13452. Solution:   Include time.h
  13453. Files:        src/version.c
  13454.  
  13455. Patch 6.2.531
  13456. Problem:    In silent ex mode no messages are given, which makes debugging
  13457.         very difficult.
  13458. Solution:   Do output messages when 'verbose' is set.
  13459. Files:        src/message.c, src/ui.c
  13460.  
  13461. Patch 6.2.532 (extra)
  13462. Problem:    Compiling for Win32s with VC 4.1 doesn't work.
  13463. Solution:   Don't use CP_UTF8 if it's not defined.  Don't use CSIDL_COMMON*
  13464.         when not defined.
  13465. Files:        src/dosinst.h, src/fileio.c
  13466.  
  13467. Win32 console: After patch 6.2.398 Ex mode did not work. (Yasuhiro Matsumoto)
  13468.  
  13469. Patch 6.3a.001
  13470. Problem:    Win32: if testing for the "--binary" option fails, diff isn't used
  13471.         at all.
  13472. Solution:   Handle the "ok" flag properly. (Yasuhiro Matsumoto)
  13473. Files:        src/diff.c
  13474.  
  13475. Patch 6.3a.002
  13476. Problem:    NetBeans: An insert command from NetBeans beyond the end of a
  13477.         buffer crashes Vim. (Xavier de Gaye)
  13478. Solution:   Use a local pos_T structure for the position.
  13479. Files:        src/netbeans.c
  13480.  
  13481. Patch 6.3a.003
  13482. Problem:    E315 error with auto-formatting comments. (Henry Van Roessel)
  13483. Solution:   Pass the line number to same_leader().
  13484. Files:        src/ops.c
  13485.  
  13486. Patch 6.3a.004
  13487. Problem:    Test32 fails on Windows XP for the DJGPP version.  Renaming
  13488.         test11.out fails.
  13489. Solution:   Don't try renaming, create new files to use for the test.
  13490. Files:        src/testdir/test32.in, src/testdir/test32.ok
  13491.  
  13492. Patch 6.3a.005
  13493. Problem:    ":checkpath!" does not use 'includeexpr'.
  13494. Solution:   Use a file name that was found directly.  When a file was not
  13495.         found and the located name is empty, use the rest of the line.
  13496. Files:        src/search.c
  13497.  
  13498. Patch 6.3a.006
  13499. Problem:    "yip" moves the cursor to the first yanked line, but not to the
  13500.         first column.  Looks like not all text was yanked. (Jens Paulus)
  13501. Solution:   Move the cursor to the first column.
  13502. Files:        src/search.c
  13503.  
  13504. Patch 6.3a.007
  13505. Problem:    'cindent' recognizes "enum" but not "typedef enum".
  13506. Solution:   Skip over "typedef" before checking for "enum". (Helmut Stiegler)
  13507.         Also avoid that searching for this item goes too far back.
  13508. Files:        src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok
  13509.  
  13510. Patch 6.3a.008 (extra)
  13511. Problem:    Windows 98: Some of the wide functions are not implemented,
  13512.         resulting in file I/O to fail.  This depends on what Unicode
  13513.         support is installed.
  13514. Solution:   Handle the failure and fall back to non-wide functions.
  13515. Files:        src/os_win32.c
  13516.  
  13517. Patch 6.3a.009
  13518. Problem:    Win32: Completion of filenames does not work properly when
  13519.         'encoding' differs from the active code page.
  13520. Solution:   Use wide functions for expanding wildcards when appropriate.
  13521. Files:        src/misc1.c
  13522.  
  13523. Patch 6.3a.010 (extra)
  13524. Problem:    Win32: Characters in the window title that do not appear in the
  13525.         active codepage are replaced by a question mark.
  13526. Solution:   Use DefWindowProcW() instead of DefWindowProc() when possible.
  13527. Files:        src/glbl_ime.cpp, src/globals.h, src/proto/gui_w16.pro,
  13528.         src/proto/gui_w32.pro, src/gui_w16.c, src/gui_w32.c, src/gui_w48.c
  13529.  
  13530. Patch 6.3a.011
  13531. Problem:    Using the explorer plugin changes a local directory to the global
  13532.         directory.
  13533. Solution:   Don't use ":chdir" to restore the current directory.  Make
  13534.         "expand('%:p')" remove "/../" and "/./" items from the path.
  13535. Files:        runtime/plugin/explorer.vim, src/eval.c, src/os_unix.c
  13536.  
  13537. Patch 6.3a.012 (extra)
  13538. Problem:    On Windows 98 the installer doesn't work, don't even get the "I
  13539.         agree" button.  The check for the path ending in "vim" makes the
  13540.         browse dialog hard to use.  The default path when no previous Vim
  13541.         is installed is "c:\vim" instead of "c:\Program Files\Vim".
  13542. Solution:   Remove the background gradient command.  Change the
  13543.         .onVerifyInstDir function to a leave function for the directory
  13544.         page.  Don't let the install program default to c:\vim when no
  13545.         path could be found.
  13546. Files:        nsis/gvim.nsi, src/dosinst.c
  13547.  
  13548. Patch 6.3a.013 (extra)
  13549. Problem:    Win32: Characters in the menu that are not in the active codepage
  13550.         are garbled.
  13551. Solution:   Convert menu strings from 'encoding' to the active codepage.
  13552. Files:        src/gui_w32.c, src/gui_w48.c
  13553.  
  13554. Patch 6.3a.014
  13555. Problem:    Using multi-byte text and highlighting in a statusline causes gaps
  13556.         to appear. (Helmut Stiegler)
  13557. Solution:   Advance the column by text width instead of number of bytes.  Add
  13558.         the vim_strnsize() function.
  13559. Files:        src/charset.c, src/proto/charset.pro, src/screen.c
  13560.  
  13561. Patch 6.3a.015
  13562. Problem:    Using the "select all" menu item when 'insertmode' is set and
  13563.         clicking the mouse button doesn't return to Insert mode.  The
  13564.         Buffers/Delete menu doesn't offer a choice to abandon a changed
  13565.         buffer.  (Jens Paulus)
  13566. Solution:   Don't use CTRL-\ CTRL-N.  Add ":confirm" for the Buffers menu
  13567.         items.
  13568. Files:        runtime/menu.vim
  13569.  
  13570. Patch 6.3a.016
  13571. Problem:    After cancelling the ":confirm" dialog the error message and
  13572.         hit-enter prompt may not be displayed properly.
  13573. Solution:   Flush output after showing the dialog.
  13574. Files:        src/message.c
  13575.  
  13576. Patch 6.3a.017
  13577. Problem:    servername() doesn't work when Vim was started with the "-X"
  13578.         argument or when the "exclude" in 'clipboard' matches the terminal
  13579.         name.  (Robert Nowotniak)
  13580. Solution:   Force connecting to the X server when using client-server
  13581.         commands.
  13582. Files:        src/eval.c, src/globals.h, src/os_unix.c
  13583.  
  13584. Patch 6.3a.018 (after 6.3a.017)
  13585. Problem:    Compiler warning for return value of make_connection().
  13586. Solution:   Use void return type.
  13587. Files:        src/eval.c
  13588.  
  13589. Patch 6.3a.019 (extra)
  13590. Problem:    Win32: typing non-latin1 characters doesn't work.
  13591. Solution:   Invoke _OnChar() directly to avoid that the argument is truncated
  13592.         to a byte.  Convert the UTF-16 character to bytes according to
  13593.         'encoding' and ignore 'termencoding'.  Same for _OnSysChar().
  13594. Files:        src/gui_w32.c, src/gui_w48.c
  13595.  
  13596. Patch 6.3a.020 (extra)
  13597. Problem:    Missing support for AROS (AmigaOS reimplementation).  Amiga GUI
  13598.         doesn't work.
  13599. Solution:   Add AROS support.  (Adam Chodorowski)
  13600.         Fix Amiga GUI problems. (Georg Steger, Ali Akcaagac)
  13601. Files:        Makefile, src/Make_aros.mak, src/gui_amiga.c, src/gui_amiga.h,
  13602.         src/memfile.c, src/os_amiga.c, src/term.c
  13603.  
  13604. Patch 6.3a.021 (after 6.3a.017)
  13605. Problem:    Can't compile with X11 but without GUI.
  13606. Solution:   Put use of "gui.in_use" inside an #ifdef.
  13607. Files:        src/eval.c
  13608.  
  13609. Patch 6.3a.022
  13610. Problem:    When typing Tabs when 'softtabstop' is used and 'list' is set a
  13611.         tab is counted for two spaces.
  13612. Solution:   Use the "L" flag in 'cpoptions' to tell whether a tab is counted
  13613.         as two spaces or as 'tabstop'. (Antony Scriven)
  13614. Files:        runtime/doc/options.txt, src/edit.c
  13615.  
  13616. Patch 6.3a.023
  13617. Problem:    Completion on the command line doesn't handle backslashes
  13618.         properly.  Only the tail of matches is shown, even when not
  13619.         completing filenames.
  13620. Solution:   When turning the string into a pattern double backslashes.  Don't
  13621.         omit the path when not expanding files or directories.
  13622. Files:        src/ex_getln.c
  13623.  
  13624. Patch 6.3a.024
  13625. Problem:    The "save all" toolbar item fails for buffers that don't have a
  13626.         name.  When using ":wa" or closing the Vim window and there are
  13627.         nameless buffers, browsing for a name may cause the name being
  13628.         given to the wrong buffer or not stored properly.  ":browse" only
  13629.         worked for one file.
  13630. Solution:   Use ":confirm browse" for "save all".
  13631.         Pass buffer argument to setfname().  Restore "browse" flag and
  13632.         "forceit" after doing the work for one file.
  13633. Files:        runtime/menu.vim, src/buffer.c, src/ex_cmds.c, src/ex_cmds2.c,
  13634.         src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/memline.c,
  13635.         src/message.c, src/window.c, src/proto/buffer.pro,
  13636.         src/proto/ex_cmds2.pro, src/proto/memline.pro
  13637.  
  13638. Patch 6.3a.025
  13639. Problem:    Setting 'virtualedit' moves the cursor. (Benji Fisher)
  13640. Solution:   Update the virtual column before using it.
  13641. Files:        src/option.c
  13642.  
  13643. Patch 6.3a.026 (extra, after 6.3a.008)
  13644. Problem:    Editing files on Windows 98 doesn't work when 'encoding' is
  13645.         "utf-8" (Antoine Mechelynck)
  13646.         Warning for missing function prototype.
  13647. Solution:   For all wide functions check if it failed because it is not
  13648.         implemented.  Use ANSI function declaration for char_to_string().
  13649. Files:        src/gui_w48.c, src/os_mswin.c, src/os_win32.c
  13650.  
  13651. Patch 6.3a.027 (extra, after 6.3a.026)
  13652. Problem:    Compiler warning for function argument.
  13653. Solution:   Declare both char and WCHAR arrays.
  13654. Files:        src/gui_w48.c
  13655.  
  13656. Patch 6.3a.028
  13657. Problem:    ":normal ." doesn't work inside a function, because redo is saved
  13658.         and restored. (Benji Fisher)
  13659. Solution:   Make a copy of the redo buffer when executing a function.
  13660. Files:        src/getchar.c
  13661.  
  13662. Patch 6.3b.001 (extra)
  13663. Problem:    Bcc 5: The generated auto/pathdef can't be compiled.
  13664. Solution:   Fix the way quotes and backslashes are escaped.
  13665. Files:        src/Make_bc5.mak
  13666.  
  13667. Patch 6.3b.002
  13668. Problem:    Win32: conversion during file write fails when a double-byte
  13669.         character is split over two writes.
  13670. Solution:   Fix the conversion retry without a trailing byte. (Taro Muraoka)
  13671. Files:        src/fileio.c
  13672.  
  13673. Patch 6.3b.003 (extra)
  13674. Problem:    Win32: When compiling with Borland C 5.5 and 'encoding' is "utf-8"
  13675.         then Vim can't open files under MS-Windows 98. (Antoine J.
  13676.         Mechelynck)
  13677. Solution:   Don't use _wstat(), _wopen() and _wfopen() in this situation.
  13678. Files:        src/os_mswin.c, src/os_win32.c
  13679.  
  13680. Patch 6.3b.004
  13681. Problem:    ":helpgrep" includes a trailing CR in the text line.
  13682. Solution:   Remove the CR.
  13683. Files:        src/quickfix.c
  13684.  
  13685. Patch 6.3b.005
  13686. Problem:    ":echo &g:ai" results in the local option value. (Salman Halim)
  13687. Solution:   Pass the flags from find_option_end() to get_option_value().
  13688. Files:        src/eval.c
  13689.  
  13690. Patch 6.3b.006
  13691. Problem:    When using "mswin.vim", CTRL-V in Insert mode leaves cursor before
  13692.         last pasted character.  (Mathew Davis)
  13693. Solution:   Use the same Paste() function as in menu.vim.
  13694. Files:        runtime/mswin.vim
  13695.  
  13696. Patch 6.3b.007
  13697. Problem:    Session file doesn't restore view on windows properly. (Robert
  13698.         Webb)
  13699. Solution:   Restore window sizes both before and after restoring the view, so
  13700.         that the view, cursor position and size are restored properly.
  13701. Files:        src/ex_docmd.c
  13702.  
  13703. Patch 6.3b.008
  13704. Problem:    Using ":finally" in a user command doesn't always work. (Hari
  13705.         Krishna Dara)
  13706. Solution:   Don't assume that using getexline() means the command was typed.
  13707. Files:        src/ex_docmd.c
  13708.  
  13709. Patch 6.3b.009 (extra)
  13710. Problem:    Win32: When the -P argument is not found in a window title, there
  13711.         is no error message.
  13712. Solution:   When the window can't be found give an error message and exit.
  13713.         Also use try/except to catch failing to open the MDI window.
  13714.         (Michael Wookey)
  13715. Files:        src/gui_w32.c
  13716.  
  13717. Patch 6.3b.010
  13718. Problem:    Win32: Using the "-D" argument and expanding arguments may cause a
  13719.         hang, because the terminal isn't initialized yet. (Vince Negri)
  13720. Solution:   Don't go into debug mode before the terminal is initialized.
  13721. Files:        src/main.c
  13722.  
  13723. Patch 6.3b.011
  13724. Problem:    Using CTRL-\ e while obtaining an expression aborts the command
  13725.         line. (Hari Krishna Dara)
  13726. Solution:   Insert the CTRL-\ e as typed.
  13727. Files:        src/ex_getln.c
  13728.  
  13729. Patch 6.3b.012 (after 6.3b.010)
  13730. Problem:    Can't compile with tiny features. (Norbert Tretkowski)
  13731. Solution:   Add #ifdefs.
  13732. Files:        src/main.c
  13733.  
  13734. Patch 6.3b.013
  13735. Problem:    Loading a session file results in editing the wrong file in the
  13736.         first window when this is not the file at the current position in
  13737.         the argument list. (Robert Webb)
  13738. Solution:   Check w_arg_idx_invalid to decide whether to edit a file.
  13739. Files:        src/ex_docmd.c
  13740.  
  13741. Patch 6.3b.014
  13742. Problem:    ":runtime! foo*.vim" may using freed memory when a sourced script
  13743.         changes the value of 'runtimepath'.
  13744. Solution:   Make a copy of 'runtimepath' when looping over the matches.
  13745. Files:        src/ex_cmds2.c
  13746.  
  13747. Patch 6.3b.015
  13748. Problem:    Get lalloc(0) error when using "p" in Visual mode while
  13749.         'clipboard' contains "autoselect,unnamed". (Mark Wagonner)
  13750. Solution:   Avoid allocating zero bytes.  Obtain the clipboard when necessary.
  13751. Files:        src/ops.c
  13752.  
  13753. Patch 6.3b.016
  13754. Problem:    When 'virtualedit' is used "x" doesn't delete the last character
  13755.         of a line that has as many characters as 'columns'. (Yakov Lerner)
  13756. Solution:   When the cursor isn't moved let oneright() return FAIL.
  13757. Files:        src/edit.c
  13758.  
  13759. Patch 6.3b.017
  13760. Problem:    Win32: "vim --remote-wait" doesn't exit when the server finished
  13761.         editing the file. (David Fishburn)
  13762. Solution:   In the rrhelper plugin change backslashes to forward slashes and
  13763.         escape special characters.
  13764. Files:        runtime/plugin/rrhelper.vim
  13765.  
  13766. Patch 6.3b.018
  13767. Problem:    The list of help files in the "local additions" table doesn't
  13768.         recognize utf-8 encoding. (Yasuhiro Matsumoto)
  13769. Solution:   Recognize utf-8 characters.
  13770. Files:        src/ex_cmds.c
  13771.  
  13772. Patch 6.3b.019
  13773. Problem:    When $VIMRUNTIME is not a full path name the "local additions"
  13774.         table lists all the help files.
  13775. Solution:   Use fullpathcmp() instead of fnamecmp() to compare the directory
  13776.         names.
  13777. Files:        src/ex_cmds.c
  13778.  
  13779. Patch 6.3b.020
  13780. Problem:    When using CTRL-^ when entering a search string, the item in the
  13781.         statusline that indicates the keymap is not updated. (Ilya
  13782.         Dogolazky)
  13783. Solution:   Mark the statuslines for updating.
  13784. Files:        src/ex_getln.c
  13785.  
  13786. Patch 6.3b.021
  13787. Problem:    The swapfile is not readable for others, the ATTENTION prompt does
  13788.         not show all info when someone else is editing the same file.
  13789.         (Marcel Svitalsky)
  13790. Solution:   Use the protection of original file for the swapfile and set it
  13791.         after creating the swapfile.
  13792. Files:        src/fileio.c
  13793.  
  13794. Patch 6.3b.022
  13795. Problem:    Using "4v" to select four times the old Visual area may put the
  13796.         cursor beyond the end of the line. (Jens Paulus)
  13797. Solution:   Correct the cursor column.
  13798. Files:        src/normal.c
  13799.  
  13800. Patch 6.3b.023
  13801. Problem:    When "3dip" starts in an empty line, white lines after the
  13802.         non-white lines are not deleted. (Jens Paulus)
  13803. Solution:   Include the white lines.
  13804. Files:        src/search.c
  13805.  
  13806. Patch 6.3b.024
  13807. Problem:    "2daw" does not delete leading white space like "daw" does.  (Jens
  13808.         Paulus)
  13809. Solution:   Include the white space when a count is used.
  13810. Files:        src/search.c
  13811.  
  13812. Patch 6.3b.025
  13813. Problem:    Percentage in ruler isn't updated when a line is deleted. (Jens
  13814.         Paulus)
  13815. Solution:   Check for a change in line count when deciding to update the ruler.
  13816. Files:        src/screen.c, src/structs.h
  13817.  
  13818. Patch 6.3b.026
  13819. Problem:    When selecting "abort" at the ATTENTION prompt for a file that is
  13820.         already being edited Vim crashes.
  13821. Solution:   Don't abort creating a new buffer when we really need it.
  13822. Files:        src/buffer.c, src/vim.h
  13823.  
  13824. Patch 6.3b.027
  13825. Problem:    Win32: When enabling the menu in a maximized window, Vim uses more
  13826.         lines than what is room for. (Shizhu Pan)
  13827. Solution:   When deciding to call shell_resized(), also compare the text area
  13828.         size with Rows and Columns, not just with screen_Rows and
  13829.         screen_Columns.
  13830. Files:        src/gui.c
  13831.  
  13832. Patch 6.3b.028
  13833. Problem:    When in diff mode, setting 'rightleft' causes a crash. (Eddine)
  13834. Solution:   Check for last column differently when 'rightleft' is set.
  13835. Files:        src/screen.c
  13836.  
  13837. Patch 6.3b.029
  13838. Problem:    Win32: warning for uninitialized variable.
  13839. Solution:   Initialize to zero.
  13840. Files:        src/misc1.c
  13841.  
  13842. Patch 6.3b.030
  13843. Problem:    After Visually selecting four characters, changing it to other
  13844.         text, Visually selecting and yanking two characters: "." changes
  13845.         four characters, another "." changes two characters. (Robert Webb)
  13846. Solution:   Don't store the size of the Visual area when redo is active.
  13847. Files:        src/normal.c
  13848.  
  13849. ==============================================================================
  13850. VERSION 6.4                        *version-6.4*
  13851.  
  13852. This section is about improvements made between version 6.3 and 6.4.
  13853.  
  13854. This is a bug-fix release.  There are also a few new features.  The major
  13855. number of new items is in the runtime files and translations.
  13856.  
  13857. The big MS-Windows version now uses:
  13858.     Ruby version 1.8.3
  13859.     Perl version 5.8.7
  13860.     Python version 2.4.2
  13861.  
  13862.  
  13863. Changed                            *changed-6.4*
  13864. -------
  13865.  
  13866. Removed runtime/tools/tcltags, Exuberant ctags does it better.
  13867.  
  13868.  
  13869. Added                            *added-6.4*
  13870. -----
  13871.  
  13872. Alsaconf syntax file (Nikolai Weibull)
  13873. Eruby syntax, indent, compiler and ftplugin file (Doug Kearns)
  13874. Esterel syntax file (Maurizio Tranchero)
  13875. Mathematica indent file (Steve Layland)
  13876. Netrc syntax file (Nikolai Weibull)
  13877. PHP compiler file (Doug Kearns)
  13878. Pascal indent file (Neil Carter)
  13879. Prescribe syntax file (Klaus Muth)
  13880. Rubyunit compiler file (Doug Kearns)
  13881. SMTPrc syntax file (Kornel Kielczewski)
  13882. Sudoers syntax file (Nikolai Weibull)
  13883. TPP syntax file (Gerfried Fuchs)
  13884. VHDL ftplugin file (R. Shankar)
  13885. Verilog-AMS syntax file (S. Myles Prather)
  13886.  
  13887. Bulgarian keymap (Alberto Mardegan)
  13888. Canadian keymap (Eric Joanis)
  13889.  
  13890. Hungarian menu translations in UTF-8 (Kantra Gergely)
  13891. Ukrainian menu translations (Bohdan Vlasyuk)
  13892.  
  13893. Irish message translations (Kevin Patrick Scannell)
  13894.  
  13895. Configure also checks for tclsh8.4.
  13896.  
  13897.  
  13898. Fixed                            *fixed-6.4*
  13899. -----
  13900.  
  13901. "dFxd;" deleted the character under the cursor, "d;" didn't remember the
  13902. exclusiveness of the motion.
  13903.  
  13904. When using "set laststatus=2 cmdheight=2" in the .gvimrc you may only get one
  13905. line for the cmdline. (Christian Robinson)  Invoke command_height() after the
  13906. GUI has started up.
  13907.  
  13908. Gcc would warn "dereferencing type-punned pointer will break strict -aliasing
  13909. rules".  Avoid using typecasts for variable pointers.
  13910.  
  13911. Gcc 3.x interprets the -MM argument differently.  Change "-I /path" to
  13912. "-isystem /path" for "make depend".
  13913.  
  13914.  
  13915. Patch 6.3.001
  13916. Problem:    ":browse split" gives the file selection dialog twice. (Gordon
  13917.         Bazeley)  Same problem for ":browse diffpatch".
  13918. Solution:   Reset cmdmod.browse before calling do_ecmd().
  13919. Files:        src/diff.c, src/ex_docmd.c
  13920.  
  13921. Patch 6.3.002
  13922. Problem:    When using translated help files with non-ASCII latin1 characters
  13923.         in the first line the utf-8 detection is wrong.
  13924. Solution:   Properly detect utf-8 characters.  When a mix of encodings is
  13925.         detected continue with the next language and avoid a "no matches"
  13926.         error because of "got_int" being set.  Add the directory name to
  13927.         the error message for a duplicate tag.
  13928. Files:        src/ex_cmds.c
  13929.  
  13930. Patch 6.3.003
  13931. Problem:    Crash when using a console dialog and the first choice does not
  13932.         have a default button. (Darin Ohashi)
  13933. Solution:   Allocate two more characters for the [] around the character for
  13934.         the default choice.
  13935. Files:        src/message.c
  13936.  
  13937. Patch 6.3.004
  13938. Problem:    When searching for a long string (140 chars in a 80 column
  13939.         terminal) get three hit-enter prompts. (Robert Webb)
  13940. Solution:   Avoid the hit-enter prompt when giving the message for wrapping
  13941.         around the end of the buffer.  Don't give that message again when
  13942.         the string was not found.
  13943. Files:        src/message.c, src/search.c
  13944.  
  13945. Patch 6.3.005
  13946. Problem:    Crash when searching for a pattern with a character offset and
  13947.         starting in a closed fold. (Frank Butler)
  13948. Solution:   Check for the column to be past the end of the line.  Also fix
  13949.         that a pattern with a character offset relative to the end isn't
  13950.         read back from the viminfo properly.
  13951. Files:        src/search.c
  13952.  
  13953. Patch 6.3.006
  13954. Problem:    ":breakadd file *foo" prepends the current directory to the file
  13955.         pattern. (Hari Krishna Dara)
  13956. Solution:   Keep the pattern as-is.
  13957. Files:        src/ex_cmds2.c
  13958.  
  13959. Patch 6.3.007
  13960. Problem:    When there is a buffer with 'buftype' set to "nofile" and using a
  13961.         ":cd" command, the swap file is not deleted when exiting.
  13962. Solution:   Use the full path of the swap file also for "nofile" buffers.
  13963. Files:        src/fileio.c
  13964.  
  13965. Patch 6.3.008
  13966. Problem:    Compiling fails under OS/2.
  13967. Solution:   Include "e_screenmode" also for OS/2. (David Sanders)
  13968. Files:        src/globals.h
  13969.  
  13970. Patch 6.3.009 (after 6.3.006)
  13971. Problem:    ":breakadd file /path/foo.vim" does not match when a symbolic link
  13972.         is involved.  (Servatius Brandt)
  13973. Solution:   Do expand the pattern when it does not start with "*".
  13974. Files:        runtime/doc/repeat.txt, src/ex_cmds2.c
  13975.  
  13976. Patch 6.3.010
  13977. Problem:    When writing to a named pipe there is an error for fsync()
  13978.         failing.
  13979. Solution:   Ignore the fsync() error for devices.
  13980. Files:        src/fileio.c
  13981.  
  13982. Patch 6.3.011
  13983. Problem:    Crash when the completion function of a user-command uses a
  13984.         "normal :cmd" command.  (Hari Krishna Dara)
  13985. Solution:   Save the command line when invoking the completion function.
  13986. Files:        src/ex_getln.c
  13987.  
  13988. Patch 6.3.012
  13989. Problem:    Internal lalloc(0) error when using a complicated multi-line
  13990.         pattern in a substitute command. (Luc Hermitte)
  13991. Solution:   Avoid going past the end of a line.
  13992. Files:        src/ex_cmds.c
  13993.  
  13994. Patch 6.3.013
  13995. Problem:    Crash when editing a command line and typing CTRL-R = to evaluate
  13996.         a function that uses "normal :cmd". (Hari Krishna Dara)
  13997. Solution:   Save and restore the command line when evaluating an expression
  13998.         for CTRL-R =.
  13999. Files:        src/ex_getln.c, src/ops.c, src/proto/ex_getln.pro,
  14000.         src/proto/ops.pro
  14001.  
  14002. Patch 6.3.014
  14003. Problem:    When using Chinese or Taiwanese the default for 'helplang' is
  14004.         wrong. (Simon Liang)
  14005. Solution:   Use the part of the locale name after "zh_".
  14006. Files:        src/option.c
  14007.  
  14008. Patch 6.3.015
  14009. Problem:    The string that winrestcmd() returns may end in garbage.
  14010. Solution:   NUL-terminate the string. (Walter Briscoe)
  14011. Files:        src/eval.c
  14012.  
  14013. Patch 6.3.016
  14014. Problem:    The default value for 'define' has "\s" before '#'.
  14015. Solution:   Add a star after "\s". (Herculano de Lima Einloft Neto)
  14016. Files:        src/option.c
  14017.  
  14018. Patch 6.3.017
  14019. Problem:    "8zz" may leave the cursor beyond the end of the line. (Niko
  14020.         Maatjes)
  14021. Solution:   Correct the cursor column after moving to another line.
  14022. Files:        src/normal.c
  14023.  
  14024. Patch 6.3.018
  14025. Problem:    ":0argadd zero" added the argument after the first one, instead of
  14026.         before it. (Adri Verhoef)
  14027. Solution:   Accept a zero range for ":argadd".
  14028. Files:        src/ex_cmds.h
  14029.  
  14030. Patch 6.3.019
  14031. Problem:    Crash in startup for debug version. (David Rennals)
  14032. Solution:   Move the call to nbdebug_wait() to after allocating NameBuff.
  14033. Files:        src/main.c
  14034.  
  14035. Patch 6.3.020
  14036. Problem:    When 'encoding' is "utf-8" and 'delcombine' is set, "dw" does not
  14037.         delete a word but only a combining character of the first
  14038.         character, if there is one. (Raphael Finkel)
  14039. Solution:   Correctly check that one character is being deleted.
  14040. Files:        src/misc1.c
  14041.  
  14042. Patch 6.3.021
  14043. Problem:    When the last character of a file name is a multi-byte character
  14044.         and the last byte is a path separator, the file cannot be edited.
  14045. Solution:   Check for the last byte to be part of a multi-byte character.
  14046.         (Taro Muraoka)
  14047. Files:        src/fileio.c
  14048.  
  14049. Patch 6.3.022 (extra)
  14050. Problem:    Win32: When the last character of a file name is a multi-byte
  14051.         character and the last byte is a path separator, the file cannot
  14052.         be written.  A trail byte that is a space makes that a file cannot
  14053.         be opened from the command line.
  14054. Solution:   Recognize double-byte characters when parsing the command line.
  14055.         In mch_stat() check for the last byte to be part of a multi-byte
  14056.         character.  (Taro Muraoka)
  14057. Files:        src/gui_w48.c, src/os_mswin.c
  14058.  
  14059. Patch 6.3.023
  14060. Problem:    When the "to" part of a mapping starts with its "from" part,
  14061.         abbreviations for the same characters is not possible.  For
  14062.         example, when <Space> is mapped to something that starts with a
  14063.         space, typing <Space> does not expand abbreviations.
  14064. Solution:   Only disable expanding abbreviations when a mapping is not
  14065.         remapped, don't disable it when the RHS of a mapping starts with
  14066.         the LHS.
  14067. Files:        src/getchar.c, src/vim.h
  14068.  
  14069. Patch 6.3.024
  14070. Problem:    In a few places a string in allocated memory is not terminated
  14071.         with a NUL.
  14072. Solution:   Add ga_append(NUL) in script_get(), gui_do_findrepl() and
  14073.         serverGetVimNames().
  14074. Files:        src/ex_getln.c, src/gui.c, src/if_xcmdsrv.c, src/os_mswin.c
  14075.  
  14076. Patch 6.3.025 (extra)
  14077. Problem:    Missing NUL for list of server names.
  14078. Solution:   Add ga_append(NUL) in serverGetVimNames().
  14079. Files:        src/os_mswin.c
  14080.  
  14081. Patch 6.3.026
  14082. Problem:    When ~/.vim/after/syntax/syncolor.vim contains a command that
  14083.         reloads the colors an endless loop and/or a crash may occur.
  14084. Solution:   Only free the old value of an option when it was originally
  14085.         allocated.  Limit recursiveness of init_highlight() to 5 levels.
  14086. Files:        src/option.c, src/syntax.c
  14087.  
  14088. Patch 6.3.027
  14089. Problem:    VMS: Writing a file may insert extra CR characters.  Not all
  14090.         terminals are recognized correctly.  Vt320 doesn't support colors.
  14091.         Environment variables are not expanded correctly.
  14092. Solution:   Use another method to write files.  Add vt320 termcap codes for
  14093.         colors.  (Zoltan Arpadffy)
  14094. Files:        src/fileio.c, src/misc1.c, src/os_unix.c, src/structs.h,
  14095.         src/term.c
  14096.  
  14097. Patch 6.3.028
  14098. Problem:    When appending to a file the BOM marker may be written.  (Alex
  14099.         Jakushev)
  14100. Solution:   Do not write the BOM marker when appending.
  14101. Files:        src/fileio.c
  14102.  
  14103. Patch 6.3.029
  14104. Problem:    Crash when inserting a line break. (Walter Briscoe)
  14105. Solution:   In the syntax highlighting code, don't use an old state after a
  14106.         change was made, current_col may be past the end of the line.
  14107. Files:        src/syntax.c
  14108.  
  14109. Patch 6.3.030
  14110. Problem:    GTK 2: Crash when sourcing a script that deletes the menus, sets
  14111.         'encoding' to "utf-8" and loads the menus again.  GTK error
  14112.         message when tooltip text is in a wrong encoding.
  14113. Solution:   Don't copy characters from the old screen to the new screen when
  14114.         switching 'encoding' to utf-8, they may be invalid.  Only set the
  14115.         tooltip when it is valid utf-8.
  14116. Files:        src/gui_gtk.c, src/mbyte.c, src/proto/mbyte.pro, src/screen.c
  14117.  
  14118. Patch 6.3.031
  14119. Problem:    When entering a mapping and pressing Tab halfway the command line
  14120.         isn't redrawn properly. (Adri Verhoef)
  14121. Solution:   Reposition the cursor after drawing over the "..." of the
  14122.         completion attempt.
  14123. Files:        src/ex_getln.c
  14124.  
  14125. Patch 6.3.032
  14126. Problem:    Using Python 2.3 with threads doesn't work properly.
  14127. Solution:   Release the lock after initialization.
  14128. Files:        src/if_python.c
  14129.  
  14130. Patch 6.3.033
  14131. Problem:    When a mapping ends in a Normal mode command of more than one
  14132.         character Vim doesn't return to Insert mode.
  14133. Solution:   Check that the mapping has ended after obtaining all characters of
  14134.         the Normal mode command.
  14135. Files:        src/normal.c
  14136.  
  14137. Patch 6.3.034
  14138. Problem:    VMS: crash when using ":help".
  14139. Solution:   Avoid using "tags-??", some Open VMS systems can't handle the "?"
  14140.         wildcard.  (Zoltan Arpadffy)
  14141. Files:        src/tag.c
  14142.  
  14143. Patch 6.3.035 (extra)
  14144. Problem:    RISC OS: Compile errors.
  14145. Solution:   Change e_screnmode to e_screenmode.  Change the way
  14146.         __riscosify_control is set.  Improve the makefile.  (Andy Wingate)
  14147. Files:        src/os_riscos.c, src/search.c, src/Make_ro.mak
  14148.  
  14149. Patch 6.3.036
  14150. Problem:    ml_get errors when the whole file is a fold, switching
  14151.         'foldmethod' and doing "zj". (Christian J. Robinson) Was not
  14152.         deleting the fold but creating a fold with zero lines.
  14153. Solution:   Delete the fold properly.
  14154. Files:        src/fold.c
  14155.  
  14156. Patch 6.3.037 (after 6.3.032)
  14157. Problem:    Warning for unused variable.
  14158. Solution:   Change the #ifdefs for the saved thread stuff.
  14159. Files:        src/if_python.c
  14160.  
  14161. Patch 6.3.038 (extra)
  14162. Problem:    Win32: When the "file changed" dialog pops up after a click that
  14163.         gives gvim focus and not moving the mouse after that, the effect
  14164.         of the click may occur when moving the mouse later. (Ken Clark)
  14165.         Happened because the release event was missed.
  14166. Solution:   Clear the s_button_pending variable when any input is received.
  14167. Files:        src/gui_w48.c
  14168.  
  14169. Patch 6.3.039
  14170. Problem:    When 'number' is set and inserting lines just above the first
  14171.         displayed line (in another window on the same buffer), the line
  14172.         numbers are not updated.  (Hitier Sylvain)
  14173. Solution:   When 'number' is set and lines are inserted/deleted redraw all
  14174.         lines below the change.
  14175. Files:        src/screen.c
  14176.  
  14177. Patch 6.3.040
  14178. Problem:    Error handling does not always work properly and may cause a
  14179.         buffer to be marked as if it's viewed in a window while it isn't.
  14180.         Also when selecting "Abort" at the attention prompt.
  14181. Solution:   Add enter_cleanup() and leave_cleanup() functions to move
  14182.         saving/restoring things for error handling to one place.
  14183.         Clear a buffer read error when it's unloaded.
  14184. Files:        src/buffer.c, src/ex_docmd.c, src/ex_eval.c,
  14185.         src/proto/ex_eval.pro, src/structs.h, src/vim.h
  14186.  
  14187. Patch 6.3.041 (extra)
  14188. Problem:    Win32: When the path to a file has Russian characters, ":cd %:p:h"
  14189.         doesn't work. (Valery Kondakoff)
  14190. Solution:   Use a wide function to change directory.
  14191. Files:        src/os_mswin.c
  14192.  
  14193. Patch 6.3.042
  14194. Problem:    When there is a closed fold at the top of the window, CTRL-X
  14195.         CTRL-E in Insert mode reduces the size of the fold instead of
  14196.         scrolling the text up. (Gautam)
  14197. Solution:   Scroll over the closed fold.
  14198. Files:        src/move.c
  14199.  
  14200. Patch 6.3.043
  14201. Problem:    'hlsearch' highlighting sometimes disappears when inserting text
  14202.         in PHP code with syntax highlighting. (Marcel Svitalsky)
  14203. Solution:   Don't use pointers to remember where a match was found, use an
  14204.         index.  The pointers may become invalid when searching in other
  14205.         lines.
  14206. Files:        src/screen.c
  14207.  
  14208. Patch 6.3.044 (extra)
  14209. Problem:    Mac: When 'linespace' is non-zero the Insert mode cursor leaves
  14210.         pixels behind. (Richard Sandilands)
  14211. Solution:   Erase the character cell before drawing the text when needed.
  14212. Files:        src/gui_mac.c
  14213.  
  14214.  
  14215. Patch 6.3.045
  14216. Problem:    Unusual characters in an option value may cause unexpected
  14217.         behavior, especially for a modeline. (Ciaran McCreesh)
  14218. Solution:   Don't allow setting termcap options or 'printdevice' in a
  14219.         modeline.  Don't list options for "termcap" and "all" in a
  14220.         modeline.  Don't allow unusual characters in 'filetype', 'syntax',
  14221.         'backupext', 'keymap', 'patchmode' and 'langmenu'.
  14222. Files:        src/option.c, runtime/doc/options.txt
  14223.  
  14224. Patch 6.3.046
  14225. Problem:    ":registers" doesn't show multi-byte characters properly.
  14226.         (Valery Kondakoff)
  14227. Solution:   Get the length of each character before displaying it.
  14228. Files:        src/ops.c
  14229.  
  14230. Patch 6.3.047 (extra)
  14231. Problem:    Win32 with Borland C 5.5 on Windows XP: A new file is created with
  14232.         read-only attributes. (Tony Mechelynck)
  14233. Solution:   Don't use the _wopen() function for Borland.
  14234. Files:        src/os_win32.c
  14235.  
  14236. Patch 6.3.048 (extra)
  14237. Problem:    Build problems with VMS on IA64.
  14238. Solution:   Add dependencies to the build file. (Zoltan Arpadffy)
  14239. Files:        src/Make_vms.mms
  14240.  
  14241. Patch 6.3.049 (after 6.3.045)
  14242. Problem:    Compiler warning for "char" vs "char_u" mixup. (Zoltan Arpadffy)
  14243. Solution:   Add a typecast.
  14244. Files:        src/option.c
  14245.  
  14246. Patch 6.3.050
  14247. Problem:    When SIGHUP is received while busy exiting, non-reentrant
  14248.         functions such as free() may cause a crash.
  14249. Solution:   Ignore SIGHUP when exiting because of an error. (Scott Anderson)
  14250. Files:        src/misc1.c, src/main.c
  14251.  
  14252. Patch 6.3.051
  14253. Problem:    When 'wildmenu' is set and completed file names contain multi-byte
  14254.         characters Vim may crash.
  14255. Solution:   Reserve room for multi-byte characters. (Yasuhiro Matsumoto)
  14256. Files:        src/screen.c
  14257.  
  14258. Patch 6.3.052 (extra)
  14259. Problem:    Windows 98: typed keys that are not ASCII may not work properly.
  14260.         For example with a Russian input method. (Jiri Jezdinsky)
  14261. Solution:   Assume that the characters arrive in the current codepage instead
  14262.         of UCS-2.  Perform conversion based on that.
  14263. Files:        src/gui_w48.c
  14264.  
  14265. Patch 6.3.053
  14266. Problem:    Win32: ":loadview" cannot find a file with non-ASCII characters.
  14267.         (Valerie Kondakoff)
  14268. Solution:   Use mch_open() instead of open() to open the file.
  14269. Files:        src/ex_cmds2.c
  14270.  
  14271. Patch 6.3.054
  14272. Problem:    When 'insertmode' is set <C-L>4ixxx<C-L> hangs Vim. (Jens Paulus)
  14273.         Vim is actually still working but redraw is disabled.
  14274. Solution:   When stopping Insert mode with CTRL-L don't put an Esc in the redo
  14275.         buffer but a CTRL-L.
  14276. Files:        src/edit.c
  14277.  
  14278. Patch 6.3.055 (after 6.3.013)
  14279. Problem:    Can't use getcmdline(), getcmdpos() or setcmdpos() with <C-R>=
  14280.         when editing a command line.  Using <C-\>e may crash Vim. (Peter
  14281.         Winters)
  14282. Solution:   When moving ccline out of the way for recursive use, make it
  14283.         available to the functions that need it.  Also save and restore
  14284.         ccline when calling get_expr_line().  Make ccline.cmdbuf NULL at
  14285.         the end of getcmdline().
  14286. Files:        src/ex_getln.c
  14287.  
  14288. Patch 6.3.056
  14289. Problem:    The last characters of a multi-byte file name may not be displayed
  14290.         in the window title.
  14291. Solution:   Avoid to remove a multi-byte character where the last byte looks
  14292.         like a path separator character. (Yasuhiro Matsumoto)
  14293. Files:        src/buffer.c, src/ex_getln.c
  14294.  
  14295. Patch 6.3.057
  14296. Problem:    When filtering lines folds are not updated. (Carl Osterwisch)
  14297. Solution:   Update folds for filtered lines.
  14298. Files:        src/ex_cmds.c
  14299.  
  14300. Patch 6.3.058
  14301. Problem:    When 'foldcolumn' is equal to the window width and 'wrap' is on
  14302.         Vim may crash.  Disabling the vertical split feature breaks
  14303.         compiling.  (Peter Winters)
  14304. Solution:   Check for zero room for wrapped text.  Make compiling without
  14305.         vertical splits possible.
  14306. Files:        src/move.c, src/quickfix.c, src/screen.c, src/netbeans.c
  14307.  
  14308. Patch 6.3.059
  14309. Problem:    Crash when expanding an ":edit" command containing several spaces
  14310.         with the shell. (Brian Hirt)
  14311. Solution:   Allocate enough space for the quotes.
  14312. Files:        src/os_unix.c
  14313.  
  14314. Patch 6.3.060
  14315. Problem:    Using CTRL-R CTRL-O in Insert mode with an invalid register name
  14316.         still causes something to be inserted.
  14317. Solution:   Check the register name for being valid.
  14318. Files:        src/edit.c
  14319.  
  14320. Patch 6.3.061
  14321. Problem:    When editing a utf-8 file in an utf-8 xterm and there is a
  14322.         multi-byte character in the last column, displaying is messed up.
  14323.         (Joδl Rio)
  14324. Solution:   Check for a multi-byte character, not a multi-column character.
  14325. Files:        src/screen.c
  14326.  
  14327. Patch 6.3.062
  14328. Problem:    ":normal! gQ" hangs.
  14329. Solution:   Quit getcmdline() and do_exmode() when out of typeahead.
  14330. Files:        src/ex_getln.c, src/ex_docmd.c
  14331.  
  14332. Patch 6.3.063
  14333. Problem:    When a CursorHold autocommand changes to another window
  14334.         (temporarily) 'mousefocus' stops working.
  14335. Solution:   Call gui_mouse_correct() after triggering CursorHold.
  14336. Files:        src/gui.c
  14337.  
  14338. Patch 6.3.064
  14339. Problem:    line2byte(line("$") + 1) sometimes returns the wrong number.
  14340.         (Charles Campbell)
  14341. Solution:   Flush the cached line before counting the bytes.
  14342. Files:        src/memline.c
  14343.  
  14344. Patch 6.3.065
  14345. Problem:    The euro digraph doesn't always work.
  14346. Solution:   Add an "e=" digraph for Unicode euro character and adjust the
  14347.         help files.
  14348. Files:        src/digraph.c, runtime/doc/digraph.txt
  14349.  
  14350. Patch 6.3.066
  14351. Problem:    Backup file may get wrong permissions.
  14352. Solution:   Use permissions of original file for backup file in more places.
  14353. Files:        src/fileio.c
  14354.  
  14355. Patch 6.3.067 (after 6.3.066)
  14356. Problem:    Newly created file gets execute permission.
  14357. Solution:   Check for "perm" to be negative before using it.
  14358. Files:        src/fileio.c
  14359.  
  14360. Patch 6.3.068
  14361. Problem:    When editing a compressed file xxx.gz which is a symbolic link to
  14362.         the actual file a ":write" renames the link.
  14363. Solution:   Resolve the link, so that the actual file is renamed and
  14364.         compressed.
  14365. Files:        runtime/plugin/gzip.vim
  14366.  
  14367. Patch 6.3.069
  14368. Problem:    When converting text with illegal characters Vim may crash.
  14369. Solution:   Avoid that too much is subtracted from the length. (Da Woon Jung)
  14370. Files:        src/mbyte.c
  14371.  
  14372. Patch 6.3.070
  14373. Problem:    After ":set number linebreak wrap" and a vertical split, moving
  14374.         the vertical separator far left will crash Vim. (Georg Dahn)
  14375. Solution:   Avoid dividing by zero.
  14376. Files:        src/charset.c
  14377.  
  14378. Patch 6.3.071
  14379. Problem:    The message for CTRL-X mode is still displayed after an error for
  14380.         'thesaurus' or 'dictionary' being empty.
  14381. Solution:   Clear "edit_submode".
  14382. Files:        src/edit.c
  14383.  
  14384. Patch 6.3.072
  14385. Problem:    Crash in giving substitute message when language is Chinese and
  14386.         encoding is utf-8. (Yongwei)
  14387. Solution:   Make the msg_buf size larger when using multi-byte.
  14388. Files:        src/vim.h
  14389.  
  14390. Patch 6.3.073
  14391. Problem:    Win32 GUI: When the Vim window is partly above or below the
  14392.         screen, scrolling causes display errors when the taskbar is not on
  14393.         that side.
  14394. Solution:   Use the SW_INVALIDATE flag when the Vim window is partly below or
  14395.         above the screen.
  14396. Files:        src/gui_w48.c
  14397.  
  14398. Patch 6.3.074
  14399. Problem:    When mswin.vim is used and 'insertmode' is set, typing text in
  14400.         Select mode and then using CTRL-V results in <SNR>99_Pastegi.
  14401.         (Georg Dahn)
  14402. Solution:   When restart_edit is set use "d" instead of "c" to remove the
  14403.         selected text to avoid calling edit() twice.
  14404. Files:        src/normal.c
  14405.  
  14406. Patch 6.3.075
  14407. Problem:    After unloading another buffer, syntax highlighting in the current
  14408.         buffer may be wrong when it uses "containedin". (Eric Arnold)
  14409. Solution:   Use "buf" instead of "curbuf" in syntax_clear().
  14410. Files:        src/syntax.c
  14411.  
  14412. Patch 6.3.076
  14413. Problem:    Crash when using cscope and there is a parse error (e.g., line too
  14414.         long). (Alexey I. Froloff)
  14415. Solution:   Pass the actual number of matches to cs_manage_matches() and
  14416.         correctly handle the error situation.
  14417. Files:        src/if_cscope.c
  14418.  
  14419. Patch 6.3.077 (extra)
  14420. Problem:    VMS: First character input after ESC was not recognized.
  14421. Solution:   Added TRM$M_TM_TIMED in vms_read().  (Zoltan Arpadffy)
  14422. Files:        src/os_vms.c
  14423.  
  14424. Patch 6.3.078 (extra, after 6.3.077)
  14425. Problem:    VMS: Performance issue after patch 6.3.077
  14426. Solution:   Add a timeout in the itemlist.  (Zoltan Arpadffy)
  14427. Files:        src/os_vms.c
  14428.  
  14429. Patch 6.3.079
  14430. Problem:    Crash when executing a command in the command line window while
  14431.         syntax highlighting is enabled. (Pero Brbora)
  14432. Solution:   Don't use a pointer to a buffer that has been deleted.
  14433. Files:        src/syntax.c
  14434.  
  14435. Patch 6.3.080 (extra)
  14436. Problem:    Win32: With 'encoding' set to utf-8 while the current codepage is
  14437.         Chinese editing a file with some specific characters in the name
  14438.         fails.
  14439. Solution:   Use _wfullpath() instead of _fullpath() when necessary.
  14440. Files:        src/os_mswin.c
  14441.  
  14442. Patch 6.3.081
  14443. Problem:    Unix: glob() may execute a shell command when it's not wanted.
  14444.         (Georgi Guninski)
  14445. Solution:   Verify the sandbox flag is not set.
  14446. Files:        src/os_unix.c
  14447.  
  14448. Patch 6.3.082 (after 6.3.081)
  14449. Problem:    Unix: expand() may execute a shell command when it's not wanted.
  14450.         (Georgi Guninski)
  14451. Solution:   A more generic solution than 6.3.081.
  14452. Files:        src/os_unix.c
  14453.  
  14454. Patch 6.3.083
  14455. Problem:    VMS: The vt320 termcap entry is incomplete.
  14456. Solution:   Add missing function keys.  (Zoltan Arpadffy)
  14457. Files:        src/term.c
  14458.  
  14459. Patch 6.3.084 (extra)
  14460. Problem:    Cygwin: compiling with DEBUG doesn't work.  Perl path was ignored.
  14461.         Failure when $(OUTDIR) already exists.  "po" makefile is missing.
  14462. Solution:   Use changes tested in Vim 7. (Tony Mechelynck)
  14463. Files:        src/Make_cyg.mak, src/po/Make_cyg.mak
  14464.  
  14465. Patch 6.3.085
  14466. Problem:    Crash in syntax highlighting code. (Marc Espie)
  14467. Solution:   Prevent current_col going past the end of the line.
  14468. Files:        src/syntax.c
  14469.  
  14470. Patch 6.3.086 (extra)
  14471. Problem:    Can't produce message translation file with msgfmt that checks
  14472.         printf strings.
  14473. Solution:   Fix the Russian translation.
  14474. Files:        src/po/ru.po, src/po/ru.cp1251.po
  14475.  
  14476. Patch 6.3.087
  14477. Problem:    MS-DOS: Crash. (Jason Hood)
  14478. Solution:   Don't call fname_case() with a NULL pointer.
  14479. Files:        src/ex_cmds.c
  14480.  
  14481. Patch 6.3.088
  14482. Problem:    Editing ".in" causes error E218. (Stefan Karlsson)
  14483. Solution:   Require some characters before ".in".  Same for ".orig" and others.
  14484. Files:        runtime/filetype.vim
  14485.  
  14486. Patch 6.3.089
  14487. Problem:    A session file doesn't work when created while the current
  14488.         directory contains a space or the directory of the session files
  14489.         contains a space. (Paolo Giarrusso)
  14490. Solution:   Escape spaces with a backslash.
  14491. Files:        src/ex_docmd.c
  14492.  
  14493. Patch 6.3.090
  14494. Problem:    A very big value for 'columns' or 'lines' may cause a crash.
  14495. Solution:   Limit the values to 10000 and 1000.
  14496. Files:        src/option.c
  14497.  
  14498. Patch 6.4a.001
  14499. Problem:    The Unix Makefile contained too many dependencies and a few
  14500.         uncommented lines.
  14501. Solution:   Run "make depend" with manual changes to avoid a gcc
  14502.         incompatibility.  Comment a few lines.
  14503. Files:        src/Makefile
  14504.  
  14505. Patch 6.4b.001
  14506. Problem:    Vim reports "Vim 6.4a" in the ":version" output.
  14507. Solution:   Change "a" to "b". (Tony Mechelynck)
  14508. Files:        src/version.h
  14509.  
  14510. Patch 6.4b.002
  14511. Problem:    In Insert mode, pasting a multi-byte character after the end of
  14512.         the line leaves the cursor just before that character.
  14513. Solution:   Make sure "gP" leaves the cursor in the right place when
  14514.         'virtualedit' is set.
  14515. Files:        src/ops.c
  14516.  
  14517. Patch 6.4b.003 (after 6.4b.002)
  14518. Problem:    The problem still exists when 'encoding' is set to "cp936".
  14519. Solution:   Fix the problem in getvvcol(), compute the coladd field correctly.
  14520. Files:        src/charset.c, src/ops.c
  14521.  
  14522. Patch 6.4b.004
  14523. Problem:    Selecting a {} block with "viB" includes the '}' when there is an
  14524.         empty line before it.
  14525. Solution:   Don't advance the cursor to include a line break when it's already
  14526.         at the line break.
  14527. Files:        src/search.c
  14528.  
  14529.  
  14530.  vim:tw=78:ts=8:ft=help:norl:
  14531.