*version7.txt*  For Vim version 7.4.  Last change: 2016 Jun 04


		  VIM REFERENCE MANUAL    by Bram Moolenaar

					*vim7* *version-7.0* *version7.0*
Welcome to Vim 7!  A large number of features has been added.  This file
mentions all the new items, changes to existing features and bug fixes
since Vim 6.x.  Use this command to see the version you are using: >
	:version

See |vi_diff.txt| for an overview of differences between Vi and Vim 7.0.
See |version4.txt| for differences between Vim 3.x and Vim 4.x.
See |version5.txt| for differences between Vim 4.x and Vim 5.x.
See |version6.txt| for differences between Vim 5.x and Vim 6.x.

INCOMPATIBLE CHANGES			|incompatible-7|

NEW FEATURES				|new-7|

Vim script enhancements			|new-vim-script|
Spell checking				|new-spell|
Omni completion				|new-omni-completion|
MzScheme interface			|new-MzScheme|
Printing multi-byte text		|new-print-multi-byte|
Tab pages				|new-tab-pages|
Undo branches				|new-undo-branches|
Extended Unicode support		|new-more-unicode|
More highlighting			|new-more-highlighting|
Translated manual pages			|new-manpage-trans|
Internal grep				|new-vimgrep|
Scroll back in messages			|new-scroll-back|
Cursor past end of the line		|new-onemore|
POSIX compatibility			|new-posix|
Debugger support			|new-debug-support|
Remote file explorer			|new-netrw-explore|
Define an operator			|new-define-operator|
Mapping to an expression		|new-map-expression|
Visual and Select mode mappings		|new-map-select|
Location list				|new-location-list|
Various new items			|new-items-7|

IMPROVEMENTS				|improvements-7|

COMPILE TIME CHANGES			|compile-changes-7|

BUG FIXES				|bug-fixes-7|

VERSION 7.1			|version-7.1|
Changed					|changed-7.1|
Added					|added-7.1|
Fixed					|fixed-7.1|

VERSION 7.2			|version-7.2|
Changed					|changed-7.2|
Added					|added-7.2|
Fixed					|fixed-7.2|

VERSION 7.3			|version-7.3|

Persistent undo				|new-persistent-undo|
More encryption				|new-more-encryption|
Conceal text				|new-conceal|
Lua interface				|new-lua|
Python3 interface			|new-python3|

Changed					|changed-7.3|
Added					|added-7.3|
Fixed					|fixed-7.3|

VERSION 7.4			|version-7.4|
New regexp engine			|new-regexp-engine|
Better Python interface			|better-python-interface|
Changed					|changed-7.4|
Added					|added-7.4|
Fixed					|fixed-7.4|


==============================================================================
INCOMPATIBLE CHANGES				*incompatible-7*

These changes are incompatible with previous releases.  Check this list if you
run into a problem when upgrading from Vim 6.x to 7.0.

A ":write file" command no longer resets the 'modified' flag of the buffer,
unless the '+' flag is in 'cpoptions' |cpo-+|.  This was illogical, since the
buffer is still modified compared to the original file.  And when undoing
all changes the file would actually be marked modified.  It does mean that
":quit" fails now.

":helpgrep" now uses a help window to display a match.

In an argument list double quotes could be used to include spaces in a file
name.  This caused a difference between ":edit" and ":next" for escaping
double quotes and it is incompatible with some versions of Vi.
	Command			Vim 6.x	file name	Vim 7.x file name ~
	:edit foo\"888		foo"888			foo"888
	:next foo\"888		foo888			foo"888
	:next a\"b c\"d		ab cd			a"b  and  c"d

In a |literal-string| a single quote can be doubled to get one.
":echo 'a''b'" would result in "a b", but now that two quotes stand for one it
results in "a'b".

When overwriting a file with ":w! fname" there was no warning for when "fname"
was being edited by another Vim.  Vim now gives an error message |E768|.

The support for Mac OS 9 has been removed.

Files ending in .tex now have 'filetype' set to "context", "plaintex", or
"tex".  |ft-tex-plugin|


Minor incompatibilities:

For filetype detection: For many types, use */.dir/filename instead of
~/.dir/filename, so that it also works for other user's files.

For quite a few filetypes the indent settings have been moved from the
filetype plugin to the indent plugin.  If you used: >
	:filetype plugin on
Then some indent settings may be missing.  You need to use: >
	:filetype plugin indent on

":0verbose" now sets 'verbose' to zero instead of one.

Removed the old and incomplete "VimBuddy" code.

Buffers without a name report "No Name" instead of "No File".  It was
confusing for buffers with a name and 'buftype' set to "nofile".

When ":file xxx" is used in a buffer without a name, the alternate file name
isn't set.  This avoids creating buffers without a name, they are not useful.

The "2html.vim" script now converts closed folds to HTML.  This means the HTML
looks like it's displayed, with the same folds open and closed.  Use "zR", or
"let html_ignore_folding=1", if no folds should appear in the HTML. (partly by
Carl Osterwisch)
Diff mode is now also converted to HTML as it is displayed.

Win32: The effect of the <F10> key depended on 'winaltkeys'.  Now it depends
on whether <F10> has been mapped or not.  This allows mapping <F10> without
changing 'winaltkeys'.

When 'octal' is in 'nrformats' and using CTRL-A on "08" it became "018", which
is illogical.  Now it becomes "9".  The leading zero(s) is(are) removed to
avoid the number becoming octal after incrementing "009" to "010".

When 'encoding' is set to a Unicode encoding, the value for 'fileencodings'
now includes "default" before "latin1".  This means that for files with 8-bit
encodings the default is to use the encoding specified by the environment, if
possible.  Previously latin1 would always be used, which is wrong in a
non-latin1 environment, such as Russian.

Previously Vim would exit when there are two windows, both of them displaying
a help file, and using ":quit".  Now only the window is closed.

"-w {scriptout}" only works when {scriptout} doesn't start with a digit.
Otherwise it's used to set the 'window' option.

Previously <Home> and <xHome> could be mapped separately.  This had the
disadvantage that all mappings (with modifiers) had to be duplicated, since
you can't be sure what the keyboard generates.  Now all <xHome> are internally
translated to <Home>, both for the keys and for mappings.  Also for <xEnd>,
<xF1>, etc.

":put" now leaves the cursor on the last inserted line.

When a .gvimrc file exists then 'compatible' is off, just like when a ".vimrc"
file exists.

When making a string upper-case with "vlllU" or similar then the German sharp
s is replaced with "SS".  This does not happen with "~" to avoid backwards
compatibility problems and because "SS" can't be changed back to a sharp s.

"gd" previously found the very first occurrence of a variable in a function,
that could be the function argument without type.  Now it finds the position
where the type is given.

The line continuation in functions was not taken into account, line numbers in
errors were logical lines, not lines in the sourced file.  That made it
difficult to locate errors.  Now the line number in the sourced file is
reported, relative to the function start.  This also means that line numbers
for ":breakadd func" are different.

When defining a user command with |:command| the special items could be
abbreviated.  This caused unexpected behavior, such as <li> being recognized
as <line1>.  The items can no longer be abbreviated.

When executing a FileChangedRO autocommand it is no longer allowed to switch
to another buffer or edit another file.  This is to prevent crashes (the event
is triggered deep down in the code where changing buffers is not anticipated).
It is still possible to reload the buffer.

At the |more-prompt| and the |hit-enter-prompt|, when the 'more' option is
set, the 'k', 'u', 'g' and 'b' keys are now used to scroll back to previous
messages.  Thus they are no longer used as typeahead.

==============================================================================
NEW FEATURES						*new-7*

Vim script enhancements					*new-vim-script*
-----------------------

In Vim scripts the following types have been added:

	|List|		ordered list of items
	|Dictionary|	associative array of items
	|Funcref|	reference to a function

Many functions and commands have been added to support the new types.

The |string()| function can be used to get a string representation of a
variable.  Works for Numbers, Strings and composites of them.  Then |eval()|
can be used to turn the string back into the variable value.

The |:let| command can now use "+=", "-=" and ".=": >
	:let var += expr	" works like :let var = var + expr
	:let var -= expr	" works like :let var = var - expr
	:let var .= string	" works like :let var = var . string

With the |:profile| command you can find out where your function or script
is wasting time.

In the Python interface vim.eval() also handles Dictionaries and Lists.
|python-eval| (G. Sumner Hayes)

The |getscript| plugin was added as a convenient way to update scripts from
www.vim.org automatically. (Charles Campbell)

The |vimball| plugin was added as a convenient way to distribute a set of
files for a plugin (plugin file, autoload script, documentation). (Charles
Campbell)


Spell checking						*new-spell*
--------------

Spell checking has been integrated in Vim.  There were a few implementations
with scripts, but they were slow and/or required an external program.

The 'spell'	   option is used to switch spell checking on or off
The 'spelllang'    option is used to specify the accepted language(s)
The 'spellfile'    option specifies where new words are added
The 'spellsuggest' option specifies the methods used for making suggestions

The |]s| and |[s| commands can be used to move to the next or previous error
The |zg| and |zw| commands can be used to add good and wrong words
The |z=|	  command can be used to list suggestions and correct the word
The |:mkspell|    command is used to generate a Vim spell file from word lists

The "undercurl" highlighting attribute was added to nicely point out spelling
mistakes in the GUI (based on patch from Marcin Dalecki).
The "guisp" color can be used to give it a color different from foreground and
background.
The number of possible different highlight attributes was raised from about
220 to over 30000.  This allows for the attributes of spelling to be combined
with syntax highlighting attributes.  This is also used for syntax
highlighting and marking the Visual area.

Much more info here: |spell|.


Omni completion					*new-omni-completion*
---------------

This could also be called "intellisense", but that is a trademark.  It is a
smart kind of completion.  The text in front of the cursor is inspected to
figure out what could be following.  This may suggest struct and class
members, system functions, etc.

Use CTRL-X CTRL-O in Insert mode to start the completion.  |i_CTRL-X_CTRL-O|

The 'omnifunc' option is set by filetype plugins to define the function that
figures out the completion.

Currently supported languages:
	C					|ft-c-omni|
	(X)HTML with CSS			|ft-html-omni|
	JavaScript				|ft-javascript-omni|
	PHP					|ft-php-omni|
	Python
	Ruby					|ft-ruby-omni|
	SQL					|ft-sql-omni|
	XML					|ft-xml-omni|
	any language with syntax highlighting	|ft-syntax-omni|

You can add your own omni completion scripts.

When the 'completeopt' option contains "menu" then matches for Insert mode
completion are displayed in a (rather primitive) popup menu.


MzScheme interface					*new-MzScheme*
------------------

The MzScheme interpreter is supported. |MzScheme|

The |:mzscheme| command can be used to execute MzScheme commands
The |:mzfile|   command can be used to execute an MzScheme script file

This depends on Vim being compiled with the |+mzscheme| feature.


Printing multi-byte text				*new-print-multi-byte*
------------------------

The |:hardcopy| command now supports printing multi-byte characters when using
PostScript.

The 'printmbcharset' and 'printmbfont' options are used for this.
Also see |postscript-cjk-printing|.  (Mike Williams)


Tab pages						*new-tab-pages*
---------

A tab page is a page with one or more windows with a label (aka tab) at the top.
By clicking on the label you can quickly switch between the tab pages.  And
with the keyboard, using the |gt| (Goto Tab) command.  This is a convenient
way to work with many windows.

To start Vim with each file argument in a separate tab page use the |-p|
argument.  The maximum number of pages can be set with 'tabpagemax'.

The line with tab labels is either made with plain text and highlighting or
with a GUI mechanism.  The GUI labels look better but are only available on a
few systems.  The line can be customized with 'tabline', 'guitablabel' and
'guitabtooltip'.  Whether it is displayed is set with 'showtabline'.  Whether
to use the GUI labels is set with the "e" flag in 'guioptions'.

The |:tab| command modifier can be used to have most commands that open a new
window open a new tab page instead.

The |--remote-tab| argument can be used to edit a file in a new tab page in an
already running Vim server.

Variables starting with "t:" are local to a tab page.

More info here: |tabpage|
Most of the GUI stuff was implemented by Yegappan Lakshmanan.


Undo branches						*new-undo-branches*
-------------

Previously there was only one line of undo-redo.  If, after undoing a number
of changes, a new change was made all the undone changes were lost.  This
could lead to accidentally losing work.

Vim now makes an undo branch in this situation.  Thus you can go back to the
text after any change, even if they were undone.  So long as you do not run
into 'undolevels', when undo information is freed up to limit the memory used.

To be able to navigate the undo branches each change is numbered sequentially.
The commands |g-| and |:earlier| go back in time, to older changes.  The
commands |g+| and |:later| go forward in time, to newer changes.

The changes are also timestamped.  Use ":earlier 10m" to go to the text as it
was about ten minutes earlier.

The |:undolist| command can be used to get an idea of which undo branches
exist.  The |:undo| command now takes an argument to directly jump to a
specific position in this list.  The |changenr()| function can be used to
obtain the change number.

There is no graphical display of the tree with changes, navigation can be
quite confusing.


Extended Unicode support				*new-more-unicode*
------------------------

Previously only two combining characters were displayed.  The limit is now
raised to 6.  This can be set with the 'maxcombine' option.  The default is
still 2.

|ga| now shows all combining characters, not just the first two.

Previously only 16 bit Unicode characters were supported for displaying.  Now
the full 32 bit character set can be used.  Unless manually disabled at
compile time to save a bit of memory.

For pattern matching it is now possible to search for individual composing
characters. |patterns-composing|

The |8g8| command searches for an illegal UTF-8 byte sequence.


More highlighting				*new-more-highlighting*
-----------------

Highlighting matching parens:

When moving the cursor through the text and it is on a paren, then the
matching paren can be highlighted.  This uses the new |CursorMoved|
autocommand event.

This means some commands are executed every time you move the cursor.  If this
slows you down too much switch it off with: >
	:NoMatchParen

See |matchparen| for more information.

The plugin uses the |:match| command.  It now supports three match patterns.
The plugin uses the third one.  The first one is for the user and the second
one can be used by another plugin.

Highlighting the cursor line and column:

The 'cursorline' and 'cursorcolumn' options have been added.  These highlight
the screen line and screen column of the cursor.  This makes the cursor
position easier to spot.  'cursorcolumn' is also useful to align text.  This
may make screen updating quite slow.  The CursorColumn and CursorLine
highlight groups allow changing the colors used.  |hl-CursorColumn|
|hl-CursorLine|

The number of possible different highlight attributes was raised from about
220 to over 30000.  This allows for the attributes of spelling to be combined
with syntax highlighting attributes.  This is also used for syntax
highlighting, marking the Visual area, CursorColumn, etc.


Translated manual pages					*new-manpage-trans*
-----------------------

The manual page of Vim and associated programs is now also available in
several other languages.

French  - translated by David Blanchet
Italian - translated by Antonio Colombo
Russian - translated by Vassily Ragosin
Polish  - translated by Mikolaj Machowski

The Unix Makefile installs the Italian manual pages in .../man/it/man1/,
.../man/it.ISO8859-1/man1/ and .../man/it.UTF-8/man1/.  There appears to be no
standard for what encoding goes in the "it" directory, the 8-bit encoded file
is used there as a best guess.
Other languages are installed in similar places.
The translated pages are not automatically installed when Vim was configured
with "--disable-nls", but "make install-languages install-tool-languages" will
do it anyway.


Internal grep						*new-vimgrep*
-------------

The ":vimgrep" command can be used to search for a pattern in a list of files.
This is like the ":grep" command, but no external program is used.  Besides
better portability, handling of different file encodings and using multi-line
patterns, this also allows grepping in compressed and remote files.
|:vimgrep|.

If you want to use the search results in a script you can use the
|getqflist()| function.

To grep files in various directories the "**" pattern can be used.  It expands
into an arbitrary depth of directories.  "**" can be used in all places where
file names are expanded, thus also with |:next| and |:args|.


Scroll back in messages					*new-scroll-back*
-----------------------

When displaying messages, at the |more-prompt| and the |hit-enter-prompt|, The
'k', 'u', 'g' and 'b' keys can be used to scroll back to previous messages.
This is especially useful for commands such as ":syntax", ":autocommand" and
":highlight".  This is implemented in a generic way thus it works for all
commands and highlighting is kept.  Only works when the 'more' option is set.
Previously it only partly worked for ":clist".

The |g<| command can be used to see the last page of messages after you have
hit <Enter> at the |hit-enter-prompt|.  Then you can scroll further back.


Cursor past end of the line				*new-onemore*
---------------------------

When the 'virtualedit' option contains "onemore" the cursor can move just past
the end of the line.  As if it's on top of the line break.

This makes some commands more consistent.  Previously the cursor was always
past the end of the line if the line was empty.  But it is far from Vi
compatible.  It may also break some plugins or Vim scripts.  Use with care!

The patch was provided by Mattias Flodin.


POSIX compatibility					*new-posix*
-------------------

The POSIX test suite was used to verify POSIX compatibility.  A number of
problems have been fixed to make Vim more POSIX compatible.  Some of them
conflict with traditional Vi or expected behavior.  The $VIM_POSIX environment
variable can be set to get POSIX compatibility.  See |posix|.

Items that were fixed for both Vi and POSIX compatibility:
- repeating "R" with a count only overwrites text once; added the 'X' flag to
  'cpoptions' |cpo-X|
- a vertical movement command that moves to a non-existing line fails; added
  the '-' flag to 'cpoptions' |cpo--|
- when preserving a file and doing ":q!" the file can be recovered; added the
  '&' flag to 'cpoptions' |cpo-&|
- The 'window' option is partly implemented.  It specifies how much CTRL-F and
  CTRL-B scroll when there is one window.  The "-w {number}" argument is now
  accepted.  "-w {scriptout}" only works when {scriptout} doesn't start with a
  digit.
- Allow "-c{command}" argument, no space between "-c" and {command}.
- When writing a file with ":w!" don't reset 'readonly' when 'Z' is present in
  'cpoptions'.
- Allow 'l' and '#' flags for ":list", ":print" and ":number".
- Added the '.' flag to 'cpoptions': ":cd" fails when the buffer is modified.
- In Ex mode with an empty buffer ":read file" doesn't keep an empty line
  above or below the new lines.
- Remove a backslash before a NL for the ":global" command.
- When ":append", ":insert" or ":change" is used with ":global", get the
  inserted lines from the command.  Can use backslash-NL to separate lines.
- Can use ":global /pat/ visual" to execute Normal mode commands at each
  matched line.  Use "Q" to continue and go to the next line.
- The |:open| command has been partially implemented.  It stops Ex mode, but
  redraws the whole screen, not just one line as open mode is supposed to do.
- Support using a pipe to read the output from and write input to an external
  command.  Added the 'shelltemp' option and has("filterpipe").
- In ex silent mode the ":set" command output is displayed.
- The ":@@" and ":**" give an error message when no register was used before.
- The search pattern "[]-`]" matches ']', '^', '_' and '`'.
- Autoindent for ":insert" is using the line below the insert.
- Autoindent for ":change" is using the first changed line.
- Editing Ex command lines is not done in cooked mode, because CTRL-D and
  CTRL-T cannot be handled then.
- In Ex mode, "1,3" prints three lines.  "%" prints all lines.
- In Ex mode "undo" would undo all changes since Ex mode was started.
- Implemented the 'prompt' option.


Debugger support					*new-debug-support*
----------------

The 'balloonexpr' option has been added.  This is a generic way to implement
balloon functionality.  You can use it to show info for the word under the
mouse pointer.


Remote file explorer					*new-netrw-explore*
--------------------

The netrw plugin now also supports viewing a directory, when "scp://" is used.
Deleting and renaming files is possible.

To avoid duplicating a lot of code, the previous file explorer plugin has been
integrated in the netrw plugin.  This means browsing local and remote files
works the same way.

":browse edit" and ":browse split" use the netrw plugin when it's available
and a GUI dialog is not possible.

The netrw plugin is maintained by Charles Campbell.


Define an operator					*new-define-operator*
------------------

Previously it was not possible to define your own operator; a command that is
followed by a {motion}.  Vim 7 introduces the 'operatorfunc' option and the
|g@| operator.  This makes it possible to define a mapping that works like an
operator.  The actual work is then done by a function, which is invoked
through the |g@| operator.

See |:map-operator| for the explanation and an example.


Mapping to an expression				*new-map-expression*
------------------------

The {rhs} argument of a mapping can be an expression.  That means the
resulting characters can depend on the context.  Example: >
	:inoremap <expr> . InsertDot()
Here the dot will be mapped to whatever InsertDot() returns.

This also works for abbreviations.  See |:map-<expr>| for the details.


Visual and Select mode mappings				*new-map-select*
-------------------------------

Previously Visual mode mappings applied both to Visual and Select mode.  With
a trick to have the mappings work in Select mode like they would in Visual
mode.

Commands have been added to define mappings for Visual and Select mode
separately: |:xmap| and |:smap|.  With the associated "noremap" and "unmap"
commands.

The same is done for menus: |:xmenu|, |:smenu|, etc.


Location list						*new-location-list*
-------------

The support for a per-window quickfix list (location list) is added. The
location list can be displayed in a location window (similar to the quickfix
window).  You can open more than one location list window.  A set of commands
similar to the quickfix commands are added to browse the location list.
(Yegappan Lakshmanan)


Various new items					*new-items-7*
-----------------

Normal mode commands: ~

a", a' and a`		New text objects to select quoted strings. |a'|
i", i' and i`		(Taro Muraoka)

CTRL-W <Enter>		In the quickfix window: opens a new window to show the
			location of the error under the cursor.

|at| and |it| text objects select a block of text between HTML or XML tags.

<A-LeftMouse> ('mousemodel' "popup" or "popup-setpos")
<A-RightMouse> ('mousemodel' "extend")
			Make a blockwise selection. |<A-LeftMouse>|

gF			Start editing the filename under the cursor and jump
			to the line number following the file name.
			(Yegappan Lakshmanan)

CTRL-W F		Start editing the filename under the cursor in a new
			window and jump to the line number following the file
			name.  (Yegappan Lakshmanan)

Insert mode commands: ~

CTRL-\ CTRL-O		Execute a Normal mode command.  Like CTRL-O but
			without moving the cursor. |i_CTRL-\_CTRL-O|

Options: ~

'balloonexpr'		expression for text to show in evaluation balloon
'completefunc'		The name of the function used for user-specified
			Insert mode completion.  CTRL-X CTRL-U can be used in
			Insert mode to do any kind of completion.  (Taro
			Muraoka)
'completeopt'		Enable popup menu and other settings for Insert mode
			completion.
'cursorcolumn'		highlight column of the cursor
'cursorline'		highlight line of the cursor
'formatexpr'		expression for formatting text with |gq| and when text
			goes over 'textwidth' in Insert mode.
'formatlistpat'		pattern to recognize a numbered list for formatting.
			(idea by Hugo Haas)
'fsync'			Whether fsync() is called after writing a file.
			(Ciaran McCreesh)
'guitablabel'		expression for text to display in GUI tab page label
'guitabtooltip'		expression for text to display in GUI tab page tooltip
'macatsui'		Mac: use ATSUI text display functions
'maxcombine'		maximum number of combining characters displayed
'maxmempattern'		maximum amount of memory to use for pattern matching
'mkspellmem'		parameters for |:mkspell| memory use
'mzquantum'		Time in msec to schedule MzScheme threads.
'numberwidth'		Minimal width of the space used for the 'number' and
			'relativenumber' option. (Emmanuel Renieris)
'omnifunc'		The name of the function used for omni completion.
'operatorfunc'		function to be called for |g@| operator
'printmbcharset'	CJK character set to be used for :hardcopy
'printmbfont'		font names to be used for CJK output of :hardcopy
'pumheight'		maximum number of items to show in the popup menu
'quoteescape'		Characters used to escape quotes inside a string.
			Used for the a", a' and a` text objects. |a'|
'shelltemp'		whether to use a temp file or pipes for shell commands
'showtabline'		whether to show the tab pages line
'spell'			switch spell checking on/off
'spellcapcheck'		pattern to locate the end of a sentence
'spellfile'		file where good and wrong words are added
'spelllang'		languages to check spelling for
'spellsuggest'		methods for spell suggestions
'synmaxcol'		maximum column to look for syntax items; avoids very
			slow redrawing when there are very long lines
'tabline'		expression for text to display in the tab pages line
'tabpagemax'		maximum number of tab pages to open for |-p|
'verbosefile'		Log messages in a file.
'wildoptions'		"tagfile" value enables listing the file name of
			matching tags for CTRL-D command line completion.
			(based on an idea from Yegappan Lakshmanan)
'winfixwidth'		window with fixed width, similar to 'winfixheight'


Ex commands: ~

Win32: The ":winpos" command now also works in the console. (Vipin Aravind)

|:startreplace|		Start Replace mode. (Charles Campbell)
|:startgreplace|	Start Virtual Replace mode.

|:0file|		Removes the name of the buffer. (Charles Campbell)

|:diffoff|		Switch off diff mode in the current window or in all
			windows.

|:delmarks|		Delete marks.

|:exusage|		Help for Ex commands (Nvi command).
|:viusage|		Help for Vi commands (Nvi command).

|:sort|			Sort lines in the buffer without depending on an
			external command. (partly by Bryce Wagner)

|:vimgrep|		Internal grep command, search for a pattern in files.
|:vimgrepadd|		Like |:vimgrep| but don't make a new list.

|:caddfile|		Add error messages to an existing quickfix list
			(Yegappan Lakshmanan).
|:cbuffer|		Read error lines from a buffer. (partly by Yegappan
			Lakshmanan)
|:cgetbuffer|		Create a quickfix list from a buffer but don't jump to
			the first error.
|:caddbuffer|		Add errors from the current buffer to the quickfix
			list.
|:cexpr|		Read error messages from a Vim expression (Yegappan
			Lakshmanan).
|:caddexpr|		Add error messages from a Vim expression to an
			existing quickfix list. (Yegappan Lakshmanan).
|:cgetexpr|		Create a quickfix list from a Vim expression, but
			don't jump to the first error. (Yegappan Lakshmanan).

|:lfile|		Like |:cfile| but use the location list.
|:lgetfile|		Like |:cgetfile| but use the location list.
|:laddfile|		Like |:caddfile| but use the location list.
|:lbuffer|		Like |:cbuffer| but use the location list.
|:lgetbuffer|		Like |:cgetbuffer| but use the location list.
|:laddbuffer|		Like |:caddbuffer| but use the location list.
|:lexpr|		Like |:cexpr| but use the location list.
|:lgetexpr|		Like |:cgetexpr| but use the location list.
|:laddexpr|		Like |:caddexpr| but use the location list.
|:ll|			Like |:cc| but use the location list.
|:llist|		Like |:clist| but use the location list.
|:lnext|		Like |:cnext| but use the location list.
|:lprevious|		Like |:cprevious| but use the location list.
|:lNext|		Like |:cNext| but use the location list.
|:lfirst|		Like |:cfirst| but use the location list.
|:lrewind|		Like |:crewind| but use the location list.
|:llast|		Like |:clast| but use the location list.
|:lnfile|		Like |:cnfile| but use the location list.
|:lpfile|		Like |:cpfile| but use the location list.
|:lNfile|		Like |:cNfile| but use the location list.
|:lolder|		Like |:colder| but use the location list.
|:lnewer|		Like |:cnewer| but use the location list.
|:lwindow|		Like |:cwindow| but use the location list.
|:lopen|		Like |:copen| but use the location list.
|:lclose|		Like |:cclose| but use the location list.
|:lmake|		Like |:make| but use the location list.
|:lgrep|		Like |:grep| but use the location list.
|:lgrepadd|		Like |:grepadd| but use the location list.
|:lvimgrep|		Like |:vimgrep| but use the location list.
|:lvimgrepadd|		Like |:vimgrepadd| but use the location list.
|:lhelpgrep|		Like |:helpgrep| but use the location list.
|:lcscope|		Like |:cscope| but use the location list.
|:ltag|			Jump to a tag and add matching tags to a location list.

|:undojoin|		Join a change with the previous undo block.
|:undolist|		List the leafs of the undo tree.

|:earlier|		Go back in time for changes in the text.
|:later|		Go forward in time for changes in the text.

|:for|			Loop over a |List|.
|:endfor|

|:lockvar|		Lock a variable, prevents it from being changed.
|:unlockvar|		Unlock a locked variable.

|:mkspell|		Create a Vim spell file.
|:spellgood|		Add a word to the list of good words.
|:spellwrong|		Add a word to the list of bad words
|:spelldump|		Dump list of good words.
|:spellinfo|		Show information about the spell files used.
|:spellrepall|		Repeat a spelling correction for the whole buffer.
|:spellundo|		Remove a word from list of good and bad words.

|:mzscheme|		Execute MzScheme commands.
|:mzfile|		Execute an MzScheme script file.

|:nbkey|		Pass a key to NetBeans for processing.

|:profile|		Commands for Vim script profiling.
|:profdel|		Stop profiling for specified items.

|:smap|			Select mode mapping.
|:smapclear|
|:snoremap|
|:sunmap|

|:xmap|			Visual mode mapping, not used for Select mode.
|:xmapclear|
|:xnoremap|
|:xunmap|

|:smenu|		Select mode menu.
|:snoremenu|
|:sunmenu|

|:xmenu|		Visual mode menu, not used for Select mode.
|:xnoremenu|
|:xunmenu|

|:tabclose|		Close the current tab page.
|:tabdo|		Perform a command in every tab page.
|:tabedit|		Edit a file in a new tab page.
|:tabnew|		Open a new tab page.
|:tabfind|		Search for a file and open it in a new tab page.
|:tabnext|		Go to the next tab page.
|:tabprevious|		Go to the previous tab page.
|:tabNext|		Go to the previous tab page.
|:tabfirst|		Go to the first tab page.
|:tabrewind|		Go to the first tab page.
|:tablast|		Go to the last tab page.
|:tabmove|		Move the current tab page elsewhere.
|:tabonly|		Close all other tab pages.
|:tabs|			List the tab pages and the windows they contain.

Ex command modifiers: ~

|:keepalt|		Do not change the alternate file.

|:noautocmd|		Do not trigger autocommand events.

|:sandbox|		Execute a command in the sandbox.

|:tab|			When opening a new window create a new tab page.


Ex command arguments: ~

|++bad|			Specify what happens with characters that can't be
			converted and illegal bytes. (code example by Yasuhiro
			Matsumoto)
			Also, when a conversion error occurs or illegal bytes
			are found include the line number in the error
			message.


New and extended functions: ~

|add()|			append an item to a List
|append()|		append List of lines to the buffer
|argv()|		without an argument return the whole argument list
|browsedir()|		dialog to select a directory
|bufnr()|		takes an extra argument: create buffer
|byteidx()|		index of a character (Ilya Sher)
|call()|		call a function with List as arguments
|changenr()|		number of current change
|complete()|		set matches for Insert mode completion
|complete_add()|	add match for 'completefunc'
|complete_check()|	check for key pressed, for 'completefunc'
|copy()|		make a shallow copy of a List or Dictionary
|count()|		count nr of times a value is in a List or Dictionary
|cursor()|		also accepts an offset for 'virtualedit', and
			the first argument can be a list: [lnum, col, off]
|deepcopy()|		make a full copy of a List or Dictionary
|diff_filler()|		returns number of filler lines above line {lnum}.
|diff_hlID()|		returns the highlight ID for diff mode
|empty()|		check if List or Dictionary is empty
|eval()|		evaluate {string} and return the result
|extend()|		append one List to another or add items from one
			Dictionary to another
|feedkeys()|		put characters in the typeahead buffer
|filter()|		remove selected items from a List or Dictionary
|finddir()|		find a directory in 'path'
|findfile()|		find a file in 'path' (Johannes Zellner)
|foldtextresult()|	the text displayed for a closed fold at line "lnum"
|function()|		make a Funcref out of a function name
|garbagecollect()|	cleanup unused |Lists| and |Dictionaries| with circular
			references
|get()|			get an item from a List or Dictionary
|getbufline()|		get a list of lines from a specified buffer
			(Yegappan Lakshmanan)
|getcmdtype()|		return the current command-line type
			(Yegappan Lakshmanan)
|getfontname()|		get actual font name being used
|getfperm()|		get file permission string (Nikolai Weibull)
|getftype()|		get type of file (Nikolai Weibull)
|getline()|		with second argument: get List with buffer lines
|getloclist()|		list of location list items (Yegappan Lakshmanan)
|getpos()|		return a list with the position of cursor, mark, etc.
|getqflist()|		list of quickfix errors (Yegappan Lakshmanan)
|getreg()|		get contents of a register
|gettabwinvar()|	get variable from window in specified tab page.
|has_key()|		check whether a key appears in a Dictionary
|haslocaldir()|		check if current window used |:lcd|
|hasmapto()|		check for a mapping to a string
|index()|		index of item in List
|inputlist()|		prompt the user to make a selection from a list
|insert()|		insert an item somewhere in a List
|islocked()|		check if a variable is locked
|items()|		get List of Dictionary key-value pairs
|join()|		join List items into a String
|keys()|		get List of Dictionary keys
|len()|			number of items in a List or Dictionary
|map()|			change each List or Dictionary item
|maparg()|		extra argument: use abbreviation
|mapcheck()|		extra argument: use abbreviation
|match()|		extra argument: count
|matcharg()|		return arguments of |:match| command
|matchend()|		extra argument: count
|matchlist()|		list with match and submatches of a pattern in a string
|matchstr()|		extra argument: count
|max()|			maximum value in a List or Dictionary
|min()|			minimum value in a List or Dictionary
|mkdir()|		create a directory
|pathshorten()|		reduce directory names to a single character
|printf()|		format text
|pumvisible()|		check whether the popup menu is displayed
|range()|		generate a List with numbers
|readfile()|		read a file into a list of lines
|reltime()|		get time value, possibly relative
|reltimestr()|		turn a time value into a string
|remove()|		remove one or more items from a List or Dictionary
|repeat()|		repeat "expr" "count" times (Christophe Poucet)
|reverse()|		reverse the order of a List
|search()|		extra argument:
|searchdecl()|		search for declaration of variable
|searchpair()|		extra argument: line to stop searching
|searchpairpos()|	return a List with the position of the match
|searchpos()|		return a List with the position of the match
|setloclist()|		modify a location list (Yegappan Lakshmanan)
|setpos()|		set cursor or mark to a position
|setqflist()|		modify a quickfix list (Yegappan Lakshmanan)
|settabwinvar()|	set variable in window of specified tab page
|sort()|		sort a List
|soundfold()|		get the sound-a-like equivalent of a word
|spellbadword()|	get a badly spelled word
|spellsuggest()|	get suggestions for correct spelling
|split()|		split a String into a List
|str2nr()|		convert a string to a number, base 2, 8, 10 or 16
|stridx()|		extra argument: start position
|strridx()|		extra argument: start position
|string()|		string representation of a List or Dictionary
|system()|		extra argument: filters {input} through a shell command
|tabpagebuflist()|	List of buffers in a tab page
|tabpagenr()|		number of current or last tab page
|tabpagewinnr()|	window number in a tab page
|tagfiles()|		List with tags file names
|taglist()|		get list of matching tags (Yegappan Lakshmanan)
|tr()|			translate characters (Ron Aaron)
|uniq()|		remove copies of repeated adjacent list items
|values()|		get List of Dictionary values
|winnr()|		takes an argument: what window to use
|winrestview()|		restore the view of the current window
|winsaveview()|		save the view of the current window
|writefile()|		write a list of lines into a file

User defined functions can now be loaded automatically from the "autoload"
directory in 'runtimepath'.  See |autoload-functions|.


New Vim variables: ~

|v:insertmode|		used for |InsertEnter| and |InsertChange| autocommands
|v:val|			item value in a |map()| or |filter()| function
|v:key|			item key in a |map()| or |filter()| function
|v:profiling|		non-zero after a ":profile start" command
|v:fcs_reason|		the reason why |FileChangedShell| was triggered
|v:fcs_choice|		what should happen after |FileChangedShell|
|v:beval_bufnr|		buffer number for 'balloonexpr'
|v:beval_winnr|		window number for 'balloonexpr'
|v:beval_lnum|		line number for 'balloonexpr'
|v:beval_col|		column number for 'balloonexpr'
|v:beval_text|		text under the mouse pointer for 'balloonexpr'
|v:scrollstart|		what caused the screen to be scrolled up
|v:swapname|		name of the swap file for the |SwapExists| event
|v:swapchoice|		what to do for an existing swap file
|v:swapcommand|		command to be executed after handling |SwapExists|
|v:char|		argument for evaluating 'formatexpr'


New autocommand events: ~

|ColorScheme|		after loading a color scheme

|CursorHoldI|		the user doesn't press a key for a while in Insert mode
|CursorMoved|		the cursor was moved in Normal mode
|CursorMovedI|		the cursor was moved in Insert mode

|FileChangedShellPost|	after handling a file changed outside of Vim

|InsertEnter|		starting Insert or Replace mode
|InsertChange|		going from Insert to Replace mode or back
|InsertLeave|		leaving Insert or Replace mode

|MenuPopup|		just before showing popup menu

|QuickFixCmdPre|	before :make, :grep et al. (Ciaran McCreesh)
|QuickFixCmdPost|	after :make, :grep et al. (Ciaran McCreesh)

|SessionLoadPost|	after loading a session file. (Yegappan Lakshmanan)

|ShellCmdPost|		after executing a shell command
|ShellFilterPost|	after filtering with a shell command

|SourcePre|		before sourcing a Vim script

|SpellFileMissing|	when a spell file can't be found

|SwapExists|		found existing swap file when editing a file

|TabEnter|		just after entering a tab page
|TabLeave|		just before leaving a tab page

|VimResized|		after the Vim window size changed (Yakov Lerner)


New highlight groups: ~

Pmenu                   Popup menu: normal item |hl-Pmenu|
PmenuSel                Popup menu: selected item |hl-PmenuSel|
PmenuThumb              Popup menu: scrollbar |hl-PmenuThumb|
PmenuSbar               Popup menu: Thumb of the scrollbar |hl-PmenuSbar|

TabLine                 tab pages line, inactive label |hl-TabLine|
TabLineSel              tab pages line, selected label |hl-TabLineSel|
TabLineFill             tab pages line, filler |hl-TabLineFill|

SpellBad                badly spelled word |hl-SpellBad|
SpellCap                word with wrong caps |hl-SpellCap|
SpellRare               rare word |hl-SpellRare|
SpellLocal              word only exists in other region |hl-SpellLocal|

CursorColumn            'cursorcolumn' |hl-CursorColumn|
CursorLine              'cursorline' |hl-CursorLine|

MatchParen              matching parens |pi_paren.txt| |hl-MatchParen|


New items in search patterns: ~
|/\%d| \%d123		search for character with decimal number
|/\]|  [\d123]		idem, in a collection
|/\%o| \%o103		search for character with octal number
|/\]|  [\o1o3]		idem, in a collection
|/\%x| \%x1a		search for character with 2 pos. hex number
|/\]|  [\x1a]		idem, in a collection
|/\%u| \%u12ab		search for character with 4 pos. hex number
|/\]|  [\u12ab]		idem, in a collection
|/\%U| \%U1234abcd	search for character with 8 pos. hex number
|/\]|  [\U1234abcd]	idem, in a collection
			    (The above partly by Ciaran McCreesh)

|/[[=| [[=a=]]		an equivalence class (only for latin1 characters)
|/[[.| [[.a.]]		a collation element (only works with single char)

|/\%'m|  \%'m		match at mark m
|/\%<'m| \%<'m		match before mark m
|/\%>'m| \%>'m		match after mark m
|/\%V|   \%V		match in Visual area

Nesting |/multi| items no longer is an error when an empty match is possible.

It is now possible to use \{0}, it matches the preceding atom zero times.  Not
useful, just for compatibility.


New Syntax/Indent/FTplugin files: ~

Moved all the indent settings from the filetype plugin to the indent file.
Implemented b:undo_indent to undo indent settings when setting 'filetype' to a
different value.

a2ps syntax and ftplugin file. (Nikolai Weibull)
ABAB/4 syntax file. (Marius van Wyk)
alsaconf ftplugin file. (Nikolai Weibull)
AppendMatchGroup ftplugin file. (Dave Silvia)
arch ftplugin file. (Nikolai Weibull)
asterisk and asteriskvm syntax file. (Tilghman Lesher)
BDF ftplugin file. (Nikolai Weibull)
BibTeX indent file. (Dorai Sitaram)
BibTeX Bibliography Style syntax file. (Tim Pope)
BTM ftplugin file. (Bram Moolenaar)
calendar ftplugin file. (Nikolai Weibull)
Changelog indent file. (Nikolai Weibull)
ChordPro syntax file. (Niels Bo Andersen)
Cmake indent and syntax file. (Andy Cedilnik)
conf ftplugin file. (Nikolai Weibull)
context syntax and ftplugin file. (Nikolai Weibull)
CRM114 ftplugin file. (Nikolai Weibull)
cvs RC ftplugin file. (Nikolai Weibull)
D indent file. (Jason Mills)
Debian Sources.list syntax file. (Matthijs Mohlmann)
dictconf and dictdconf syntax, indent and ftplugin files. (Nikolai Weibull)
diff ftplugin file. (Bram Moolenaar)
dircolors ftplugin file. (Nikolai Weibull)
django and htmldjango syntax file. (Dave Hodder)
doxygen syntax file. (Michael Geddes)
elinks ftplugin file. (Nikolai Weibull)
eterm ftplugin file. (Nikolai Weibull)
eviews syntax file. (Vaidotas Zemlys)
fetchmail RC ftplugin file. (Nikolai Weibull)
FlexWiki syntax and ftplugin file. (George Reilly)
Generic indent file. (Dave Silvia)
gpg ftplugin file. (Nikolai Weibull)
gretl syntax file. (Vaidotas Zemlys)
groovy syntax file. (Alessio Pace)
group syntax and ftplugin file. (Nikolai Weibull)
grub ftplugin file. (Nikolai Weibull)
Haskell ftplugin file. (Nikolai Weibull)
help ftplugin file. (Nikolai Weibull)
indent ftplugin file. (Nikolai Weibull)
Javascript ftplugin file. (Bram Moolenaar)
Kconfig ftplugin and syntax file. (Nikolai Weibull)
ld syntax, indent and ftplugin file. (Nikolai Weibull)
lftp ftplugin file. (Nikolai Weibull)
libao config ftplugin file. (Nikolai Weibull)
limits syntax and ftplugin file. (Nikolai Weibull)
Lisp indent file. (Sergey Khorev)
loginaccess and logindefs syntax and ftplugin file. (Nikolai Weibull)
m4 ftplugin file. (Nikolai Weibull)
mailaliases syntax file. (Nikolai Weibull)
mailcap ftplugin file. (Nikolai Weibull)
manconf syntax and ftplugin file. (Nikolai Weibull)
matlab ftplugin file. (Jake Wasserman)
Maxima syntax file. (Robert Dodier)
MGL syntax file. (Gero Kuhlmann)
modconf ftplugin file. (Nikolai Weibull)
mplayer config ftplugin file. (Nikolai Weibull)
Mrxvtrc syntax and ftplugin file. (Gautam Iyer)
MuPAD source syntax, indent and ftplugin. (Dave Silvia)
mutt RC ftplugin file. (Nikolai Weibull)
nanorc syntax and ftplugin file. (Nikolai Weibull)
netrc ftplugin file. (Nikolai Weibull)
pamconf syntax and ftplugin file. (Nikolai Weibull)
Pascal indent file. (Neil Carter)
passwd syntax and ftplugin file. (Nikolai Weibull)
PHP compiler plugin. (Doug Kearns)
pinfo ftplugin file. (Nikolai Weibull)
plaintex syntax and ftplugin files. (Nikolai Weibull, Benji Fisher)
procmail ftplugin file. (Nikolai Weibull)
prolog ftplugin file. (Nikolai Weibull)
protocols syntax and ftplugin file. (Nikolai Weibull)
quake ftplugin file. (Nikolai Weibull)
racc syntax and ftplugin file. (Nikolai Weibull)
readline ftplugin file. (Nikolai Weibull)
rhelp syntax file. (Johannes Ranke)
rnoweb syntax file. (Johannes Ranke)
Relax NG compact ftplugin file. (Nikolai Weibull)
Scheme indent file. (Sergey Khorev)
screen ftplugin file. (Nikolai Weibull)
sensors syntax and ftplugin file. (Nikolai Weibull)
services syntax and ftplugin file. (Nikolai Weibull)
setserial syntax and ftplugin file. (Nikolai Weibull)
sieve syntax and ftplugin file. (Nikolai Weibull)
SiSU syntax file (Ralph Amissah)
Sive syntax file. (Nikolai Weibull)
slp config, reg and spi syntax and ftplugin files. (Nikolai Weibull)
SML indent file. (Saikat Guha)
SQL anywhere syntax and indent file. (David Fishburn)
SQL indent file.
SQL-Informix syntax file. (Dean L Hill)
SQL: Handling of various variants. (David Fishburn)
sshconfig ftplugin file. (Nikolai Weibull)
Stata and SMCL syntax files. (Jeff Pitblado)
sudoers ftplugin file. (Nikolai Weibull)
sysctl syntax and ftplugin file. (Nikolai Weibull)
terminfo ftplugin file. (Nikolai Weibull)
trustees syntax file. (Nima Talebi)
Vera syntax file. (David Eggum)
udev config, permissions and rules syntax and ftplugin files. (Nikolai Weibull)
updatedb syntax and ftplugin file. (Nikolai Weibull)
VHDL indent file (Gerald Lai)
WSML syntax file. (Thomas Haselwanter)
Xdefaults ftplugin file. (Nikolai Weibull)
XFree86 config ftplugin file. (Nikolai Weibull)
xinetd syntax, indent and ftplugin file. (Nikolai Weibull)
xmodmap ftplugin file. (Nikolai Weibull)
Xquery syntax file. (Jean-Marc Vanel)
xsd (XML schema) indent file.
YAML ftplugin file. (Nikolai Weibull)
Zsh ftplugin file. (Nikolai Weibull)


New Keymaps: ~

Sinhala (Sri Lanka) (Harshula Jayasuriya)
Tamil in TSCII encoding (Yegappan Lakshmanan)
Greek in cp737 (Panagiotis Louridas)
Polish-slash (HS6_06)
Ukrainian-jcuken (Anatoli Sakhnik)
Kana (Edward L. Fox)


New message translations: ~

The Ukrainian messages are now also available in cp1251.
Vietnamese message translations and menu. (Phan Vinh Thinh)


Others: ~

The |:read| command has the |++edit| argument.  This means it will use the
detected 'fileformat', 'fileencoding' and other options for the buffer.  This
also fixes the problem that editing a compressed file didn't set these
options.

The Netbeans interface was updated for Sun Studio 10.  The protocol number
goes from 2.2 to 2.3. (Gordon Prieur)

Mac: When starting up Vim will load the $VIMRUNTIME/macmap.vim script to
define default command-key mappings. (mostly by Benji Fisher)

Mac: Add the selection type to the clipboard, so that Block, line and
character selections can be used between two Vims. (Eckehard Berns)
Also fixes the problem that setting 'clipboard' to "unnamed" breaks using
"yyp".

Mac: GUI font selector. (Peter Cucka)

Mac: support for multi-byte characters. (Da Woon Jung)
This doesn't always work properly.  If you see text drawing problems try
switching the 'macatsui' option off.

Mac: Support the xterm mouse in the non-GUI version.

Mac: better integration with Xcode.  Post a fake mouse-up event after the odoc
event and the drag receive handler to work around a stall after Vim loads a
file.  Fixed an off-by-one line number error. (Da Woon Jung)

Mac: When started from Finder change directory to the file being edited or the
user home directory.

Added the t_SI and t_EI escape sequences for starting and ending Insert mode.
To be used to set the cursor shape to a bar or a block.  No default values,
they are not supported by termcap/terminfo.

GUI font selector for Motif. (Marcin Dalecki)

Nicer toolbar buttons for Motif. (Marcin Dalecki)

Mnemonics for the Motif find/replace dialog. (Marcin Dalecki)

Included a few improvements for Motif from Marcin Dalecki.  Draw label
contents ourselves to make them handle fonts in a way configurable by Vim and
a bit less dependent on the X11 font management.

Autocommands can be defined local to a buffer.  This means they will also work
when the buffer does not have a name or no specific name.  See
|autocmd-buflocal|.  (Yakov Lerner)

For xterm most combinations of modifiers with function keys are recognized.
|xterm-modifier-keys|

When 'verbose' is set the output of ":highlight" will show where a highlight
item was last set.
When 'verbose' is set the output of the ":map", ":abbreviate", ":command",
":function" and ":autocmd" commands will show where it was last defined.
(Yegappan Lakshmanan)

":function /pattern" lists functions matching the pattern.

"1gd" can be used like "gd" but ignores matches in a {} block that ends before
the cursor position.  Likewise for "1gD" and "gD".

'scrolljump' can be set to a negative number to scroll a percentage of the
window height.

The |v:scrollstart| variable has been added to help find the location in
your script that causes the hit-enter prompt.

To make it possible to handle the situation that a file is being edited that
is already being edited by another Vim instance, the |SwapExists| event has
been added.  The |v:swapname|, |v:swapchoice| and |v:swapcommand| variables
can be used, for example to use the |client-server| functionality to bring the
other Vim to the foreground.
When starting Vim with a "-t tag" argument, there is an existing swapfile and
the user selects "quit" or "abort" then exit Vim.

Undo now also restores the '< and '> marks.  "gv" selects the same area as
before the change and undo.

When editing a search pattern for a "/" or "?" command and 'incsearch' is set
CTRL-L can be used to add a character from the current match.  CTRL-R CTRL-W
will add a word, but exclude the part of the word that was already typed.

Ruby interface: add line number methods. (Ryan Paul)

The $MYVIMRC environment variable is set to the first found vimrc file.
The $MYGVIMRC environment variable is set to the first found gvimrc file.

==============================================================================
IMPROVEMENTS						*improvements-7*

":helpgrep" accepts a language specifier after the pattern: "pat@it".

Moved the help for printing to a separate help file.  It's quite a lot now.

When doing completion for ":!cmd", ":r !cmd" or ":w !cmd" executable files are
found in $PATH instead of looking for ordinary files in the current directory.

When ":silent" is used and a backwards range is given for an Ex command the
range is swapped automatically instead of asking if that is OK.

The pattern matching code was changed from a recursive function to an
iterative mechanism.  This avoids out-of-stack errors.  State is stored in
allocated memory, running out of memory can always be detected.  Allows
matching more complex things, but Vim may seem to hang while doing that.

Previously some options were always evaluated in the |sandbox|.  Now that only
happens when the option was set from a modeline or in secure mode.  Applies to
'balloonexpr', 'foldexpr', 'foldtext' and 'includeexpr'. (Sumner Hayes)

Some commands and expressions could have nasty side effects, such as using
CTRL-R = while editing a search pattern and the expression invokes a function
that jumps to another window.  The |textlock| has been added to prevent this
from happening.

":breakadd here" and ":breakdel here" can be used to set or delete a
breakpoint at the cursor.

It is now possible to define a function with: >
	:exe "func Test()\n ...\n endfunc"

The tutor was updated to make it simpler to use and text was added to explain
a few more important commands.  Used ideas from Gabriel Zachmann.

Unix: When libcall() fails obtain an error message with dlerror() and display
it. (Johannes Zellner)

Mac and Cygwin: When editing an existing file make the file name the same case
of the edited file.  Thus when typing ":e os_UNIX.c" the file name becomes
"os_unix.c".

Added "nbsp" in 'listchars'. (David Blanchet)

Added the "acwrite" value for the 'buftype' option.  This is for a buffer that
does not have a name that refers to a file and is written with BufWriteCmd
autocommands.

For lisp indenting and matching parenthesis: (Sergey Khorev)
- square brackets are recognized properly
- #\(, #\), #\[ and #\] are recognized as character literals
- Lisp line comments (delimited by semicolon) are recognized

Added the "count" argument to match(), matchend() and matchstr(). (Ilya Sher)

winnr() takes an optional "$" or "#" argument.  (Nikolai Weibull, Yegappan
Lakshmanan)

Added 's' flag to search(): set ' mark if cursor moved. (Yegappan Lakshmanan)
Added 'n' flag to search(): don't move the cursor. (Nikolai Weibull)
Added 'c' flag to search(): accept match at the cursor.
Added 'e' flag to search(): move to end of the match. (Benji Fisher)
Added 'p' flag to search(): return number of sub-pattern. (Benji Fisher)
These also apply to searchpos(), searchpair() and searchpairpos().

The search() and searchpair() functions have an extra argument to specify
where to stop searching.  Speeds up searches that should not continue too far.

When uncompressing fails in the gzip plugin, give an error message but don't
delete the raw text.  Helps if the file has a .gz extension but is not
actually compressed. (Andrew Pimlott)

When C, C++ or IDL syntax is used, may additionally load doxygen syntax.
(Michael Geddes)

Support setting 'filetype' and 'syntax' to "aaa.bbb" for "aaa" plus "bbb"
filetype or syntax.

The ":registers" command now displays multi-byte characters properly.

VMS: In the usage message mention that a slash can be used to make a flag
upper case.  Add color support to the builtin vt320 terminal codes.
(Zoltan Arpadffy)

For the '%' item in 'viminfo', allow a number to set a maximum for the number
of buffers.

For recognizing the file type: When a file looks like a shell script, check
for an "exec" command that starts the tcl interpreter. (suggested by Alexios
Zavras)

Support conversion between utf-8 and latin9 (iso-8859-15) internally, so that
digraphs still work when iconv is not available.

When a session file is loaded while editing an unnamed, empty buffer that
buffer is wiped out.  Avoids that there is an unused buffer in the buffer
list.

Win32: When libintl.dll supports bind_textdomain_codeset(), use it.
(NAKADAIRA Yukihiro)

Win32: Vim was not aware of hard links on NTFS file systems.  These are
detected now for when 'backupcopy' is "auto".  Also fixed a bogus "file has
been changed since reading it" error for links.

When foldtext() finds no text after removing the comment leader, use the
second line of the fold.  Helps for C-style /* */ comments where the first
line is just "/*".

When editing the same file from two systems (e.g., Unix and MS-Windows) there
mostly was no warning for an existing swap file, because the name of the
edited file differs (e.g., y:\dir\file vs /home/me/dir/file).  Added a flag to
the swap file to indicate it is in the same directory as the edited file.  The
used path then doesn't matter and the check for editing the same file is much
more reliable.

Unix: When editing a file through a symlink the swap file would use the name
of the symlink.  Now use the name of the actual file, so that editing the same
file twice is detected. (suggestions by Stefano Zacchiroli and James Vega)

Client-server communication now supports 'encoding'.  When setting 'encoding'
in a Vim server to "utf-8", and using "vim --remote fname" in a console,
"fname" is converted from the console encoding to utf-8.  Also allows Vims
with different 'encoding' settings to exchange messages.

Internal: Changed ga_room into ga_maxlen, so that it doesn't need to be
incremented/decremented each time.

When a register is empty it is not stored in the viminfo file.

Removed the tcltags script, it's obsolete.

":redir @*>>" and ":redir @+>>" append to the clipboard.  Better check for
invalid characters after the register name. |:redir|

":redir => variable" and ":redir =>> variable" write or append to a variable.
(Yegappan Lakshmanan) |:redir|

":redir @{a-z}>>" appends to register a to z. (Yegappan Lakshmanan)

The 'verbosefile' option can be used to log messages in a file.  Verbose
messages are not displayed then.  The "-V{filename}" argument can be used to
log startup messages.

":let g:" lists global variables.
":let b:" lists buffer-local variables.
":let w:" lists window-local variables.
":let v:" lists Vim variables.

The stridx() and strridx() functions take a third argument, where to start
searching.  (Yegappan Lakshmanan)

The getreg() function takes an extra argument to be able to get the expression
for the '=' register instead of the result of evaluating it.

The setline() function can take a List argument to set multiple lines.  When
the line number is just below the last line the line is appended.

g CTRL-G also shows the number of characters if it differs from the number of
bytes.

Completion for ":debug" and entering an expression for the '=' register.  Skip
":" between range and command name. (Peter winters)

CTRL-Q in Insert mode now works like CTRL-V by default.  Previously it was
ignored.

When "beep" is included in 'debug' a function or script that causes a beep
will result in a message with the source of the error.

When completing buffer names, match with "\(^\|[\/]\)" instead of "^", so that
":buf stor<Tab>" finds both "include/storage.h" and "storage/main.c".

To count items (pattern matches) without changing the buffer the 'n' flag has
been added to |:substitute|.  See |count-items|.

In a |:substitute| command the \u, \U, \l and \L items now also work for
multi-byte characters.

The "screen.linux" $TERM name is recognized to set the default for
'background' to "dark". (Ciaran McCreesh)  Also for "cygwin" and "putty".

The |FileChangedShell| autocommand event can now use the |v:fcs_reason|
variable that specifies what triggered the event.  |v:fcs_choice| can be used
to reload the buffer or ask the user what to do.

Not all modifiers were recognized for xterm function keys.  Added the
possibility in term codes to end in ";*X" or "O*X", where X is any character
and the * stands for the modifier code.
Added the <xUp>, <xDown>, <xLeft> and <xRight> keys, to be able to recognize
the two forms that xterm can send their codes in and still handle all possible
modifiers.

getwinvar() now also works to obtain a buffer-local option from the specified
window.

Added the "%s" item to 'errorformat'. (Yegappan Lakshmanan)
Added the "%>" item to 'errorformat'.

For 'errorformat' it was not possible to have a file name that contains the
character that follows after "%f".  For example, in "%f:%l:%m" the file name
could not contain ":".  Now include the first ":" where the rest of the
pattern matches.  In the example a ":" not followed by a line number is
included in the file name. (suggested by Emanuele Giaquinta)

GTK GUI: use the GTK file dialog when it's available.  Mix from patches by
Grahame Bowland and Evan Webb.

Added ":scriptnames" to bugreport.vim, so that we can see what plugins were
used.

Win32: If the user changes the setting for the number of lines a scroll wheel
click scrolls it is now used immediately.  Previously Vim would need to be
restarted.

When using @= in an expression the value is expression @= contains.  ":let @=
= value" can be used to set the register contents.

A ! can be added to ":popup" to have the popup menu appear at the mouse
pointer position instead of the text cursor.

The table with encodings has been expanded with many MS-Windows codepages,
such as cp1250 and cp737, so that these can also be used on Unix without
prepending "8bit-".
When an encoding name starts with "microsoft-cp" ignore the "microsoft-" part.

Added the "customlist" completion argument to a user-defined command.  The
user-defined completion function should return the completion candidates as a
Vim List and the returned results are not filtered by Vim. (Yegappan
Lakshmanan)

Win32: Balloons can have multiple lines if common controls supports it.
(Sergey Khorev)

For command-line completion the matches for various types of arguments are now
sorted: user commands, variables, syntax names, etc.

When no locale is set, thus using the "C" locale, Vim will work with latin1
characters, using its own isupper()/toupper()/etc. functions.

When using an rxvt terminal emulator guess the value of 'background' using the
COLORFGBG environment variable. (Ciaran McCreesh)

Also support t_SI and t_EI on Unix with normal features. (Ciaran McCreesh)

When 'foldcolumn' is one then put as much info in it as possible.  This allows
closing a fold with the mouse by clicking on the '-'.

input() takes an optional completion argument to specify the type of
completion supported for the input. (Yegappan Lakshmanan)

"dp" works with more than two buffers in diff mode if there is only one where
'modifiable' is set.

The 'diffopt' option has three new values: "horizontal", "vertical" and
"foldcolumn".

When the 'include' option contains \zs the file name found is what is being
matched from \zs to the end or \ze.  Useful to pass more to 'includeexpr'.

Loading plugins on startup now supports subdirectories in the plugin
directory. |load-plugins|

In the foldcolumn always show the '+' for a closed fold, so that it can be
opened easily.  It may overwrite another character, esp. if 'foldcolumn' is 1.

It is now possible to get the W10 message again by setting 'readonly'.  Useful
in the FileChangedRO autocommand when checking out the file fails.

Unix: When open() returns EFBIG give an appropriate message.

":mksession" sets the SessionLoad variable to notify plugins.  A modeline is
added to the session file to set 'filetype' to "vim".

In the ATTENTION prompt put the "Delete it" choice before "Quit" to make it
more logical.  (Robert Webb)

When appending to a file while the buffer has no name the name of the appended
file would be used for the current buffer.  But the buffer contents is
actually different from the file content.  Don't set the file name, unless the
'P' flag is present in 'cpoptions'.

When starting to edit a new file and the directory for the file doesn't exist
then Vim will report "[New DIRECTORY]" instead of "[New File] to give the user
a hint that something might be wrong.

Win32: Preserve the hidden attribute of the viminfo file.

In Insert mode CTRL-A didn't keep the last inserted text when using CTRL-O and
then a cursor key.  Now keep the previously inserted text if nothing is
inserted after the CTRL-O.  Allows using CTRL-O commands to move the cursor
without losing the last inserted text.

The exists() function now supports checking for autocmd group definition
and for supported autocommand events. (Yegappan Lakshmanan)

Allow using ":global" in the sandbox, it doesn't do anything harmful by
itself.

":saveas asdf.c" will set 'filetype' to c when it's empty.  Also for ":w
asdf.c" when it sets the filename for the buffer.

Insert mode completion for whole lines now also searches unloaded buffers.

The colortest.vim script can now be invoked directly with ":source" or
":runtime syntax/colortest.vim".

The 'statusline' option can be local to the window, so that each window can
have a different value.  (partly by Yegappan Lakshmanan)

The 'statusline' option and other options that support the same format can now
use these new features:
- When it starts with "%!" the value is first evaluated as an expression
  before parsing the value.
- "%#HLname#" can be used to start highlighting with HLname.

When 'statusline' is set to something that causes an error message then it is
made empty to avoid an endless redraw loop.  Also for other options, such at
'tabline' and 'titlestring'.  ":verbose set statusline" will mention that it
was set in an error handler.

When there are several matching tags, the ":tag <name>" and CTRL-] commands
jump to the [count] matching tag. (Yegappan Lakshmanan)

Win32: In the batch files generated by the install program, use $VIMRUNTIME or
$VIM if it's set.  Example provided by Mathias Michaelis.
Also create a vimtutor.bat batch file.

The 'balloonexpr' option is now |global-local|.

The system() function now runs in cooked mode, thus can be interrupted by
CTRL-C.

==============================================================================
COMPILE TIME CHANGES					*compile-changes-7*

Dropped the support for the BeOS and Amiga GUI.  They were not maintained and
probably didn't work.  If you want to work on this: get the Vim 6.x version
and merge it back in.

When running the tests and one of them fails to produce "test.out" the
following tests are still executed.  This helps when running out of memory.

When compiling with EXITFREE defined and the ccmalloc library, it is possible
to detect memory leaks.  Some memory will always be reported as leaked, such
as allocated by X11 library functions and the memory allocated in
alloc_cmdbuff() to store the ":quit" command.

Moved the code for printing to src/hardcopy.c.

Moved some code from main() to separate functions to make it easier to see
what is being done.  Using a structure to avoid a lot of arguments to the
functions.

Moved unix_expandpath() to misc1.c, so that it can also be used by os_mac.c
without copying the code.

--- Mac ---

"make" now creates the Vim.app directory and "make install" copies it to its
final destination. (Raf)

Put the runtime directory not directly in Vim.app but in
Vim.app/Contents/Resources/vim, so that it's according to Mac specs.

Made it possible to compile with Motif, Athena or GTK without tricks and still
being able to use the MacRoman conversion.  Added the os_mac_conv.c file.

When running "make install" the runtime files are installed as for Unix.
Avoids that too many files are copied.  When running "make" a link to the
runtime files is created to avoid a recursive copy that takes much time.

Configure will attempt to build Vim for both Intel and PowerPC.  The
--with-mac-arch configure argument can change it.

--- Win32 ---

The Make_mvc.mak file was adjusted to work with the latest MS compilers,
including the free version of Visual Studio 2005. (George Reilly)

INSTALLpc.txt was updated for the recent changes. (George Reilly)

The distributed executable is now produced with the free Visual C++ Toolkit
2003 and other free SDK chunks.  msvcsetup.bat was added to support this.

Also generate the .pdb file that can be used to generate a useful crash report
on MS-Windows. (George Reilly)

==============================================================================
BUG FIXES						*bug-fixes-7*

When using PostScript printing on MS-DOS the default 'printexpr' used "lpr"
instead of "copy".  When 'printdevice' was empty the copy command did not
work.  Use "LPT1" then.

The GTK font dialog uses a font size zero when the font name doesn't include a
size.  Use a default size of 10.

This example in the documentation didn't work: >
    :e `=foo . ".c"`
Skip over the expression in `=expr` when looking for comments, |, % and #.

When ":helpgrep" doesn't find anything there is no error message.

"L" and "H" did not take closed folds into account.

Win32: The "-P title" argument stopped at the first title that matched, even
when it doesn't support MDI.

Mac GUI: CTRL-^ and CTRL-@ did not work.

"2daw" on "word." at the end of a line didn't include the preceding white
space.

Win32: Using FindExecutable() doesn't work to find a program.  Use
SearchPath() instead.  For executable() use $PATHEXT when the program searched
for doesn't have an extension.

When 'virtualedit' is set, moving the cursor up after appending a character
may move it to a different column.  Was caused by auto-formatting moving the
cursor and not putting it back where it was.

When indent was added automatically and then moving the cursor, the indent was
not deleted (like when pressing ESC).  The "I" flag in 'cpoptions' can be used
to make it work the old way.

When opening a command-line window, 'textwidth' gets set to 78 by the Vim
filetype plugin.  Reset 'textwidth' to 0 to avoid lines are broken.

After using cursor(line, col) moving up/down doesn't keep the same column.

Win32: Borland C before 5.5 requires using ".u." for LowPart and HighPart
fields. (Walter Briscoe)

On Sinix SYS_NMLN isn't always defined.  Define it ourselves. (Cristiano De
Michele)

Printing with PostScript may keep the printer waiting for more.  Append a
CTRL-D to the printer output. (Mike Williams)

When converting a string with a hex or octal number the leading '-' was
ignored.  ":echo '-05' + 0" resulted in 5 instead of -5.

Using "@:" to repeat a command line didn't work when it contains control
characters.  Also remove "'<,'>" when in Visual mode to avoid that it appears
twice.

When using file completion for a user command, it would not expand environment
variables like for a regular command with a file argument.

'cindent': When the argument of a #define looks like a C++ class the next line
is indented too much.

When 'comments' includes multi-byte characters inserting the middle part and
alignment may go wrong.  'cindent' also suffers from this for right-aligned
items.

Win32: when 'encoding' is set to "utf-8" getenv() still returns strings in the
active codepage.  Convert to utf-8.  Also for $HOME.

The default for 'helplang' was "zh" for both "zh_cn" and "zh_tw".  Now use
"cn" or "tw" as intended.

When 'bin' is set and 'eol' is not set then line2byte() added the line break
after the last line while it's not there.

Using foldlevel() in a WinEnter autocommand may not work.  Noticed when
resizing the GUI shell upon startup.

Python: Using buffer.append(f.readlines()) didn't work.  Allow appending a
string with a trailing newline.  The newline is ignored.

When using the ":saveas f2" command for buffer "f1", the Buffers menu would
contain "f2" twice, one of them leading to "f1".  Also trigger the BufFilePre
and BufFilePost events for the alternate buffer that gets the old name.

strridx() did not work well when the needle is empty. (Ciaran McCreesh)

GTK: Avoid a potential hang in gui_mch_wait_for_chars() when input arrives
just before it is invoked

VMS: Occasionally CR characters were inserted in the file.  Expansion of
environment variables was not correct. (Zoltan Arpadffy)

UTF-8: When 'delcombine' is set "dw" only deleted the last combining character
from the first character of the word.

When using ":sball" in an autocommand only the filetype in one buffer was
detected.  Reset did_filetype in enter_buffer().

When using ":argdo" and the window already was at the first argument index,
but not actually editing it, the current buffer would be used instead.

When ":next dir/*" includes many matches, adding the names to the argument
list may take an awful lot of time and can't be interrupted.  Allow
interrupting this.

When editing a file that was already loaded in a buffer, modelines were not
used.  Now window-local options in the modeline are set.  Buffer-local options
and global options remain unmodified.

Win32: When 'encoding' is set to "utf-8" in the vimrc file, files from the
command line with non-ASCII characters are not used correctly.  Recode the
file names when 'encoding' is set, using the Unicode command line.

Win32 console: When the default for 'encoding' ends up to be "latin1", the
default value of 'isprint' was wrong.

When an error message is given while waiting for a character (e.g., when an
xterm reports the number of colors), the hit-enter prompt overwrote the last
line.  Don't reset msg_didout in normal_cmd() for K_IGNORE.

Mac GUI: Shift-Tab didn't work.

When defining tooltip text, don't translate terminal codes, since it's not
going to be used like a command.

GTK 2: Check the tooltip text for valid utf-8 characters to avoid getting a
GTK error.  Invalid characters may appear when 'encoding' is changed.

GTK 2: Add a safety check for invalid utf-8 sequences, they can crash pango.

Win32: When 'encoding' is changed while starting up, use the Unicode command
line to convert the file arguments to 'encoding'.  Both for the GUI and the
console version.

Win32 GUI: latin9 text (iso-8859-15) was not displayed correctly, because
there is no codepage for latin9.  Do our own conversion from latin9 to UCS2.

When two versions of GTK+ 2 are installed it was possible to use the header
files from one and the library from the other.  Use GTK_LIBDIR to put the
directory for the library early in the link flags.

With the GUI find/replace dialog a replace only worked if the pattern was
literal text.  Now it works for any pattern.

When 'equalalways' is set and 'eadirection' is "hor", ":quit" would still
cause equalizing window heights in the vertical direction.

When ":emenu" is used in a startup script the command was put in the typeahead
buffer, causing a prompt for the crypt key to be messed up.

Mac OS/X: The default for 'isprint' included characters 128-160, causes
problems for Terminal.app.

When a syntax item with "containedin" is used, it may match in the start or
end of a region with a matchgroup, while this doesn't happen for a "contains"
argument.

When a transparent syntax items matches in another item where the highlighting
has already stopped (because of a he= argument), the highlighting would come
back.

When cscope is used to set the quickfix error list, it didn't get set if there
was only one match. (Sergey Khorev)

When 'confirm' is set and using ":bdel" in a modified buffer, then selecting
"cancel", would still give an error message.

The PopUp menu items that started Visual mode didn't work when not in Normal
mode.  Switching between selecting a word and a line was not possible.

Win32: The keypad decimal point always resulted in a '.', while on some
keyboards it's a ','.  Use MapVirtualKey(VK_DECIMAL, 2).

Removed unused function DisplayCompStringOpaque() from gui_w32.c

In Visual mode there is not always an indication whether the line break is
selected or not.  Highlight the character after the line when the line break
is included, e.g., after "v$o".

GTK: The <F10> key can't be mapped, it selects the menu.  Disable that with a
GTK setting and do select the menu when <F10> isn't mapped. (David Necas)

After "Y" '[ and '] were not at start/end of the yanked text.

When a telnet connection is dropped Vim preserves files and exits.  While
doing that a SIGHUP may arrive and disturb us, thus ignore it. (Scott
Anderson)  Also postpone SIGHUP, SIGQUIT and SIGTERM until it's safe to
handle.  Added handle_signal().

When completing a file name on the command line backslashes are required for
white space.  Was only done for a space, not for a Tab.

When configure could not find a terminal library, compiling continued for a
long time before reporting the problem.  Added a configure check for tgetent()
being found in a library.

When the cursor is on the first char of the last line a ":g/pat/s///" command
may cause the cursor to be displayed below the text.

Win32: Editing a file with non-ASCII characters doesn't work when 'encoding'
is "utf-8".  use _wfullpath() instead of _fullpath(). (Yu-sung Moon)

When recovering the 'fileformat' and 'fileencoding' were taken from the
original file instead of from the swapfile.  When the file didn't exist, was
empty or the option was changed (e.g., with ":e ++fenc=cp123 file") it could
be wrong.  Now store 'fileformat' and 'fileencoding' in the swapfile and use
the values when recovering.

":bufdo g/something/p" overwrites each last printed text line with the file
message for the next buffer.  Temporarily clear 'shortmess' to avoid that.

Win32: Cannot edit a file starting with # with --remote.  Do escape % and #
when building the ":drop" command.

A comment or | just after an expression-backtick argument was not recognized.
E.g. in :e `="foo"`"comment.

"(" does not stop at an empty sentence (single dot and white space) while ")"
does.  Also breaks "das" on that dot.

When doing "yy" with the cursor on a TAB the ruler could be wrong and "k"
moved the cursor to another column.

When 'commentstring' is '"%s' and there is a double quote in the line a double
quote before the fold marker isn't removed in the text displayed for a  closed
fold.

In Visual mode, when 'bin' and 'eol' set, g CTRL-G counted the last line
break, resulting in "selected 202 of 201 bytes".

Motif: fonts were not used for dialog components. (Marcin Dalecki)

Motif: After using a toolbar button the keyboard focus would be on the toolbar
(Lesstif problem). (Marcin Dalecki)

When using "y<C-V>`x" where mark x is in the first column, the last line was
not included.

Not all test scripts work properly on MS-Windows when checked out from CVS.
Use a Vim command to fix all fileformats to dos before executing the tests.

When using ":new" and the file fits in the window, lines could still be above
the window.  Now remove empty lines instead of keeping the relative position.

Cmdline completion didn't work after ":let var1 var<Tab>".

When using ":startinsert" or ":startreplace" when already in Insert mode
(possible when using CTRL-R =), pressing Esc would directly restart Insert
mode. (Peter Winters)

"2daw" didn't work at end of file if the last word is a single character.

Completion for ":next a'<Tab>" put a backslash before single quote, but it was
not removed when editing a file.  Now halve backslashes in save_patterns().
Also fix expanding a file name with the shell that contains "\'".

When doing "1,6d|put" only "fewer lines" was reported.  Now a following "more
lines" overwrites the message.

Configure could not handle "-Dfoo=long\ long" in the TCL config output.

When searching backwards, using a pattern that matches a newline and uses \zs
after that, didn't find a match.  Could also get a hang or end up in the right
column in the wrong line.

When $LANG is "sl" for slovenian, the slovak menu was used, since "slovak"
starts with "sl".

When 'paste' is set in the GUI the Paste toolbar button doesn't work.  Clear
'paste' when starting the GUI.

A message about a wrong viminfo line included the trailing NL.

When 'paste' is set in the GUI the toolbar button doesn't work in Insert mode.
Use ":exe" in menu.vim to avoid duplicating the commands, instead of using a
mapping.

Treat "mlterm" as an xterm-like terminal. (Seiichi Sato)

":z.4" and ":z=4" didn't work Vi compatible.

When sourcing a file, editing it and sourcing it again, it could appear twice
in ":scriptnames" and get a new <SID>, because the inode has changed.

When $SHELL is set but empty the 'shell' option would be empty.  Don't use an
empty $SHELL value.

A command "w! file" in .vimrc or $EXINIT didn't work.  Now it writes an empty
file.

When a CTRL-F command at the end of the file failed, the cursor was still
moved to the start of the line.  Now it remains where it is.

When using ":s" or "&" to repeat the last substitute and "$" was used to put
the cursor in the last column, put the cursor in the last column again.  This
is Vi compatible.

Vim is not fully POSIX compliant but sticks with traditional Vi behavior.
Added a few flags in 'cpoptions' to behave the POSIX way when wanted.  The
$VIM_POSIX environment variable is checked to set the default.

Appending to a register didn't insert a line break like Vi.  Added the '>'
flag to 'cpoptions' for this.

Using "I" in a line with only blanks appended to the line.  This is not Vi
compatible.  Added the 'H' flag in 'coptions' for this.

When joining multiple lines the cursor would be at the last joint, but Vi
leaves it at the position where "J" would put it.  Added the 'q' flag in
'cpoptions' for this.

Autoindent didn't work for ":insert" and ":append".

Using ":append" in an empty buffer kept the dummy line.  Now it's deleted to
be Vi compatible.

When reading commands from a file and stdout goes to a terminal, would still
request the xterm version.  Vim can't read it, thus the output went to the
shell and caused trouble there.

When redirecting to a register with an invalid name the redirection would
still be done (after an error message).  Now reset "redir_reg". (Yegappan
Lakshmanan)

It was not possible to use a NL after a backslash in Ex mode.  This is
sometimes used to feed multiple lines to a shell command.

When 'cmdheight' is set to 2 in .vimrc and the GUI uses the number of lines
from the terminal we actually get 3 lines for the cmdline in gvim.

When setting $HOME allocated memory would leak.

Win32: bold characters may sometimes write in another character cell.  Use
unicodepdy[] as for UTF-8. (Taro Muraoka)

":w fname" didn't work for files with 'buftype' set to "nofile".

The method used to locate user commands for completion differed from when they
are executed.  Ambiguous command names were not completed properly.

Incremental search may cause a crash when there is a custom statusline that
indirectly invokes ":normal".

Diff mode failed when $DIFF_OPTIONS was set in the environment.  Unset it
before invoking "diff".

Completion didn't work after ":argdo", ":windo" and ":bufdo".  Also for ":set
&l:opt" and ":set &g:opt". (Peter Winters)

When setting 'ttymouse' to "dec" in an xterm that supports the DEC mouse
locator it doesn't work.  Now switch off the mouse before selecting another
mouse model.

When the CursorHold event is triggered and the commands peek for typed
characters the typeahead buffer may be messed up, e.g., when a mouse-up event
is received.  Avoid invoking the autocommands from the function waiting for a
character, let it put K_CURSORHOLD in the input buffer.

Removed the "COUNT" flag from ":argadd", to avoid ":argadd 1*" to be used like
":1argadd *".  Same for ":argdelete" and ":argedit".

Avoid that $LANG is used for the menus when LC_MESSAGES is "en_US".

Added backslashes before dashes in the vim.1 manual page to make them appear
as real dashes. (Pierre Habouzit)

Where "gq" left the cursor depended on the value of 'formatprg'.  Now "gq"
always leaves the cursor at the last line of the formatted text.

When editing a compressed file, such as "changelog.Debian.gz" file, filetype
detection may try to check the contents of the file while it's still
compressed.  Skip setting 'filetype' for compressed files until they have been
decompressed.  Required for patterns that end in a "*".

Starting with an argument "+cmd" or "-S script" causes the cursor to be moved
to the first line.  That breaks a BufReadPost autocommand that uses g`".
Don't move the cursor if it's somewhere past the first line.

"gg=G" while 'modifiable' is off was uninterruptible.

When 'encoding' is "sjis" inserting CTRL-V u d800 a few times causes a crash.
Don't insert a DBCS character with a NUL second byte.

In Insert mode CTRL-O <Home> didn't move the cursor.  Made "ins_at_eol" global
and reset it in nv_home().

Wildcard expansion failed: ":w /tmp/$$.`echo test`".  Don't put quotes around
spaces inside backticks.

After this sequence of commands: Y V p gv: the wrong line is selected.  Now
let "gv" select the text that was put, since the original text is deleted.
This should be the most useful thing to do.

":sleep 100u" sleeps for 100 seconds, not 100 usec as one might expect.  Give
an error message when the argument isn't recognized.

In gui_mch_draw_string() in gui_w32.c "unibuflen" wasn't static, resulting in
reallocating the buffer every time. (Alexei Alexandrov)

When using a Python "atexit" function it was not invoked when Vim exits.  Now
call Py_Finalize() for that. (Ugo Di Girolamo)
This breaks the thread stuff though, fixed by Ugo.

GTK GUI: using a .vimrc with "set cmdheight=2 lines=43" and ":split" right
after startup, the window layout is messed up. (Michael Schaap)  Added
win_new_shellsize() call in gui_init() to fix the topframe size.

Trick to get ...MOUSE_NM not used when there are vertical splits.  Now pass
column -1 for the left most window and add MOUSE_COLOFF for others.  Limits
mouse column to 10000.

searchpair() may hang when the end pattern has "\zs" at the end.  Check that
we find the same position again and advance one character.

When in diff mode and making a change that causes the "changed" highlighting
to disappear or reappear, it was still highlighted in another window.

When a ":next" command fails because the user selects "Abort" at the ATTENTION
prompt the argument index was advanced anyway.

When "~" is in 'iskeyword' the "gd" doesn't work, it's used for the previous
substitute pattern.  Put "\V" in the pattern to avoid that.

Use of sprintf() sometimes didn't check properly for buffer overflow.  Also
when using smsg().  Included code for snprintf() to avoid having to do size
checks where invoking them

":help \=<Tab>" didn't find "sub-replace-\=".  Wild menu for help tags didn't
show backslashes.  ":he :s\=" didn't work.

When reading an errorfile "~/" in a file name was not expanded.

GTK GUI: When adding a scrollbar (e.g. when using ":vsplit") in a script or
removing it the window size may change.  GTK sends us resize events when we
change the window size ourselves, but they may come at an unexpected moment.
Peek for a character to get any window resize events and fix 'columns' and
'lines' to undo this.

When using the GTK plug mechanism, resizing and focus was not working
properly. (Neil Bird)

After deleting files from the argument list a session file generated with
":mksession" may contain invalid ":next" commands.

When 'shortmess' is empty and 'keymap' set to accents, in Insert mode CTRL-N
may cause the hit-enter prompt.  Typing 'a then didn't result in the accented
character.  Put the character typed at the prompt back in the typeahead buffer
so that mapping is done in the right mode.

setbufvar() and setwinvar() did not give error messages.

It was possible to set a variable with an illegal name, e.g. with setbufvar().
It was possible to define a function with illegal name, e.t. ":func F{-1}()"

CTRL-W F and "gf" didn't use the same method to get the file name.

When reporting a conversion error the line number of the last error could be
given.  Now report the first encountered error.

When using ":e ++enc=name file" and iconv() was used for conversion an error
caused a fall-back to no conversion.  Now replace a character with '?' and
continue.

When opening a new buffer the local value of 'bomb' was not initialized from
the global value.

Win32: When using the "Edit with Vim" entry the file name was limited to about
200 characters.

When using command line completion for ":e *foo" and the file "+foo" exists
the resulting command ":e +foo" doesn't work.  Now insert a backslash: ":e
\+foo".

When the translation of "-- More --" was not 10 characters long the following
message would be in the wrong position.

At the more-prompt the last character in the last line wasn't drawn.

When deleting non-existing text while 'virtualedit' is set the '[ and '] marks
were not set.

Win32: Could not use "**/" in 'path', it had to be "**\".

The search pattern "\n" did not match at the end of the last line.

Searching for a pattern backwards, starting on the NUL at the end of the line
and 'encoding' is "utf-8" would match the pattern just before it incorrectly.
Affected searchpair('/\*', '', '\*/').

For the Find/Replace dialog it was possible that not finding the text resulted
in an error message while redrawing, which cleared the syntax highlighting
while it was being used, resulting in a crash.  Now don't clear syntax
highlighting, disable it with b_syn_error.

Win32: Combining UTF-8 characters were drawn on the previous character.
Could be noticed with a Thai font.

Output of ":function" could leave some of the typed text behind. (Yegappan
Lakshmanan)

When the command line history has only a few lines the command line window
would be opened with these lines above the first window line.

When using a command line window for search strings ":qa" would result in
searching for "qa" instead of quitting all windows.

GUI: When scrolling with the scrollbar and there is a line that doesn't fit
redrawing may fail.  Make sure w_skipcol is valid before redrawing.

Limit the values of 'columns' and 'lines' to avoid an overflow in Rows *
Columns.  Fixed bad effects when running out of memory (command line would be
reversed, ":qa!" resulted in ":!aq").

Motif: "gvim -iconic" opened the window anyway.  (David Harrison)

There is a tiny chance that a symlink gets created between checking for an
existing file and creating a file.  Use the O_NOFOLLOW for open() if it's
available.

In an empty line "ix<CTRL-O>0" moved the cursor to after the line instead of
sticking to the first column.

When using ":wq" and a BufWriteCmd autocmd uses inputsecret() the text was
echoed anyway.  Set terminal to raw mode in getcmdline().

Unix: ":w a;b~c" caused an error in expanding wildcards.

When appending to a file with ":w >>fname" in a buffer without a name, causing
the buffer to use "fname", the modified flag was reset.

When appending to the current file the "not edited" flag would be reset.
":w" would overwrite the file accidentally.

Unix: When filtering text with an external command Vim would still read input,
causing text typed for the command (e.g., a password) to be eaten and echoed.
Don't read input when the terminal is in cooked mode.

The Cygwin version of xxd used CR/LF line separators. (Corinna Vinschen)

Unix: When filtering text through a shell command some resulting text may be
dropped.  Now after detecting that the child has exited try reading some more
of its output.

When inside input(), using "CTRL-R =" and the expression throws an exception
the command line was not abandoned but it wasn't used either.  Now abandon
typing the command line.

'delcombine' was also used in Visual and Select mode and for commands like
"cl".  That was illogical and has been disabled.

When recording while a CursorHold autocommand was defined special keys would
appear in the register.  Now the CursorHold event is not triggered while
recording.

Unix: the src/configure script used ${srcdir-.}, not all shells understand
that.  Use ${srcdir:-.} instead.

When editing file "a" which is a symlink to file "b" that doesn't exist,
writing file "a" to create "b" and then ":split b" resulted in two buffers on
the same file with two different swapfile names.  Now set the inode in the
buffer when creating a new file.

When 'esckeys' is not set don't send the xterm code to request the version
string, because it may cause trouble in Insert mode.

When evaluating an expression for CTRL-R = on the command line it was possible
to call a function that opens a new window, resulting in errors for
incremental search, and many other nasty things were possible.  Now use the
|textlock| to disallow changing the buffer or jumping to another window
to protect from unexpected behavior.  Same for CTRL-\ e.

"d(" deleted the character under the cursor, while the documentation specified
an exclusive motion.  Vi also doesn't delete the character under the cursor.

Shift-Insert in Insert mode could put the cursor before the last character
when it just fits in the window.  In coladvance() don't stop at the window
edge when filling with spaces and when in Insert mode.  In mswin.vim avoid
getting a beep from the "l" command.

Win32 GUI: When Alt-F4 is used to close the window and Cancel is selected in
the dialog then Vim would insert <M-F4> in the text.  Now it's ignored.

When ":silent! {cmd}" caused the swap file dialog, which isn't displayed,
there would still be a hit-enter prompt.

Requesting the termresponse (|t_RV|) early may cause problems with "-c"
arguments that invoke an external command or even "-c quit".  Postpone it
until after executing "-c" arguments.

When typing in Insert mode so that a new line is started, using CTRL-G u to
break undo and start a new change, then joining the lines with <BS> caused
undo info to be missing.  Now reset the insertion start point.

Syntax HL: When a region start match has a matchgroup and an offset that
happens to be after the end of the line then it continued in the next line and
stopped at the region end match, making the region continue after that.
Now check for the column being past the end of the line in syn_add_end_off().

When changing a file, setting 'swapfile' off and then on again, making another
change and killing Vim, then some blocks may be missing from the swapfile.
When 'swapfile' is switched back on mark all blocks in the swapfile as dirty.
Added mf_set_dirty().

Expanding wildcards in a command like ":e aap;<>!" didn't work.  Put
backslashes before characters that are special to the shell. (Adri Verhoef)

A CursorHold autocommand would cause a message to be cleared.  Don't show the
special key for the event for 'showcmd'.

When expanding a file name for a shell command, as in "!cmd foo<Tab>" or ":r
!cmd foo<Tab>" also escape characters that are special for the shell:
"!;&()<>".

When the name of the buffer was set by a ":r fname" command |cpo-f| no
autocommands were triggered to notify about the change in the buffer list.

In the quickfix buffer 'bufhidden' was set to "delete", which caused closing
the quickfix window to leave an unlisted "No Name" buffer behind every time.

Win32: when using two screens of different size, setting 'lines' to a large
value didn't fill the whole screen. (SungHyun Nam)

Win32 installer: The generated _vimrc contained an absolute path to diff.exe.
After upgrading it becomes invalid.  Now use $VIMRUNTIME instead.

The command line was cleared to often when 'showmode' was set and ":silent
normal vy" was used.  Don't clear the command line unless the mode was
actually displayed.  Added the "mode_displayed" variable.

The "load session" toolbar item could not handle a space or other special
characters in v:this_session.

":set sta ts=8 sw=4 sts=2" deleted 4 spaces halfway a line instead of 2.

In a multi-byte file the foldmarker could be recognized in the trail byte.
(Taro Muraoka)

Pasting with CTRL-V and menu didn't work properly when some commands are
mapped.  Use ":normal!" instead of ":normal". (Tony Apuzzo)

Crashed when expanding a file name argument in backticks.

In some situations the menu and scrollbar didn't work, when the value contains
a CSI byte. (Yukihiro Nakadaira)

GTK GUI: When drawing the balloon focus changes and we might get a key release
event that removed the balloon again.  Ignore the key release event.

'titleold' was included in ":mkexrc" and ":mksession" files.

":set background&" didn't use the same logic as was used when starting up.

When "umask" is set such that nothing is writable then the viminfo file would
be written without write permission. (Julian Bridle)

Motif: In diff mode dragging one scrollbar didn't update the scrollbar of the
other diff'ed window.

When editing in an xterm with a different number of colors than expected the
screen would be cleared and redrawn, causing the message about the edited file
to be cleared.  Now set "keep_msg" to redraw the last message.

For a color terminal: When the Normal HL uses bold, possibly to make the color
lighter, and another HL group specifies a color it might become light as well.
Now reset bold if a HL group doesn't specify bold itself.

When using 256 color xterm the color 255 would show up as color 0.  Use a
short instead of a char to store the color number.

ml_get errors when searching for "\n\zs" in an empty file.

When selecting a block and using "$" to select until the end of every line and
not highlighting the character under the cursor the first character of the
block could be unhighlighted.

When counting words for the Visual block area and using "$" to select until
the end of every line only up to the length of the last line was counted.

"dip" in trailing empty lines left one empty line behind.

The script ID was only remembered globally for each option. When a buffer- or
window-local option was set the same "last set" location was changed for all
buffers and windows.  Now remember the script ID for each local option
separately.

GUI: The "Replace All" button didn't handle backslashes in the replacement in
the same way as "Replace".  Escape backslashes so that they are taken
literally.

When using Select mode from Insert mode and typing a key, causing lines to be
deleted and a message displayed, delayed the effect of inserting the key.
Now overwrite the message without delay.

When 'whichwrap' includes "l" then "dl" and "yl" on a single letter line
worked differently.  Now recognize all operators when using "l" at the end of
a line.

GTK GUI: when the font selector returned a font name with a comma in it then
it would be handled like two font names.  Now put a backslash before the
comma.

MS-DOS, Win32: When 'encoding' defaults to "latin1" then the value for
'iskeyword' was still for CPxxx.  And when 'nocompatible' was set 'isprint'
would also be the wrong value.

When a command was defined not to take arguments and no '|' no warning message
would be given for using a '|'.  Also with ":loadkeymap".

Motif: When using a fontset and 'encoding' is "utf-8" and sizeof(wchar_t) !=
sizeof(XChar2b) then display was wrong. (Yukihiro Nakadaira)

":all" always set the current window to the first window, even when it
contains a buffer that is not in the argument list (can't be closed because it
is modified).  Now go to the window that has the first item of the argument
list.

GUI: To avoid left-over pixels from bold text all characters after a character
with special attributes were redrawn.  Now only do this for characters that
actually are bold.  Speeds up displaying considerably.

When only highlighting changes and the text is scrolled at the same time
everything is redrawn instead of using a scroll and updating the changed text.
E.g., when using ":match" to highlight a paren that the cursor landed on.
Added SOME_VALID: Redraw the whole window but also try to scroll to minimize
redrawing.

Win32: When using Korean IME making it active didn't work properly. (Moon,
Yu-sung, 2005 March 21)

Ruby interface: when inserting/deleting lines display wasn't updated. (Ryan
Paul)

--- fixes since Vim 7.0b ---

Getting the GCC version in configure didn't work with Solaris sed.  First
strip any "darwin." and then get the version number.

The "autoload" directory was missing from the self-installing executable for
MS-Windows.

The MS-Windows install program would find "vimtutor.bat" in the install
directory.  After changing to "c:" also change to "\" to avoid looking in the
install directory.

To make the 16 bit DOS version compile exclude not used highlight
initializations and build a tiny instead of small version.

finddir() and findfile() accept a negative count and return a List then.

The Python indent file contained a few debugging statements, removed.

Expanding {} for a function name, resulting in a name starting with "s:" was
not handled correctly.

Spelling: renamed COMPOUNDMAX to COMPOUNDWORDMAX.  Added several items to be
able to handle the new Hungarian dictionary.

Mac: Default to building for the current platform only, that is much faster
than building a universal binary.  Also, using Perl/Python/etc. only works for
the current platform.

The time on undo messages disappeared for someone.  Using %T for strftime()
apparently doesn't work everywhere.  Use %H:%M:%S instead.

Typing BS at the "z=" prompt removed the prompt.

--- fixes and changes since Vim 7.0c ---

When jumping to another tab page the Vim window size was always set, even when
nothing in the layout changed.

Win32 GUI tab pages line wasn't always enabled.  Do a proper check for the
compiler version.

Win32: When switching between tab pages the Vim window was moved when part of
it was outside of the screen.  Now only do that in the direction of a size
change.

Win32: added menu to GUI tab pages line. (Yegappan Lakshmanan)

Mac: Added document icons. (Benji Fisher)

Insert mode completion: Using Enter to accept the current match causes
confusion.  Use CTRL-Y instead.  Also, use CTRL-E to go back to the typed
text.

GUI: When there are left and right scrollbars, ":tabedit" kept them instead of
using the one that isn't needed.

Using "gP" to replace al the text could leave the cursor below the last line,
causing ml_get errors.

When 'cursorline' is set don't use the highlighting when Visual mode is
active, otherwise it's difficult to see the selected area.

The matchparen plugin restricts the search to 100 lines, to avoid a long delay
when there are closed folds.

Sometimes using CTRL-X s to list spelling suggestions used text from another
line.

Win32: Set the default for 'isprint' back to the wrong default "@,~-255",
because many people use Windows-1252 while 'encoding' is "latin1".

GTK: Added a workaround for gvim crashing when used over an untrusted ssh
link, caused by GTK doing something nasty. (Ed Catmur)

Win32: The font used for the tab page labels is too big.  Use the system menu
font. (George Reilly)

Win32: Adjusting the window position and size to keep it on the screen didn't
work properly when the taskbar is on the left or top of the screen.

The installman.sh and installml.sh scripts use ${10}, that didn't work with
old shells.  And use "test -f" instead of "test -e".

Win32: When 'encoding' was set in the vimrc then a directory argument for diff
mode didn't work.

GUI: at the inputlist() prompt the cursorshape was adjusted as if the windows
were still at their old position.

The parenmatch plugin didn't remember the highlighting per window.

Using ":bd" for a buffer that's the current window in another tab page caused
a crash.

For a new tab page the 'scroll' option wasn't set to a good default.

Using an end offset for a search "/pat/e" didn't work properly for multi-byte
text. (Yukihiro Nakadaira)

":s/\n/,/" doubled the text when used on the last line.

When "search" is in 'foldopen' "[s" and "]s" now open folds.

When using a numbered function "dict" can be omitted, but "self" didn't work
then.  Always add FC_DICT to the function flags when it's part of a
dictionary.

When "--remote-tab" executes locally it left an empty tab page.

"gvim -u NONE", ":set cursorcolumn", "C" in the second line didn't update
text.  Do update further lines even though the "$" is displayed.

VMS: Support GTK better, also enable +clientserver. (Zoltan Arpadffy)

When highlighting of statusline or tabline is changed there was no redraw to
show the effect.

Mac: Added "CFBundleIdentifier" to infplist.xml.

Added tabpage-local variables t:var.

Win32: Added double-click in tab pages line creates new tab. (Yegappan
Lakshmanan)

Motif: Added GUI tab pages line. (Yegappan Lakshmanan)

Fixed crash when 'lines' was set to 1000 in a modeline.

When init_spellfile() finds a writable directory in 'runtimepath' but it
doesn't contain a "spell" directory, create one.

Win32: executable() also finds "xxd" in the directory where Vim was started,
but "!xxd" doesn't work.  Append the Vim starting directory to $PATH.

The tab page labels are shortened, directory names are reduced to a single
letter by default.  Added the pathshorten() function to allow a user to do the
same.

":saveas" now resets 'readonly' if the file was successfully written.

Set $MYVIMRC file to the first found .vimrc file.
Set $MYGVIMRC file to the first found .gvimrc file.
Added menu item "Startup Settings" that edits the $MYVIMRC file

Added matcharg().

Error message E745 appeared twice.  Renamed one to E786.

Fixed crash when using "au BufRead * Sexplore" and doing ":help".  Was wiping
out a buffer that's still in a window.

":hardcopy" resulted in an error message when 'encoding' is "utf-8" and
'printencoding' is empty.  Now it assumes latin1. (Mike Williams)

The check for the toolbar feature for Motif, depending on certain included
files, wasn't detailed enough, causing building to fail in gui_xmebw.c.

Using CTRL-E in Insert mode completion after CTRL-P inserted the first match
instead of the original text.

When displaying a UTF-8 character with a zero lower byte Vim might think the
previous character is double-wide.

The "nbsp" item of 'listchars' didn't work when 'encoding' was utf-8.

Motif: when Xm/xpm.h is missing gui_xmebw.c would not compile.
HAVE_XM_UNHIGHLIGHTT_H was missing a T.

Mac: Moved the .icns files into src/os_mac_rsrc, so that they can all be
copied at once.  Adjusted the Info.plist file for three icons.

When Visual mode is active while switching to another tabpage could get ml_get
errors.

When 'list' is set, 'nowrap' the $ in the first column caused 'cursorcolumn'
to move to the right.

When a line wraps, 'cursorcolumn' was never displayed past the end of the
line.

'autochdir' was only available when compiled with NetBeans and GUI.  Now it's
a separate feature, also available in the "big" version.

Added CTRL-W gf: open file under cursor in new tab page.

When using the menu in the tab pages line, "New Tab" opens the new tab before
where the click was.  Beyond the labels the new tab appears at the end instead
of after the current tab page.

Inside a mapping with an expression getchar() could not be used.

When vgetc is used recursively vgetc_busy protects it from being used
recursively.  But after a ":normal" command the protection was reset.

":s/a/b/n" didn't work when 'modifiable' was off.

When $VIMRUNTIME includes a multi-byte character then rgb.txt could not be
found. (Yukihiro Nakadaira)

":mkspell" didn't work correctly for non-ASCII affix flags when conversion is
needed on the spell file.

glob('/dir/\$ABC/*') didn't work.

When using several tab pages and changing 'cmdheight' the display could become
messed up.  Now store the value of 'cmdheight' separately for each tab page.

The user of the Enter key while the popup menu is visible was still confusing.
Now use Enter to select the match after using a cursor key.

Added "usetab" to 'switchbuf'.


--- fixes and changes since Vim 7.0d ---

Added CTRL-W T: move a window to a new tab page.

Using CTRL-X s in Insert mode to complete spelling suggestions and using BS
deleted characters before the bad word.

A few small fixes for the VMS makefile. (Zoltan Arpadffy)

With a window of 91 lines 45 cols, ":vsp" scrolled the window.  Copy w_wrow
when splitting a window and skip setting the height when it's already at the
right value.

Using <silent> in a mapping with a shell command and the GUI caused redraw
to use wrong attributes.

Win32: Using MSVC 4.1 for install.exe resulted in the start menu items to be
created in the administrator directory instead of "All Users".  Define the
CSIDL_ items if they are missing.

Motif: The GUI tabline did not use the space above the right scrollbar.  Work
around a bug in the Motif library. (Yegappan Lakshmanan)

The extra files for XML Omni completion are now also installed.
|xml-omni-datafile|

GTK GUI: when 'm' is missing from 'guioptions' during startup and pressing
<F10> GTK produced error messages.  Now do create the menu but disable it just
after the first gui_mch_update().

":mkspell" doesn't work well with the Hungarian dictionary from the Hunspell
project.  Back to the Myspell dictionary.

In help files hide the | used around tags.

Renamed pycomplete to pythoncomplete.

Added "tabpages" to 'sessionoptions'.

When 'guitablabel' is set the effect wasn't visible right away.

Fixed a few 'cindent' errors.

When completing menu names, e.g., after ":emenu", don't sort the entries but
keep them in the original order.

Fixed a crash when editing a directory in diff mode.  Don't trigger
autocommands when executing the diff command.

Getting a keystroke could get stuck if 'encoding' is a multi-byte encoding and
typing a special key.

When 'foldignore' is set the folds were not updated right away.

When a list is indexed with [a : b] and b was greater than the length an error
message was given.  Now silently truncate the result.

When using BS during Insert mode completion go back to the original text, so
that CTRL-N selects the first matching entry.

Added the 'M' flag to 'cinoptions'.

Win32: Make the "gvim --help" window appear in the middle of the screen
instead of at an arbitrary position. (Randall W. Morris)

Added gettabwinvar() and settabwinvar().

Command line completion: pressing <Tab> after ":e /usr/*" expands the whole
tree, because it becomes ":e /usr/**".  Don't add a star if there already is
one.

Added grey10 to grey90 to all GUIs, so that they can all be used for
initializing highlighting.  Use grey40 for CursorColumn and CursorLine when
'background' is "dark".

When reading a file and using iconv for conversion, an incomplete byte
sequence at the end caused problems. (Yukihiro Nakadaira)


--- fixes and changes since Vim 7.0e ---

Default color for MatchParen when 'background' is "dark" is now DarkCyan.

":syn off" had to be used twice in a file that sets 'syntax' in a modeline.
(Michael Geddes)

When using ":vsp" or ":sp" the available space wasn't used equally between
windows. (Servatius Brandt)

Expanding <cWORD> on a trailing blank resulted in the first word in the line
if 'encoding' is a multi-byte encoding.

Spell checking: spellbadword() didn't see a missing capital in the first word
of a line.  Popup menu now only suggest the capitalized word when appropriate.

When using whole line completion CTRL-L moves through the matches but it
didn't work when at the original text.

When completion finds the longest match, don't go to the first match but stick
at the original text, so that CTRL-N selects the first one.

Recognize "zsh-beta" like "zsh" for setting the 'shellpipe' default. (James
Vega)

When using ":map <expr>" and the expression results in something with a
special byte (NUL or CSI) then it didn't work properly.  Now escape special
bytes.

The default Visual highlighting for a color xterm with 8 colors was a magenta
background, which made magenta text disappear.  Now use reverse in this
specific situation.

After completing the longest match "." didn't insert the same text.  Repeating
also didn't work correctly for multi-byte text.

When using Insert mode completion and BS the whole word that was completed
would result in all possible matches.  Now stop completion.  Also fixes that
for spell completion the previous word was deleted.

GTK: When 'encoding' is "latin1" and using non-ASCII characters in a file name
the tab page label was wrong and an error message would be given.

The taglist() function could hang on a tags line with a non-ASCII character.

Win32: When 'encoding' differs from the system encoding tab page labels with
non-ASCII characters looked wrong. (Yegappan Lakshmanan)

Motif: building failed when Xm/Notebook.h doesn't exist.  Added a configure
check, disable GUI tabline when it's missing.

Mac: When compiled without multi-byte feature the clipboard didn't work.

It was possible to switch to another tab page when the cmdline window is open.

Completion could hang when 'lines' is 6 and a preview window was opened.

Added CTRL-W gF: open file under cursor in new tab page and jump to the line
number following the file name.
Added 'guitabtooltip'.  Implemented for Win32 (Yegappan Lakshmanan).

Added "throw" to 'debug' option: throw an exception for error messages even
whey they would otherwise be ignored.

When 'keymap' is set and a line contains an invalid entry could get a "No
mapping found" warning instead of a proper error message.

Motif: default to using XpmAttributes instead of XpmAttributes_21.

A few more changes for 64 bit MS-Windows. (George Reilly)

Got ml_get errors when doing "o" and selecting in other window where there are
less lines shorter than the cursor position in the other window.  ins_mouse()
was using position in wrong window.

Win32 GUI: Crash when giving a lot of messages during startup.  Allocate twice
as much memory for the dialog template.

Fixed a few leaks and wrong pointer use reported by coverity.

When showing menus the mode character was sometimes wrong.

Added feedkeys(). (Yakov Lerner)

Made matchlist() always return all submatches.

Moved triggering QuickFixCmdPost to before jumping to the first location.

Mac: Added the 'macatsui' option as a temporary work around for text drawing
problems.

Line completion on "/**" gave error messages when scanning an unloaded buffer.

--- fixes and changes since Vim 7.0f ---

Win32: The height of the tab page labels is now adjusted to the font height.
(Yegappan Lakshmanan)

Win32: selecting the tab label was off by one. (Yegappan Lakshmanan)

Added tooltips for Motif and GTK tab page labels. (Yegappan Lakshmanan)

When 'encoding' is "utf-8" then ":help spell" would report an illegal byte and
the file was not converted from latin1 to utf-8.  Now retry with latin1 if
reading the file as utf-8 results in illegal bytes.

Escape the argument of feedkeys() before putting it in the typeahead buffer.
(Yukihiro Nakadaira)

Added the v:char variable for evaluating 'formatexpr'. (Yukihiro Nakadaira)

With 8 colors Search highlighting combined with Statement highlighted text
made the text disappear.

VMS: avoid warnings for redefining MAX and MIN. (Zoltan Arpadffy)

When 'virtualedit' includes "onemore", stopping Visual selection would still
move the cursor left.

Prevent that using CTRL-R = in Insert mode can start Visual mode.

Fixed a crash that occurred when in Insert mode with completion active and a
mapping caused edit() to be called recursively.

When using CTRL-O in Insert mode just after the last character while
'virtualedit' is "all", then typing CR moved the last character to the next
line.  Call coladvance() before starting the new line.

When using |:shell| ignore clicks on the tab page labels.  Also when using the
command line window.

When 'eventignore' is "all" then adding more to ignoring some events, e.g.,
for ":vimgrep", would actually trigger more events.

Win32: When a running Vim uses server name GVIM1 then "gvim --remote fname"
didn't find it.  When looking for a server name that doesn't end in a digit
and it is not found then use another server with that name and a number (just
like on Unix).

When using "double" in 'spellsuggest' when the language doesn't support sound
folding resulted in too many suggestions.

Win32: Dropping a shortcut on the Vim icon didn't edit the referred file like
editing it in another way would.  Use fname_expand() in buf_set_name() instead
of simply make the file name a full path.

Using feedkeys() could cause Vim to hang.

When closing another tab page from the tabline menu in Insert mode the tabline
was not updated right away.

The syntax menu didn't work in compatible mode.

After using ":tag id" twice with the same "id", ":ts" and then ":pop" a ":ts"
reported no matching tag.  Clear the cached tag name.

In Insert mode the matchparen plugin highlighted the wrong paren when there is
a string just next to a paren.

GTK: After opening a new tab page the text was sometimes not drawn correctly.
Flush output and catch up with events when updating the tab page labels.

In the GUI, using CTRL-W q to close the last window of a tab page could cause
a crash.

GTK: The tab pages line menu was not converted from 'encoding' to utf-8.

Typing a multi-byte character or a special key at the hit-enter prompt did not
work.

When 'virtualedit' contains "onemore" CTRL-O in Insert mode still moved the
cursor left when it was after the end of the line, even though it's allowed to
be there.

Added test for using tab pages.

towupper() and towlower() were not used, because of checking for
__STDC__ISO_10646__ instead of __STDC_ISO_10646__. (sertacyildiz)

For ":map <expr>" forbid changing the text, jumping to another buffer and
using ":normal" to avoid nasty side effects.

--- fixes and changes since Vim 7.0g ---

Compilation error on HP-UX, use of "dlerr" must be inside a #ifdef.
(Gary Johnson)

Report +reltime feature in ":version" output.

The tar and zip plugins detect failure to get the contents of the archive and
edit the file as-is.

When the result of 'guitablabel' is empty fall back to the default label.

Fixed crash when using ":insert" in a while loop and missing "endwhile".

"gt" and other commands could move to another window when |textlock| active
and when the command line window was open.

Spell checking a file with syntax highlighting and a bad word at the end of
the line is ignored could make "]s" hang.

Mac: inputdialog() didn't work when compiled with big features.

Interrupting ":vimgrep" while it is busy loading a file left a modified and
hidden buffer behind.  Use enter_cleanup() and leave_cleanup() around
wipe_buffer().

When making 'keymap' empty the b:keymap_name variable wasn't deleted.

Using CTRL-N that searches a long time, pressing space to interrupt the
searching and accept the first match, the popup menu was still displayed
briefly.

When setting the Vim window height with -geometry the 'window' option could be
at a value that makes CTRL-F behave differently.

When opening a quickfix window in two tabs they used different buffers,
causing redrawing problems later.  Now use the same buffer for all quickfix
windows. (Yegappan Lakshmanan)

When 'mousefocus' is set moving the mouse to the text tab pages line would
move focus to the first window.  Also, the mouse pointer would jump to the
active window.

In a session file, when an empty buffer is wiped out, do this silently.

When one window has the cursor on the last line and another window is resized
to make that window smaller, the cursor line could go below the displayed
lines.  In win_new_height() subtract one from the available space.
Also avoid that using "~" lines makes the window scroll down.

Mac: When sourcing the "macmap.vim" script and then finding a .vimrc file the
'cpo' option isn't set properly, because it was already set and restored.
Added the <special> argument to ":map", so that 'cpo' doesn't need to be
changed to be able to use <> notation.  Also do this for ":menu" for
consistency.

When using "/encoding=abc" in a spell word list, only "bc" was used.

When 'encoding' and 'printencoding' were both "utf-8" then ":hardcopy" didn't
work. (Mike Williams)

Mac: When building with "--disable-gui" the install directory would still be
"/Applications" and Vim.app would be installed.  Now install in /usr/local as
usual for a console application.

GUI: when doing completion and there is one match and still searching for
another, the cursor was displayed at the end of the line instead of after the
match.  Now show the cursor after the match while still searching for matches.

GUI: The mouse shape changed on the statusline even when 'mouse' was empty and
they can't be dragged.

GTK2: Selecting a button in the confirm() dialog with Tab or cursor keys and
hitting Enter didn't select that button.  Removed GTK 1 specific code. (Neil
Bird)

When evaluating 'balloonexpr' takes a long time it could be called
recursively, which could cause a crash.

exists() could not be used to detect whether ":2match" is supported.  Added a
check for it specifically.

GTK1: Tab page labels didn't work. (Yegappan Lakshmanan)

Insert mode completion: When finding matches use 'ignorecase', but when adding
matches to the list don't use it, so that all words with different case are
added, "word", "Word" and "WORD".

When 'cursorline' and 'hlsearch' are set and the search pattern is "x\n"
the rest of the line was highlighted as a match.

Cursor moved while evaluating 'balloonexpr' that invokes ":isearch" and
redirects the output.  Don't move the cursor to the command line if msg_silent
is set.

exists() ignored text after a function name and option name, which could
result in false positives.

exists() ignored characters after the recognized word, which can be wrong when
using a name with non-keyword characters.  Specifically, these calls no longer
allow characters after the name: exists('*funcname') exists('*funcname(...')
exists('&option') exists(':cmd') exists('g:name') exists('g:name[n]')
exists('g:name.n')

Trigger the TabEnter autocommand only after entering the current window of the
tab page, otherwise the commands are executed with an invalid current window.

Win32: When using two monitors and Vim is on the second monitor, changing the
width of the Vim window could make it jump to the first monitor.

When scrolling back at the more prompt and the quitting a line of text would
be left behind when 'cmdheight' is 2 or more.

Fixed a few things for Insert mode completion, especially when typing BS,
CTRL-N or a printable character while still searching for matches.


==============================================================================
VERSION 7.1					*version-7.1* *version7.1*

This section is about improvements made between version 7.0 and 7.1.

This is a bug-fix release, there are no fancy new features.


Changed							*changed-7.1*
-------

Added setting 'mouse' in vimrc_example.vim.

When building with MZscheme also look for include files in the "plt"
subdirectory.  That's where they are for FreeBSD.

The Ruby interface module is now called "Vim" instead of "VIM".  But "VIM" is
an alias, so it's backwards compatible. (Tim Pope)


Added							*added-7.1*
-----

New syntax files:
	/var/log/messages (Yakov Lerner)
	Autohotkey (Nikolai Weibull)
	AutoIt v3 (Jared Breland)
	Bazaar commit file "bzr". (Dmitry Vasiliev)
	Cdrdao TOC (Nikolai Weibull)
	Cmusrc (Nikolai Weibull)
	Conary recipe (rPath Inc)
	Framescript (Nikolai Weibull)
	FreeBasic (Mark Manning)
	Hamster (David Fishburn)
	IBasic (Mark Manning)
	Initng (Elan Ruusamae)
	Ldapconf (Nikolai Weibull)
	Litestep (Nikolai Weibull)
	Privoxy actions file (Doug Kearns)
	Streaming Descriptors "sd" (Puria Nafisi Azizi)

New tutor files:
	Czech (Lubos Turek)
	Hungarian (Arpad Horvath)
	Turkish (Serkan kkk)
	utf-8 version of Greek tutor.
	utf-8 version of Russian tutor.
	utf-8 version of Slowak tutor.

New filetype plugins:
	Bst (Tim Pope)
	Cobol (Tim Pope)
	Fvwm (Gautam Iyer)
	Hamster (David Fishburn)
	Django HTML template (Dave Hodder)

New indent files:
	Bst (Tim Pope)
	Cobol (Tim Pope)
	Hamster (David Fishburn)
	Django HTML template (Dave Hodder)
	Javascript
	JSP (David Fishburn)

New keymap files:
	Bulgarian (Boyko Bantchev)
	Mongolian (Natsagdorj Shagdar)
	Thaana (Ibrahim Fayaz)
	Vietnamese (Samuel Thibault)

Other new runtime files:
	Ada support files. (Neil Bird, Martin Krischik)
	Slovenian menu translations (Mojca Miklavec)
	Mono C# compiler plugin (Jarek Sobiecki)


Fixed							*fixed-7.1*
-----

Could not build the Win32s version.  Added a few structure definitions in
src/gui_w32.c


Patch 7.0.001
Problem:    ":set spellsuggest+=10" does not work. (Suresh Govindachar)
Solution:   Add P_COMMA to the 'spellsuggest' flags.
Files:	    src/option.c

Patch 7.0.002
Problem:    C omni completion has a problem with tags files with a path
	    containing "#" or "%".
Solution:   Escape these characters. (Sebastian Baberowski)
Files:	    runtime/autoload/ccomplete.vim

Patch 7.0.003
Problem:    GUI: clicking in the lower part of a label in the tab pages line
	    while 'mousefocus' is set may warp the mouse pointer. (Robert
	    Webb)
Solution:   Check for a negative mouse position.
Files:	    src/gui.c

Patch 7.0.004
Problem:    Compiler warning for debug_saved used before set. (Todd Blumer)
Solution:   Remove the "else" for calling save_dbg_stuff().
Files:	    src/ex_docmd.c

Patch 7.0.005 (extra)
Problem:    Win32: The installer doesn't remove the "autoload" and "spell"
	    directories. (David Fishburn)
Solution:   Add the directories to the list to be removed.
Files:	    nsis/gvim.nsi

Patch 7.0.006
Problem:    Mac: "make shadow" doesn't make a link for infplist.xml. (Axel
	    Kielhorn)
Solution:   Make the link.
Files:	    src/Makefile

Patch 7.0.007
Problem:    AIX: compiling fails for message.c. (Ruediger Hornig)
Solution:   Move the #if outside of memchr().
Files:	    src/message.c

Patch 7.0.008
Problem:    Can't call a function that uses both <SID> and {expr}. (Thomas)
Solution:   Check both the expanded and unexpanded name for <SID>.
Files:	    src/eval.c

Patch 7.0.009
Problem:    ml_get errors with both 'sidescroll' and 'spell' set.
Solution:   Use ml_get_buf() instead of ml_get(), get the line from the right
	    buffer, not the current one.
Files:	    src/spell.c

Patch 7.0.010
Problem:    The spellfile plugin required typing login name and password.
Solution:   Use "anonymous" and "vim7user" by default.  No need to setup a
	    .netrc file.
Files:	    runtime/autoload/spellfile.vim

Patch 7.0.011
Problem:    Can't compile without the folding and with the eval feature.
Solution:   Add an #ifdef. (Vallimar)
Files:	    src/option.c

Patch 7.0.012
Problem:    Using the matchparen plugin, moving the cursor in Insert mode to a
	    shorter line that ends in a brace, changes the preferred column
Solution:   Use winsaveview()/winrestview() instead of getpos()/setpos().
Files:	    runtime/plugin/matchparen.vim

Patch 7.0.013
Problem:    Insert mode completion: using CTRL-L to add an extra character
	    also deselects the current match, making it impossible to use
	    CTRL-L a second time.
Solution:   Keep the current match.  Also make CTRL-L work at the original
	    text, using the first displayed match.
Files:	    src/edit.c

Patch 7.0.014
Problem:    Compiling gui_xmebw.c fails on Dec Alpha Tru64. (Rolfe)
Solution:   Disable some code for Motif 1.2 and older.
Files:	    src/gui_xmebw.c

Patch 7.0.015
Problem:    Athena: compilation problems with modern compiler.
Solution:   Avoid type casts for lvalue. (Alexey Froloff)
Files:	    src/gui_at_fs.c

Patch 7.0.016
Problem:    Printing doesn't work for "dec-mcs" encoding.
Solution:   Add "dec-mcs", "mac-roman" and "hp-roman8" to the list of
	    recognized 8-bit encodings. (Mike Williams)
Files:	    src/mbyte.c

Patch 7.0.017 (after 7.0.014)
Problem:    Linking gui_xmebw.c fails on Dec Alpha Tru64. (Rolfe)
Solution:   Adjust defines for Motif 1.2 and older.
Files:	    src/gui_xmebw.c

Patch 7.0.018
Problem:    VMS: plugins are not loaded on startup.
Solution:   Remove "**" from the path. (Zoltan Arpadffy)
Files:	    src/main.c

Patch 7.0.019
Problem:    Repeating "VjA789" may cause a crash. (James Vega)
Solution:   Check the cursor column after moving it to another line.
Files:	    src/ops.c

Patch 7.0.020
Problem:    Crash when using 'mousefocus'. (William Fulton)
Solution:   Make buffer for mouse coordinates 2 bytes longer. (Juergen Weigert)
Files:	    src/gui.c

Patch 7.0.021
Problem:    Crash when using "\\[" and "\\]" in 'errorformat'. (Marc Weber)
Solution:   Check for valid submatches after matching the pattern.
Files:	    src/quickfix.c

Patch 7.0.022
Problem:    Using buffer.append() in Ruby may append the line to the wrong
	    buffer. (Alex Norman)
Solution:   Properly switch to the buffer to do the appending.  Also for
	    buffer.delete() and setting a buffer line.
Files:	    src/if_ruby.c

Patch 7.0.023
Problem:    Crash when doing spell completion in an empty line and pressing
	    CTRL-E.
Solution:   Check for a zero pointer. (James Vega)
	    Also handle a situation without a matching pattern better, report
	    "No matches" instead of remaining in undefined CTRL-X mode.  And
	    get out of CTRL-X mode when typing a letter.
Files:	    src/edit.c

Patch 7.0.024
Problem:    It is possible to set arbitrary "v:" variables.
Solution:   Disallow setting "v:" variables that are not predefined.
Files:	    src/eval.c

Patch 7.0.025
Problem:    Crash when removing an element of a:000.  (Nikolai Weibull)
Solution:   Mark the a:000 list with VAR_FIXED.
Files:	    src/eval.c

Patch 7.0.026
Problem:    Using libcall() may show an old error.
Solution:   Invoke dlerror() to clear a previous error. (Yukihiro Nakadaira)
Files:	    src/os_unix.c

Patch 7.0.027 (extra)
Problem:    Win32: When compiled with SNIFF gvim may hang on exit.
Solution:   Translate and dispatch the WM_USER message. (Mathias Michaelis)
Files:	    src/gui_w48.c

Patch 7.0.028 (extra)
Problem:    OS/2: Vim doesn't compile with gcc 3.2.1.
Solution:   Add argument to after_pathsep(), don't define vim_handle_signal(),
	    define HAVE_STDARG_H. (David Sanders)
Files:	    src/os_unix.c, src/vim.h, src/os_os2_cfg.h

Patch 7.0.029
Problem:    getchar() may not position the cursor after a space.
Solution:   Position the cursor explicitly.
Files:	    src/eval.c

Patch 7.0.030
Problem:    The ":compiler" command can't be used in a FileChangedRO event.
	    (Hari Krishna Dara)
Solution:   Add the CMDWIN flag to the ":compiler" command.
Files:	    src/ex_cmds.h

Patch 7.0.031
Problem:    When deleting a buffer the buffer-local mappings for Select mode
	    remain.
Solution:   Add the Select mode bit to MAP_ALL_MODES. (Edwin Steiner)
Files:	    src/vim.h

Patch 7.0.032 (extra, after 7.0.027)
Problem:    Missing semicolon.
Solution:   Add the semicolon.
Files:	    src/gui_w48.c

Patch 7.0.033
Problem:    When pasting text, with the menu or CTRL-V, autoindent is removed.
Solution:   Use "x<BS>" to avoid indent to be removed. (Benji Fisher)
Files:	    runtime/autoload/paste.vim

Patch 7.0.034
Problem:    After doing completion and typing more characters or using BS
	    repeating with "." didn't work properly. (Martin Stubenschrott)
Solution:   Don't put BS and other characters in the redo buffer right away,
	    do this when finishing completion.
Files:	    src/edit.c

Patch 7.0.035
Problem:    Insert mode completion works when typed but not when replayed from
	    a register. (Hari Krishna Dara)
	    Also: Mappings for Insert mode completion don't always work.
Solution:   When finding a non-completion key in the input don't interrupt
	    completion when it wasn't typed.
	    Do use mappings when checking for typeahead while still finding
	    completions.  Avoids that completion is interrupted too soon.
	    Use "compl_pending" in a different way.
Files:	    src/edit.c

Patch 7.0.036
Problem:    Can't compile with small features and syntax highlighting or the
	    diff feature.
Solution:   Define LINE_ATTR whenever syntax highlighting or the diff feature
	    is enabled.
Files:	    src/screen.c

Patch 7.0.037
Problem:    Crash when resizing the GUI window vertically when there is a line
	    that doesn't fit.
Solution:   Don't redraw while the screen data is invalid.
Files:	    src/screen.c

Patch 7.0.038
Problem:    When calling complete() from an Insert mode expression mapping
	    text could be inserted in an improper way.
Solution:   Make undo_allowed() global and use it in complete().
Files:	    src/undo.c, src/proto/undo.pro, src/eval.c

Patch 7.0.039
Problem:    Calling inputdialog() with a third argument in the console doesn't
	    work.
Solution:   Make a separate function for input() and inputdialog(). (Yegappan
	    Lakshmanan)
Files:	    src/eval.c

Patch 7.0.040
Problem:    When 'cmdheight' is larger than 1 using inputlist() or selecting
	    a spell suggestion with the mouse gets the wrong entry.
Solution:   Start listing the first alternative on the last line of the screen.
Files:	    src/eval.c, src/spell.c

Patch 7.0.041
Problem:    cursor([1, 1]) doesn't work. (Peter Hodge)
Solution:   Allow leaving out the third item of the list and use zero for the
	    virtual column offset.
Files:	    src/eval.c

Patch 7.0.042
Problem:    When pasting a block of text in Insert mode Vim hangs or crashes.
	    (Noam Halevy)
Solution:   Avoid that the cursor is positioned past the NUL of a line.
Files:	    src/ops.c

Patch 7.0.043
Problem:    Using "%!" at the start of 'statusline' doesn't work.
Solution:   Recognize the special item when the option is being set.
Files:	    src/option.c

Patch 7.0.044
Problem:    Perl: setting a buffer line in another buffer may result in
	    changing the current buffer.
Solution:   Properly change to the buffer to be changed.
Files:	    src/if_perl.xs

Patch 7.0.045 (extra)
Problem:    Win32: Warnings when compiling OLE version with MSVC 2005.
Solution:   Move including vim.h to before windows.h. (Ilya Bobir)
Files:	    src/if_ole.cpp

Patch 7.0.046
Problem:    The matchparen plugin ignores parens in strings, but not in single
	    quotes, often marked with "character".
Solution:   Also ignore parens in syntax items matching "character".
Files:	    runtime/plugin/matchparen.vim

Patch 7.0.047
Problem:    When running configure the exit status is wrong.
Solution:   Handle the exit status properly. (Matthew Woehlke)
Files:	    configure, src/configure

Patch 7.0.048
Problem:    Writing a compressed file fails when there are parens in the name.
	    (Wang Jian)
Solution:   Put quotes around the temp file name.
Files:	    runtime/autoload/gzip.vim

Patch 7.0.049
Problem:    Some TCL scripts are not recognized. (Steven Atkinson)
Solution:   Check for "exec wish" in the file.
Files:	    runtime/scripts.vim

Patch 7.0.050
Problem:    After using the netbeans interface close command a stale pointer
	    may be used.
Solution:   Clear the pointer to the closed buffer. (Xaview de Gaye)
Files:	    src/netbeans.c

Patch 7.0.051 (after 7.0.44)
Problem:    The Perl interface doesn't compile or doesn't work properly.
Solution:   Remove the spaces before #ifdef and avoid an empty line above it.
Files:	    src/if_perl.xs

Patch 7.0.052
Problem:    The user may not be aware that the Vim server allows others more
	    functionality than desired.
Solution:   When running Vim as root don't become a Vim server without an
	    explicit --servername argument.
Files:	    src/main.c

Patch 7.0.053
Problem:    Shortening a directory name may fail when there are multi-byte
	    characters.
Solution:   Copy the correct bytes. (Titov Anatoly)
Files:	    src/misc1.c

Patch 7.0.054
Problem:    Mac: Using a menu name that only has a mnemonic or accelerator
	    causes a crash.  (Elliot Shank)
Solution:   Check for an empty menu name.  Also delete empty submenus that
	    were created before detecting the error.
Files:	    src/menu.c

Patch 7.0.055
Problem:    ":startinsert" in a CmdwinEnter autocommand doesn't take immediate
	    effect. (Bradley White)
Solution:   Put a NOP key in the typeahead buffer.  Also avoid that using
	    CTRL-C to go back to the command line moves the cursor left.
Files:	    src/edit.c, src/ex_getln.c

Patch 7.0.056
Problem:    "#!something" gives an error message.
Solution:   Ignore this line, so that it can be used in an executable Vim
	    script.
Files:	    src/ex_docmd.c

Patch 7.0.057 (extra, after 7.0.45)
Problem:    Win32: Compilation problem with Borland C 5.5.
Solution:   Include vim.h as before. (Mark S. Williams)
Files:	    src/if_ole.cpp

Patch 7.0.058
Problem:    The gbk and gb18030 encodings are not recognized.
Solution:   Add aliases to cp936. (Edward L. Fox)
Files:	    src/mbyte.c

Patch 7.0.059
Problem:    The Perl interface doesn't compile with ActiveState Perl 5.8.8.
Solution:   Remove the __attribute__() items. (Liu Yubao)
Files:	    src/if_perl.xs

Patch 7.0.060 (after 7.0.51)
Problem:    Code for temporarily switching to another buffer is duplicated in
	    quite a few places.
Solution:   Use aucmd_prepbuf() and aucmd_restbuf() also when FEAT_AUTOCMD is
	    not defined.
Files:	    src/buffer.c, src/eval.c, src/fileio.c, src/if_ruby.c,
	    src/if_perl.xs, src/quickfix.c, src/structs.h

Patch 7.0.061
Problem:    Insert mode completion for Vim commands may crash if there is
	    nothing to complete.
Solution:   Instead of freeing the pattern make it empty, so that a "not
	    found" error is given. (Yukihiro Nakadaira)
Files:	    src/edit.c

Patch 7.0.062
Problem:    Mac: Crash when using the popup menu for spell correction.  The
	    popup menu appears twice when letting go of the right mouse button
	    early.
Solution:   Don't show the popup menu on the release of the right mouse
	    button.  Also check that a menu pointer is actually valid.
Files:	    src/proto/menu.pro, src/menu.c, src/normal.c, src/term.c

Patch 7.0.063
Problem:    Tiny chance for a memory leak. (coverity)
Solution:   Free pointer when next memory allocation fails.
Files:	    src/eval.c

Patch 7.0.064
Problem:    Using uninitialized variable. (Tony Mechelynck)
Solution:   When not used set "temp" to zero.  Also avoid a warning for
	    "files" in ins_compl_dictionaries().
Files:	    src/edit.c

Patch 7.0.065 (extra)
Problem:    Mac: left-right movement of the scrollwheel causes up-down
	    scrolling.
Solution:   Ignore mouse wheel events that are not up-down. (Nicolas Weber)
Files:	    src/gui_mac.c

Patch 7.0.066
Problem:    After the popup menu for Insert mode completion overlaps the tab
	    pages line it is not completely removed.
Solution:   Redraw the tab pages line after removing the popup menu. (Ori
	    Avtalion)
Files:	    src/popupmnu.c

Patch 7.0.067
Problem:    Undo doesn't always work properly when using "scim" input method.
	    Undo is split up when using preediting.
Solution:   Reset xim_has_preediting also when preedit_start_col is not
	    MAXCOL.  Don't split undo when <Left> is used while preediting.
	    (Yukihiro Nakadaira)
Files:	    src/edit.c, src/mbyte.c

Patch 7.0.068
Problem:    When 'ignorecase' is set and using Insert mode completion,
	    typing characters to change the list of matches, case is not
	    ignored. (Hugo Ahlenius)
Solution:   Store the 'ignorecase' flag with the matches where needed.
Files:	    src/edit.c, src/search.c, src/spell.c

Patch 7.0.069
Problem:    Setting 'guitablabel' to %!expand(\%)  causes Vim to free an
	    invalid pointer. (Kim Schulz)
Solution:   Don't try freeing a constant string pointer.
Files:	    src/buffer.c

Patch 7.0.070
Problem:    Compiler warnings for shadowed variables and uninitialized
	    variables.
Solution:   Rename variables such as "index", "msg" and "dup".  Initialize
	    variables.
Files:	    src/edit.c, src/eval.c, src/ex_cmds.c, src/ex_cmds2.c,
	    src/ex_docmd.c, src/gui_beval.c, src/gui_gtk.c, src/gui_gtk_x11.c,
	    src/hardcopy.c, src/if_cscope.c, src/main.c, src/mbyte.c,
	    src/memline.c, src/netbeans.c, src/normal.c, src/option.c,
	    src/os_unix.c, src/quickfix.c, src/regexp.c, src/screen.c,
	    src/search.c, src/spell.c, src/ui.c, src/undo.c, src/window.c,
	    src/version.c

Patch 7.0.071
Problem:    Using an empty search pattern may cause a crash.
Solution:   Avoid using a NULL pointer.
Files:	    src/search.c

Patch 7.0.072
Problem:    When starting the GUI fails there is no way to adjust settings or
	    do something else.
Solution:   Add the GUIFailed autocommand event.
Files:	    src/fileio.c, src/gui.c, src/vim.h

Patch 7.0.073
Problem:    Insert mode completion: Typing <CR> sometimes selects the original
	    text instead of keeping what was typed.  (Justin Constantino)
Solution:   Don't let <CR> select the original text if there is no popup menu.
Files:	    src/edit.c

Patch 7.0.074 (extra)
Problem:    Win32: tooltips were not converted from 'encoding' to Unicode.
Solution:   Set the tooltip to use Unicode and do the conversion.  Also
	    cleanup the code for the tab pages tooltips. (Yukihiro Nakadaira)
Files:	    src/gui_w32.c, src/gui_w48.c

Patch 7.0.075
Problem:    winsaveview() did not store the actual value of the desired cursor
	    column.  This could move the cursor in the matchparen plugin.
Solution:   Call update_curswant() before using the value w_curswant.
Files:	    src/eval.c

Patch 7.0.076 (after 7.0.010)
Problem:    Automatic downloading of spell files only works for ftp.
Solution:   Don't add login and password for non-ftp URLs. (Alexander Patrakov)
Files:	    runtime/autoload/spellfile.vim

Patch 7.0.077
Problem:    ":unlet v:this_session" causes a crash. (Marius Roets)
Solution:   When trying to unlet a fixed variable give an error message.
Files:	    src/eval.c

Patch 7.0.078
Problem:    There are two error messages E46.
Solution:   Change the number for the sandbox message to E794.
Files:	    src/globals.h

Patch 7.0.079
Problem:    Russian tutor doesn't work when 'encoding' is "utf-8".
Solution:   Use tutor.ru.utf-8 as the master, and generate the other encodings
	    from it.  Select the right tutor depending on 'encoding'. (Alexey
	    Froloff)
Files:	    runtime/tutor/Makefile, runtime/tutor/tutor.vim,
	    runtime/tutor/tutor.ru.utf-8

Patch 7.0.080
Problem:    Generating auto/pathdef.c fails for CFLAGS with a backslash.
Solution:   Double backslashes in the string. (Alexey Froloff)
Files:	    src/Makefile

Patch 7.0.081
Problem:    Command line completion doesn't work for a shell command with an
	    absolute path.
Solution:   Don't use $PATH when there is an absolute path.
Files:	    src/ex_getln.c

Patch 7.0.082
Problem:    Calling a function that waits for input may cause List and
	    Dictionary arguments to be freed by the garbage collector.
Solution:   Keep a list of all arguments to internal functions.
Files:	    src/eval.c

Patch 7.0.083
Problem:    Clicking with the mouse on an item for inputlist() doesn't work
	    when 'compatible' is set and/or when 'cmdheight' is more than one.
	    (Christian J.  Robinson)
Solution:   Also decrement "lines_left" when 'more' isn't set.  Set
	    "cmdline_row" to zero to get all mouse events.
Files:	    src/message.c, src/misc1.c

Patch 7.0.084
Problem:    The garbage collector may do its work while some Lists or
	    Dictionaries are used internally, e.g., by ":echo" that runs into
	    the more-prompt or ":echo [garbagecollect()]".
Solution:   Only do garbage collection when waiting for a character at the
	    toplevel.  Let garbagecollect() set a flag that is handled at the
	    toplevel before waiting for a character.
Files:	    src/eval.c, src/getchar.c, src/globals.h, src/main.c

Patch 7.0.085
Problem:    When doing "make test" the viminfo file is modified.
Solution:   Use another viminfo file after setting 'compatible'.
Files:	    src/testdir/test56.in

Patch 7.0.086
Problem:    getqflist() returns entries for pattern and text with the number
	    zero.  Passing these to setqflist() results in the string "0".
Solution:   Use an empty string instead of the number zero.
Files:	    src/quickfix.c

Patch 7.0.087
Problem:    After ":file fname" and ":saveas fname" the 'autochdir' option
	    does not take effect. (Yakov Lerner)
	    Commands for handling 'autochdir' are repeated many times.
Solution:   Add the DO_AUTOCHDIR macro and do_autochdir().  Use it for
	    ":file fname" and ":saveas fname".
Files:	    src/proto/buffer.pro, src/buffer.c, src/ex_cmds.c, src/macros.h,
	    src/netbeans.c, src/option.c, src/window.c

Patch 7.0.088
Problem:    When compiled with Perl the generated prototypes have "extern"
	    unnecessarily added.
Solution:   Remove the "-pipe" argument from PERL_CFLAGS.
Files:	    src/auto/configure, src/configure.in

Patch 7.0.089
Problem:    "ga" does not work properly for a non-Unicode multi-byte encoding.
Solution:   Only check for composing chars for utf-8. (Taro Muraoka)
Files:	    src/ex_cmds.c

Patch 7.0.090
Problem:    Cancelling the conform() dialog on the console with Esc requires
	    typing it twice. (Benji Fisher)
Solution:   When the start of an escape sequence is found use 'timeoutlen' or
	    'ttimeoutlen'.
Files:	    src/misc1.c

Patch 7.0.091
Problem:    Using winrestview() while 'showcmd' is set causes the cursor to be
	    displayed in the wrong position. (Yakov Lerner)
Solution:   Set the window topline properly.
Files:	    src/eval.c

Patch 7.0.092 (after 7.0.082 and 7.0.084)
Problem:    The list of internal function arguments is obsolete now that
	    garbage collection is only done at the toplevel.
Solution:   Remove the list of all arguments to internal functions.
Files:	    src/eval.c

Patch 7.0.093
Problem:    The matchparen plugin can't handle a 'matchpairs' value where a
	    colon is matched.
Solution:   Change the split() that is used to change 'matchpairs' into a
	    List.
Files:	    runtime/plugin/matchparen.vim

Patch 7.0.094
Problem:    When a hidden buffer is made the current buffer and another file
	    edited later, the file message will still be given.  Using
	    ":silent" also doesn't prevent the file message. (Marvin Renich)
Solution:   Reset the need_fileinfo flag when reading a file.  Don't set
	    need_fileinfo when msg_silent is set.
Files:	    src/buffer.c, src/fileio.c

Patch 7.0.095
Problem:    The Greek tutor is not available in utf-8.  "el" is used for the
	    language, only "gr" for the country is recognized.
Solution:   Add the utf-8 Greek tutor.  Use it for conversion to iso-8859-7
	    and cp737.  (Lefteris Dimitroulakis)
Files:	    runtime/tutor/Makefile, runtime/tutor/tutor.gr.utf-8,
	    runtime/tutor/tutor.vim

Patch 7.0.096
Problem:    taglist() returns the filename relative to the tags file, while
	    the directory of the tags file is unknown. (Hari Krishna Dara)
Solution:   Expand the file name. (Yegappan Lakshmanan)
Files:	    src/tag.c

Patch 7.0.097
Problem:    ":tabclose N" that closes another tab page does not remove the tab
	    pages line.  Same problem when using the mouse.
Solution:   Adjust the tab pages line when needed in tabpage_close_other().
Files:	    src/ex_docmd.c

Patch 7.0.098
Problem:    Redirecting command output in a cmdline completion function
	    doesn't work. (Hari Krishna Dara)
Solution:   Enable redirection when redirection is started.
Files:	    src/ex_docmd.c, src/ex_getln.c

Patch 7.0.099
Problem:    GUI: When the popup menu is visible using the scrollbar messes up
	    the display.
Solution:   Disallow scrolling the current window.  Redraw the popup menu
	    after scrolling another window.
Files:	    src/gui.c

Patch 7.0.100
Problem:    "zug" may report the wrong filename. (Lawrence Kesteloot)
Solution:   Call home_replace() to fill NameBuff[].
Files:	    src/spell.c

Patch 7.0.101
Problem:    When the "~/.vim/spell" directory does not exist "zg" may create
	    a wrong directory.  "zw" doesn't work.
Solution:   Use the directory of the file name instead of NameBuff.  For "zw"
	    not only remove a good word but also add the word with "!".
Files:	    src/spell.c

Patch 7.0.102
Problem:    Redrawing cmdline is not correct when using SCIM.
Solution:   Don't call im_get_status(). (Yukihiro Nakadaira)
Files:	    src/ex_getln.c

Patch 7.0.103 (after 7.0.101)
Problem:    Compiler warning for uninitialized variable. (Tony Mechelynck)
Solution:   Init variable.
Files:	    src/spell.c

Patch 7.0.104
Problem:    The CursorHoldI event only triggers once in Insert mode.  It also
	    triggers after CTRL-V and other two-key commands.
Solution:   Set "did_cursorhold" before getting a second key.  Reset
	    "did_cursorhold" after handling a command.
Files:	    src/edit.c, src/fileio.c

Patch 7.0.105
Problem:    When using incremental search the statusline ruler isn't updated.
	    (Christoph Koegl)
Solution:   Update the statusline when it contains the ruler.
Files:	    src/ex_getln.c

Patch 7.0.106
Problem:    The spell popup menu uses ":amenu", triggering mappings.  Other
	    PopupMenu autocommands are removed. (John Little)
Solution:   Use ":anoremenu" and use an autocmd group.
Files:	    runtime/menu.vim

Patch 7.0.107
Problem:    Incremental search doesn't redraw the text tabline. (Ilya Bobir)
	    Also happens in other situations with one window in a tab page.
Solution:   Redraw the tabline after clearing the screen.
Files:	    src/screen.c

Patch 7.0.108 (extra)
Problem:    Amiga: Compilation problem.
Solution:   Have mch_mkdir() return a failure flag. (Willy Catteau)
Files:	    src/os_amiga.c, src/proto/os_amiga.pro

Patch 7.0.109
Problem:    Lisp indenting is confused by escaped quotes in strings. (Dorai
	    Sitaram)
Solution:   Check for backslash inside strings. (Sergey Khorev)
Files:	    src/misc1.c

Patch 7.0.110
Problem:    Amiga: Compilation problems when not using libnix.
Solution:   Change a few #ifdefs. (Willy Catteau)
Files:	    src/memfile.c

Patch 7.0.111
Problem:    The gzip plugin can't handle filenames with single quotes.
Solution:   Add and use the shellescape() function. (partly by Alexey Froloff)
Files:	    runtime/autoload/gzip.vim, runtime/doc/eval.txt, src/eval.c,
	    src/mbyte.c, src/misc2.c, src/proto/misc2.pro

Patch 7.0.112
Problem:    Python interface does not work with Python 2.5.
Solution:   Change PyMem_DEL() to Py_DECREF(). (Sumner Hayes)
Files:	    src/if_python.c

Patch 7.0.113
Problem:    Using CTRL-L in Insert completion when there is no current match
	    may cause a crash. (Yukihiro Nakadaira)
Solution:   Check for compl_leader to be NULL
Files:	    src/edit.c

Patch 7.0.114
Problem:    When aborting an insert with CTRL-C an extra undo point is
	    created in the GUI. (Yukihiro Nakadaira)
Solution:   Call gotchars() only when advancing.
Files:	    src/getchar.c

Patch 7.0.115
Problem:    When 'ignorecase' is set, Insert mode completion only adds "foo"
	    and not "Foo" when both are found.
	    A found match isn't displayed right away when 'completeopt' does
	    not have "menu" or "menuone".
Solution:   Do not ignore case when checking if a completion match already
	    exists.  call ins_compl_check_keys() also when not using a popup
	    menu. (Yukihiro Nakadaira)
Files:	    src/edit.c

Patch 7.0.116
Problem:    64 bit Windows version reports "32 bit" in the ":version" output.
	    (M. Veerman)
Solution:   Change the text for Win64.
Files:	    src/version.c

Patch 7.0.117
Problem:    Using "extend" on a syntax item inside a region with "keepend", an
	    intermediate item may be truncated.
	    When applying the "keepend" and there is an offset to the end
	    pattern the highlighting of a contained item isn't adjusted.
Solution:   Use the seen_keepend flag to remember when to apply the "keepend"
	    flag.  Adjust the keepend highlighting properly. (Ilya Bobir)
Files:	    src/syntax.c

Patch 7.0.118
Problem:    printf() does not do zero padding for strings.
Solution:   Do allow zero padding for strings.
Files:	    src/message.c

Patch 7.0.119
Problem:    When going back from Insert to Normal mode the CursorHold event
	    doesn't trigger. (Yakov Lerner)
Solution:   Reset "did_cursorhold" when leaving Insert mode.
Files:	    src/edit.c

Patch 7.0.120
Problem:    Crash when using CTRL-R = at the command line and entering
	    "getreg('=')". (James Vega)
Solution:   Avoid recursiveness of evaluating the = register.
Files:	    src/ops.c

Patch 7.0.121
Problem:    GUI: Dragging the last status line doesn't work when there is a
	    text tabline.  (Markus Wolf)
Solution:   Take the text tabline into account when deciding to start modeless
	    selection.
Files:	    src/gui.c

Patch 7.0.122
Problem:    GUI: When clearing after a bold, double-wide character half a
	    character may be drawn.
Solution:   Check for double-wide character and redraw it. (Yukihiro Nakadaira)
Files:	    src/screen.c

Patch 7.0.123
Problem:    On SCO Openserver configure selects the wrong terminal library.
Solution:   Put terminfo before the other libraries. (Roger Cornelius)
	    Also fix a small problem compiling on Mac without Darwin.
Files:	    src/configure.in, src/auto/configure

Patch 7.0.124
Problem:    getwinvar() obtains a dictionary with window-local variables, but
	    it's always for the current window.
Solution:   Get the variables of the specified window. (Geoff Reedy)
Files:	    src/eval.c

Patch 7.0.125
Problem:    When "autoselect" is in the 'clipboard' option then the '< and '>
	    marks are set while Visual mode is still active.
Solution:   Don't set the '< and '> marks when yanking the selected area for
	    the clipboard.
Files:	    src/normal.c

Patch 7.0.126
Problem:    When 'formatexpr' uses setline() and later internal formatting is
	    used undo information is not correct. (Jiri Cerny, Benji Fisher)
Solution:   Set ins_need_undo after using 'formatexpr'.
Files:	    src/edit.c

Patch 7.0.127
Problem:    Crash when swap files has invalid timestamp.
Solution:   Check return value of ctime() for being NULL.
Files:	    src/memline.c

Patch 7.0.128
Problem:    GUI: when closing gvim is cancelled because there is a changed
	    buffer the screen isn't updated to show the changed buffer in the
	    current window.  (Krzysztof Kacprzak)
Solution:   Redraw when closing gvim is cancelled.
Files:	    src/gui.c

Patch 7.0.129
Problem:    GTK GUI: the GTK file dialog can't handle a relative path.
Solution:   Make the initial directory a full path before passing it to GTK.
	    (James Vega)  Also postpone adding the default file name until
	    after setting the directory.
Files:	    src/gui_gtk.c

Patch 7.0.130 (extra)
Problem:    Win32: Trying to edit or write devices may cause Vim to get stuck.
Solution:   Add the 'opendevice' option, default off.  Disallow
	    reading/writing from/to devices when it's off.
	    Also detect more devices by the full name starting with "\\.\".
Files:	    runtime/doc/options.txt, src/fileio.c, src/option.c, src/option.h,
	    src/os_win32.c

Patch 7.0.131
Problem:    Win32: "vim -r" does not list all the swap files.
Solution:   Also check for swap files starting with a dot.
Files:	    src/memline.c

Patch 7.0.132 (after 7.0.130)
Problem:    Win32: Crash when Vim reads from stdin.
Solution:   Only use mch_nodetype() when there is a file name.
Files:	    src/fileio.c

Patch 7.0.133
Problem:    When searching included files messages are added to the history.
Solution:   Set msg_hist_off for messages about scanning included files.
            Set msg_silent to avoid message about wrapping around.
Files:	    src/edit.c, src/globals.h, src/message.c, src/search.c

Patch 7.0.134
Problem:    Crash when comparing a recursively looped List or Dictionary.
Solution:   Limit recursiveness for comparing to 1000.
Files:	    src/eval.c

Patch 7.0.135
Problem:    Crash when garbage collecting list or dict with loop.
Solution:   Don't use DEL_REFCOUNT but don't recurse into Lists and
	    Dictionaries when freeing them in the garbage collector.
	    Also add allocated Dictionaries to the list of Dictionaries to
	    avoid leaking memory.
Files:	    src/eval.c, src/proto/eval.pro, src/tag.c

Patch 7.0.136
Problem:    Using "O" while matching parens are highlighted may not remove the
	    highlighting. (Ilya Bobir)
Solution:   Also trigger CursorMoved when a line is inserted under the cursor.
Files:	    src/misc1.c

Patch 7.0.137
Problem:    Configure check for big features is wrong.
Solution:   Change "==" to "=". (Martti Kuparinen)
Files:	    src/auto/configure, src/configure.in

Patch 7.0.138 (extra)
Problem:    Mac: modifiers don't work with function keys.
Solution:   Use GetEventParameter() to obtain modifiers. (Nicolas Weber)
Files:	    src/gui_mac.c

Patch 7.0.139
Problem:    Using CTRL-PageUp or CTRL-PageDown in Insert mode to go to another
	    tab page does not prepare for undo properly. (Stefano Zacchiroli)
Solution:   Call start_arrow() before switching tab page.
Files:	    src/edit.c

Patch 7.0.140 (after 7.0.134)
Problem:    Comparing recursively looped List or Dictionary doesn't work well.
Solution:   Detect comparing a List or Dictionary with itself.
Files:	    src/eval.c

Patch 7.0.141
Problem:    When pasting a while line on the command line an extra CR is added
	    literally.
Solution:   Don't add the trailing CR when pasting with the mouse.
Files:	    src/ex_getln.c, src/proto/ops.pro, src/ops.c

Patch 7.0.142
Problem:    Using the middle mouse button in Select mode to paste text results
	    in an extra "y". (Kriton Kyrimis)
Solution:   Let the middle mouse button replace the selected text with the
	    contents of the clipboard.
Files:	    src/normal.c

Patch 7.0.143
Problem:    Setting 'scroll' to its default value was not handled correctly.
Solution:   Compare the right field to PV_SCROLL.
Files:	    src/option.c

Patch 7.0.144
Problem:    May compare two unrelated pointers when matching a pattern against
	    a string.  (Dominique Pelle)
Solution:   Avoid calling reg_getline() when REG_MULTI is false.
Files:	    src/regexp.c

Patch 7.0.145 (after 7.0.142)
Problem:    Compiler warning.
Solution:   Add type cast.
Files:	    src/normal.c

Patch 7.0.146
Problem:    When 'switchbuf' is set to "usetab" and the current tab has only a
	    quickfix window, jumping to an error always opens a new window.
	    Also, when the buffer is open in another tab page it's not found.
Solution:   Check for the "split" value of 'switchbuf' properly.  Search in
	    other tab pages for the desired buffer. (Yegappan Lakshmanan)
Files:	    src/buffer.c, src/quickfix.c

Patch 7.0.147
Problem:    When creating a session file and there are several tab pages and
	    some windows have a local directory a short file name may be used
	    when it's not valid. (Marius Roets)
	    A session with multiple tab pages may result in "No Name" buffers.
	    (Bill McCarthy)
Solution:   Don't enter tab pages when going through the list, only use a
	    pointer to the first window in each tab page.
            Use "tabedit" instead of "tabnew | edit" when possible.
Files:	    src/ex_docmd.c

Patch 7.0.148
Problem:    When doing "call a.xyz()" and "xyz" does not exist in dictionary
	    "a" there is no error message. (Yegappan Lakshmanan)
Solution:   Add the error message.
Files:	    src/eval.c

Patch 7.0.149
Problem:    When resizing a window that shows "~" lines the text sometimes
	    jumps down.
Solution:   Remove code that uses "~" lines in some situations.  Fix the
            computation of the screen line of the cursor.  Also set w_skipcol
	    to handle very long lines.
Files:	    src/misc1.c, src/window.c

Patch 7.0.150
Problem:    When resizing the Vim window scrollbinding doesn't work. (Yakov
	    Lerner)
Solution:   Do scrollbinding in set_shellsize().
Files:	    src/term.c

Patch 7.0.151
Problem:    Buttons in file dialog are not according to Gnome guidelines.
Solution:   Swap Cancel and Open buttons. (Stefano Zacchiroli)
Files:	    src/gui_gtk.c

Patch 7.0.152
Problem:    Crash when using lesstif 2.
Solution:   Fill in the extension field. (Ben Hutchings)
Files:	    src/gui_xmebw.c

Patch 7.0.153
Problem:    When using cscope and opening the temp file fails Vim crashes.
	    (Kaya Bekiroglu)
Solution:   Check for NULL pointer returned from mch_open().
Files:	    src/if_cscope.c

Patch 7.0.154
Problem:    When 'foldnextmax' is negative Vim can hang. (James Vega)
Solution:   Avoid the fold level becoming negative.
Files:	    src/fold.c, src/syntax.c

Patch 7.0.155
Problem:    When getchar() returns a mouse button click there is no way to get
	    the mouse coordinates.
Solution:   Add v:mouse_win, v:mouse_lnum and v:mouse_col.
Files:	    runtime/doc/eval.txt, src/eval.c, src/vim.h

Patch 7.0.156 (extra)
Problem:    Vim doesn't compile for Amiga OS 4.
Solution:   Various changes for Amiga OS4. (Peter Bengtsson)
Files:	    src/feature.h, src/mbyte.c, src/memfile.c, src/memline.c,
	    src/os_amiga.c, src/os_amiga.h, src/pty.c

Patch 7.0.157
Problem:    When a function is used recursively the profiling information is
	    invalid. (Mikolaj Machowski)
Solution:   Put the start time on the stack instead of in the function.
Files:	    src/eval.c

Patch 7.0.158
Problem:    In a C file with ":set foldmethod=syntax", typing {<CR> on the
	    last line results in the cursor being in a closed fold. (Gautam
	    Iyer)
Solution:   Open fold after inserting a new line.
Files:	    src/edit.c

Patch 7.0.159
Problem:    When there is an I/O error in the swap file the cause of the error
	    cannot be seen.
Solution:   Use PERROR() instead of EMSG() where possible.
Files:	    src/memfile.c

Patch 7.0.160
Problem:    ":@a" echoes the command, Vi doesn't do that.
Solution:   Set the silent flag in the typeahead buffer to avoid echoing the
	    command.
Files:	    src/ex_docmd.c, src/normal.c, src/ops.c, src/proto/ops.pro

Patch 7.0.161
Problem:    Win32: Tab pages line popup menu isn't using the right encoding.
            (Yongwei Wu)
Solution:   Convert the text when necessary.  Also fixes the Find/Replace
	    dialog title. (Yegappan Lakshmanan)
Files:	    src/gui_w48.c

Patch 7.0.162
Problem:    "vim -o a b" when file "a" triggers the ATTENTION dialog,
	    selecting "Quit" exits Vim instead of editing "b" only.
	    When file "b" triggers the ATTENTION dialog selecting "Quit" or
	    "Abort" results in editing file "a" in that window.
Solution:   When selecting "Abort" exit Vim.  When selecting "Quit" close the
	    window.  Also avoid hit-enter prompt when selecting Abort.
Files:	    src/buffer.c, src/main.c

Patch 7.0.163
Problem:    Can't retrieve the position of a sign after it was set.
Solution:   Add the netbeans interface getAnno command. (Xavier de Gaye)
Files:	    runtime/doc/netbeans.txt, src/netbeans.c

Patch 7.0.164
Problem:    ":redir @+" doesn't work.
Solution:   Accept "@+" just like "@*". (Yegappan Lakshmanan)
Files:	    src/ex_docmd.c

Patch 7.0.165
Problem:    Using CTRL-L at the search prompt adds a "/" and other characters
	    without escaping, causing the pattern not to match.
Solution:   Escape special characters with a backslash.
Files:	    src/ex_getln.c

Patch 7.0.166
Problem:    Crash in cscope code when connection could not be opened.
	    (Kaya Bekiroglu)
Solution:   Check for the file descriptor to be NULL.
Files:	    src/if_cscope.c

Patch 7.0.167
Problem:    ":function" redefining a dict function doesn't work properly.
	    (Richard Emberson)
Solution:   Allow a function name to be a number when it's a function
	    reference.
Files:	    src/eval.c

Patch 7.0.168
Problem:    Using uninitialized memory and memory leak. (Dominique Pelle)
Solution:   Use alloc_clear() instead of alloc() for w_lines.  Free
	    b_ml.ml_stack after recovery.
Files:	    src/memline.c, src/window.c

Patch 7.0.169
Problem:    With a Visual block selection, with the cursor in the left upper
	    corner, pressing "I" doesn't remove the highlighting. (Guopeng
	    Wen)
Solution:   When checking if redrawing is needed also check if Visual
	    selection is still active.
Files:	    src/screen.c

Patch 7.0.170 (extra)
Problem:    Win32: Using "gvim --remote-tab foo" when gvim is minimized while
	    it previously was maximized, un-maximizing doesn't work properly.
	    And the labels are not displayed properly when 'encoding' is
	    utf-8.
Solution:   When minimized check for SW_SHOWMINIMIZED.  When updating the tab
	    pages line use TCM_SETITEMW instead of TCM_INSERTITEMW. (Liu
	    Yubao)
Files:	    src/gui_w48.c

Patch 7.0.171 (extra)
Problem:    VMS: A file name with multiple paths is written in the wrong file.
Solution:   Get the actually used file name. (Zoltan Arpadffy)
	    Also add info to the :version command about compilation.
Files:	    src/Make_vms.mms, src/buffer.c, src/os_unix.c, src/version.c

Patch 7.0.172
Problem:    Crash when recovering and quitting at the "press-enter" prompt.
Solution:   Check for "msg_list" to be NULL. (Liu Yubao)
Files:	    src/ex_eval.c

Patch 7.0.173
Problem:    ":call f().TT()" doesn't work.  (Richard Emberson)
Solution:   When a function returns a Dictionary or another composite continue
	    evaluating what follows.
Files:	    src/eval.c    

Patch 7.0.174
Problem:    ":mksession" doesn't restore window layout correctly in tab pages
	    other than the current one. (Zhibin He)
Solution:   Use the correct topframe for producing the window layout commands.
Files:	    src/ex_docmd.c

Patch 7.0.175
Problem:    The result of tr() is missing the terminating NUL. (Ingo Karkat)
Solution:   Add the NUL.
Files:	    src/eval.c

Patch 7.0.176
Problem:    ":emenu" isn't executed directly, causing the encryption key
	    prompt to fail. (Life Jazzer)
Solution:   Fix wrong #ifdef.
Files:	    src/menu.c

Patch 7.0.177
Problem:    When the press-enter prompt gets a character from a non-remappable
	    mapping, it's put back in the typeahead buffer as remappable,
	    which may cause an endless loop.
Solution:   Restore the non-remappable flag and the silent flag when putting a
	    char back in the typeahead buffer.
Files:	    src/getchar.c, src/message.c, src/normal.c

Patch 7.0.178
Problem:    When 'enc' is "utf-8" and 'ignorecase' is set the result of ":echo
	    ("\xe4" == "\xe4")" varies.
Solution:   In mb_strnicmp() avoid looking past NUL bytes.
Files:	    src/mbyte.c

Patch 7.0.179
Problem:    Using ":recover" or "vim -r" without a swapfile crashes Vim.
Solution:   Check for "buf" to be unequal NULL. (Yukihiro Nakadaira)
Files:	    src/memline.c

Patch 7.0.180 (extra, after 7.0.171)
Problem:    VMS: build failed.  Problem with swapfiles.
Solution:   Add "compiled_arch".  Always expand path and pass it to
	    buf_modname().  (Zoltan Arpadffy)
Files:	    src/globals.h, src/memline.c, src/os_unix.c, runtime/menu.vim

Patch 7.0.181
Problem:    When reloading a file that starts with an empty line, the reloaded
	    buffer has an extra empty line at the end. (Motty Lentzitzky)
Solution:   Delete all lines, don't use bufempty().
Files:	    src/fileio.c

Patch 7.0.182
Problem:    When using a mix of undo and "g-" it may no longer be possible to
	    go to every point in the undo tree.  (Andy Wokula)
Solution:   Correctly update pointers in the undo tree.
Files:	    src/undo.c

Patch 7.0.183
Problem:    Crash in ":let" when redirecting to a variable that's being
	    displayed. (Thomas Link)
Solution:   When redirecting to a variable only do the assignment when
	    stopping redirection to avoid that setting the variable causes a
	    freed string to be accessed.
Files:	    src/eval.c

Patch 7.0.184
Problem:    When the cscope program is called "mlcscope" the Cscope interface
	    doesn't work.
Solution:   Accept "\S*cscope:" instead of "cscope:". (Frodak D. Baksik)
Files:	    src/if_cscope.c

Patch 7.0.185
Problem:    Multi-byte characters in a message are displayed with attributes
	    from what comes before it.
Solution:   Don't use the attributes for a multi-byte character.  Do use
	    attributes for special characters. (Yukihiro Nakadaira)
Files:	    src/message.c

Patch 7.0.186
Problem:    Get an ml_get error when 'encoding' is "utf-8" and searching for
	    "/\_s*/e" in an empty buffer.  (Andrew Maykov)
Solution:   Don't try getting the line just below the last line.
Files:	    src/search.c

Patch 7.0.187
Problem:    Can't source a remote script properly.
Solution:   Add the SourceCmd event. (Charles Campbell)
Files:	    runtime/doc/autocmd.txt, src/ex_cmds2.c, src/fileio.c, src/vim.h

Patch 7.0.188 (after 7.0.186)
Problem:    Warning for wrong pointer type.
Solution:   Add a type cast.
Files:	    src/search.c

Patch 7.0.189
Problem:    Translated message about finding matches is truncated. (Yukihiro
	    Nakadaira)
Solution:   Enlarge the buffer.  Also use vim_snprintf().
Files:	    src/edit.c

Patch 7.0.190
Problem:    "syntax spell default" results in an error message.
Solution:   Change 4 to 7 for STRNICMP(). (Raul Nunez de Arenas Coronado)
Files:	    src/syntax.c

Patch 7.0.191
Problem:    The items used by getqflist() and setqflist() don't match.
Solution:   Support the "bufnum" item for setqflist(). (Yegappan Lakshmanan)
Files:	    runtime/doc/eval.txt, src/quickfix.c

Patch 7.0.192
Problem:    When 'swapfile' is switched off in an empty file it is possible
	    that not all blocks are loaded into memory, causing ml_get errors
	    later.
Solution:   Rename "dont_release" to "mf_dont_release" and also use it to
	    avoid using the cached line and locked block. 
Files:	    src/globals.h, src/memfile.c, src/memline.c

Patch 7.0.193
Problem:    Using --remote or --remote-tab with an argument that matches
	    'wildignore' causes a crash.
Solution:   Check the argument count before using ARGLIST[0].
Files:	    src/ex_cmds.c

Patch 7.0.194
Problem:    Once an ml_get error is given redrawing part of the screen may
	    cause it again, resulting in an endless loop.
Solution:   Don't give the error message for a recursive call.
Files:	    src/memline.c

Patch 7.0.195
Problem:    When a buffer is modified and 'autowriteall' is set, ":quit"
	    results in an endless loop when there is a conversion error while
	    writing. (Nikolai Weibull)
Solution:   Make autowrite() return FAIL if the buffer is still changed after
	    writing it.
	    /* put the cursor on the last char, for 'tw' formatting */
Files:	    src/ex_cmds2.c

Patch 7.0.196
Problem:    When using ":vert ball" the computation of the mouse pointer
	    position may be off by one column. (Stefan Karlsson)
Solution:   Recompute the frame width when moving the vertical separator from
	    one window to another.
Files:	    src/window.c

Patch 7.0.197 (extra)
Problem:    Win32: Compiling with EXITFREE doesn't work.
Solution:   Adjust a few #ifdefs. (Alexei Alexandrof)
Files:	    src/misc2.c, src/os_mswin.c

Patch 7.0.198 (extra)
Problem:    Win32: Compiler warnings.  No need to generate gvim.exe.mnf.
Solution:   Add type casts.  Use "*" for processorArchitecture. (George Reilly)
Files:	    src/Make_mvc.mak, src/eval.c, src/gvim.exe.mnf, src/misc2.c

Patch 7.0.199
Problem:    When using multi-byte characters the combination of completion and
	    formatting may result in a wrong cursor position.
Solution:   Don't decrement the cursor column, use dec_cursor(). (Yukihiro
	    Nakadaira)  Also check for the column to be zero.
Files:	    src/edit.c

Patch 7.0.200
Problem:    Memory leaks when out of memory.
Solution:   Free the memory.
Files:	    src/edit.c, src/diff.c

Patch 7.0.201
Problem:    Message for ":diffput" about buffer not being in diff mode may be
	    wrong.
Solution:   Check for buffer in diff mode but not modifiable.
Files:	    src/diff.c

Patch 7.0.202
Problem:    Problems on Tandem systems while compiling and at runtime.
Solution:   Recognize root uid is 65535.  Check select() return value for it
	    not being supported.  Avoid wrong function prototypes.  Mention
	    use of -lfloss.  (Matthew Woehlke)
Files:	    src/Makefile, src/ex_cmds.c, src/fileio.c, src/main.c,
	    src/osdef1.h.in, src/osdef2.h.in, src/os_unix.c, src/pty.c,
	    src/vim.h

Patch 7.0.203
Problem:    0x80 characters in a register are not handled correctly for the
	    "@" command.
Solution:   Escape CSI and 0x80 characters. (Yukihiro Nakadaira)
Files:	    src/ops.c

Patch 7.0.204
Problem:    Cscope: Parsing matches for listing isn't done properly.
Solution:   Check for line number being found. (Yu Zhao)
Files:	    src/if_cscope.c

Patch 7.0.205 (after 7.0.203)
Problem:    Can't compile.
Solution:   Always include the vim_strsave_escape_csi function.
Files:	    src/getchar.c

Patch 7.0.206 (after 7.0.058)
Problem:    Some characters of the "gb18030" encoding are not handled
	    properly.
Solution:   Do not use "cp936" as an alias for "gb18030" encoding.  Instead
	    initialize 'encoding' to "cp936".
Files:	    src/mbyte.c, src/option.c

Patch 7.0.207
Problem:    After patch 2.0.203 CSI and K_SPECIAL characters are escaped when
	    recorded and then again when the register is executed.
Solution:   Remove escaping before putting the recorded characters in a
	    register.  (Yukihiro Nakadaira)
Files:	    src/getchar.c, src/ops.c, src/proto/getchar.pro

Patch 7.0.208 (after 7.0.171 and 7.0.180)
Problem:    VMS: changes to path handling cause more trouble than they solve.
Solution:   Revert changes.
Files:	    src/buffer.c, src/memline.c, src/os_unix.c

Patch 7.0.209
Problem:    When replacing a line through Python the cursor may end up beyond
	    the end of the line.
Solution:   Check the cursor column after replacing the line.
Files:	    src/if_python.c

Patch 7.0.210
Problem:    ":cbuffer" and ":lbuffer" always fail when the buffer is modified.
	    (Gary Johnson)
Solution:   Support adding a !. (Yegappan Lakshmanan)
Files:	    runtime/doc/quickfix.txt, src/ex_cmds.h

Patch 7.0.211
Problem:    With ":set cindent noai bs=0" using CTRL-U in Insert mode will
	    delete auto-indent.  After ":set ai" it doesn't.
Solution:   Also check 'cindent' being set. (Ryan Lortie)
Files:	    src/edit.c

Patch 7.0.212
Problem:    The GUI can't be terminated with SIGTERM. (Mark Logan)
Solution:   Use the signal protection in the GUI as in the console, allow
	    signals when waiting for 100 msec or longer.
Files:	    src/ui.c

Patch 7.0.213
Problem:    When 'spellfile' has two regions that use the same sound folding
	    using "z=" will cause memory to be freed twice. (Mark Woodward)
Solution:   Clear the hashtable properly so that the items are only freed once.
Files:	    src/spell.c

Patch 7.0.214
Problem:    When using <f-args> in a user command it's not possible to have an
	    argument end in '\ '.
Solution:   Change the handling of backslashes. (Yakov Lerner)
Files:	    runtime/doc/map.txt, src/ex_docmd.c

Patch 7.0.215 (extra)
Problem:    Mac: Scrollbar size isn't set.  Context menu has disabled useless
	    Help entry.  Call to MoreMasterPointers() is ignored.
Solution:   Call SetControlViewSize() in gui_mch_set_scrollbar_thumb().  Use
	    kCMHelpItemRemoveHelp for ContextualMenuSelect().  Remove call to
	    MoreMasterPointers(). (Nicolas Weber)
Files:	    src/gui_mac.c

Patch 7.0.216
Problem:    ":tab wincmd ]" does not open a tab page. (Tony Mechelynck)
Solution:   Copy the cmdmod.tab value to postponed_split_tab and use it.
Files:	    src/globals.h, src/ex_docmd.c, src/if_cscope.c, src/window.c

Patch 7.0.217
Problem:    This hangs when pressing "n": ":%s/\n/,\r/gc". (Ori Avtalion)
Solution:   Set "skip_match" to advance to the next line.
Files:	    src/ex_cmds.c

Patch 7.0.218
Problem:    "%B" in 'statusline' always shows zero in Insert mode. (DervishD)
Solution:   Remove the exception for Insert mode, check the column for being
	    valid instead.
Files:	    src/buffer.c

Patch 7.0.219
Problem:    When using the 'editexisting.vim' script and a file is being
	    edited in another tab page the window is split.  The "+123"
	    argument is not used.
Solution:   Make the tab page with the file the current tab page.  Set
	    v:swapcommand when starting up to the first "+123" or "-c" command
	    line argument.
Files:	    runtime/macros/editexisting.vim, src/main.c

Patch 7.0.220
Problem:    Crash when using winnr('#') in a new tab page. (Andy Wokula)
Solution:   Check for not finding the window.
Files:	    src/eval.c

Patch 7.0.221
Problem:    finddir() uses 'path' by default, where "." means relative to the
	    current file.  But it works relative to the current directory.
	    (Tye Zdrojewski)
Solution:   Add the current buffer name to find_file_in_path_option() for the
	    relative file name.
Files:	    runtime/doc/eval.txt, src/eval.c

Patch 7.0.222
Problem:    Perl indenting using 'cindent' works almost right.
Solution:   Recognize '#' to start a comment. (Alex Manoussakis)  Added '#'
	    flag in 'cinoptions'.
Files:	    runtime/doc/indent.txt, src/misc1.c

Patch 7.0.223
Problem:    Unprintable characters in completion text mess up the popup menu.
	    (Gombault Damien)
Solution:   Use strtrans() to make the text printable.
Files:	    src/charset.c, src/popupmnu.c

Patch 7.0.224
Problem:    When expanding "##" spaces are escaped twice.  (Pavol Juhas)
Solution:   Don't escape the spaces that separate arguments.
Files:	    src/eval.c, src/ex_docmd.c, src/proto/ex_docmd.pro

Patch 7.0.225
Problem:    When using setline() in an InsertEnter autocommand and doing "A"
	    the cursor ends up on the last byte in the line. (Yukihiro
	    Nakadaira)
Solution:   Only adjust the column when using setline() for the cursor line.
	    Move it back to the head byte if necessary.
Files:	    src/eval.c, src/misc2.c

Patch 7.0.226
Problem:    Display flickering when updating signs through the netbeans
	    interface. (Xavier de Gaye)
Solution:   Remove the redraw_later(CLEAR) call.
Files:	    src/netbeans.c

Patch 7.0.227
Problem:    Crash when closing a window in the GUI. (Charles Campbell)
Solution:   Don't call out_flush() from win_free().
Files:	    src/window.c

Patch 7.0.228
Problem:    Cygwin: problem with symlink to DOS style path.
Solution:   Invoke cygwin_conv_to_posix_path(). (Luca Masini)
Files:	    src/os_unix.c

Patch 7.0.229
Problem:    When 'pastetoggle' starts with Esc then pressing Esc in Insert
	    mode will not time out. (Jeffery Small)
Solution:   Use KL_PART_KEY instead of KL_PART_MAP, so that 'ttimeout' applies
	    to the 'pastetoggle' key.
Files:	    src/getchar.c

Patch 7.0.230
Problem:    After using ":lcd" a script doesn't know how to restore the
	    current directory.
Solution:   Add the haslocaldir() function. (Bob Hiestand)
Files:	    runtime/doc/usr_41.txt, runtime/doc/eval.txt, src/eval.c

Patch 7.0.231
Problem:    When recovering from a swap file the page size is likely to be
	    different from the minimum.  The block used for the first page
	    then has a buffer of the wrong size, causing a crash when it's
	    reused later.  (Zephaniah Hull)
Solution:   Reallocate the buffer when the page size changes.  Also check that
	    the page size is at least the minimum value.
Files:	    src/memline.c

Patch 7.0.232 (extra)
Problem:    Mac: doesn't support GUI tab page labels.
Solution:   Add GUI tab page labels. (Nicolas Weber)
Files:	    src/feature.h, src/gui.c, src/gui.h, src/gui_mac.c,
	    src/proto/gui_mac.pro

Patch 7.0.233 (extra)
Problem:    Mac: code formatted badly.
Solution:   Fix code formatting
Files:	    src/gui_mac.c

Patch 7.0.234
Problem:    It's possible to use feedkeys() from a modeline.  That is a
	    security issue, can be used for a trojan horse.
Solution:   Disallow using feedkeys() in the sandbox.
Files:	    src/eval.c

Patch 7.0.235
Problem:    It is possible to use writefile() in the sandbox.
Solution:   Add a few more checks for the sandbox.
Files:	    src/eval.c

Patch 7.0.236
Problem:    Linux 2.4 uses sysinfo() with a mem_unit field, which is not
	    backwards compatible.
Solution:   Add an autoconf check for sysinfo.mem_unit.  Let mch_total_mem()
	    return Kbyte to avoid overflow.
Files:	    src/auto/configure, src/configure.in, src/config.h.in,
	    src/option.c, src/os_unix.c

Patch 7.0.237
Problem:    For root it is recommended to not use 'modeline', but in
	    not-compatible mode the default is on.
Solution:   Let 'modeline' default to off for root.
Files:	    runtime/doc/options.txt, src/option.c

Patch 7.0.238
Problem:    Crash when ":match" pattern runs into 'maxmempattern'. (Yakov
	    Lerner)
Solution:   Don't free the regexp program of match_hl.
Files:	    src/screen.c

Patch 7.0.239
Problem:    When using local directories and tab pages ":mksession" uses a
	    short file name when it shouldn't.  Window-local options from a
	    modeline may be applied to the wrong window. (Teemu Likonen)
Solution:   Add the did_lcd flag, use the full path when it's set.  Don't use
	    window-local options from the modeline when using the current
	    window for another buffer in ":doautoall".
Files:	    src/fileio.c,  src/ex_docmd.c

Patch 7.0.240
Problem:    Crash when splitting a window in the GUI. (opposite of 7.0.227)
Solution:   Don't call out_flush() from win_alloc().  Also avoid this for
	    win_delete().  Also block autocommands while the window structure
	    is invalid.
Files:	    src/window.c

Patch 7.0.241
Problem:    ":windo throw 'foo'" loops forever. (Andy Wokula)
Solution:   Detect that win_goto() doesn't work.
Files:	    src/ex_cmds2.c

Patch 7.0.242 (extra)
Problem:    Win32: Using "-register" in a Vim that does not support OLE causes
	    a crash.
Solution:   Don't use EMSG() but mch_errmsg().  Check p_go for being NULL.
	    (partly by Michael Wookey)
Files:	    src/gui_w32.c

Patch 7.0.243 (extra)
Problem:    Win32: When GvimExt is built with MSVC 2005 or later, the "Edit
	    with vim" context menu doesn't appear in the Windows Explorer.
Solution:   Embed the linker manifest file into the resources of GvimExt.dll.
	    (Mathias Michaelis)
Files:	    src/GvimExt/Makefile


Fixes after Vim 7.1a BETA:

The extra archive had CVS directories included below "farsi" and
"runtime/icons".  CVS was missing the farsi icon files.

Fix compiling with Gnome 2.18, undefine bind_textdomain_codeset. (Daniel
Drake)

Mac: "make install" didn't copy rgb.txt.

When editing a compressed file while there are folds caused "ml_get" errors
and some lines could be missing.  When decompressing failed option values were
not restored.


Patch 7.1a.001
Problem:    Crash when downloading a spell file.  (Szabolcs Horvat)
Solution:   Avoid that did_set_spelllang() is used recursively when a new
	    window is opened for the download.
	    Also avoid wiping out the wrong buffer.
Files:	    runtime/autoload/spellfile.vim, src/buffer.c, src/ex_cmds.c,
            src/spell.c

Patch 7.1a.002 (extra)
Problem:    Compilation error with MingW.
Solution:   Check for LPTOOLTIPTEXT to be defined.
Files:	    src/gui_w32.c


Fixes after Vim 7.1b BETA:

Made the Mzscheme interface build both with old and new versions of Mzscheme,
using an #ifdef. (Sergey Khorev)
Mzscheme interface didn't link, missing function.  Changed order of libraries
in the configure script.

Ruby interface didn't compile on Mac.  Changed #ifdef. (Kevin Ballard)

Patch 7.1b.001 (extra)
Problem:    Random text in a source file.  No idea how it got there.
Solution:   Delete the text.
Files:	    src/gui_w32.c

Patch 7.1b.002
Problem:    When 'maxmem' is large there can be an overflow in computations.
	    (Thomas Wiegner)
Solution:   Use the same mechanism as in mch_total_mem(): first reduce the
	    multiplier as much as possible.
Files:	    src/memfile.c

==============================================================================
VERSION 7.2					*version-7.2* *version7.2*

This section is about improvements made between version 7.1 and 7.2.

This is mostly a bug-fix release.  The main new feature is floating point
support. |Float|


Changed							*changed-7.2*
-------

Changed the command line buffer name from "command-line" to "[Command Line]".

Removed optional ! for ":caddexpr", ":cgetexpr", ":cgetfile", ":laddexpr",
":lgetexpr" and ":lgetfile".  They are not needed.  (Yegappan Lakshmanan)

An offset for syntax matches worked on bytes instead of characters.  That is
inconsistent and can easily be done wrong.  Use character offsets now.
(Yukihiro Nakadaira)

The FileChangedShellPost event was also given when a file didn't change.
(John Little)

When the current line is long (doesn't fit) the popup menu can't be seen.
Display it below the screen line instead of below the text line.
(Francois Ingelrest)

Switched to autoconf version 2.62.

Moved including fcntl.h to vim.h and removed it from all .c files.

Introduce macro STRMOVE(d, s), like STRCPY() for overlapping strings.
Use it instead of mch_memmove(p, p + x, STRLEN(p + x) + 1).

Removed the bulgarian.vim keymap file, two more standard ones replace it.
(Boyko Bantchev)

Increased the maximum number of tag matches for command line completion from
200 to 300.

Renamed help file sql.txt to ft_sql.txt and ada.txt to ft_ada.txt.


Added							*added-7.2*
-----

New syntax files:
	CUDA (Timothy B. Terriberry)
	Cdrdao config (Nikolai Weibull)
	Coco/R (Ashish Shukla)
	Denyhosts config (Nikolai Weibull)
	Dtrace script (Nicolas Weber)
	Git output, commit, config, rebase, send-email (Tim Pope)
	HASTE and HastePreProc (M. Tranchero)
	Haml (Tim Pope)
	Host conf (Nikolai Weibull)
	Linden script (Timo Frenay)
	MS messages (Kevin Locke)
	PDF (Tim Pope)
	ProMeLa (Maurizio Tranchero)
	Reva Foth (Ron Aaron)
	Sass (Tim Pope)
	Symbian meta-makefile, MMP (Ron Aaron)
	VOS CM macro (Andrew McGill)
	XBL (Doug Kearns)

New tutor files:
	Made UTF-8 versions of all the tutor files.
	Greek renamed from ".gr" to ".el" (Greek vs Greece).
	Esperanto (Dominique Pelle)
	Croatian (Paul B. Mahol)

New filetype plugins:
	Cdrdao config (Nikolai Weibull)
	Debian control files (Debian Vim maintainers)
	Denyhosts (Nikolai Weibull)
	Dos .ini file (Nikolai Weibull)
	Dtrace script (Nicolas Weber)
	FnameScript (Nikolai Weibull)
	Git, Git config, Git commit, Git rebase, Git send-email (Tim Pope)
	Haml (Tim Pope)
	Host conf (Nikolai Weibull)
	Host access (Nikolai Weibull)
	Logtalk (Paulo Moura)
	MS messages (Kevin Locke)
	NSIS script (Nikolai Weibull)
	PDF (Tim Pope)
	Reva Forth (Ron Aaron)
	Sass (Tim Pope)

New indent files:
	DTD (Nikolai Weibull)
	Dtrace script (Nicolas Weber)
	Erlang (Csaba Hoch)
	FrameScript (Nikolai Weibull)
	Git config (Tim Pope)
	Haml (Tim Pope)
	Logtalk (Paulo Moura)
	Sass (Tim Pope)
	Tiny Fugue (Christian J. Robinson)

New compiler plugins:
	RSpec (Tim Pope)

New keymap files:
	Croatian (Paul B. Mahol)
	Russian Dvorak (Serhiy Boiko)
	Ukrainian Dvorak (Serhiy Boiko)
	Removed plain Bulgarian, "bds" and phonetic are sufficient.

Other new runtime files:
	Esperanto menu and message translations. (Dominique Pelle)
	Finnish menu and message translations. (Flammie Pirinen)
	Brazilian Portuguese message translations. (Eduardo Dobay)

Added floating point support. |Float|

Added argument to mode() to return a bit more detail about the current mode.
(Ben Schmidt)

Added support for BSD console mouse: |sysmouse|.  (Paul B. Mahol)

Added the "newtab" value for the 'switchbuf' option.  (partly by Yegappan
Lakshmanan)

Improved error messages for the netbeans interface. (Philippe Fremy)

Added support for using xterm mouse codes for screen. (Micah Cowan)

Added support for cross compiling:
Adjusted configure.in and added INSTALLcross.txt. (Marc Haisenko)  Fixed
mistakes in configure.in after that.
Don't use /usr/local/include and /usr/local/lib in configure. (Philip
Prindeville)
For cross compiling the Cygwin version on Unix, change VIM.TLB to vim.tlb in
src/vim.rc. (Tsuneo Nakagawa)

Added v:searchforward variable: What direction we're searching in.  (Yakov
Lerner)


Fixed							*fixed-7.2*
-----

Patch 7.1.001
Problem:    Still can't build with Gnome libraries.
Solution:   Fix typo in bind_textdomain_codeset. (Mike Kelly)
Files:	    src/gui_gtk.c, src/gui_gtk_x11.c

Patch 7.1.002
Problem:    Oracle Pro*C/C++ files are not detected.
Solution:   Add the missing star. (Micah J. Cowan)
Files:	    runtime/filetype.vim

Patch 7.1.003 (extra)
Problem:    The "Tear off this menu" message appears in the message history
	    when using a menu. (Yongwei Wu)
Solution:   Disable message history when displaying the menu tip.
Files:	    src/gui_w32.c

Patch 7.1.004
Problem:    Crash when doing ":next directory". (Raphael Finkel)
Solution:   Do not use "buf", it may be invalid after autocommands.
Files:	    src/ex_cmds.c

Patch 7.1.005
Problem:    "cit" used on <foo></foo> deletes <foo>.  Should not delete
	    anything and start insertion, like "ci'" does on "". (Michal
	    Bozon)
Solution:   Handle an empty object specifically.  Made it work consistent for
	    various text objects.
Files:	    src/search.c

Patch 7.1.006
Problem:    Resetting 'modified' in a StdinReadPost autocommand doesn't work.
Solution:   Set 'modified' before the autocommands instead of after it.
Files:	    src/buffer.c

Patch 7.1.007 (extra)
Problem:    Mac: Context menu doesn't work on Intel Macs.
	    Scrollbars are not dimmed when Vim is not the active application.
Solution:   Remove the test whether context menus are supported.  They are
	    always there in OS/X.  Handle the dimming. (Nicolas Weber)
Files:	    src/gui_mac.c, src/gui.h

Patch 7.1.008
Problem:    getfsize() returns a negative number for very big files.
Solution:   Check for overflow and return -2.
Files:	    runtime/doc/eval.txt, src/eval.c

Patch 7.1.009
Problem:    In diff mode, displaying the difference between a tab and spaces
	    is not highlighted correctly.
Solution:   Only change highlighting at the end of displaying a tab.
Files:	    src/screen.c

Patch 7.1.010
Problem:    The Gnome session file doesn't restore tab pages.
Solution:   Add SSOP_TABPAGES to the session flags. (Matias D'Ambrosio)
Files:	    src/gui_gtk_x11.c

Patch 7.1.011
Problem:    Possible buffer overflow when $VIMRUNTIME is very long. (Victor
	    Stinner)
Solution:   Use vim_snprintf().
Files:	    src/main.c

Patch 7.1.012
Problem:    ":let &shiftwidth = 'asdf'" doesn't produce an error message.
Solution:   Check for a string argument. (Chris Lubinski)
Files:	    src/option.c

Patch 7.1.013
Problem:    ":syn include" only loads the first file, while it is documented
	    as doing the equivalent of ":runtime!".
Solution:   Change the argument to source_runtime(). (James Vega)
Files:	    src/syntax.c

Patch 7.1.014
Problem:    Crash when doing C indenting. (Chris Monson)
Solution:   Obtain the current line again after invoking cin_islabel().
Files:	    src/edit.c

Patch 7.1.015
Problem:    MzScheme interface: current-library-collection-paths produces no
	    list.  Interface doesn't build on a Mac.
Solution:   Use a list instead of a pair. (Bernhard Fisseni)  Use "-framework"
	    argument for MZSCHEME_LIBS in configure.
Files:	    src/configure.in, src/if_mzsch.c, src/auto/configure

Patch 7.1.016 (after patch 7.1.012)
Problem:    Error message about setting 'diff' to a string.
Solution:   Don't pass an empty string to set_option_value() when setting
	    'diff'.
Files:	    src/quickfix.c, src/popupmnu.c

Patch 7.1.017
Problem:    ":confirm w" does give a prompt when 'readonly' is set, but not
	    when the file permissions are read-only.  (Michael Schaap)
Solution:   Provide a dialog in both situations.  (Chris Lubinski)
Files:	    src/ex_cmds.c, src/fileio.c, src/proto/fileio.pro

Patch 7.1.018
Problem:    When 'virtualedit' is set a "p" of a block just past the end of
	    the line inserts before the cursor. (Engelke)
Solution:   Check for the cursor being just after the line (Chris Lubinski)
Files:	    src/ops.c

Patch 7.1.019
Problem:    ":py" asks for an argument, ":py asd" then gives the error that
	    ":py" isn't implemented.  Should already happen for ":py".
Solution:   Compare with ex_script_ni. (Chris Lubinski)
Files:	    src/ex_docmd.c

Patch 7.1.020
Problem:    Reading from uninitialized memory when using a dialog. (Dominique
	    Pelle)
Solution:   In msg_show_console_dialog() append a NUL after every appended
	    character.
Files:	    src/message.c

Patch 7.1.021 (after 7.1.015)
Problem:    Mzscheme interface doesn't compile on Win32.
Solution:   Fix the problem that 7.1.015 fixed in a better way. (Sergey Khorev)
Files:	    src/if_mzsch.c

Patch 7.1.022
Problem:    When setting 'keymap' twice the b:keymap_name variable isn't set.
	    (Milan Berta)
Solution:   Don't unlet b:keymap_name for ":loadkeymap". (Martin Toft)
Files:	    src/digraph.c

Patch 7.1.023
Problem:    "dw" in a line with one character deletes the line.  Vi and nvi
	    don't do this.  (Kjell Arne Rekaa)
Solution:   Check for one-character words especially.
Files:	    src/search.c

Patch 7.1.024
Problem:    Using a pointer that has become invalid. (Chris Monson)
Solution:   Obtain the line pointer again after we looked at another line.
Files:	    src/search.c

Patch 7.1.025
Problem:    search() and searchpos() don't use match under cursor at start of
	    line when using 'bc' flags. (Viktor Kojouharov)
Solution:   Don't go to the previous line when the 'c' flag is present.
	    Also fix that "j" doesn't move the cursor to the right column.
Files:	    src/eval.c, src/search.c

Patch 7.1.026
Problem:    "[p" doesn't work in Visual mode. (David Brown)
Solution:   Use checkclearop() instead of checkclearopq().
Files:	    src/normal.c

Patch 7.1.027
Problem:    On Sun systems opening /dev/fd/N doesn't work, and they are used
	    by process substitutions.
Solution:   Allow opening specific character special files for Sun systems.
	    (Gary Johnson)
Files:	    src/fileio.c, src/os_unix.h

Patch 7.1.028
Problem:    Can't use last search pattern for ":sort". (Brian McKee)
Solution:   When the pattern is empty use the last search pattern. (Martin
	    Toft)
Files:	    runtime/doc/change.txt, src/ex_cmds.c

Patch 7.1.029 (after 7.1.019)
Problem:    Can't compile when all interfaces are used. (Taylor Venable)
Solution:   Only check for ex_script_ni when it's defined.
Files:	    src/ex_docmd.c

Patch 7.1.030
Problem:    The "vimtutor" shell script checks for "vim6" but not for "vim7".
	    (Christian Robinson)
Solution:   Check for more versions, but prefer using "vim".
Files:	    src/vimtutor

Patch 7.1.031
Problem:    virtcol([123, '$']) doesn't work. (Michael Schaap)
Solution:   When '$' is used for the column number get the last column.
Files:	    runtime/doc/eval.txt, src/eval.c

Patch 7.1.032
Problem:    Potential crash when editing a command line. (Chris Monson)
Solution:   Check the position to avoid access before the start of an array.
Files:	    src/ex_getln.c

Patch 7.1.033
Problem:    A buffer is marked modified when it was first deleted and then
	    added again using a ":next" command. (John Mullin)
Solution:   When checking if a buffer is modified use the BF_NEVERLOADED flag.
Files:	    src/option.c

Patch 7.1.034
Problem:    Win64: A few compiler warnings.  Problems with optimizer.
Solution:   Use int instead of size_t.  Disable the optimizer in one function.
	    (George V.  Reilly)
Files:	    src/eval.c, src/spell.c

Patch 7.1.035
Problem:    After ":s/./&/#" all listed lines have a line number. (Yakov
	    Lerner)
Solution:   Reset the line number flag when not using the "&" flag.
Files:	    src/ex_cmds.c

Patch 7.1.036
Problem:    Completing ":echohl" argument should include "None". (Ori
	    Avtalion)  ":match" should have "none" too.
Solution:   Add flags to use expand_highlight().  Also fix that when disabling
	    FEAT_CMDL_COMPL compilation fails.  (Chris Lubinski)
Files:	    src/eval.c, src/ex_docmd.c, src/ex_getln.c, src/proto/syntax.pro
	    src/syntax.c

Patch 7.1.037
Problem:    strcpy() used for overlapping strings. (Chris Monson)
Solution:   Use mch_memmove() instead.
Files:	    src/option.c

Patch 7.1.038
Problem:    When 'expandtab' is set then a Tab copied for 'copyindent' is
	    expanded to spaces, even when 'preserveindent' is set. (Alexei
	    Alexandrov)
Solution:   Remove the check for 'expandtab'.  Also fix that ">>" doesn't obey
	    'preserveindent'. (Chris Lubinski)
Files:	    src/misc1.c

Patch 7.1.039
Problem:    A tag in a help file that starts with "help-tags" and contains a
	    percent sign may make Vim crash. (Ulf Harnhammar)
Solution:   Use puts() instead of fprintf().
Files:	    src/ex_cmds.c

Patch 7.1.040
Problem:    ":match" only supports three matches.
Solution:   Add functions clearmatches(), getmatches(), matchadd(),
	    matchdelete() and setmatches().  Changed the data structures for
	    this.  A small bug in syntax.c is fixed, so newly created
	    highlight groups can have their name resolved correctly from their
	    ID.  (Martin Toft)
Files:	    runtime/doc/eval.txt, runtime/doc/pattern.txt,
	    runtime/doc/usr_41.txt, src/eval.c, src/ex_docmd.c,
	    src/proto/window.pro, src/screen.c, src/structs.h, src/syntax.c,
	    src/testdir/Makefile, src/testdir/test63.in,
	    src/testdir/test63.ok, src/window.c

Patch 7.1.041 (extra, after 7.1.040)
Problem:    Some changes for patch 7.1.040 are in extra files.
Solution:   Update the extra files.
Files:	    src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
	    src/testdir/Make_os2.mak, src/testdir/Make_vms.mms

Patch 7.1.042 (after 7.1.040)
Problem:    Internal error when using matchadd(). (David Larson)
Solution:   Check the third argument to be present before using the fourth
	    argument. (Martin Toft)
Files:	    src/eval.c

Patch 7.1.043
Problem:    In Ex mode using CTRL-D twice may cause a crash.  Cursor isn't
	    positioned properly after CTRL-D.
Solution:   Set prev_char properly.  Position the cursor correctly. (Antony
	    Scriven)
Files:	    src/ex_getln.c

Patch 7.1.044
Problem:    In Insert mode 0 CTRL-T deletes all indent, it should add indent.
	    (Gautam Iyer)
Solution:   Check for CTRL-D typed.
Files:	    src/edit.c

Patch 7.1.045
Problem:    Unnecessary screen redrawing. (Jjgod Jiang)
Solution:   Reset "must_redraw" after clearing the screen.
Files:	    src/screen.c

Patch 7.1.046
Problem:    ":s" command removes combining characters. (Ron Aaron)
Solution:   Copy composing characters individually. (Chris Lubinski)
Files:	    src/regexp.c

Patch 7.1.047
Problem:    vim_regcomp() called with invalid argument. (Xiaozhou Liu)
Solution:   Change TRUE to RE_MAGIC + RE_STRING.
Files:	    src/ex_eval.c

Patch 7.1.048
Problem:    The matchparen plugin doesn't update the match when scrolling with
	    the mouse wheel. (Ilya Bobir)
Solution:   Set the match highlighting for text that can be scrolled into the
	    viewable area without moving the cursor. (Chris Lubinski)
Files:	    runtime/plugin/matchparen.vim

Patch 7.1.049
Problem:    Cannot compile GTK2 version with Hangul input feature.
Solution:   Don't define FEAT_XFONTSET when using GTK2.
Files:	    src/feature.h

Patch 7.1.050
Problem:    Possible crash when using C++ indenting. (Chris Monson)
Solution:   Keep the line pointer to the line to compare with.  Avoid going
	    past the end of line.
Files:	    src/misc1.c

Patch 7.1.051
Problem:    Accessing uninitialized memory when finding spell suggestions.
Solution:   Don't try swapping characters at the end of a word.
Files:	    src/spell.c

Patch 7.1.052
Problem:    When creating a new match not all fields are initialized, which
	    may lead to unpredictable results.
Solution:   Initialise rmm_ic and rmm_maxcol.
Files:	    src/window.c

Patch 7.1.053
Problem:    Accessing uninitialized memory when giving a message.
Solution:   Check going the length before checking for a NUL byte.
Files:	    src/message.c

Patch 7.1.054
Problem:    Accessing uninitialized memory when displaying the fold column.
Solution:   Add a NUL to the extra array. (Dominique Pelle).  Also do this in
	    a couple of other situations.
Files:	    src/screen.c

Patch 7.1.055
Problem:    Using strcpy() with arguments that overlap.
Solution:   Use mch_memmove() instead.
Files:	    src/buffer.c, src/charset.c, src/eval.c, src/ex_getln.c,
	    src/misc1.c, src/regexp.c, src/termlib.c

Patch 7.1.056
Problem:    More prompt does not behave correctly after scrolling back.
	    (Randall W. Morris)
Solution:   Avoid lines_left becomes negative. (Chris Lubinski)  Don't check
	    mp_last when deciding to show the more prompt. (Martin Toft)
Files:	    src/message.c

Patch 7.1.057
Problem:    Problem with CursorHoldI when using "r" in Visual mode (Max
	    Dyckhoff)
Solution:   Ignore CursorHold(I) when getting a second character for a Normal
	    mode command.  Also abort the "r" command in Visual when a special
	    key is typed.
Files:	    src/normal.c

Patch 7.1.058
Problem:    When 'rightleft' is set the completion menu is positioned wrong.
	    (Baha-Eddine MOKADEM)
Solution:   Fix the completion menu. (Martin Toft)
Files:	    src/popupmnu.c, src/proto/search.pro, src/search.c

Patch 7.1.059
Problem:    When in Ex mode and doing "g/^/vi" and then pressing CTRL-C Vim
	    hangs and beeps. (Antony Scriven)
Solution:   Clear "got_int" in the main loop to avoid the hang.  When typing
	    CTRL-C twice in a row abort the ":g" command.  This is Vi
	    compatible.
Files:	    src/main.c

Patch 7.1.060
Problem:    Splitting quickfix window messes up window layout. (Marius
	    Gedminas)
Solution:   Compute the window size in a smarter way. (Martin Toft)
Files:	    src/window.c

Patch 7.1.061
Problem:    Win32: When 'encoding' is "latin1" 'ignorecase' doesn't work for
	    characters with umlaut. (Joachim Hofmann)
Solution:   Do not use islower()/isupper()/tolower()/toupper() but our own
	    functions. (Chris Lubinski)
Files:	    src/mbyte.c, src/regexp.c, src/vim.h

Patch 7.1.062 (after 7.1.038)
Problem:    Indents of C comments can be wrong. (John Mullin)
Solution:   Adjust ind_len. (Chris Lubinski)
Files:	    src/misc1.c

Patch 7.1.063 (after 7.1.040)
Problem:    Warning for uninitialized variable.
Solution:   Initialise it to NULL.
Files:	    src/ex_docmd.c

Patch 7.1.064
Problem:    On Interix some files appear not to exist.
Solution:   Remove the top bit from st_mode. (Ligesh)
Files:	    src/os_unix.c

Patch 7.1.065 (extra)
Problem:    Win32: Compilation problem for newer version of w32api.
Solution:   Only define __IID_DEFINED__ when needed. (Chris Sutcliffe)
Files:	    src/Make_ming.mak, src/iid_ole.c

Patch 7.1.066
Problem:    When 'bomb' is set or reset the file should be considered
	    modified.  (Tony Mechelynck)
Solution:   Handle like 'endofline'. (Martin Toft)
Files:	    src/buffer.c, src/fileio.c, src/option.c, src/structs.h

Patch 7.1.067
Problem:    'thesaurus' doesn't work when 'infercase' is set. (Mohsin)
Solution:   Don't copy the characters being completed but check the case and
	    apply it to the suggested word.  Also fix that the first word in
	    the thesaurus line is not used.  (Martin Toft)
Files:	    src/edit.c

Patch 7.1.068
Problem:    When 'equalalways' is set and splitting a window, it's possible
	    that another small window gets bigger.
Solution:   Only equalize window sizes when after a split the windows are
	    smaller than another window. (Martin Toft)
Files:	    runtime/doc/options.txt, runtime/doc/windows.txt, src/window.c

Patch 7.1.069
Problem:    GTK GUI: When using confirm() without a default button there still
	    is a default choice.
Solution:   Ignore Enter and Space when there is no default button. (Chris
	    Lubinski)
Files:	    src/gui_gtk.c

Patch 7.1.070 (extra)
Problem:    Win32 GUI: When using confirm() without a default button there
	    still is a default choice.
Solution:   Set focus on something else than a button. (Chris Lubinski)
Files:	    src/gui_w32.c

Patch 7.1.071 (after 7.1.040)
Problem:    Regexp patterns are not tested.
Solution:   Add a basic test, to be expanded later.
	    Also add (commented-out) support for valgrind.
Files:	    src/testdir/Makefile, src/testdir/test64.in, src/testdir/test64.ok

Patch 7.1.072 (extra, after 7.1.041 and 7.1.071)
Problem:    Some changes for patch 7.1.071 are in extra files.
Solution:   Update the extra files.  Also fix a few warnings from the DOS test
	    makefile.
Files:	    src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
	    src/testdir/Make_os2.mak, src/testdir/Make_vms.mms

Patch 7.1.073 (after 7.1.062)
Problem:    Wrong cursor position and crash when 'preserveindent' is set.
	    (Charles Campbell)
Solution:   Handle the situation that we start without indent. (Chris
	    Lubinski)
Files:	    src/misc1.c

Patch 7.1.074
Problem:    Crash when calling string() on a recursively nested List.
Solution:   Check result value for being NULL. (Yukihiro Nakadaira)
Files:	    src/eval.c

Patch 7.1.075
Problem:    ":let v:statusmsg" reads memory already freed.
Solution:   Don't set v:statusmsg when listing it.
Files:	    src/eval.c

Patch 7.1.076
Problem:    Another strcpy() with overlapping arguments.
Solution:   Use mch_memmove(). (Dominique Pelle)  And another one.
Files:	    src/ex_docmd.c, src/normal.c

Patch 7.1.077
Problem:    Using "can_spell" without initializing it. (Dominique Pelle)
Solution:   Set a default for get_syntax_attr().
Files:	    src/syntax.c

Patch 7.1.078
Problem:    Dropping a file name on gvim that contains a CSI byte doesn't work
	    when editing the command line.
Solution:   Escape the CSI byte when inserting in the input buffer. (Yukihiro
	    Nakadaira)
Files:	    src/gui.c, src/ui.c

Patch 7.1.079
Problem:    When the locale is "C" and 'encoding' is "latin1" then the "@"
	    character in 'isfname', 'isprint', etc. doesn't pick up accented
	    characters.
Solution:   Instead of isalpha() use MB_ISLOWER() and MB_ISUPPER().
Files:	    src/charset.c, src/macros.h

Patch 7.1.080 (extra)
Problem:    Compiler warnings for using "const char *" for "char *".
Solution:   Add type casts. (Chris Sutcliffe)
Files:	    src/GvimExt/gvimext.cpp

Patch 7.1.081
Problem:    Command line completion for a shell command: "cat </tmp/file<Tab>"
	    doesn't work.
Solution:   Start the file name at any character that can't be in a file name.
	    (Martin Toft)
Files:	    src/ex_docmd.c

Patch 7.1.082
Problem:    After a ":split" the matchparen highlighting isn't there.
Solution:   Install a WinEnter autocommand.  Also fixes that after
	    ":NoMatchParen" only the current window is updated. (Martin Toft)
Files:	    runtime/doc/pi_paren.txt, runtime/plugin/matchparen.vim

Patch 7.1.083 (after 7.1.081)
Problem:    Command line completion doesn't work with wildcards.
Solution:   Add vim_isfilec_or_wc() and use it. (Martin Toft)
Files:	    src/charset.c, src/proto/charset.pro, src/ex_docmd.c

Patch 7.1.084
Problem:    Using the "-nb" argument twice causes netbeans not to get
	    fileOpened events.
Solution:   Change "&" to "&&". (Xavier de Gaye)
Files:	    src/ex_cmds.c

Patch 7.1.085
Problem:    ":e fold.c" then ":sp fold.c" results in folds of original window
	    to disappear. (Akita Noek)
Solution:   Invoke foldUpdateAll() for all windows of the changed buffer.
	    (Martin Toft)
Files:	    src/ex_cmds.c

Patch 7.1.086
Problem:    Crash when using specific Python syntax highlighting.  (Quirk)
Solution:   Check for a negative index, coming from a keyword match at the
	    start of a line from a saved state.
Files:	    src/syntax.c

Patch 7.1.087
Problem:    Reading past ":cscope find" command.  Writing past end of a buffer.
Solution:   Check length of the argument before using the pattern.  Use
	    vim_strncpy().  (Dominique Pelle)
Files:	    if_cscope.c

Patch 7.1.088 (extra)
Problem:    The coordinates used by ":winpos" differ from what getwinposx()
	    and getwinposy() return.
Solution:   Use MoveWindowStructure() instead of MoveWindow(). (Michael Henry)
Files:	    src/gui_mac.c

Patch 7.1.089
Problem:    ":let loaded_getscriptPlugin" doesn't clear to eol, result is
	    "#1in".
Solution:   Clear to the end of the screen after displaying the first variable
	    value.
Files:	    src/eval.c

Patch 7.1.090
Problem:    Compiler warning on Mac OS X 10.5.
Solution:   Don't redeclare sigaltstack(). (Hisashi T Fujinaka)
Files:	    src/os_unix.c

Patch 7.1.091 (extra)
Problem:    Win32: Can't embed Vim inside another application.
Solution:   Add the --windowid argument. (Nageshwar)
Files:	    runtime/doc/gui_w32.txt, runtime/doc/starting.txt,
	    runtime/doc/vi_diff.txt, src/globals.h, src/gui_w32.c, src/main.c

Patch 7.1.092 (extra, after 7.1.088)
Problem:    Wrong arguments for MoveWindowStructure().
Solution:   Remove "TRUE". (Michael Henry)
Files:	    src/gui_mac.c

Patch 7.1.093
Problem:    Reading past end of a screen line when determining cell width.
	    (Dominique Pelle)
Solution:   Add an argument to mb_off2cells() for the maximum offset.
Files:	    src/globals.h, src/gui.c, src/mbyte.c, src/proto/mbyte.pro,
	    src/screen.c

Patch 7.1.094
Problem:    When checking if syntax highlighting is present, looking in the
	    current buffer instead of the specified one.
Solution:   Use "buf" instead of "curbuf".
Files:	    src/syntax.c

Patch 7.1.095
Problem:    The FocusLost and FocusGained autocommands are triggered
	    asynchronously in the GUI.  This may cause arbitrary problems.
Solution:   Put the focus event in the input buffer and handle it when ready
	    for it.
Files:	    src/eval.c, src/getchar.c, src/gui.c, src/gui_gtk_x11.c,
	    src/keymap.h

Patch 7.1.096
Problem:    Reading past end of a string when resizing Vim. (Dominique Pelle)
Solution:   Check the string pointer before getting the char it points to.
Files:	    src/message.c

Patch 7.1.097
Problem:    ":setlocal stl=%!1+1" does not work.
Solution:   Adjust check for pointer. (Politz)
Files:	    src/option.c

Patch 7.1.098
Problem:    ":call s:var()" doesn't work if "s:var" is a Funcref. (Andy Wokula)
Solution:   Before converting "s:" into a script ID, check if it is a Funcref.
Files:	    src/eval.c

Patch 7.1.099
Problem:    When the 'keymap' and 'paste' options have a non-default value,
	    ":mkexrc" and ":mksession" do not correctly set the options.
Solution:   Set the options with side effects before other options.
Files:	    src/option.c

Patch 7.1.100
Problem:    Win32: Executing cscope doesn't always work properly.
Solution:   Use another way to invoke cscope. (Mike Williams)
Files:	    src/if_cscope.c, src/if_cscope.h, src/main.c,
	    src/proto/if_cscope.pro

Patch 7.1.101
Problem:    Ruby: The Buffer.line= method does not work.
Solution:   Add the "self" argument to set_current_line(). (Jonathan Hankins)
Files:	    src/if_ruby.c

Patch 7.1.102
Problem:    Perl interface doesn't compile with new version of Perl.
Solution:   Add two variables to the dynamic library loading. (Suresh
	    Govindachar)
Files:	    src/if_perl.xs

Patch 7.1.103
Problem:    Using "dw" with the cursor past the end of the last line (using
	    CTRL-\ CTRL-O from Insert mode) deletes a character. (Tim Chase)
Solution:   Don't move the cursor back when the movement failed.
Files:	    src/normal.c

Patch 7.1.104 (after 7.1.095)
Problem:    When 'lazyredraw' is set a focus event causes redraw to be
	    postponed until a key is pressed.
Solution:   Instead of not returning from vgetc() when a focus event is
	    encountered return K_IGNORE.  Add plain_vgetc() for when the
	    caller doesn't want to get K_IGNORE.
Files:	    src/digraph.c, src/edit.c, src/ex_cmds.c, src/ex_getln.c,
	    src/getchar.c, src/normal.c, src/proto/getchar.pro, src/window.c

Patch 7.1.105
Problem:    Internal error when using "0 ? {'a': 1} : {}". (A.Politz)
Solution:   When parsing a dictionary value without using the value, don't try
	    obtaining the key name.
Files:	    src/eval.c

Patch 7.1.106
Problem:    ":messages" doesn't quit listing on ":".
Solution:   Break the loop when "got_int" is set.
Files:	    src/message.c

Patch 7.1.107
Problem:    When doing a block selection and using "s" to change the text,
	    while triggering auto-indenting, causes the wrong text to be
	    repeated in other lines. (Adri Verhoef)
Solution:   Compute the change of indent and compensate for that.
Files:	    src/ops.c

Patch 7.1.108 (after 7.1.100)
Problem:    Win32: Compilation problems in Cscope code. (Jeff Lanzarotta)
Solution:   Use (long) instead of (intptr_t) when it's not defined.
Files:	    src/if_cscope.c

Patch 7.1.109
Problem:    GTK: when there are many tab pages, clicking on the arrow left of
	    the labels moves to the next tab page on the right. (Simeon Bird)
Solution:   Check the X coordinate of the click and pass -1 as value for the
	    left arrow.
Files:	    src/gui_gtk_x11.c, src/term.c

Patch 7.1.110 (after 7.1.102)
Problem:    Win32: Still compilation problems with Perl.
Solution:   Change the #ifdefs. (Suresh Govindachar)
Files:	    src/if_perl.xs

Patch 7.1.111
Problem:    When using ":vimgrep" with the "j" flag folds from another buffer
	    may be displayed. (A.Politz)
Solution:   When not jumping to another buffer update the folds.
Files:	    src/quickfix.c

Patch 7.1.112
Problem:    Using input() with a wrong argument may crash Vim. (A.Politz)
Solution:   Init the input() return value to NULL.
Files:	    src/eval.c

Patch 7.1.113
Problem:    Using map() to go over an empty list causes memory to be freed
	    twice. (A.Politz)
Solution:   Don't clear the typeval in restore_vimvar().
Files:	    src/eval.c

Patch 7.1.114
Problem:    Memory leak in getmatches().
Solution:   Don't increment the refcount twice.
Files:	    src/eval.c

Patch 7.1.115 (after 7.1.105)
Problem:    Compiler warning for uninitialized variable. (Tony Mechelynck)
Solution:   Init variable to NULL.
Files:	    src/eval.c

Patch 7.1.116
Problem:    Cannot display Unicode characters above 0x10000.
Solution:   Remove the replacement with a question mark when UNICODE16 is not
	    defined. (partly by Nicolas Weber)
Files:	    src/screen.c

Patch 7.1.117
Problem:    Can't check whether Vim was compiled with Gnome. (Tony Mechelynck)
Solution:   Add gui_gnome to the has() list.
Files:	    src/eval.c

Patch 7.1.118 (after 7.1.107)
Problem:    Compiler warning for Visual C compiler.
Solution:   Add typecast. (Mike Williams)
Files:	    src/ops.c

Patch 7.1.119
Problem:    Crash when 'cmdheight' set to very large value. (A.Politz)
Solution:   Limit 'cmdheight' to 'lines' minus one.  Store right value of
	    'cmdheight' when running out of room.
Files:	    src/option.c, src/window.c

Patch 7.1.120
Problem:    Can't properly check memory leaks while running tests.
Solution:   Add an argument to garbagecollect().  Delete functions and
	    variables in the test scripts.
Files:	    runtime/doc/eval.txt src/eval.c, src/globals.h, src/main.c,
	    src/testdir/Makefile, src/testdir/test14.in,
	    src/testdir/test26.in, src/testdir/test34.in,
	    src/testdir/test45.in, src/testdir/test47.in,
	    src/testdir/test49.in, src/testdir/test55.in,
	    src/testdir/test56.in, src/testdir/test58.in,
	    src/testdir/test59.in, src/testdir/test60.in,
	    src/testdir/test60.vim, src/testdir/test62.in,
	    src/testdir/test63.in, src/testdir/test64.in,

Patch 7.1.121
Problem:    Using ":cd %:h" when editing a file in the current directory
	    results in an error message for using an empty string.
Solution:   When "%:h" results in an empty string use ".".
Files:	    src/eval.c

Patch 7.1.122
Problem:    Mac: building Vim.app fails.  Using wrong architecture.
Solution:   Use line continuation for the gui_bundle dependency.  Detect the
	    system architecture with "uname -a".
Files:	    src/main.aap

Patch 7.1.123
Problem:    Win32: ":edit foo ~ foo" expands "~".
Solution:   Change the call to expand_env().
Files:	    src/ex_docmd.c, src/misc1.c, src/proto/misc1.pro, src/option.c

Patch 7.1.124 (extra)
Problem:    Mac: When dropping a file on Vim.app that is already in the buffer
	    list (from .viminfo) results in editing an empty, unnamed buffer.
	    (Axel Kielhorn)  Also: warning for unused variable.
Solution:   Move to the buffer of the first argument.  Delete unused variable.
Files:	    src/gui_mac.c

Patch 7.1.125
Problem:    The TermResponse autocommand event is not always triggered. (Aron
	    Griffis)
Solution:   When unblocking autocommands check if v:termresponse changed and
	    trigger the event then.
Files:	    src/buffer.c, src/diff.c, src/ex_getln.c, src/fileio.c,
	    src/globals.h, src/misc2.c, src/proto/fileio.pro, src/window.c

Patch 7.1.126 (extra)
Problem:    ":vimgrep */*" fails when a BufRead autocommand changes directory.
	    (Bernhard Kuhn)
Solution:   Change back to the original directory after loading a file.
	    Also: use shorten_fname1() to avoid duplicating code.
Files:	    src/buffer.c, src/ex_docmd.c, src/fileio.c, src/gui_gtk.c,
	    src/gui_w48.c, src/proto/ex_docmd.pro, src/proto/fileio.pro,
	    src/quickfix.c

Patch 7.1.127
Problem:    Memory leak when doing cmdline completion. (Dominique Pelle)
Solution:   Free "orig" argument of ExpandOne() when it's not used.
Files:	    src/ex_getln.c

Patch 7.1.128 (extra)
Problem:    Build problems with new version of Cygwin.
Solution:   Remove -D__IID_DEFINED__, like with MingW. (Guopeng Wen)
Files:	    src/Make_cyg.mak

Patch 7.1.129 (extra)
Problem:    Win32: Can't get the user name when it is longer than 15
	    characters.
Solution:   Use UNLEN instead of MAX_COMPUTERNAME_LENGTH. (Alexei Alexandrov)
Files:	    src/os_win32.c

Patch 7.1.130
Problem:    Crash with specific order of undo and redo. (A.Politz)
Solution:   Clear and adjust pointers properly.  Add u_check() for debugging.
Files:	    src/undo.c, src/structs.h

Patch 7.1.131
Problem:    ":mksession" always adds ":setlocal autoread". (Christian J.
	    Robinson)
Solution:   Skip boolean global/local option using global value.
Files:	    src/option.c

Patch 7.1.132
Problem:    getpos("'>") may return a negative column number for a Linewise
	    selection. (A.Politz)
Solution:   Don't add one to MAXCOL.
Files:	    src/eval.c

Patch 7.1.133 (after 7.1.126)
Problem:    shorten_fname1() linked when it's not needed.
Solution:   Add #ifdef.
Files:	    src/fileio.c

Patch 7.1.134 (extra)
Problem:    Win32: Can't build with VC8
Solution:   Detect the MSVC version instead of using NMAKE_VER.
	    (Mike Williams)
Files:	    src/Make_mvc.mak

Patch 7.1.135
Problem:    Win32: When editing a file c:\tmp\foo and c:\tmp\\foo we have two
	    buffers for the same file. (Suresh Govindachar)
Solution:   Invoke FullName_save() when a path contains "//" or "\\".
Files:	    src/buffer.c

Patch 7.1.136
Problem:    Memory leak when using Ruby syntax highlighting. (Dominique Pelle)
Solution:   Free the contained-in list.
Files:	    src/syntax.c

Patch 7.1.137
Problem:    Build failure when using EXITFREE. (Dominique Pelle)
Solution:   Add an #ifdef around using clip_exclude_prog.
Files:	    src/misc2.c

Patch 7.1.138
Problem:    The Perl Msg() function doesn't stop when "q" is typed at the more
	    prompt. (Hari Krishna Dara)
Solution:   Check got_int.
Files:	    src/if_perl.xs

Patch 7.1.139
Problem:    When using marker folding and ending Insert mode with CTRL-C the
	    current fold is truncated. (Fred Kater)
Solution:   Ignore got_int while updating folds.
Files:	    src/fold.c

Patch 7.1.140
Problem:    v:count is set only after typing a non-digit, that makes it
	    difficult to make a nice mapping.
Solution:   Set v:count while still typing the count.
Files:	    src/normal.c

Patch 7.1.141
Problem:    GTK: -geom argument doesn't support a negative offset.
Solution:   Compute position from the right/lower corner.
Files:	    src/gui_gtk_x11.c

Patch 7.1.142
Problem:    ":redir @A>" doesn't work.
Solution:   Ignore the extra ">" also when appending. (James Vega)
Files:	    src/ex_docmd.c

Patch 7.1.143
Problem:    Uninitialized memory read when diffing three files. (Dominique
	    Pelle)
Solution:   Remove "+ !notset" so that we don't use fields that were not
	    computed.
Files:	    src/diff.c

Patch 7.1.144
Problem:    After ":diffup" cursor can be in the wrong position.
Solution:   Force recomputing the cursor position.
Files:	    src/diff.c

Patch 7.1.145
Problem:    Insert mode completion: When using the popup menu, after
	    completing a word and typing a non-word character Vim is still
	    completing the same word, following CTRL-N doesn't work.
	    Insert mode Completion: When using CTRL-X O and there is only
	    "struct." before the cursor, typing one char to reduce the
	    matches, then BS completion stops.
Solution:   When typing a character that is not part of the item being
	    completed, stop complete mode.  For whole line completion also
	    accept a space.  For file name completion stop at a path
	    separator.
	    For omni completion stay in completion mode even if completing
	    with empty string.
Files:	    src/edit.c

Patch 7.1.146 (extra)
Problem:    VMS: Files with a very rare record organization (VFC) cannot be
	    properly written by Vim.
	    On older VAX systems mms runs into a syntax error.
Solution:   Check for this special situation.  Do not wrap a comment, make it
	    one long line.  (Zoltan Arpadffy)
Files:	    src/fileio.c, src/Make_vms.mms

Patch 7.1.147 (after 7.1.127)
Problem:    Freeing memory already freed when completing user name. (Meino
	    Cramer)
Solution:   Use a flag to remember if "orig" needs to be freed.
Files:	    src/ex_getln.c

Patch 7.1.148
Problem:    Some types are not found by configure.
Solution:   Test for the sys/types.h header file. (Sean Boudreau)
Files:	    src/configure.in, src/auto/configure

Patch 7.1.149
Problem:    GTK GUI: When the completion popup menu is used scrolling another
	    window by the scrollbar is OK, but using the scroll wheel it
	    behaves line <Enter>.
Solution:   Ignore K_MOUSEDOWN and K_MOUSEUP.  Fix redrawing the popup menu.
Files:	    src/edit.c, src/gui.c

Patch 7.1.150
Problem:    When 'clipboard' has "unnamed" using "p" in Visual mode doesn't
	    work correctly. (Jianrong Yu)
Solution:   When 'clipboard' has "unnamed" also obtain the selection when
	    getting the default register.
Files:	    src/ops.c

Patch 7.1.151
Problem:    Using whole line completion with 'ignorecase' and 'infercase' set
	    and the line is empty get an lalloc(0) error.
Solution:   Don't try changing case for an empty match. (Matthew Wozniski)
Files:	    src/edit.c

Patch 7.1.152
Problem:    Display problem when 'hls' and 'cursorcolumn' are set and
	    searching for "$".  (John Mullin)  Also when scrolling
	    horizontally when 'wrap' is off.
Solution:   Keep track of the column where highlighting was set.  Check the
	    column offset when skipping characters.
Files:	    src/screen.c

Patch 7.1.153
Problem:    Compiler warnings on SGI.  Undefined XpmAllocColor (Charles
	    Campbell)
Solution:   Add type casts.  Init st_dev and st_ino separately.  Don't use
	    type casts for vim_snprintf() when HAVE_STDARG_H is defined.
	    Define XpmAllocColor when needed.
Files:	    src/eval.c, src/ex_cmds.c, src/fileio.c, src/misc2.c,
	    src/gui_xmebw.c

Patch 7.1.154
Problem:    Compiler warning for signed/unsigned compare.
Solution:   Add type cast.
Files:	    src/screen.c

Patch 7.1.155
Problem:    Crash when 'undolevels' is 0 and repeating "udd". (James Vega)
Solution:   When there is only one branch use u_freeheader() to delete it.
Files:	    src/undo.c

Patch 7.1.156
Problem:    Overlapping arguments for strcpy() when expanding command line
	    variables.
Solution:   Use mch_memmove() instead of STRCPY().  Also fix a few typos.
	    (Dominique Pelle)
Files:	    src/ex_docmd.c

Patch 7.1.157
Problem:    In Ex mode, :" gives an error at end-of-file. (Michael Hordijk)
Solution:   Only give an error for an empty line, not for a comment.
Files:	    src/ex_docmd.c

Patch 7.1.158 (extra)
Problem:    Win32 console: When 'encoding' is "utf-8" and typing Alt-y the
	    result is wrong.  Win32 GUI: Alt-y results in "u" when 'encoding'
	    is "cp1250" (Lukas Cerman)
Solution:   For utf-8 don't set the 7th bit in a byte, convert to the correct
	    byte sequence.  For cp1250, when conversion to 'encoding' results
	    in the 7th bit not set, set the 7th bit after conversion.
Files:	    src/os_win32.c, src/gui_w48.c

Patch 7.1.159
Problem:    strcpy() has overlapping arguments.
Solution:   Use mch_memmove() instead. (Dominique Pelle)
Files:	    src/ex_cmds.c

Patch 7.1.160
Problem:    When a focus autocommand is defined, getting or losing focus
	    causes the hit-enter prompt to be redrawn. (Bjorn Winckler)
Solution:   Overwrite the last line.
Files:	    src/message.c

Patch 7.1.161
Problem:    Compilation errors with tiny features and EXITFREE.
Solution:   Add #ifdefs. (Dominique Pelle)
Files:	    src/edit.c, src/misc2.c

Patch 7.1.162
Problem:    Crash when using a modifier before "while" or "for". (A.Politz)
Solution:   Skip modifiers when checking for a loop command.
Files:	    src/proto/ex_docmd.pro, src/ex_docmd.c, src/ex_eval.c

Patch 7.1.163
Problem:    Warning for the unknown option 'bufsecret'.
Solution:   Remove the lines .vim that use this option. (Andy Wokula)
Files:	    runtime/menu.vim

Patch 7.1.164
Problem:    Reading past end of regexp pattern. (Dominique Pelle)
Solution:   Use utf_ptr2len().
Files:	    src/regexp.c

Patch 7.1.165
Problem:    Crash related to getting X window ID. (Dominique Pelle)
Solution:   Don't trust the window ID that we got in the past, check it every
	    time.
Files:	    src/os_unix.c

Patch 7.1.166
Problem:    Memory leak for using "gp" in Visual mode.
Solution:   Free memory in put_register(). (Dominique Pelle)
Files:	    src/ops.c

Patch 7.1.167
Problem:    Xxd crashes when using "xxd -b -c 110". (Debian bug 452789)
Solution:   Allocate more memory.  Fix check for maximum number of columns.
Files:	    src/xxd/xxd.c

Patch 7.1.168 (extra)
Problem:    Win32 GUI: Since patch 7.1.095, when the Vim window does not have
	    focus, clicking in it doesn't position the cursor. (Juergen
	    Kraemer)
Solution:   Don't reset s_button_pending just after receiving focus.
Files:	    src/gui_w48.c

Patch 7.1.169
Problem:    Using uninitialized variable when system() fails. (Dominique
	    Pelle)
Solution:   Let system() return an empty string when it fails.
Files:	    src/eval.c

Patch 7.1.170
Problem:    Valgrind warning for overlapping arguments for strcpy().
Solution:   Use mch_memmove() instead. (Dominique Pelle)
Files:	    src/getchar.c

Patch 7.1.171
Problem:    Reading one byte before allocated memory.
Solution:   Check index not to become negative. (Dominique Pelle)
Files:	    src/ex_getln.c

Patch 7.1.172
Problem:    When 'buftype' is "acwrite" Vim still checks if the file or
	    directory exists before overwriting.
Solution:   Don't check for overwriting when the buffer name is not a file
	    name.
Files:	    src/ex_cmds.c

Patch 7.1.173
Problem:    Accessing freed memory. (Dominique Pelle)
Solution:   Don't call reg_getline() to check if a line is the first in the
	    file.
Files:	    src/regexp.c

Patch 7.1.174
Problem:    Writing NUL past end of a buffer.
Solution:   Copy one byte less when using strncat(). (Dominique Pelle)
Files:	    src/ex_cmds.c, src/ex_docmd.c,

Patch 7.1.175
Problem:    <BS> doesn't work with some combination of 'sts', 'linebreak' and
	    'backspace'. (Francois Ingelrest)
Solution:   When adding white space results in not moving back delete one
	    character.
Files:	    src/edit.c

Patch 7.1.176
Problem:    Building with Aap fails when the "compiledby" argument contains
	    '<' or '>' characters. (Alex Yeh)
Solution:   Change how quoting is done in the Aap recipe.
Files:	    src/main.aap

Patch 7.1.177
Problem:    Freeing memory twice when in debug mode while reading a script.
Solution:   Ignore script input while in debug mode.
Files:	    src/ex_cmds2.c, src/getchar.c, src/globals.h

Patch 7.1.178
Problem:    "%" doesn't work on "/* comment *//* comment */".
Solution:   Don't handle the "//" in "*//*" as a C++ comment. (Markus
	    Heidelberg)
Files:	    src/search.c

Patch 7.1.179
Problem:    Need to check for TCL 8.5.
Solution:   Adjust configure script. (Alexey Froloff)
Files:	    src/configure.in, src/auto/configure

Patch 7.1.180
Problem:    Regexp patterns not tested sufficiently.
Solution:   Add more checks to the regexp test.
Files:	    src/testdir/test64.in, src/testdir/test64.ok

Patch 7.1.181
Problem:    Accessing uninitialized memory in Farsi mode. (Dominique Pelle)
Solution:   Only invoke lrF_sub() when there is something to do.
Files:	    src/ex_cmds.c

Patch 7.1.182
Problem:    When using tab pages and an argument list the session file may
	    contain wrong "next" commands. (Alexander Bluem)
Solution:   Use "argu" commands and only when needed.
Files:	    src/ex_docmd.c

Patch 7.1.183
Problem:    "Internal error" for ":echo matchstr('a', 'a\%[\&]')" (Mitanu
	    Paul)
Solution:   Inside "\%[]" detect \&, \| and \) as an error.
Files:	    src/regexp.c

Patch 7.1.184
Problem:    Crash when deleting backwards over a line break in Insert mode.
Solution:   Don't advance the cursor when it's already on the NUL after a
	    line. (Matthew Wozniski)
Files:	    src/normal.c

Patch 7.1.185
Problem:    Using "gR" with a multi-byte encoding and typing a CR pushes
	    characters onto the replace stack incorrectly, resulting in BS
	    putting back the wrong characters. (Paul B. Mahol)
Solution:   Push multi-byte characters onto the replace stack in reverse byte
	    order.  Add replace_push_mb().
Files:	    src/edit.c, src/misc1.c, src/proto/edit.pro

Patch 7.1.186
Problem:    "expand('<afile>')" returns a bogus value after changing
	    directory. (Dave Fishburn)
Solution:   Copy "autocmd_fname" to allocated memory and expand to full
	    filename.  Shorten the path when expanding <afile>.
Files:	    src/ex_docmd.c, src/fileio.c

Patch 7.1.187
Problem:    Win32 GUI: Custom completion using system() no longer works
	    after patch 7.1.104. (Erik Falor)
Solution:   Loop when safe_vgetc() returns K_IGNORE.
Files:	    src/ex_getln.c

Patch 7.1.188
Problem:    When 'showmode' is off the message for changing a readonly file is
	    given in the second column instead of the first.  (Payl B. Mahol)
Solution:   Put the W10 message in the first column.
Files:	    src/edit.c

Patch 7.1.189 (after 7.1.104)
Problem:    Patch 7.1.104 was incomplete.
Solution:   Also call plain_vgetc() in ask_yesno().
Files:	    src/misc1.c

Patch 7.1.190
Problem:    Cursor after end-of-line: "iA sentence.<Esc>)"
Solution:   Move cursor back and make motion inclusive.
Files:	    src/normal.c

Patch 7.1.191
Problem:    Win32 GUI: after patch 7.1.168 there is still a problem when
	    clicking in a scrollbar. (Juergen Jottkaerr)
Solution:   Don't check the input buffer when dragging the scrollbar.
Files:	    src/gui.c

Patch 7.1.192
Problem:    With Visual block selection, "s" and typing something, CTRL-C
	    doesn't stop Vim from repeating the replacement in other lines,
	    like happens for "I".
Solution:   Check for "got_int" to be set.
Files:	    src/ops.c

Patch 7.1.193
Problem:    Some Vim 5.x digraphs are missing in Vim 7, even though the
	    character pairs are not used. (Philippe de Muyter)
Solution:   Add those Vim 5.x digraphs that don't conflict with others.
Files:	    src/digraph.c

Patch 7.1.194
Problem:    ":echo glob('~/{}')" results in /home/user//.
Solution:   Don't add a slash if there already is one.
Files:	    src/os_unix.c

Patch 7.1.195
Problem:    '0 mark doesn't work for "~/foo ~ foo".
Solution:   Don't expand the whole file name, only "~/".
Files:	    src/mark.c

Patch 7.1.196 (extra)
Problem:    Win32 GUI: "\n" in a tooltip doesn't cause a line break. (Erik
	    Falor)
Solution:   Use the TTM_SETMAXTIPWIDTH message.
Files:	    src/gui_w32.c

Patch 7.1.197
Problem:    Mac: "make install" doesn't work when prefix defined.
Solution:   Pass different arguments to "make installruntime".  (Jjgod Jiang)
Files:	    src/Makefile

Patch 7.1.198
Problem:    Hang when using ":s/\n//gn". (Burak Gorkemli)
Solution:   Set "skip_match".
Files:	    src/ex_cmds.c

Patch 7.1.199
Problem:    Can't do command line completion for a specific file name
	    extension.
Solution:   When the pattern ends in "$" don't add a star for completion and
	    remove the "$" before matching with file names.
Files:	    runtime/doc/cmdline.txt, src/ex_getln.c

Patch 7.1.200 (after 7.1.177 and 7.1.182)
Problem:    Compiler warnings for uninitialized variables.
Solution:   Init variables.
Files:	    src/ex_cmds2.c, src/ex_docmd.c

Patch 7.1.201
Problem:    When reading stdin 'fenc' and 'ff' are not set.
Solution:   Set the options after reading stdin. (Ben Schmidt)
Files:	    src/fileio.c

Patch 7.1.202
Problem:    Incomplete utf-8 byte sequence is not checked for validity.
Solution:   Check the bytes that are present for being valid. (Ben Schmidt)
Files:	    src/mbyte.c

Patch 7.1.203
Problem:    When 'virtualedit' is "onemore" then "99|" works but ":normal 99|"
	    doesn't.  (Andy Wokula)
Solution:   Check for "onemore" flag in check_cursor_col().
Files:	    src/misc2.c

Patch 7.1.204 (extra)
Problem:    Win32: Using the example at 'balloonexpr' the balloon disappears
	    after four seconds and then comes back again.  Also moves the
	    mouse pointer a little bit.  (Yongwei Wu)
Solution:   Set the autopop time to 30 seconds (the max value).  (Sergey
	    Khorev)  Move the mouse two pixels forward and one back to end up
	    in the same position (really!).
Files:	    src/gui_w32.c

Patch 7.1.205
Problem:    Can't get the operator in an ":omap".
Solution:   Add the "v:operator" variable. (Ben Schmidt)
Files:	    runtime/doc/eval.txt, src/eval.c, src/normal.c, src/vim.h

Patch 7.1.206
Problem:    Compiler warnings when using MODIFIED_BY.
Solution:   Add type casts. (Ben Schmidt)
Files:	    src/version.c

Patch 7.1.207
Problem:    Netbeans: "remove" cannot delete one line. 
Solution:   Remove partial lines and whole lines properly.  Avoid a memory
	    leak.  (Xavier de Gaye)
Files:	    src/netbeans.c

Patch 7.1.208
Problem:    On Alpha get an unaligned access error.
Solution:   Store the dictitem pointer before using it. (Matthew Luckie)
Files:	    src/eval.c

Patch 7.1.209
Problem:    GTK: When using the netrw plugin and doing ":gui" Vim hangs.
Solution:   Stop getting a selection after three seconds.  This is a hack.
Files:	    src/gui_gtk_x11.c

Patch 7.1.210
Problem:    Listing mapping for 0xdb fails when 'encoding' is utf-8. (Tony
	    Mechelynck)
Solution:   Recognize K_SPECIAL KS_EXTRA KE_CSI as a CSI byte.
Files:	    src/mbyte.c

Patch 7.1.211
Problem:    The matchparen plugin may take an unexpected amount of time, so
	    that it looks like Vim hangs.
Solution:   Add a timeout to searchpair(), searchpairpos(), search() and
	    searchpos().  Use half a second timeout in the plugin.
Files:	    runtime/doc/eval.txt, runtime/plugin/matchparen.vim, src/edit.c,
	    src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, src/normal.c,
	    src/proto/eval.pro, src/proto/ex_cmds2.pro, src/proto/search.pro,
	    src/search.c

Patch 7.1.212
Problem:    Accessing a byte before a line.
Solution:   Check that the column is 1 or more. (Dominique Pelle)
Files:	    src/edit.c

Patch 7.1.213
Problem:    A ":tabedit" command that results in the "swap file exists" dialog
	    and selecting "abort" doesn't close the new tab. (Al Budden)
Solution:   Pass "old_curwin" to do_exedit().
Files:	    src/ex_docmd.c

Patch 7.1.214
Problem:    ":1s/g\n\zs1//" deletes characters from the first line. (A Politz)
Solution:   Start replacing in the line where the match starts.
Files:	    src/ex_cmds.c

Patch 7.1.215
Problem:    It is difficult to figure out what syntax items are nested at a
	    certain position.
Solution:   Add the synstack() function.
Files:	    runtime/doc/eval.txt, src/eval.c, src/proto/syntax.pro,
	    src/syntax.c

Patch 7.1.216
Problem:    Variants of --remote-tab are not mentioned for "vim --help".
Solution:   Display optional -wait and -silent.
Files:	    src/main.c

Patch 7.1.217
Problem:    The "help-tags" tag may be missing from runtime/doc/tags when it
	    was generated during "make install".
Solution:   Add the "++t" argument to ":helptags" to force adding the tag.
Files:	    runtime/doc/Makefile, runtime/doc/various.txt, src/ex_cmds.c,
	    src/ex_cmds.h

Patch 7.1.218
Problem:    A syntax region without a "keepend", containing a region with
	    "extend" could be truncated at the end of the containing region.
Solution:   Do not call syn_update_ends() when there are no keepend items.
Files:	    src/syntax.c

Patch 7.1.219 (after 7.1.215)
Problem:    synstack() returns situation after the current character, can't
	    see the state for a one-character region.
Solution:   Don't update ending states in the requested column.
Files:	    runtime/doc/eval.txt, src/eval.c, src/hardcopy.c,
	    src/proto/syntax.pro, src/screen.c, src/spell.c, src/syntax.c

Patch 7.1.220
Problem:    When a ")" or word movement command moves the cursor back from the
	    end of the line it may end up on the trail byte of a multi-byte
	    character.  It's also moved back when it isn't needed.
Solution:   Add the adjust_cursor() function.
Files:	    src/normal.c

Patch 7.1.221
Problem:    When inserting a "(", triggering the matchparen plugin, the
	    following highlighting may be messed up.
Solution:   Before triggering the CursorMovedI autocommands update the display
	    to update the stored syntax stacks for the change.
Files:	    src/edit.c

Patch 7.1.222 (after 7.1.217)
Problem:    Wildcards in argument of ":helptags" are not expanded.  (Marcel
	    Svitalsky)
Solution:   Expand wildcards in the directory name.
Files:	    src/ex_cmds.c

Patch 7.1.223
Problem:    glob() doesn't work properly when 'shell' is "sh" or "bash" and
	    the expanded name contains spaces, '~', single quotes and other
	    special characters.  (Adri Verhoef, Charles Campbell)
Solution:   For Posix shells define a vimglob() function to list the matches
	    instead of using "echo" directly.
Files:	    src/os_unix.c

Patch 7.1.224
Problem:    When using "vim -F -o file1 file2" only one window is
	    right-to-left.  Same for "-H".  (Ben Schmidt)
Solution:   use set_option_value() to set 'rightleft'.
Files:	    src/main.c

Patch 7.1.225
Problem:    Using uninitialized value when XGetWMNormalHints() fails.
Solution:   Check the return value. (Dominique Pelle)
Files:	    src/os_unix.c

Patch 7.1.226
Problem:    Command line completion doesn't work when a file name contains a
	    '&' character.
Solution:   Accept all characters in a file name, except ones that end a
	    command or white space.
Files:	    src/ex_docmd.c

Patch 7.1.227
Problem:    Hang in syntax HL when moving over a ")". (Dominique Pelle)
Solution:   Avoid storing a syntax state in the wrong position in the list of
	    remembered states.
Files:	    src/syntax.c

Patch 7.1.228
Problem:    When 'foldmethod' is "indent" and a fold is created with ">>" it
	    can't be closed with "zc".  (Daniel Shahaf)
Solution:   Reset the "small" flag of a fold when adding a line to it.
Files:	    src/fold.c

Patch 7.1.229
Problem:    A fold is closed when it shouldn't when 'foldmethod' is "indent"
	    and backspacing a non-white character so that the indent increases.
Solution:   Keep the fold open after backspacing a character.
Files:	    src/edit.c

Patch 7.1.230
Problem:    Memory leak when executing SourceCmd autocommands.
Solution:   Free the memory. (Dominique Pelle)
Files:	    src/ex_cmds2.c

Patch 7.1.231
Problem:    When shifting lines the change is acted upon multiple times.
Solution:   Don't have shift_line() call changed_bytes.
Files:	    src/edit.c, src/ops.c, src/proto/edit.pro, src/proto/ops.pro

Patch 7.1.232 (after 7.1.207 and 7.1.211)
Problem:    Compiler warnings with MSVC.
Solution:   Add type casts. (Mike Williams)
Files:	    src/ex_cmds2.c, src/netbeans.c

Patch 7.1.233
Problem:    Crash when doing Insert mode completion for a user defined
	    command.  (Yegappan Lakshmanan)
Solution:   Don't use the non-existing command line.
Files:	    src/ex_getln.c

Patch 7.1.234
Problem:    When diff'ing three files the third one isn't displayed correctly.
	    (Gary Johnson)
Solution:   Compute the size of diff blocks correctly when merging blocks.
	    Compute filler lines correctly when scrolling.
Files:	    src/diff.c

Patch 7.1.235
Problem:    Pattern matching is slow when using a lot of simple patterns.
Solution:   Avoid allocating memory by not freeing it when it's not so much.
	    (Alexei Alexandrov)
Files:	    src/regexp.c

Patch 7.1.236
Problem:    When using 'incsearch' and 'hlsearch' a complicated pattern may
	    make Vim hang until CTRL-C is pressed.
Solution:   Add the 'redrawtime' option.
Files:	    runtime/doc/options.txt, src/ex_cmds.c, src/ex_docmd.c,
	    src/ex_getln.c, src/gui.c, src/misc1.c, src/normal.c,
	    src/option.c, src/quickfix.c, src/regexp.c, src/proto/regexp.pro,
	    src/proto/search.pro, src/search.c, src/screen.c,
	    src/option.h, src/spell.c, src/structs.h, src/syntax.c, src/tag.c,
	    src/vim.h

Patch 7.1.237
Problem:    Compiler warning on an Alpha processor in Motif code.
Solution:   Change a typecast. (Adri Verhoef)
Files:	    src/gui_motif.c

Patch 7.1.238
Problem:    Using the 'c' flag with searchpair() may cause it to fail.  Using
	    the 'r' flag doesn't work when 'wrapscan' is set.  (A.Politz)
Solution:   Only use the 'c' flag for the first search, not for repeating.
	    When using 'r' imply 'W'. (Antony Scriven)
Files:	    src/eval.c

Patch 7.1.239 (after 7.1.233)
Problem:    Compiler warning for sprintf() argument.
Solution:   Add a typecast. (Nico Weber)
Files:	    src/ex_getln.c

Patch 7.1.240
Problem:    When "gUe" turns a German sharp s into SS the operation stops
	    before the end of the word.  Latin2 has the same sharp s but it's
	    not changed to SS there.
Solution:   Make sure all the characters are operated upon.  Detect the sharp
	    s in latin2.  Also fixes that changing case of a multi-byte
	    character that changes the byte count doesn't always work.
Files:	    src/ops.c

Patch 7.1.241
Problem:    Focus change events not always ignored.  (Erik Falor)
Solution:   Ignore K_IGNORE in Insert mode in a few more places.
Files:	    src/edit.c

Patch 7.1.242 (after 7.1.005)
Problem:    "cib" doesn't work properly on "(x)". (Tim Pope)
Solution:   Use ltoreq() instead of lt().  Also fix "ciT" on "<a>x</a>".
Files:	    src/search.c

Patch 7.1.243 (after 7.1.240)
Problem:    "U" doesn't work on all text in Visual mode. (Adri Verhoef)
Solution:   Loop over all the lines to be changed.  Add tests for this.
Files:	    src/ops.c, src/testdir/test39.in, src/testdir/test39.ok

Patch 7.1.244
Problem:    GUI may have part of the command line cut off.
Solution:   Don't round the number of lines up, always round down.
	    (Tony Houghton, Scott Dillard)
Files:	    src/gui.c

Patch 7.1.245
Problem:    Pressing CTRL-\ three times causes Vim to quit.  (Ranganath Rao).
	    Also for f CTRL-\ CTRL-\.
Solution:   When going to cooked mode in mch_delay() set a flag to ignore
	    SIGQUIT.
Files:	    src/os_unix.c

Patch 7.1.246
Problem:    Configure hangs when the man pager is something strange. (lorien)
Solution:   Set MANPAGER and PAGER to "cat". (Micah Cowan)
Files:	    src/auto/configure, src/configure.in

Patch 7.1.247
Problem:    When using Netbeans backspacing in Insert mode skips a character
	    now and then. (Ankit Jain)
Solution:   Avoid calling netbeans_removed(), it frees the line pointer.
	    (partly by Dominique Pelle).
Files:	    src/misc1.c

Patch 7.1.248
Problem:    Can't set the '" mark.  Can't know if setpos() was successful.
Solution:   Allow setting the '" mark with setpos().  Have setpos() return a
	    value indicating success/failure.
Files:	    runtime/doc/eval.txt, src/eval.c, src/mark.c

Patch 7.1.249
Problem:    After "U" the cursor can be past end of line.  (Adri Verhoef)
Solution:   Adjust the cursor position in u_undoline().
Files:	    src/undo.c

Patch 7.1.250
Problem:    ":setglobal fenc=anything" gives an error message in a buffer
	    where 'modifiable' is off.  (Ben Schmidt)
Solution:   Don't give an error if 'modifiable' doesn't matter.
Files:	    src/option.c

Patch 7.1.251
Problem:    Using freed memory when spell checking enabled.
Solution:   Obtain the current line again after calling spell_move_to().
	    (Dominique Pelle)
Files:	    src/screen.c

Patch 7.1.252 (after 7.1.243)
Problem:    Test 39 fails when the environment has a utf-8 locale. (Dominique
	    Pelle)
Solution:   Force 'encoding' to be latin1.
Files:	    src/testdir/test39.in

Patch 7.1.253
Problem:    ":sort" doesn't work in a one line file. (Patrick Texier)
Solution:   Don't sort if there is only one line. (Dominique Pelle)
Files:	    src/ex_cmds.c

Patch 7.1.254
Problem:    Tests 49 and 55 fail when the locale is French.
Solution:   Using C messages for test 49.  Filter the error message in test 55
	    such that it works when the number is halfway the message.
Files:	    src/testdir/test49.in, src/testdir/test55.in

Patch 7.1.255
Problem:    Vim doesn't support utf-32. (Yongwei Wu)
Solution:   Add aliases for utf-32, it's the same as ucs-4.
Files:	    src/mbyte.c

Patch 7.1.256
Problem:    findfile() also returns directories.
Solution:   Cleanup the code for finding files and directories in a list of
	    directories.  Remove the ugly global ff_search_ctx.
Files:	    src/eval.c, src/misc2.c, src/vim.h, src/tag.c

Patch 7.1.257
Problem:    Configure can't always find the Tcl header files.
Solution:   Also look in /usr/local/include/tcl$tclver and
	    /usr/include/tcl$tclver (James Vega)
Files:	    src/auto/configure, src/configure.in

Patch 7.1.258
Problem:    Crash when doing "d/\n/e" and 'virtualedit' is "all". (Andy Wokula)
Solution:   Avoid that the column becomes negative.  Also fixes other problems
	    with the end of a pattern match is in column zero. (A.Politz)
Files:	    src/search.c

Patch 7.1.259
Problem:    Cursor is in the wrong position when 'rightleft' is set,
	    'encoding' is "utf-8" and on an illegal byte.  (Dominique Pelle)
Solution:   Only put the cursor in the first column when actually on a
	    double-wide character.  (Yukihiro Nakadaira)
Files:	    src/screen.c

Patch 7.1.260
Problem:    Cursor positioning problem after ^@ wrapping halfway when
	    'encoding' is utf-8.
Solution:   Only count a position for printable characters.  (partly by
	    Yukihiro Nakadaira)
Files:	    src/charset.c

Patch 7.1.261
Problem:    When a 2 byte BOM is detected Vim uses UCS-2, which doesn't work
	    for UTF-16 text. (Tony Mechelynck)
Solution:   Default to UTF-16.
Files:	    src/fileio.c, src/testdir/test42.ok

Patch 7.1.262
Problem:    Can't get the process ID of Vim.
Solution:   Implement getpid().
Files:	    src/eval.c, runtime/doc/eval.txt

Patch 7.1.263
Problem:    The filetype can consist of two dot separated names.  This works
	    for syntax and ftplugin, but not for indent. (Brett Stahlman)
Solution:   Use split() and loop over each dot separated name.
Files:	    runtime/indent.vim

Patch 7.1.264
Problem:    Crash when indenting lines. (Dominique Pelle)
Solution:   Set the cursor column when changing the cursor line.
Files:	    src/ops.c, src/misc1.c

Patch 7.1.265
Problem:    When 'isfname' contains a space, cmdline completion can hang.
	    (James Vega)
Solution:   Reset the "len" variable.
Files:	    src/ex_docmd.c

Patch 7.1.266
Problem:    When the version string returned by the terminal contains
	    unexpected characters, it is used as typed input. (James Vega)
Solution:   Assume the escape sequence ends in a letter.
Files:	    src/term.c

Patch 7.1.267
Problem:    When changing folds cursor may be positioned in the wrong place.
Solution:   Call changed_window_setting_win() instead of
	    changed_window_setting().
Files:	    src/fold.c

Patch 7.1.268
Problem:    Always shows "+" at end of screen line with: ":set
	    listchars=eol:$,extends:+ nowrap list cursorline" (Gary Johnson)
Solution:   Check for lcs_eol_one instead of lcs_eol.
Files:	    src/screen.c

Patch 7.1.269
Problem:    The matchparen plugin has an arbitrary limit for the number of
	    lines to look for a match.
Solution:   Rely on the searchpair() timeout.
Files:	    runtime/plugin/matchparen.vim

Patch 7.1.270
Problem:    ":?foo?" matches in current line since patch 7.1.025. (A.Politz)
Solution:   Remove the SEARCH_START flag.
Files:	    src/ex_docmd.c, src/search.c

Patch 7.1.271
Problem:    In a Vim build without autocommands, checking a file that was
	    changed externally causes the current buffer to be changed
	    unexpectedly.  (Karsten Hopp)
Solution:   Store "curbuf" instead of "buf".
Files:	    src/fileio.c

Patch 7.1.272
Problem:    The special buffer name [Location List] is not used for a buffer
	    displayed in another tab page.
Solution:   Use FOR_ALL_TAB_WINDOWS instead of FOR_ALL_WINDOWS. (Hiroaki
	    Nishihara)
Files:	    src/buffer.c

Patch 7.1.273
Problem:    When profiling on Linux Vim exits early. (Liu Yubao)
Solution:   When profiling don't exit on SIGPROF.
Files:	    src/Makefile, src/os_unix.c

Patch 7.1.274 (after 7.1.272)
Problem:    Compiler warning for optimized build.
Solution:   Init win to NULL.
Files:	    src/buffer.c

Patch 7.1.275 (extra)
Problem:    Mac: ATSUI and 'antialias' don't work properly together.
Solution:   Fix this and the input method. (Jjgod Jiang)
Files:	    src/vim.h, src/gui_mac.c

Patch 7.1.276
Problem:    "gw" uses 'formatexpr', even though the docs say it doesn't.
Solution:   Don't use 'formatexpr' for "gw".
Files:	    src/vim.h, src/edit.c, src/ops.c, src/proto/ops.pro

Patch 7.1.277
Problem:    Default for 'paragraphs' misses some items (Colin Watson)
Solution:   Add TP, HP, Pp, Lp and It to 'paragraphs'. (James Vega)
Files:	    runtime/doc/options.txt, src/option.c

Patch 7.1.278 (extra, after 7.1.275)
Problem:    Build failure when USE_CARBONKEYHANDLER is not defined.
Solution:   Remove #ifdef.
Files:	    src/gui_mac.c

Patch 7.1.279
Problem:    When using cscope temporary files are left behind.
Solution:   Send the quit command to cscope and give it two seconds to exit
	    nicely before killing it. (partly by Dominique Pelle)
Files:	    src/if_cscope.c

Patch 7.1.280  (after 7.1.275)
Problem:    Mac: build problems when not using multibyte feature. (Nicholas
	    Stallard)
Solution:   Don't define USE_IM_CONTROL when not using multibyte.
Files:	    src/vim.h

Patch 7.1.281 (after 7.1.279)
Problem:    sa.sa_mask is not initialized.  Cscope may not exit.
Solution:   Use sigemptyset().  Use SIGKILL instead of SIGTERM. (Dominique
	    Pelle)
Files:	    src/if_cscope.c

Patch 7.1.282 (extra)
Problem:    Win64: Edit with Vim context menu isn't installed correctly.
	    Compiler warnings and a few other things.
Solution:   Add [ and ] to entry of class name.  Use UINT_PTR instead of UINT.
	    And fixes for other things. (George V.  Reilly)
Files:	    src/GvimExt/Makefile, src/dosinst.c, src/if_ole.cpp, src/if_ole.h,
	    src/if_ole.idl, src/INSTALLpc.txt,  src/Make_mvc.mak,
	    src/os_win32.c,

Patch 7.1.283
Problem:    Non-extra part for 7.1.282.
Solution:   Various changes.
Files:	    src/ex_docmd.c, src/globals.h, src/if_cscope.c, src/main.c,
	    src/mark.c, src/netbeans.c, src/popupmnu.c, src/vim.h,
	    src/window.c

Patch 7.1.284
Problem:    Compiler warnings for functions without prototype.
Solution:   Add the function prototypes. (Patrick Texier)
Files:	    src/eval.c, src/quickfix.c

Patch 7.1.285 (extra)
Problem:    Mac: dialog hotkeys don't work.
Solution:   Add hotkey support. (Dan Sandler)
Files:	    src/gui_mac.c

Patch 7.1.286 (after 7.1.103)
Problem:    "w" at the end of the buffer moves the cursor past the end of the
	    line. (Markus Heidelberg)
Solution:   Move the cursor back from the NUL when it was moved forward.
Files:	    src/normal.c

Patch 7.1.287
Problem:    Crash when reversing a list after using it. (Andy Wokula)
Solution:   Update the pointer to the last used element. (Dominique Pelle)
Files:	    src/eval.c

Patch 7.1.288 (after 7.1.281)
Problem:    Cscope still leaves behind temp files when using gvim.
Solution:   When getting the ECHILD error loop for a while until cscope exits.
	    (Dominique Pelle)
Files:	    if_cscope.c

Patch 7.1.289
Problem:    When EXITFREE is defined and 'acd' is set freed memory is used.
	    (Dominique Pelle)
Solution:   Reset p_acd before freeing all buffers.
Files:	    src/misc2.c

Patch 7.1.290
Problem:    Reading bytes that were not written when spell checking and a line
	    has a very large indent.
Solution:   Don't copy the start of the next line when it only contains
	    spaces. (Dominique Pelle)
Files:	    src/spell.c

Patch 7.1.291 (after 7.1.288)
Problem:    Compiler warning.
Solution:   Change 50 to 50L.
Files:	    src/if_cscope.c

Patch 7.1.292
Problem:    When using a pattern with "\@<=" the submatches can be wrong.
	    (Brett Stahlman)
Solution:   Save the submatches when attempting a look-behind match.
Files:	    src/regexp.c

Patch 7.1.293
Problem:    Spell checking considers super- and subscript characters as word
	    characters.
Solution:   Recognize the Unicode super and subscript characters.
Files:	    src/spell.c

Patch 7.1.294
Problem:    Leaking memory when executing a shell command.
Solution:   Free memory when not able to save for undo. (Dominique Pelle)
Files:	    src/ex_cmds.c

Patch 7.1.295
Problem:    Vimtutor only works with vim, not gvim.
Solution:   Add the -g flag to vimtutor. (Dominique Pelle)  Add gvimtutor.
Files:	    src/Makefile, src/gvimtutor, src/vimtutor, runtime/doc/vimtutor.1

Patch 7.1.296
Problem:    SELinux is not supported.
Solution:   Detect the selinux library and use mch_copy_sec(). (James Vega)
Files:	    src/auto/configure, src/config.h.in, src/configure.in,
	    src/fileio.c, src/memfile.c, src/os_unix.c, src/proto/os_unix.pro

Patch 7.1.297
Problem:    When using the search/replace dialog the parenmatch highlighting
	    can be wrong. (Tim Duncan)
Solution:   In the GUI redraw function invoke the CursorMoved autocmd.
Files:	    src/gui.c

Patch 7.1.298 (after 7.1.295)
Problem:    src/gvimtutor is not distributed.
Solution:   Add it to the list of distributed files.
Files:	    Filelist

Patch 7.1.299
Problem:    Filetype detection doesn't work properly for file names ending in
	    a part that is ignored and contain a space or other special
	    characters.
Solution:   Escape the special characters using the new fnameescape function.
Files:	    runtime/doc/eval.txt, runtime/filetype.vim, src/eval.c,
	    src/ex_getln.c, src/proto/ex_getln.pro, src/vim.h

Patch 7.1.300
Problem:    Value of asmsyntax argument isn't checked for valid characters.
Solution:   Only accepts letters and digits.
Files:	    runtime/filetype.vim

Patch 7.1.301
Problem:    When the "File/Save" menu is used in Insert mode, a tab page label
	    is not updated to remove the "+".
Solution:   Call draw_tabline() from showruler(). (Bjorn Winckler)
Files:	    src/screen.c

Patch 7.1.302 (after 7.1.299)
Problem:    Compilation error on MS-Windows.
Solution:   Don't use xp_shell when it's not defined.
Files:	    src/ex_getln.c

Patch 7.1.303 (after 7.1.302)
Problem:    Compilation error on MS-Windows, again.
Solution:   Declare p.
Files:	    src/ex_getln.c

Patch 7.1.304
Problem:    Shortpath_for_invalid_fname() does not work correctly and is
	    unnecessary complex.
Solution:   Clean up shortpath_for_invalid_fname(). (mostly by Yegappan
	    Lakshmanan)
Files:	    src/eval.c

Patch 7.1.305
Problem:    Editing a compressed file with special characters in the name
	    doesn't work properly.
Solution:   Escape special characters.
Files:	    runtime/autoload/gzip.vim

Patch 7.1.306
Problem:    Some Unicode characters are handled like word characters while
	    they are symbols.
Solution:   Adjust the table for Unicode classification.
Files:	    src/mbyte.c

Patch 7.1.307
Problem:    Many warnings when compiling with Python 2.5.
Solution:   Use ssize_t instead of int for some types. (James Vega)
Files:	    src/if_python.c

Patch 7.1.308
Problem:    When in readonly mode ":options" produces an error.
Solution:   Reset 'readonly'. (Gary Johnson)
Files:	    runtime/optwin.vim

Patch 7.1.309
Problem:    Installing and testing with a shadow directory doesn't work.
	    (James Vega)
Solution:   Add "po" to the list of directories to link.  Also link the Vim
	    scripts in testdir.  And a few more small fixes.
Files:	    src/Makefile

Patch 7.1.310
Problem:    Incomplete utf-8 byte sequence at end of the file is not detected.
	    Accessing memory that wasn't written.
Solution:   Check the last bytes in the buffer for being a valid utf-8
	    character. (mostly by Ben Schmidt)
	    Also fix that the reported line number of the error was wrong.
Files:	    src/fileio.c

Patch 7.1.311
Problem:    Compiler warning for missing sentinel in X code.
Solution:   Change 0 to NULL. (Markus Heidelberg)
Files:	    src/mbyte.c

Patch 7.1.312
Problem:    The .po files have mistakes in error numbers.
Solution:   Search for these mistakes in the check script. (Dominique Pelle)
Files:	    src/po/check.vim

Patch 7.1.313
Problem:    When the netbeans interface setModified call is used the status
	    lines and window title are not updated.
Solution:   Redraw the status lines and title. (Philippe Fremy)
Files:	    src/netbeans.c

Patch 7.1.314
Problem:    The value of 'pastetoggle' is written to the session file without
	    any escaping. (Randall Hansen)
Solution:   Use put_escstr(). (Ben Schmidt)
Files:	    src/option.c

Patch 7.1.315
Problem:    Crash with specific search pattern using look-behind match.
	    (Andreas Politz)
Solution:   Also save the value of "need_clear_subexpr".
Files:	    src/regexp.c

Patch 7.1.316
Problem:    When 'cscopetag' is set ":tag" gives an error message instead of
	    going to the next tag in the tag stack.
Solution:   Don't call do_cstag() when there is no argument. (Mark Goldman)
Files:	    src/ex_docmd.c

Patch 7.1.317
Problem:    Compiler warnings in Motif calls.
Solution:   Change zero to NULL. (Dominique Pelle)
Files:	    src/gui_motif.c

Patch 7.1.318
Problem:    Memory leak when closing xsmp connection.  Crash on exit when
	    using Lesstif.
Solution:   Don't close the X display to work around a Lesstif bug.  Free
	    clientid.  Also fix a leak for Motif and Athena. (Dominique Pelle)
Files:	    src/gui_x11.c, src/os_unix.c

Patch 7.1.319
Problem:    When a register has an illegal utf-8 sequence, pasting it on the
	    command line causes an illegal memory access.
Solution:   Use mb_cptr2char_adv(). (Dominique Pelle)
Files:	    src/ex_getln.c

Patch 7.1.320 (extra)
Problem:    Win64: Warnings while compiling Python interface.
Solution:   Use PyInt in more places.  Also update version message for the
	    console. (George Reilly)
Files:	    src/if_python.c, src/version.c

Patch 7.1.321 (extra)
Problem:    Win32 / Win64: Install file is outdated.
Solution:   Update the text for recent compiler. (George Reilly)
Files:	    src/INSTALLpc.txt

Patch 7.1.322
Problem:    Can't get start of Visual area in an <expr> mapping.
Solution:   Add the 'v' argument to getpos().
Files:	    runtime/doc/eval.txt, src/eval.c

Patch 7.1.323
Problem:    Test 19 fails with some termcaps. (Dominique Pelle)
Solution:   Set the t_kb and t_kD termcap values.
Files:	    src/testdir/test19.in, src/testdir/test38.in

Patch 7.1.324
Problem:    File name path length on Unix is limited to 1024.
Solution:   Use PATH_MAX when it's more than 1000.
Files:	    src/os_unix.h

Patch 7.1.325
Problem:    When editing a command line that's longer than available space in
	    the window, the characters at the end are in reverse order.
Solution:   Increment the insert position even when the command line doesn't
	    fit.  (Ingo Karkat)
Files:	    src/ex_getln.c

Patch 7.1.326
Problem:    ":s!from!to!" works, but ":smagic!from!to!" doesn't.  It sees the
	    "!" as a flag to the command.  Same for ":snomagic". (Johan Spetz)
Solution:   When checking for a forced command also ignore ":smagic" and
	    ":snomagic". (Ian Kelling)
Files:	    src/ex_docmd.c

Patch 7.1.327
Problem:    The GUI tutor is installed when there is no GUI version.
Solution:   Only install gvimtutor when building a GUI version.
Files:	    src/Makefile

Patch 7.1.328
Problem:    Crash when using Cygwin and non-posix path name in tags file.
Solution:   Use separate buffer for posix path. (Ben Schmidt)
Files:	    src/os_unix.c

Patch 7.1.329
Problem:    When the popup menu is removed a column of cells, the right halve
	    of double-wide characters, may not be redrawn.
Solution:   Check if the right halve of a character needs to be redrawn.
	    (Yukihiro Nakadaira)
Files:	    src/screen.c

Patch 7.1.330
Problem:    Reading uninitialized memory when using Del in replace mode.
Solution:   Use utfc_ptr2len_len() instead of mb_ptr2len(). (Dominique Pelle)
Files:	    src/misc1.c


Warning for missing sentinel in gui_xmldlg.c. (Dominique Pelle)

A search offset from the end of a match didn't work properly for multi-byte
characters.  (Yukihiro Nakadaira)

When displaying the value of 'key' don't show "*****" when the value is empty.
(Ben Schmidt)

Internal error when compiled with EXITFREE and using the nerd_tree plugin.
Set last_msg_hist to NULL when history becomes empty.  Call
free_all_functions() after garbage collection.  (Dominique Pelle)

GTK with XIM: <S-Space> does not work.  (Yukihiro Nakadaira)

Some shells do not support "echo -n", which breaks glob().  Use "echo" instead
of "echo -n $1; echo".  (Gary Johnson)

"echo 22,44" printed "22" on top of the command, the error messages caused
the rest not to be cleared.  Added the need_clr_eos flag.

Netbeans events are handled while updating the screen, causing a crash.
Change the moment when events are handled.  Rename nb_parse_messages() to
netbeans_parse_messages().  (Xavier de Gaye)

Test 11 was broken after patch 7.1.186 on Win32 console. (Daniel Shahaf)
Use shellescape() on the file name.

IM was turned off in im_preedit_end_cb() for no good reason.  (Takuhiro
Nishioka)

A corrupted spell file could cause Vim to use lots of memory.  Better
detection for running into the end of the file.  (idea from James Vega)

Mac: Included a patch to make it build with GTK.  Moved language init to
mac_lang_init() function.  (Ben Schmidt)

Problem with 'wildmenu' after ":lcd", up/down arrows don't work. (Erik Falor)

Fix configure.in to avoid "implicitly declared" warnings when running
configure.

Fixed a memory leak when redefining a keymap. (Dominique Pelle)

Setting 'pastetoggle' to "jj" didn't work.

'ic' and 'smartcase' don't work properly when using \%V in a search pattern.
(Kana Natsuno)

Patch 7.2a.001
Problem:    On some systems X11/Xlib.h exists (from X11-dev package) but
	    X11/Intrinsic.h does not (in Xt-dev package).  This breaks the
	    build.  Also, on Solaris 9 sys/ptem.h isn't found.
Solution:   Have configure only accept X11 when X11/Intrinsic.h exists.
	    Check for sys/ptem.h while including sys/stream.h. (Vladimir
	    Marek)
Files:	    src/auto/configure, src/configure.in

Patch 7.2a.002
Problem:    getbufvar(N, "") gets the dictionary of the current buffer instead
	    of buffer N.
Solution:   Set curbuf before calling find_var_in_ht(). (Kana Natsuno)
Files:	    src/eval.c

Patch 7.2a.003
Problem:    Leaking memory when using ":file name" and using access control
	    lists.
Solution:   Invoke mch_free_acl() in vim_rename(). (Dominique Pelle)
Files:	    src/fileio.c

Patch 7.2a.004
Problem:    Some systems can't get spell files by ftp.
Solution:   Use http when it looks like it's possible. (James Vega)
Files:	    runtime/autoload/spellfile.vim

Patch 7.2a.005
Problem:    A few error messages use confusing names.  Misspelling.
Solution:   Change "dissallows" to "disallows". (Dominique Pelle)  Change
	    "number" to "Number".
Files:	    src/eval.c, src/fileio.c

Patch 7.2a.006
Problem:    Reading past NUL in a string.
Solution:   Check for invalid utf-8 byte sequence. (Dominique Pelle)
Files:	    src/charset.c

Patch 7.2a.007
Problem:    ":let v = 1.2.3" was OK in Vim 7.1, now it gives an error.
Solution:   Don't look for a floating point number after the "." operator.
Files:	    src/eval.c

Patch 7.2a.008
Problem:    printf("%g", 1) doesn't work.
Solution:   Convert Number to Float when needed.
Files:	    src/message.c

Patch 7.2a.009
Problem:    cygwin_conv_to_posix_path() does not specify buffer size.
Solution:   Use new Cygwin function: cygwin_conv_path(). (Corinna Vinschen)
Files:	    src/main.c, src/os_unix.c

Patch 7.2a.010
Problem:    When a file name has an illegal byte sequence Vim may read
	    uninitialised memory.
Solution:   Don't use UTF_COMPOSINGLIKE() on an illegal byte.  In
	    msg_outtrans_len_attr() use char2cells() instead of ptr2cells().
	    In utf_ptr2char() don't check second byte when first byte is
	    illegal.  (Dominique Pelle)
Files:	    src/mbyte.c, src/message.c

Patch 7.2a.011
Problem:    The Edit/Startup Settings menu doesn't work.
Solution:   Expand environment variables. (Ben Schmidt)
Files:	    runtime/menu.vim

Patch 7.2a.012
Problem:    Compiler warnings for casting int to pointer.
Solution:   Add cast to long in between. (Martin Toft)
Files:	    src/gui_gtk_x11.c

Patch 7.2a.013
Problem:    shellescape() does not escape "%" and "#" characters.
Solution:   Add find_cmdline_var() and use it when the second argument to
	    shellescape() is non-zero.
Files:	    runtime/doc/eval.txt, src/eval.c, src/ex_docmd.c,
	    src/proto/ex_docmd.pro, src/proto/misc2.pro, src/misc2.c

Patch 7.2a.014
Problem:    Problem with % in message.
Solution:   Put % in single quotes.
Files:	    src/eval.c

Patch 7.2a.015 (after 7.2a.010)
Problem:    Misaligned messages.
Solution:   Compute length of unprintable chars correctly.
Files:	    src/message.c

Patch 7.2a.016
Problem:    Using CTRL-W v in the quickfix window results in two quickfix
	    windows, which is not allowed.  ":tab split" should be allowed to
	    open a new quickfix window in another tab.
Solution:   For CTRL-W v instead of splitting the window open a new one.
	    When using ":tab" do allow splitting the quickfix window (was
	    already included in patch 7.2a.013).
Files:	    src/window.c

Patch 7.2a.017
Problem:    ":doautoall" executes autocommands for all buffers instead of just
	    for loaded buffers.
Solution:   Change "curbuf" to "buf".
Files:	    src/fileio.c

Patch 7.2a.018
Problem:    Compiler warnings when compiling with Gnome. (Tony Mechelynck)
Solution:   Add type casts.
Files:	    src/gui_gtk_x11.c

Patch 7.2a.019
Problem:    ":let &g:tw = 44" sets the local option value. (Cyril Slobin)
Solution:   Use get_varp_scope() instead of get_varp(). (Ian Kelling)
Files:	    src/option.c

There is no way to avoid adding /usr/local/{include|lib} to the build
commands.  Add the --with-local-dir argument to configure. (Michael
Haubenwallner)

When using CTRL-D after ":help", the number of matches could be thousands.
Restrict to TAG_MANY to avoid this taking too long. (Ian Kelling)

The popup menu could be placed at a weird location.  Caused by w_wcol computed
by curs_columns().  (Dominique Pelle)

Overlapping STRCPY() arguments when using %r item in 'errorformat'.  Use
STRMOVE() instead. (Ralf Wildenhues)

Mac: On Leopard gvim, when using the mouse wheel nothing would happen until
another event occurs, such as moving the mouse.  Then the recorded scrolling
would take place all at once. (Eckehard Berns)

Solution for cursor color not reflecting IM status for GTK 2.  Add
preedit_is_active flag. (SungHyun Nam)

filereadable() can hang on a FIFO on Linux.  Use open() instead of fopen(),
with O_NONBLOCK. (suggested by Lars Kotthoff)

Included patch to support Perl 5.10. (Yasuhiro Matsumoto)

When files are dropped on gvim while the screen is being updated, ignore the
drop command to avoid freeing memory that is being used.

In a terminal, when drawing the popup menu over double-wide characters, half
characters may not be cleared properly. (Yukihiro Nakadaira)

The #ifdef for including "vimio.h" was inconsistent.  In a few files it
depended on MSWIN, which isn't defined until later.

Patch 7.2b.001
Problem:    Compilation problem: mb_fix_col() missing with multi-byte feature
	    but without GUI or clipboard.
Solution:   Remove #ifdef.
Files:	    src/mbyte.c

Patch 7.2b.002
Problem:    Compiler warnings for signed/unsigned mismatch.
Solution:   Add type casts.
Files:	    src/screen.c

Patch 7.2b.003
Problem:    Still a compilation problem, check_col() and check_row() missing.
Solution:   Add FEAT_MBYTE to the #if.
Files:	    src/ui.c

Patch 7.2b.004
Problem:    Trying to free memory for a static string when using ":helpgrep".
	    (George Reilly)
Solution:   Set 'cpo' to empty_option instead of an empty string.  Also for
	    searchpair() and substitute().
Files:	    src/quickfix.c, src/eval.c

Patch 7.2b.005
Problem:    The special character "!" isn't handled properly in shellescape().
	    (Jan Minar)
Solution:   Escape "!" when using a "csh" like shell and with
	    shellescape(s, 1).  Twice for both.  Also escape <NL>.
Files:	    src/misc2.c

Patch 7.2b.006
Problem:    Reading past end of string when reading info from tags line.
Solution:   Break the loop when encountering a NUL. (Dominique Pelle)
Files:	    src/tag.c

Patch 7.2b.007
Problem:    Part of a message cannot be translated.
Solution:   Put _() around the message.
Files:	    src/search.c

Patch 7.2b.008
Problem:    A few filetypes are not detected or not detected properly.
Solution:   Add filetype detection patterns. (Nikolai Weibull)
Files:	    runtime/filetype.vim

Patch 7.2b.009
Problem:    Reading past end of screen line. (Epicurus)
Solution:   Avoid going past the value of Columns.
Files:	    src/screen.c

Patch 7.2b.010
Problem:    ":mksession" doesn't work for ":map , foo", ":sunmap ,". (Ethan
	    Mallove)
Solution:   Check for "nxo", "nso" and other strange mapping combinations.
Files:	    src/getchar.c

Patch 7.2b.011
Problem:    Configure for TCL ends up with include file in compiler command.
	    (Richard Hogg)
Solution:   Delete items from $TCL_DEFS that do not start with a dash.
Files:	    src/auto/configure, src/configure.in

Patch 7.2b.012
Problem:    Build failure with +multi_byte but without +diff.
Solution:   Add #ifdef. (Patrick Texier)
Files:	    src/main.c

Patch 7.2b.013
Problem:    Build fails with tiny features and Perl. (Dominique Pelle)
Solution:   Define missing functions.  Also when compiling Python.
Files:	    src/if_perl.xs, src/if_python.c

Patch 7.2b.014
Problem:    Configure uses an unsafe temp file to store commands.
Solution:   Create the temp file in local directory.
Files:	    src/auto/configure, src/configure.in

Patch 7.2b.015
Problem:    Build fails on Mac when using Aap.
Solution:   Fix typo in configure script.
Files:	    src/auto/configure, src/configure.in

Patch 7.2b.016
Problem:    Build fails with normal features but without +autocmd.
Solution:   Fix #ifdefs. (Ian Kelling)
Files:	    src/eval.c, src/ex_cmds.c, src/quickfix.c, src/option.c,
	    src/ex_docmd.c

Patch 7.2b.017
Problem:    "vim -O foo foo" results in only one window.  (Zdenek Sekera)
Solution:   Handle result of ATTENTION prompt properly. (Ian Kelling)
Files:	    src/main.c

Patch 7.2b.018
Problem:    When doing command line completion on a file name for a csh-like
	    shell argument a '!' character isn't escaped properly.
Solution:   Add another backslash.
Files:	    src/ex_getln.c, src/misc2.c, src/proto/misc2.pro, src/screen.c

Patch 7.2b.019 (extra)
Problem:    Win32: Various compiler warnings.
Solution:   Use __w64 attribute.  Comment-out unused parameters.  Adjust a few
	    #ifdefs. (George Reilly)
Files:	    src/gui_w48.c, src/GvimExt/gvimext.cpp, src/Make_mvc.mak,
	    src/os_mswin.c, src/os_win32.c, src/vim.h

Patch 7.2b.020
Problem:    ":sort n" doesn't handle negative numbers. (James Vega)
Solution:   Include '-' in the number.
Files:	    src/charset.c, src/ex_cmds.c

Patch 7.2b.021
Problem:    Reloading doesn't read the BOM correctly. (Steve Gardner)
Solution:   Accept utf-8 BOM when specified file encoding is utf-8.
Files:	    src/fileio.c

Patch 7.2b.022
Problem:    When using ":normal" while updating the status line the count of
	    an operator is lost. (Dominique Pelle)
Solution:   Save and restore "opcount".
Files:	    src/ex_docmd.c, src/globals.h, src/normal.c

Patch 7.2b.023
Problem:    Crash when using the result of synstack(0,0). (Matt Wozniski)
Solution:   Check for v_list to be NULL in a few more places.
Files:	    src/eval.c

Patch 7.2b.024
Problem:    Using ":gui" while the netrw plugin is active causes a delay in
	    updating the display.
Solution:   Don't check for terminal codes when starting the GUI.
Files:	    src/term.c

Patch 7.2b.025
Problem:    When the CursorHold event triggers a pending count is lost.
	    (Juergen Kraemer)
Solution:   Save the counts and restore them.
Files:	    src/normal.c, src/structs.h

Patch 7.2b.026
Problem:    The GTK 2 file chooser causes the ~/.recently-used.xbel file to be
	    written over and over again.  This may cause a significant
	    slowdown. (Guido Berhoerster)
Solution:   Don't use the GTK 2 file chooser.
Files:	    src/gui_gtk.c

Patch 7.2b.027
Problem:    Memory leak for Python, Perl, etc. script command with end marker.
Solution:   Free the memory of the end marker. (Andy Kittner)
Files:	    src/ex_getln.c

Patch 7.2b.028
Problem:    Reading uninitialized memory when doing ":gui -f". (Dominique
	    Pelle)
Solution:   Don't position the cursor when the screen size is invalid.
Files:	    src/gui.c

Patch 7.2b.029
Problem:    ":help a" doesn't jump to "a" tag in docs. (Tony Mechelynck)
Solution:   Get all tags and throw away more than TAG_MANY after sorting.
	    When there is no argument find matches for "help" to avoid a long
	    delay.
Files:	    src/ex_cmds.c, src/ex_getln.c

Patch 7.2b.030
Problem:    When changing the value of t_Co from 8 to 16 the Visual
	    highlighting keeps both reverse and a background color.
Solution:   Remove the attribute when setting the default highlight color.
	    (Markus Heidelberg)
Files:	    src/syntax.c

Error when cancelling completion menu and auto-formatting. (fixed by Ian
Kelling)

Patch 7.2c.001
Problem:    ":let x=[''] | let x += x" causes hang. (Matt Wozniski)
Solution:   Only insert elements up to the original length of the List.
Files:	    runtime/doc/eval.txt, src/eval.c

Patch 7.2c.002
Problem:    fnameescape() doesn't handle a leading '+' or '>'. (Jan Minar)
Solution:   Escape a leading '+' and '>'.  And a single '-'.
Files:	    runtime/doc/eval.txt, src/ex_getln.c

Patch 7.2c.003
Problem:    Searching for "foo\%[bar]\+" gives a "Corrupted regexp program"
	    error. (Joachim Hofmann)
Solution:   Mark the \%[] item as not being simple.
Files:	    src/regexp.c

On Vista access to system directories is virtualized. (Michael Mutschler)
Adjusted the manifest file to avoid this. (George Reilly)

Memory leak when using CTRL-C to cancel listing the jump list. (Dominique
Pelle)

Mac: Could not build with Perl interface.

==============================================================================
VERSION 7.3					*version-7.3* *version7.3*

This section is about improvements made between version 7.2 and 7.3.

This release has hundreds of bug fixes and there are a few new features.  The
most notable new features are:


Persistent undo					*new-persistent-undo*
---------------

Store undo information in a file.  Can undo to before when the file was read,
also for unloaded buffers. See |undo-persistence| (partly by Jordan Lewis)

Added the ":earlier 1f" and ":later 1f" commands.
Added file save counter to undo information.
Added the |undotree()| and |undofile()| functions.

Also added the 'undoreload' option.  This makes it possible to save the
current text when reloading the buffer, so that the reload can be undone.


More encryption					*new-more-encryption*
---------------

Support for Blowfish encryption.  Added the 'cryptmethod' option.
Mostly by Mohsin Ahmed.

Also encrypt the text in the swap file and the undo file.


Conceal text					*new-conceal*
------------

Added the |+conceal| feature.  (Vince Negri)
This allows hiding stretches of text, based on syntax highlighting.
It also allows replacing a stretch of text by a character |:syn-cchar|.
The 'conceallevel' option specifies what happens with text matching a syntax
item that has the conceal attribute.
The 'concealcursor' option specifies what happens in the cursor line.

The help files conceal characters used to mark tags and examples.

Added the |synconcealed()| function and use it for :TOhtml. (Benjamin Fritz)

Added the 'cursorbind' option, keeps the cursor in two windows with the same
text in sync.


Lua interface					*new-lua*
-------------

Added the |Lua| interface.  (Luis Carvalho)


Python3 interface				*new-python3*
-----------------

Added the Python3 interface.  It exists next to Python 2.x, both can be used
at the same time.  See |python3| (Roland Puntaier)


Changed							*changed-7.3*
-------

The MS-Windows installer no longer requires the user to type anything in the
console windows.  The installer now also works on 64 bit systems, including
the "Edit with Vim" context menu.
The gvim executable is 32 bits, the installed gvimext.dll is either a 32 or 64
bit version. (mostly by George Reilly)
Made the DOS installer work with more compilers.
The MS-Windows big gvim is now built with Python 2.7 and 3.1.2, Perl 5.12 and
Ruby 1.9.1.  You need the matching .dll files to use them.

The extra and language files are no longer distributed separately.
The source files for all systems are included in one distribution.

After using ":recover" or recovering a file in another way, ":x" and "ZZ"
didn't save what you see.  This could result in work being lost.  Now the text
after recovery is compared to the original file contents.  When they differ
the buffer is marked as modified.

When Vim is exiting because of a deadly signal, when v:dying is 2 or more,
VimLeavePre, VimLeave, BufWinLeave and BufUnload autocommands are not
executed.

Removed support for GTK 1.  It was no longer maintained and required a lot of
#ifdefs in the source code.  GTK 2 should be available for every system.
(James Vega)

It is no longer allowed to set the 'encoding' option from a modeline.  It
would corrupt the text.  (Patrick Texier)

Renamed runtime/spell/fixdup to runtime/spell/fixdup.vim.

Removed obsolete Mac code.

Updated spell files for Ubuntu locale names.

Switched from autoconf 2.63 to 2.65.

Removed Mupad indent and ftplugin files, they are not useful.

The maximum number of messages remembered in the history is now 200 (was 100).


Added							*added-7.3*
-----

Added the 'relativenumber' option. (Markus Heidelberg)

Added the 'colorcolumn' option: highlight one or more columns in a window.
E.g. to highlight the column after 'textwidth'. (partly by Gregor Uhlenheuer)

Added support for NetBeans in a terminal.  Added |:nbstart| and |:nbclose|.
(Xavier de Gaye)

More floating point functions: |acos()|, |asin()|, |atan2()|, |cosh()|,
|exp()|, |fmod()|, |log()|, |sinh()|, |tan()|, |tanh()|.  (Bill McCarthy)

Added the |gettabvar()| and |settabvar()| functions. (Yegappan Lakshmanan)

Added the |strchars()|, |strwidth()| and |strdisplaywidth()| functions.

Support GDK_SUPER_MASK for GTK on Mac. (Stephan Schulz)

Made CTRL and ALT modifier work for mouse wheel. (Benjamin Haskell)

Added support for horizontal scroll wheel. (Bjorn Winckler)

When the buffer is in diff mode, have :TOhtml create HTML to show the diff
side-by-side.  (Christian Brabandt)

Various improvements to ":TOhtml" and the 2html.vim script.  (Benjamin Fritz)

Add the 'L' item to 'cinoptions'. (Manuel Konig)

Improve Javascript indenting.  Add "J" flag to 'cinoptions'. (Hari Kumar G)

Mac: Support disabling antialias. (LC Mi)

Mac: Add clipboard support in the Mac console. (Bjorn Winckler)

Make it possible to drag a tab page label to another position. (Paul B. Mahol)

Better implementation of creating the Color Scheme menu. (Juergen Kraemer)

In Visual mode with 'showcmd' display the number of bytes and characters.

Allow synIDattr() getting GUI attributes when built without GUI.  (Matt
Wozniski)

Support completion for ":find".  Added test 73. (Nazri Ramliy)

Command line completion for :ownsyntax and :setfiletype. (Dominique Pelle)

Command line completion for :lmap and :lunmap.

Support syntax and filetype completion for user commands. (Christian Brabandt)

Avoid use of the GTK main_loop() so that the GtkFileChooser can be used.
(James Vega)

When 'formatexpr' evaluates to non-zero fall back to internal formatting, also
for "gq". (James Vega)

Support :browse for commands that use an error file argument. (Lech Lorens)

Support wide file names in gvimext. (Szabolcs Horvat)

Improve test for joining lines. (Milan Vancura)
Make joining a range of lines much faster. (Milan Vancura)

Add patch to improve support of z/OS (OS/390). (Ralf Schandl)

Added the helphelp.txt file.  Moved text from various.txt to it.

Added "q" item for 'statusline'.  Added |w:quickfix_title|. (Lech Lorens)

Various improvements for VMS. (Zoltan Arpadffy)


New syntax files: ~
Haskell Cabal build file (Vincent Berthoux)
ChaiScript (Jason Turner)
Cucumber (Tim Pope)
Datascript (Dominique Pelle)
Fantom (Kamil Toman)
Liquid (Tim Pope)
Markdown (Tim Pope)
wavefront's obj file (Vincent Berthoux)
Perl 6 (Andy Lester)
SDC - Synopsys Design Constraints (Maurizio Tranchero)
SVG - Scalable Vector Graphics (Vincent Berthoux)
task data (John Florian)
task 42 edit (John Florian)

New filetype plugins: ~
Cucumber (Tim Pope)
Liquid (Tim Pope)
Logcheck (Debian)
Markdown (Tim Pope)
Perl 6 (Andy Lester)
Quickfix window (Lech Lorens)
Tcl (Robert L Hicks)

New indent plugins: ~
CUDA (Bram Moolenaar)
ChaiScript (Jason Turner)
Cucumber (Tim Pope)
LifeLines (Patrick Texier)
Liquid (Tim Pope)
Mail (Bram Moolenaar)
Perl 6 (Andy Lester)

Other new runtime files: ~
Breton spell file (Dominique Pelle)
Dvorak keymap (Ashish Shukla)
Korean translations. (SungHyun Nam)
Python 3 completion (Aaron Griffin)
Serbian menu translations (Aleksandar Jelenak)
Tetum spell files
Tutor Bairish (Sepp Hell)
Tutor in Esperanto. (Dominique Pellé)
Tutor in Portuguese.
Norwegian Tutor now also available as tutor.nb

Removed the Mupad runtime files, they were not maintained.


Fixed							*fixed-7.3*
-----

Patch 7.2.001
Problem:    Mac: pseudo-ttys don't work properly on Leopard, resulting in the
	    shell not to have a prompt, CTRL-C not working, etc.
Solution:   Don't use SVR4 compatible ptys, even though they are detected.
	    (Ben Schmidt)
Files:	    src/pty.c

Patch 7.2.002
Problem:    Leaking memory when displaying menus.
Solution:   Free allocated memory. (Dominique Pelle)
Files:	    src/menu.c

Patch 7.2.003
Problem:    Typo in translated message.  Message not translated.
Solution:   Correct spelling. Add _(). (Dominique Pelle)
Files:	    src/spell.c, src/version.c

Patch 7.2.004
Problem:    Cscope help message is not translated.
Solution:   Put it in _(). (Dominique Pelle)
Files:	    src/if_cscope.c, src/if_cscope.h

Patch 7.2.005
Problem:    A few problems when profiling.  Using flag pointer instead of flag
	    value.  Allocating zero bytes.  Not freeing used memory.
Solution:   Remove wrong '&' characters.  Skip dumping when there is nothing
	    to dump.  Free used memory. (Dominique Pelle)
Files:	    src/eval.c

Patch 7.2.006
Problem:    HTML files are not recognized by contents.
Solution:   Add a rule to the scripts file. (Nico Weber)
Files:	    runtime/scripts.vim

Patch 7.2.007 (extra)
Problem:    Minor issues for VMS.
Solution:   Minor fixes for VMS.  Add float support. (Zoltan Arpadffy)
Files:	    runtime/doc/os_vms.txt, src/os_vms_conf.h, src/Make_vms.mms,
	    src/testdir/Make_vms.mms, src/testdir/test30.in,
	    src/testdir/test54.in

Patch 7.2.008
Problem:    With a BufHidden autocommand that invokes ":bunload" the window
	    count for a buffer can be wrong. (Bob Hiestand)
Solution:   Don't call enter_buffer() when already in that buffer.
Files:	    src/buffer.c

Patch 7.2.009
Problem:    Can't compile with Perl 5.10 on MS-Windows. (Cesar Romani)
Solution:   Add the Perl_sv_free2 function for dynamic loading. (Dan Sharp)
Files:	    src/if_perl.xs

Patch 7.2.010
Problem:    When using "K" in Visual mode not all characters are properly
	    escaped. (Ben Schmidt)
Solution:   Use a function with the functionality of shellescape(). (Jan
	    Minar)
Files:	    src/mbyte.c, src/misc2.c, src/normal.c

Patch 7.2.011
Problem:    Get an error when inserting a float value from the expression
	    register.
Solution:   Convert the Float to a String automatically in the same place
	    where a List would be converted to a String.
Files:	    src/eval.c

Patch 7.2.012
Problem:    Compiler warnings when building with startup timing.
Solution:   Add type casts.
Files:	    src/ex_cmds2.c

Patch 7.2.013
Problem:    While waiting for the X selection Vim consumes a lot of CPU time
	    and hangs until a response is received.
Solution:   Sleep a bit when the selection event hasn't been received yet.
	    Time out after a couple of seconds to avoid a hang when the
	    selection owner isn't responding.
Files:	    src/ui.c

Patch 7.2.014
Problem:    synstack() doesn't work in an empty line.
Solution:   Accept column zero as a valid position.
Files:	    src/eval.c

Patch 7.2.015
Problem:    "make all test install" doesn't stop when the test fails. (Daniel
	    Shahaf)
Solution:   When test.log contains failures exit with non-zero status.
Files:	    src/testdir/Makefile

Patch 7.2.016
Problem:    The pattern being completed may be in freed memory when the
	    command line is being reallocated. (Dominique Pelle)
Solution:   Keep a pointer to the expand_T in the command line structure.
	    Don't use <S-Tab> as CTRL-P when there are no results.  Clear the
	    completion when using a command line from the history.
Files:	    src/ex_getln.c

Patch 7.2.017
Problem:    strlen() used on text that may not end in a NUL. (Dominique Pelle)
	    Pasting a very big selection doesn't work.
Solution:   Use the length passed to the XtSelectionCallbackProc() function.
	    After getting the SelectionNotify event continue dispatching
	    events until the callback is actually called.  Also dispatch the
	    PropertyNotify event.
Files:	    src/ui.c

Patch 7.2.018
Problem:    Memory leak when substitute is aborted.
Solution:   Free the buffer allocated for the new text. (Dominique Pelle)
Files:	    src/ex_cmds.c

Patch 7.2.019
Problem:    Completion of ":noautocmd" doesn't work and exists(":noautocmd")
	    returns zero. (Ben Fritz)
Solution:   Add "noautocmd" to the list of modifiers and commands.
Files:	    src/ex_cmds.h, src/ex_docmd.c

Patch 7.2.020
Problem:    Starting the GUI when the executable starts with 'k', but the KDE
	    version no longer exists.
Solution:   Don't have "kvim" start the GUI.
Files:	    src/main.c

Patch 7.2.021
Problem:    When executing autocommands getting the full file name may be
	    slow. (David Kotchan)
Solution:   Postpone calling FullName_save() until autocmd_fname is used.
Files:	    src/ex_docmd.c, src/fileio.c, src/globals.h

Patch 7.2.022 (extra)
Problem:    Testing is not possible when compiling with MingW.
Solution:   Add a MingW specific test Makefile. (Bill McCarthy)
Files:	    Filelist, src/testdir/Make_ming.mak

Patch 7.2.023
Problem:    'cursorcolumn' is in the wrong place in a closed fold when the
	    display is shifted left. (Gary Johnson)
Solution:   Subtract w_skipcol or w_leftcol when needed.
Files:	    src/screen.c

Patch 7.2.024
Problem:    It's possible to set 'history' to a negative value and that causes
	    an out-of-memory error.
Solution:   Check that 'history' has a positive value. (Doug Kearns)
Files:	    src/option.c

Patch 7.2.025
Problem:    When a CursorHold event invokes system() it is retriggered over
	    and over again.
Solution:   Don't reset did_cursorhold when getting K_IGNORE.
Files:	    src/normal.c

Patch 7.2.026 (after 7.2.010)
Problem:    "K" doesn't use the length of the identifier but uses the rest of
	    the line.
Solution:   Copy the desired number of characters first.
Files:	    src/normal.c

Patch 7.2.027
Problem:    Can use cscope commands in the sandbox.
Solution:   Disallow them, they might not be safe.
Files:	    src/ex_cmds.h

Patch 7.2.028
Problem:    Confusing error message for missing ().
Solution:   Change "braces" to "parentheses". (Gary Johnson)
Files:	    src/eval.c

Patch 7.2.029
Problem:    No completion for ":doautoall".
Solution:   Complete ":doautoall" like ":doautocmd".  (Doug Kearns)
Files:	    src/ex_docmd.c

Patch 7.2.030 (after 7.2.027)
Problem:    Can't compile.
Solution:   Remove prematurely added ex_oldfiles.
Files:	    src/ex_cmds.h

Patch 7.2.031
Problem:    Information in the viminfo file about previously edited files is
	    not available to the user.  There is no way to get a complete list
	    of files edited in previous Vim sessions.
Solution:   Add v:oldfiles and fill it with the list of old file names when
	    first reading the viminfo file.  Add the ":oldfiles" command,
	    ":browse oldfiles" and the "#<123" special file name.  Increase
	    the default value for 'viminfo' from '20 to '100.
Files:	    runtime/doc/cmdline.txt, runtime/doc/eval.txt,
	    runtime/doc/starting.txt, runtime/doc/usr_21.txt, src/eval.c,
	    src/ex_cmds.c, src/ex_cmds.h, src/ex_docmd.c, src/feature.h,
	    src/fileio.c, src/main.c, src/mark.c, src/misc1.c,
	    src/proto/eval.pro, src/proto/ex_cmds.pro, src/proto/mark.pro,
	    src/option.c, src/structs.h, src/vim.h

Patch 7.2.032 (after 7.2.031)
Problem:    Can't build with EXITFREE defined. (Dominique Pelle)
Solution:   Change vv_string to vv_str.
Files:	    src/eval.c

Patch 7.2.033
Problem:    When detecting a little endian BOM "ucs-2le" is used, but the text
	    might be "utf-16le".
Solution:   Default to "utf-16le", it also works for "ucs-2le". (Jia Yanwei)
Files:	    src/fileio.c, src/testdir/test42.ok

Patch 7.2.034
Problem:    Memory leak in spell info when deleting buffer.
Solution:   Free the memory. (Dominique Pelle)
Files:	    src/buffer.c

Patch 7.2.035
Problem:    Mismatches between alloc/malloc, free/vim_free,
	    realloc/vim_realloc.
Solution:   Use the right function. (Dominique Pelle)
Files:	    src/gui_x11.c, src/mbyte.c, src/misc2.c, src/os_unix.c

Patch 7.2.036 (extra)
Problem:    Mismatches between alloc/malloc, free/vim_free,
	    realloc/vim_realloc.
Solution:   Use the right function. (Dominique Pelle)
Files:	    src/gui_riscos.c, src/gui_w48.c, src/mbyte.c, src/os_vms.c,
	    src/os_w32exe.c, src/os_win16.c

Patch 7.2.037
Problem:    Double free with GTK 1 and compiled with EXITFREE.
Solution:   Don't close display. (Dominique Pelle)
Files:	    src/os_unix.c

Patch 7.2.038
Problem:    Overlapping arguments to memcpy().
Solution:   Use mch_memmove(). (Dominique Pelle)
Files:	    src/if_xcmdsrv.c

Patch 7.2.039
Problem:    Accessing freed memory on exit when EXITFREE is defined.
Solution:   Call hash_init() on the v: hash table.
Files:	    src/eval.c

Patch 7.2.040
Problem:    When using ":e ++ff=dos fname" and the file contains a NL without
	    a CR before it and 'ffs' contains "unix" then the fileformat
	    becomes unix.
Solution:   Ignore 'ffs' when using the ++ff argument. (Ben Schmidt)
	    Also remove unreachable code.
Files:	    src/fileio.c

Patch 7.2.041
Problem:    In diff mode, when using two tabs, each with two diffed buffers,
	    editing a buffer of the other tab messes up the diff.  (Matt
	    Mzyzik)
Solution:   Only copy options from a window where the buffer was edited that
	    doesn't have 'diff' set or is for the current tab page.
	    Also fix that window options for a buffer are stored with the
	    wrong window.
Files:	    src/buffer.c, src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c,
	    src/ex_getln.c, src/if_sniff.c, src/main.c, src/netbeans.c,
	    src/normal.c, src/popupmnu.c, src/proto/buffer.pro,
	    src/proto/ex_cmds.pro src/quickfix.c, src/window.c

Patch 7.2.042
Problem:    When using winrestview() in a BufWinEnter autocommand the window
	    is scrolled anyway. (Matt Zyzik)
Solution:   Don't recompute topline when above 'scrolloff' from the bottom.
	    Don't always put the cursor halfway when entering a buffer.  Add
	    "w_topline_was_set".
Files:	    src/buffer.c, src/move.c, src/structs.h

Patch 7.2.043
Problem:    VMS: Too many characters are escaped in filename and shell
	    commands.
Solution:   Escape fewer characters. (Zoltan Arpadffy)
Files:	    src/vim.h

Patch 7.2.044
Problem:    Crash because of STRCPY() being over protective of the destination
	    size. (Dominique Pelle)
Solution:   Add -D_FORTIFY_SOURCE=1 to CFLAGS.  Use an intermediate variable
	    for the pointer to avoid a warning.
Files:	    src/auto/configure, src/configure.in, src/eval.c

Patch 7.2.045
Problem:    The Python interface has an empty entry in sys.path.
Solution:   Filter out the empty entry. (idea from James Vega)
Files:	    src/if_python.c

Patch 7.2.046
Problem:    Wrong check for filling buffer with encoding. (Danek Duvall)
Solution:   Remove pointers. (Dominique Pelle)
Files:	    src/mbyte.c

Patch 7.2.047
Problem:    Starting Vim with the -nb argument while it's not supported causes
	    the other side to hang.
Solution:   When -nb is used while it's not supported exit Vim. (Xavier de
	    Gaye)
Files:	    src/main.c, src/vim.h

Patch 7.2.048
Problem:    v:prevcount is changed too often.  Counts are not multiplied when
	    setting v:count.
Solution:   Set v:prevcount properly.  Multiply counts. (idea by Ben Schmidt)
Files:	    src/eval.c, src/normal.c, src/proto/eval.pro

Patch 7.2.049 (extra)
Problem:    Win32: the clipboard doesn't support UTF-16.
Solution:   Change UCS-2 support to UTF-16 support. (Jia Yanwei)
Files:	    src/gui_w32.c, src/gui_w48.c, src/mbyte.c, src/misc1.c,
	    src/os_mswin.c, src/os_win32.c, src/proto/os_mswin.pro

Patch 7.2.050
Problem:    Warnings for not checking return value of fwrite(). (Chip Campbell)
Solution:   Use the return value.
Files:	    src/spell.c

Patch 7.2.051
Problem:    Can't avoid 'wildignore' and 'suffixes' for glob() and globpath().
Solution:   Add an extra argument to these functions. (Ingo Karkat)
Files:	    src/eval.c, src/ex_getln.c, src/proto/ex_getln.pro,
	    runtime/doc/eval.txt, runtime/doc/options.txt

Patch 7.2.052
Problem:    synIDattr() doesn't support "sp" for special color.
Solution:   Recognize "sp" and "sp#".  (Matt Wozniski)
Files:	    runtime/doc/eval.txt, src/eval.c

Patch 7.2.053
Problem:    Crash when using WorkShop command ":ws foo". (Dominique Pelle)
Solution:   Avoid using a NULL pointer.
Files:	    src/workshop.c

Patch 7.2.054
Problem:    Compilation warnings for format in getchar.c.
Solution:   Use fputs() instead of fprintf().  (Dominique Pelle)
Files:	    src/getchar.c

Patch 7.2.055
Problem:    Various compiler warnings with strict checking.
Solution:   Avoid the warnings by using return values and renaming.
Files:	    src/diff.c, src/eval.c, src/ex_cmds.c, src/ex_docmd.c,
	    src/fileio.c, src/fold.c, src/globals.h, src/gui.c,
	    src/gui_at_sb.c, src/gui_gtk_x11.c, src/gui_xmdlg.c,
	    src/gui_xmebw.c, src/main.c, src/mbyte.c, src/message.c,
	    src/netbeans.c, src/option.c, src/os_unix.c, src/spell.c,
	    src/ui.c, src/window.c

Patch 7.2.056 (after 7.2.050)
Problem:    Tests 58 and 59 fail.
Solution:   Don't invoke fwrite() with a zero length. (Dominique Pelle)
Files:	    src/spell.c

Patch 7.2.057 (after 7.2.056)
Problem:    Combination of int and size_t may not work.
Solution:   Use size_t for variable.
Files:	    src/spell.c

Patch 7.2.058
Problem:    Can't add a patch name to the ":version" output.
Solution:   Add the extra_patches array.
Files:	    src/version.c

Patch 7.2.059
Problem:    Diff display is not always updated.
Solution:   Update the display more often.
Files:	    src/diff.c

Patch 7.2.060
Problem:    When a spell files has many compound rules it may take a very long
	    time making the list of suggestions.  Displaying also can be slow
	    when there are misspelled words.
	    Can't parse some Hunspell .aff files.
Solution:   Check if a compounding can possibly work before trying a
	    combination, if the compound rules don't contain wildcards.
	    Implement using CHECKCOMPOUNDPATTERN.
	    Ignore COMPOUNDRULES.  Ignore a comment after most items.
	    Accept ONLYINCOMPOUND as an alias for NEEDCOMPOUND.
	    Accept FORBIDDENWORD as an alias for BAD.
Files:	    runtime/doc/spell.txt, src/spell.c

Patch 7.2.061
Problem:    Can't create a funcref for an autoload function without loading
	    the script first. (Marc Weber)
Solution:   Accept autoload functions that don't exist yet in function().
Files:	    src/eval.c

Patch 7.2.062
Problem:    "[Scratch]" is not translated.
Solution:   Mark the string for translation. (Dominique Pelle)
Files:	    src/buffer.c

Patch 7.2.063
Problem:    Warning for NULL argument of Perl_sys_init3().
Solution:   Use Perl_sys_init() instead. (partly by Dominique Pelle)
Files:	    src/if_perl.xs

Patch 7.2.064
Problem:    Screen update bug when repeating "~" on a Visual block and the
	    last line doesn't change.
Solution:   Keep track of changes for all lines.  (Moritz Orbach)
Files:	    src/ops.c

Patch 7.2.065
Problem:    GTK GUI: the cursor disappears when doing ":vsp" and the Vim
	    window is maximized.  (Dominique Pelle, Denis Smolyar)
Solution:   Don't change "Columns" back to an old value at a wrong moment.
	    Do change "Rows" when it should not be a problem.
Files:	    src/gui.c

Patch 7.2.066
Problem:    It's not easy to see whether 'encoding' is a multi-byte encoding.
Solution:   Add has('multi_byte_encoding').
Files:	    runtime/doc/eval.txt, src/eval.c

Patch 7.2.067
Problem:    Session file can't load extra file when the path contains special
	    characters.
Solution:   Escape the file name. (Lech Lorens)
Files:	    src/ex_docmd.c

Patch 7.2.068
Problem:    Emacs tags file lines can be too long, resulting in an error
	    message. (James Vega)
Solution:   Ignore lines with errors if they are too long.
Files:	    src/tag.c

Patch 7.2.069 (after 7.2.060)
Problem:    Compiler warning for storing size_t in int.
Solution:   Add type cast.
Files:	    src/spell.c

Patch 7.2.070
Problem:    Crash when a function returns a:000. (Matt Wozniski)
Solution:   Don't put the function struct on the stack, allocate it.  Free it
	    only when nothing in it is used.
Files:	    src/eval.c

Patch 7.2.071 (extra)
Problem:    Win32: Handling netbeans events while Vim is busy updating the
	    screen may cause a crash.
Solution:   Like with GTK, only handle netbeans messages in the main loop.
	    (Xavier de Gaye)
Files:	    src/gui_w48.c, src/netbeans.c

Patch 7.2.072 (extra)
Problem:    Compiler warning in Sniff code.
Solution:   Use return value of pipe(). (Dominique Pelle)
Files:	    src/if_sniff.c

Patch 7.2.073
Problem:    ":set <xHome>" has the same output as ":set <Home>". (Matt
	    Wozniski)
Solution:   Don't translate "x" keys to its alternative for ":set".
Files:	    src/gui_mac.c, src/misc2.c, src/option.c, src/proto/misc2.pro

Patch 7.2.074 (extra, after 7.2.073)
Problem:    ":set <xHome>" has the same output as ":set <Home>". (Matt
	    Wozniski)
Solution:   Don't translate "x" keys to its alternative for ":set".
Files:	    src/gui_mac.c

Patch 7.2.075 (after 7.2.058)
Problem:    Explanation about making a diff for extra_patches is unclear.
Solution:   Adjust comment.
Files:	    src/version.c

Patch 7.2.076
Problem:    rename(from, to) deletes the file if "from" and "to" are not equal
	    but still refer to the same file.  E.g., on a FAT32 filesystem
	    under Unix.
Solution:   Go through another file name.
Files:	    src/fileio.c

Patch 7.2.077 (after 7.2.076)
Problem:    rename(from, to) doesn't work if "from" and "to" differ only in
	    case on a system that ignores case in file names.
Solution:   Go through another file name.
Files:	    src/fileio.c

Patch 7.2.078
Problem:    When deleting a fold that is specified with markers the cursor
	    position may be wrong.  Folds may not be displayed properly after
	    a delete.  Wrong fold may be deleted.
Solution:   Fix the problems. (mostly by Lech Lorens)
Files:	    src/fold.c

Patch 7.2.079
Problem:    "killed" netbeans events are not handled correctly.
Solution:   A "killed" netbeans event is sent when the buffer is deleted or
	    wiped out (in this case, the netbeans annotations in this buffer
	    have been removed).  A user can still remove a sign with the
	    command ":sign unplace" and this does not trigger a "killed"
	    event.  (Xavier de Gaye)
Files:	    runtime/doc/netbeans.txt, src/buffer.c, src/globals.h,
	    src/netbeans.c, src/proto/netbeans.pro

Patch 7.2.080
Problem:    When typing a composing character just after starting completion
	    may access memory before its allocation point. (Dominique Pelle)
Solution:   Don't delete before the completion start column.  Add extra checks
	    for the offset not being negative.
Files:	    src/edit.c

Patch 7.2.081
Problem:    Compiler warning for floating point overflow on VAX.
Solution:   For VAX use a smaller number. (Zoltan Arpadffy)
Files:	    src/message.c

Patch 7.2.082
Problem:    When 'ff' is "mac" then "ga" on a ^J shows 0x0d instead of 0x0a.
	    (Andy Wokula)
Solution:   Use NL for this situation. (Lech Lorens)
Files:	    src/ex_cmds.c

Patch 7.2.083
Problem:    ":tag" does not return to the right tag entry from the tag stack.
Solution:   Don't change the current match when there is no argument.
	    (Erik Falor)
Files:	    src/tag.c

Patch 7.2.084
Problem:    Recursive structures are not handled properly in Python
	    vim.eval().
Solution:   Keep track of references in a better way. (Yukihiro Nakadaira)
Files:	    src/if_python.c

Patch 7.2.085
Problem:    ":set <M-b>=<Esc>b" does not work when 'encoding' is utf-8.
Solution:   Put the <M-b> character in the input buffer as valid utf-8.
	    (partly by Matt Wozniski)
Files:	    src/term.c

Patch 7.2.086
Problem:    Using ":diffget 1" in buffer 1 corrupts the text.
Solution:   Don't do anything when source and destination of ":diffget" or
	    ":diffput" is the same buffer. (Dominique Pelle)
Files:	    src/diff.c

Patch 7.2.087
Problem:    Adding URL to 'path' doesn't work to edit a file.
Solution:   Skip simplify_filename() for URLs. (Matt Wozniski)
Files:	    src/misc2.c

Patch 7.2.088 (extra)
Problem:    OpenClipboard() may fail when another application is using the
	    clipboard.
Solution:   Retry OpenClipboard() a few times. (Jianrong Yu)
Files:	    src/os_mswin.c

Patch 7.2.089 (extra)
Problem:    Win32: crash when using Ultramon buttons.
Solution:   Don't use a WM_OLE message of zero size. (Ray Megal)
Files:	    src/if_ole.cpp, src/gui_w48.c

Patch 7.2.090
Problem:    User command containing 0x80 in multi-byte character does not work
	    properly. (Yasuhiro Matsumoto)
Solution:   Undo replacement of K_SPECIAL and CSI characters when executing
	    the command.
Files:	    src/ex_docmd.c

Patch 7.2.091
Problem:    ":cs help" output is not aligned for some languages.
Solution:   Compute character size instead of byte size. (Dominique Pelle)
Files:	    src/if_cscope.c

Patch 7.2.092
Problem:    Some error messages are not translated.
Solution:   Add _() around the messages. (Dominique Pelle)
Files:	    src/eval.c

Patch 7.2.093 (extra)
Problem:    Win32: inputdialog() and find/replace dialogs can't handle
	    multi-byte text.
Solution:   Use the wide version of dialog functions when available. (Yanwei
	    Jia)
Files:	    src/gui_w32.c, src/gui_w48.c

Patch 7.2.094
Problem:    Compiler warning for signed/unsigned compare.
Solution:   Add type cast.  Also fix a few typos.
Files:	    src/edit.c

Patch 7.2.095
Problem:    With Visual selection, "r" and then CTRL-C Visual mode is stopped
	    but the highlighting is not removed.
Solution:   Call reset_VIsual().
Files:	    src/normal.c

Patch 7.2.096
Problem:    After ":number" the "Press Enter" message may be on the wrong
	    screen, if switching screens for shell commands.
Solution:   Reset info_message. (James Vega)
Files:	    src/ex_cmds.c

Patch 7.2.097
Problem:    "!xterm&" doesn't work when 'shell' is "bash".
Solution:   Ignore SIGHUP after calling setsid(). (Simon Schubert) 
Files:	    src/os_unix.c

Patch 7.2.098
Problem:    Warning for signed/unsigned pointer.
Solution:   Add type cast.
Files:	    src/eval.c

Patch 7.2.099
Problem:    Changing GUI options causes an unnecessary redraw when the GUI
	    isn't active.
Solution:   Avoid the redraw. (Lech Lorens)
Files:	    src/option.c

Patch 7.2.100
Problem:    When using ":source" on a FIFO or something else that can't rewind
	    the first three bytes are skipped.
Solution:   Instead of rewinding read the first line and detect a BOM in that.
	    (mostly by James Vega)
Files:	    src/ex_cmds2.c

Patch 7.2.101 (extra)
Problem:    MSVC version not recognized.
Solution:   Add the version number to the list.  (Zhong Zhang)
Files:	    src/Make_mvc.mak

Patch 7.2.102 (after 7.2.100)
Problem:    When 'encoding' is "utf-8" a BOM at the start of a Vim script is
	    not removed. (Tony Mechelynck)
Solution:   When no conversion is taking place make a copy of the line without
	    the BOM.
Files:	    src/ex_cmds2.c

Patch 7.2.103
Problem:    When 'bomb' is changed the window title is updated to show/hide a
	    "+", but the tab page label isn't. (Patrick Texier)
Solution:   Set "redraw_tabline" in most places where "need_maketitle" is set.
	    (partly by Lech Lorens)
Files:	    src/option.c

Patch 7.2.104
Problem:    When using ":saveas bar.c" the tab label isn't updated right away.
Solution:   Set redraw_tabline. (Francois Ingelrest)
Files:	    src/ex_cmds.c

Patch 7.2.105
Problem:    Modeline setting for 'foldmethod' overrules diff options. (Ingo
	    Karkat)
Solution:   Don't set 'foldmethod' and 'wrap' from a modeline when 'diff' is
	    on.
Files:	    src/option.c

Patch 7.2.106
Problem:    Endless loop when using "]s" in HTML when there are no
	    misspellings. (Ingo Karkat)
Solution:   Break the search loop.  Also fix pointer alignment for systems
	    with pointers larger than int.
Files:	    src/spell.c

Patch 7.2.107
Problem:    When using a GUI dialog and ":echo" commands the messages are
	    deleted after the dialog. (Vincent Birebent)
Solution:   Don't call msg_end_prompt() since there was no prompt.
Files:	    src/message.c

Patch 7.2.108 (after 7.2.105)
Problem:    Can't build without the diff feature.
Solution:   Add #ifdef.
Files:	    src/option.c

Patch 7.2.109
Problem:    'langmap' does not work for multi-byte characters.
Solution:   Add a list of mapped multi-byte characters. (based on work by
	    Konstantin Korikov, Agathoklis Hatzimanikas)
Files:	    runtime/doc/options.txt, src/edit.c, src/getchar.c, src/macros.h,
	    src/normal.c, src/option.c, src/proto/option.pro, src/window.c

Patch 7.2.110
Problem:    Compiler warning for unused variable.
Solution:   Init the variable.
Files:	    src/ex_docmd.c

Patch 7.2.111
Problem:    When using Visual block mode with 'cursorcolumn' it's unclear what
	    is selected.
Solution:   Don't use 'cursorcolumn' highlighting inside the Visual selection.
	    (idea by Dominique Pelle)
Files:	    src/screen.c

Patch 7.2.112
Problem:    Cursor invisible in Visual mode when 'number' is set and cursor in
	    first column. (Matti Niemenmaa, Renato Alves)
Solution:   Check that vcol_prev is smaller than vcol.
Files:	    src/screen.c

Patch 7.2.113
Problem:    Crash for substitute() call using submatch(1) while there is no
	    such submatch. (Yukihiro Nakadaira)
Solution:   Also check the start of the submatch is set, it can be NULL when
	    an attempted match didn't work out.
Files:	    src/regexp.c

Patch 7.2.114
Problem:    Using wrong printf format.
Solution:   Use "%ld" instead of "%d". (Dominique Pelle)
Files:	    src/netbeans.c

Patch 7.2.115
Problem:    Some debugging code is never used.
Solution:   Remove nbtrace() and nbprt(). (Dominique Pelle)
Files:	    src/nbdebug.c, src/nbdebug.h

Patch 7.2.116
Problem:    Not all memory is freed when EXITFREE is defined.
Solution:   Free allocated memory on exit. (Dominique Pelle)
Files:	    src/ex_docmd.c, src/gui_gtk_x11.c, src/misc2.c, src/search.c,
	    src/tag.c

Patch 7.2.117
Problem:    Location list incorrectly labelled "Quickfix List".
Solution:   Break out of both loops for finding window for location list
	    buffer. (Lech Lorens)
Files:	    src/buffer.c, src/quickfix.c, src/screen.c

Patch 7.2.118
Problem:    <PageUp> at the more prompt only does half a page.
Solution:   Make <PageUp> go up a whole page.  Also make 'f' go a page
	    forward, but not quit the more prompt. (Markus Heidelberg)
Files:	    src/message.c

Patch 7.2.119
Problem:    Status line is redrawn too often.
Solution:   Check ScreeenLinesUC[] properly. (Yukihiro Nakadaira)
Files:	    src/screen.c

Patch 7.2.120
Problem:    When opening the quickfix window or splitting the window and
	    setting the location list, the location list is copied and then
	    deleted, which is inefficient.
Solution:   Don't copy the location list when not needed. (Lech Lorens)
Files:	    src/quickfix.c, src/vim.h, src/window.c

Patch 7.2.121
Problem:    In gvim "!grep a *.c" spews out a lot of text that can't be
	    stopped with CTRL-C.
Solution:   When looping to read and show text, do check for typed characters
	    every two seconds.
Files:	    src/os_unix.c

Patch 7.2.122
Problem:    Invalid memory access when the VimResized autocommand changes
	    'columns' and/or 'lines'.
Solution:   After VimResized check for changed values. (Dominique Pelle)
Files:	    src/screen.c

Patch 7.2.123
Problem:    Typing 'q' at more prompt for ":map" output still displays another
	    line, causing another more prompt. (Markus Heidelberg)
Solution:   Quit listing maps when 'q' typed.
Files:	    src/getchar.c

Patch 7.2.124
Problem:    Typing 'q' at more prompt for ":tselect" output still displays
	    more lines, causing another more prompt. (Markus Heidelberg)
Solution:   Quit listing tags when 'q' typed.
Files:	    src/tag.c

Patch 7.2.125
Problem:    Leaking memory when reading XPM bitmap for a sign.
Solution:   Don't allocate the memory twice. (Dominique Pelle)
Files:	    src/gui_x11.c

Patch 7.2.126
Problem:    When EXITFREE is defined signs are not freed.
Solution:   Free all signs on exit.  Also free keymaps. (Dominique Pelle)
Files:	    src/misc2.c, src/ex_cmds.c, src/proto/ex_cmds.pro

Patch 7.2.127
Problem:    When listing mappings and a wrapping line causes the more prompt,
	    after typing 'q' there can be another more prompt. (Markus
	    Heidelberg)
Solution:   Set "lines_left" to allow more lines to be displayed.
Files:	    src/message.c

Patch 7.2.128 (after 7.2.055)
Problem:    Using ":lcd" makes session files not work.
Solution:   Compare return value of mch_chdir() properly. (Andreas Bernauer)
Files:	    src/ex_docmd.c

Patch 7.2.129
Problem:    When opening a command window from input() it uses the search
	    history.
Solution:   Use get_cmdline_type(). (James Vega)
Files:	    src/ex_getln.c

Patch 7.2.130
Problem:    Vim may hang until CTRL-C is typed when using CTRL-Z.
Solution:   Avoid using pause().  Also use "volatile" for variables used in
	    signal functions. (Dominique Pelle)
Files:	    src/auto/configure, src/configure.in, src/config.h.in,
	    src/globals.h, src/os_unix.c

Patch 7.2.131
Problem:    When 'keymap' is cleared may still use the cursor highlighting for
	    when it's enabled.
Solution:   Reset 'iminsert' and 'imsearch'. (partly by Dominique Pelle)
	    Also avoid ":setlocal" for these options have a global effect.
Files:	    src/option.c

Patch 7.2.132
Problem:    When changing directory during a SwapExists autocmd freed memory
	    may be accessed. (Dominique Pelle)
Solution:   Add the allbuf_lock flag.
Files:	    src/ex_getln.c, src/globals.h, src/fileio.c,
	    src/proto/ex_getln.pro

Patch 7.2.133
Problem:    ":diffoff!" changes settings in windows not in diff mode.
Solution:   Only change settings in other windows when 'diff' is set, always
	    do it for the current window. (Lech Lorens)
Files:	    src/diff.c

Patch 7.2.134
Problem:    Warning for discarding "const" from pointer.
Solution:   Don't pass const pointer to mch_memmove().
Files:	    src/fileio.c

Patch 7.2.135
Problem:    Memory leak when redefining user command with complete argument.
Solution:   Free the old complete argument. (Dominique Pelle)
Files:	    src/ex_docmd.c

Patch 7.2.136 (after 7.2.132)
Problem:    ":cd" is still possible in a SwapExists autocmd.
Solution:   Check the allbuf_lock flag in ex_cd().
Files:	    src/ex_docmd.c

Patch 7.2.137
Problem:    When 'virtualedit' is set, a left shift of a blockwise selection
	    that starts and ends inside a tab shifts too much. (Helmut
	    Stiegler)
Solution:   Redo the block left shift code. (Lech Lorens)
Files:	    src/ops.c, src/testdir/Makefile, src/testdir/test66.in,
	    src/testdir/test66.ok

Patch 7.2.138 (extra part of 7.2.137)
Problem:    See 7.2.137.
Solution:   See 7.2.137.
Files:	    src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
	    src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
	    src/testdir/Make_vms.mms

Patch 7.2.139
Problem:    Crash when 'virtualedit' is "all". (James Vega)
Solution:   Avoid overflow when column is MAXCOL. (Dominique Pelle)
Files:	    src/misc2.c

Patch 7.2.140
Problem:    Diff highlighting isn't displayed before the Visual area if it
	    starts at the cursor position. (Markus Heidelberg)
Solution:   Also check fromcol_prev.
Files:	    src/screen.c

Patch 7.2.141
Problem:    When redrawing a character for bold spill this causes the next
	    character to be redrawn as well.
Solution:   Only redraw one extra character. (Yukihiro Nakadaira)
Files:	    src/screen.c

Patch 7.2.142
Problem:    Motif and Athena balloons don't use tooltip colors.
Solution:   Set the colors. (Matt Wozniski)
Files:	    src/gui_beval.c

Patch 7.2.143
Problem:    No command line completion for ":cscope" command.
Solution:   Add the completion for ":cscope". (Dominique Pelle)
Files:	    src/ex_docmd.c, src/ex_getln.c, src/if_cscope.c,
	    src/proto/if_cscope.pro, src/vim.h

Patch 7.2.144
Problem:    When 't_Co' is set to the value it already had the color scheme is
	    reloaded anyway.
Solution:   Only load the colorscheme when the t_Co value changes. (Dominique
	    Pelle)
Files:	    src/option.c

Patch 7.2.145
Problem:    White space in ":cscope find" is not ignored.
Solution:   Ignore the white space, but not when the leading white space is
	    useful for the argument.
Files:	    runtime/doc/if_scop.txt, src/if_cscope.c

Patch 7.2.146
Problem:    v:warningmsg isn't used for all warnings.
Solution:   Set v:warningmsg for relevant warnings. (Ingo Karkat)
Files:	    src/fileio.c, src/misc1.c, src/option.c

Patch 7.2.147
Problem:    When compiled as small version and 'number' is on the cursor is
	    displayed in the wrong position after a tab. (James Vega)
Solution:   Don't increment vcol when still displaying the line number.
Files:	    src/screen.c

Patch 7.2.148
Problem:    When searching for "$" while 'hlsearch' is set, highlighting the
	    character after the line does not work in the cursor column.
	    Also highlighting for Visual mode after the line end when this
	    isn't needed.  (Markus Heidelberg)
Solution:   Only compare the cursor column in the cursor line.  Only highlight
	    for Visual selection after the last character when it's needed to
	    see where the Visual selection ends.
Files:	    src/screen.c

Patch 7.2.149
Problem:    Using return value of function that doesn't return a value results
	    in reading uninitialized memory.
Solution:   Set the default to return zero.  Make cursor() return -1 on
	    failure.  Let complete() return an empty string in case of an
	    error.  (partly by Dominique Pelle)
Files:	    runtime/doc/eval.txt, src/eval.c

Patch 7.2.150 (extra)
Problem:    Can't use tab pages from VisVim.
Solution:   Add tab page support to VisVim. (Adam Slater)
Files:	    src/VisVim/Commands.cpp, src/VisVim/Resource.h,
	    src/VisVim/VisVim.rc

Patch 7.2.151
Problem:    ":hist a" doesn't work like ":hist all" as the docs suggest.
Solution:   Make ":hist a" and ":hist al" work. (Dominique Pelle)
Files:	    src/ex_getln.c

Patch 7.2.152
Problem:    When using "silent echo x" inside ":redir" a next echo may start
	    halfway the line. (Tony Mechelynck, Dennis Benzinger)
Solution:   Reset msg_col after redirecting silently.
Files:	    src/ex_docmd.c, src/message.c, src/proto/message.pro

Patch 7.2.153
Problem:    Memory leak for ":recover empty_dir/".
Solution:   Free files[] when it becomes empty. (Dominique Pelle)
Files:	    src/memline.c

Patch 7.2.154 (after 7.2.132)
Problem:    ":cd" is still possible in a SwapExists autocmd.
Solution:   Set allbuf_lock in do_swapexists().
Files:	    src/memline.c

Patch 7.2.155
Problem:    Memory leak in ":function /pat".
Solution:   Free the memory. (Dominique Pelle)
Files:	    src/eval.c

Patch 7.2.156 (after 7.2.143)
Problem:    No completion for :scscope and :lcscope commands.
Solution:   Implement the completion. (Dominique Pelle)
Files:	    src/if_cscope.c, src/ex_docmd.c, src/proto/if_cscope.pro

Patch 7.2.157
Problem:    Illegal memory access when searching in path.
Solution:   Avoid looking at a byte after end of a string. (Dominique Pelle)
Files:	    src/search.c

Patch 7.2.158
Problem:    Warnings from VisualC compiler.
Solution:   Add type casts. (George Reilly)
Files:	    src/ops.c

Patch 7.2.159
Problem:    When $x_includes ends up being "NONE" configure fails.
Solution:   Check for $x_includes not to be "NONE" (Rainer)
Files:	    src/auto/configure, src/configure.in

Patch 7.2.160
Problem:    Search pattern not freed on exit when 'rightleft' set.
Solution:   Free mr_pattern_alloced.
Files:	    src/search.c

Patch 7.2.161
Problem:    Folds messed up in other tab page. (Vlad Irnov)
Solution:   Instead of going over all windows in current tab page go over all
	    windows in all tab pages.  Also free memory for location lists in
	    other tab pages when exiting. (Lech Lorens)
Files:	    src/fileio.c, src/mark.c, src/misc1.c, src/misc2.c

Patch 7.2.162
Problem:    The quickfix window may get wrong filetype.
Solution:   Do not detect the filetype for the quickfix window. (Lech Lorens)
Files:	    src/quickfix.c

Patch 7.2.163
Problem:    The command line window may get folding.
Solution:   Default to no/manual folding. (Lech Lorens)
Files:	    src/ex_getln.c

Patch 7.2.164
Problem:    When 'showbreak' is set the size of the Visual block may be
	    reported wrong. (Eduardo Daudt Flach)
Solution:   Temporarily make 'sbr' empty.
Files:	    src/normal.c, src/ops.c

Patch 7.2.165
Problem:    The argument for the FuncUndefined autocmd event is expanded like
	    a file name.
Solution:   Don't try expanding it. (Wang Xu)
Files:	    src/fileio.c

Patch 7.2.166
Problem:    No completion for ":sign" command.
Solution:   Add ":sign" completion. (Dominique Pelle)
Files:	    src/ex_cmds.c, src/ex_docmd.c, src/ex_getln.c, src/vim.h,
	    src/proto/ex_cmds.pro

Patch 7.2.167
Problem:    Splint doesn't work well for checking the code.
Solution:   Add splint arguments in the Makefile.  Exclude some code from
	    splint that it can't handle.  Tune splint arguments to give
	    reasonable errors.  Add a filter for removing false warnings from
	    splint output.  Many small changes to avoid warnings.  More to
	    follow...
Files:	    Filelist, src/Makefile, src/buffer.c, src/charset.c,
	    src/cleanlint.vim, src/digraph.c, src/edit.c, src/ex_cmds.c,
	    src/globals.h, src/ops.c, src/os_unix.c, src/os_unix.h,
	    src/proto/buffer.pro, src/proto/edit.pro, src/screen.c,
	    src/structs.h

Patch 7.2.168
Problem:    When no ctags program can be found, "make tags" attempts to
	    execute the first C file.
Solution:   Default to "ctags" when no ctags program can be found.
Files:	    src/configure.in, src/auto/configure

Patch 7.2.169
Problem:    Splint complains about a lot of things.
Solution:   Add type casts, #ifdefs and other changes to avoid warnings.
	    Change colnr_T from unsigned to int.  Avoids mistakes with
	    subtracting columns.
Files:	    src/cleanlint.vim, src/diff.c, src/edit.c, src/ex_cmds.c,
	    src/ex_cmds2.c, src/ex_docmd.c, src/proto/ex_cmds.pro,
	    src/proto/spell.pro, src/quickfix.c, src/spell.c, src/structs.h,
	    src/term.h, src/vim.h

Patch 7.2.170
Problem:    Using b_dev while it was not set. (Dominique Pelle)
Solution:   Add the b_dev_valid flag.
Files:	    src/buffer.c, src/fileio.c, src/structs.h

Patch 7.2.171 (after 7.2.169)
Problem:    Compiler warnings. (Tony Mechelynck)
Solution:   Add function prototype. (Patrick Texier)  Init variable.
Files:	    src/ex_cmds.c

Patch 7.2.172 (extra)
Problem:    Compiler warning.
Solution:   Adjust function prototype. (Patrick Texier)
Files:	    src/os_mswin.c

Patch 7.2.173
Problem:    Without lint there is no check for unused function arguments.
Solution:   Use gcc -Wunused-parameter instead of lint.  For a few files add
	    attributes to arguments that are known not to be used.
Files:	    src/auto/configure, src/buffer.c, src/charset.c, src/diff.c,
	    src/configure.in, src/config.h.in, src/edit.c, src/ex_cmds.c,
	    src/ex_cmds2.c, src/version.c, src/vim.h

Patch 7.2.174
Problem:    Too many warnings from gcc -Wextra.
Solution:   Change initializer.  Add UNUSED.  Add type casts.
Files:	    src/edit.c, src/eval.c, src/ex_cmds.c, src/ex_docmd.c,
	    src/ex_getln.c, src/fileio.c, getchar.c, globals.h, main.c,
	    memline.c, message.c, src/misc1.c, src/move.c, src/normal.c,
	    src/option.c, src/os_unix.c, src/os_unix.h, src/regexp.c,
	    src/search.c, src/tag.c

Patch 7.2.175
Problem:    Compiler warning in OpenBSD.
Solution:   Add type cast for NULL. (Dasn)
Files:	    src/if_cscope.c

Patch 7.2.176
Problem:    Exceptions for splint are not useful.
Solution:   Remove the S_SPLINT_S ifdefs.
Files:	    src/edit.c, src/ex_cmds.c, src/ex_docmd.c, src/os_unix.c,
	    src/os_unix.h, src/os_unixx.h, src/structs.h, src/term.h

Patch 7.2.177
Problem:    Compiler warnings when using -Wextra
Solution:   Add UNUSED and type casts.
Files:	    src/eval.c, src/ex_docmd.c, src/ex_eval.c, src/ex_getln.c,
	    src/fileio.c, src/hardcopy.c, src/if_cscope.c, src/if_xcmdsrv.c,
	    src/farsi.c, src/mark.c, src/menu.c

Patch 7.2.178
Problem:    Using negative value for device number might not work.
Solution:   Use a separate flag for whether ffv_dev was set.
Files:	    src/misc2.c

Patch 7.2.179
Problem:    Using negative value for device number might not work.
Solution:   Use a separate flag for whether sn_dev was set.
Files:	    src/ex_cmds2.c

Patch 7.2.180
Problem:    Some more compiler warnings when using gcc -Wextra.
Solution:   Add UNUSED and type casts.
Files:	    src/buffer.c, src/ex_cmds.c, src/macros.h, src/main.c,
	    src/menu.c, src/message.c, src/misc1.c, src/mbyte.c,
	    src/normal.c, src/option.c, src/os_unix.c, src/quickfix.c,
	    src/screen.c, src/search.c, src/spell.c, src/syntax.c, src/tag.c,
	    src/term.c, src/ui.c

Patch 7.2.181
Problem:    Some more compiler warnings when using gcc -Wextra.
Solution:   Add UNUSED and type casts.
Files:	    src/if_mzsch.c, src/gui.c, src/gui_gtk.c, src/gui_gtk_x11.c,
	    src/gui_gtk_f.c, src/gui_beval.c, src/netbeans.c

Patch 7.2.182 (after 7.2.181)
Problem:    Compilation problems after previous patch for Motif.  Gvim with
	    GTK crashes on startup.
Solution:   Add comma.  Init form structure to zeroes.
Files:	    src/netbeans.c, src/gui_gtk_f.c

Patch 7.2.183
Problem:    Configure problem for sys/sysctl.h on OpenBSD. (Dasn)
Solution:   Add separate check for this header file.  Also switch to newer
	    version of autoconf.
Files:	    src/auto/configure, src/configure.in

Patch 7.2.184
Problem:    Some more compiler warnings when using gcc -Wextra.
Solution:   Add UNUSED and type casts.  Autoconf check for wchar_t.
Files:	    src/auto/configure, src/config.h.in, src/configure.in,
	    src/gui_athena.c, src/gui_x11.c, src/gui.c, src/gui_beval.c,
	    src/gui_at_sb.c, src/gui_at_fs.c, src/gui_motif.c,
	    src/gui_xmdlg.c, src/gui_xmebw.c, src/if_python.c, src/window.c,
	    src/workshop.c

Patch 7.2.185
Problem:    Some more compiler warnings when using gcc -Wextra.
Solution:   Add UNUSED and type casts.
Files:	    src/Makefile, src/if_tlc.c, src/if_ruby.c

Patch 7.2.186
Problem:    Some more compiler warnings when using gcc -Wextra.
Solution:   Now with the intended if_tcl.c changes.
Files:	    src/if_tcl.c

Patch 7.2.187 (after 7.2.186)
Problem:    Doesn't build with older versions of TCL. (Yongwei Wu)
Solution:   Add #ifdefs. (Dominique Pelle)
Files:	    src/if_tcl.c

Patch 7.2.188
Problem:    Crash with specific use of function calls. (Meikel Brandmeyer)
Solution:   Make sure the items referenced by a function call are not freed
	    twice.  (based on patch from Nico Weber)
Files:	    src/eval.c

Patch 7.2.189
Problem:    Possible hang for deleting auto-indent. (Dominique Pelle)
Solution:   Make sure the position is not beyond the end of the line.
Files:	    src/edit.c

Patch 7.2.190
Problem:    The register executed by @@ isn't restored.
Solution:   Mark the executable register in the viminfo file.
Files:	    src/ops.c

Patch 7.2.191
Problem:    Mzscheme interface doesn't work on Ubuntu.
Solution:   Change autoconf rules.  Define missing macro.  Some changes to
	    avoid gcc warnings.  Remove per-buffer namespace. (Sergey Khorev)
Files:	    runtime/doc/if_mzsch.txt, src/Makefile, src/Make_ming.mak,
	    src/Make_mvc.mak, src/auto/configure, src/configure.in,
	    src/config.mk.in, src/eval.c, src/if_mzsch.c, src/if_mzsch.h,
	    src/main.c, src/proto/if_mzsch.pro

Patch 7.2.192 (after 7.2.188)
Problem:    Still a crash in the garbage collector for a very rare situation.
Solution:   Make sure current_copyID is always incremented correctly. (Kent
	    Sibilev)
Files:	    src/eval.c

Patch 7.2.193
Problem:    Warning for uninitialized values.
Solution:   Initialize all the struct items.
Files:	    src/eval.c

Patch 7.2.194 (extra)
Problem:    MSVC: rem commands are echoed.
Solution:   Add commands to switch off echo. (Wang Xu)
Files:	    src/msvc2008.bat

Patch 7.2.195
Problem:    Leaking memory for the command Vim was started with.
Solution:   Remember the pointer and free it.
Files:	    src/gui_gtk_x11.c

Patch 7.2.196 (after 7.2.167)
Problem:    Turns out splint doesn't work well enough to be usable.
Solution:   Remove splint support.
Files:	    Filelist, src/cleanlint.vim

Patch 7.2.197
Problem:    Warning for uninitialized values.
Solution:   Initialize all the struct items of typebuf.
Files:	    src/globals.h

Patch 7.2.198
Problem:    Size of buffer used for tgetent() may be too small.
Solution:   Use the largest known size everywhere.
Files:	    src/vim.h

Patch 7.2.199
Problem:    Strange character in comment.
Solution:   Change to "message". (Yongwei Wu)
Files:	    src/term.c

Patch 7.2.200
Problem:    Reading past end of string when navigating the menu bar or
	    resizing the window.
Solution:   Add and use mb_ptr2len_len(). (partly by Dominique Pelle)
	    Also add mb_ptr2cells_len() to prevent more trouble.
Files:	    src/gui_gtk_x11.c, src/os_unix.c, src/globals.h, src/mbyte.c,
	    src/proto/mbyte.pro

Patch 7.2.201
Problem:    Cannot copy/paste HTML to/from Firefox via the clipboard.
Solution:   Implement this for GTK.  Add the "html" value to 'clipboard'.
Files:	    runtime/doc/options.txt, src/globals.h, src/gui_gtk_x11.c,
	    src/mbyte.c, src/proto/mbyte.pro, src/option.c

Patch 7.2.202
Problem:    BufWipeout autocommand that edits another buffer causes problems.
Solution:   Check for the situation, give an error and quit the operation.
Files:	    src/fileio.c

Patch 7.2.203
Problem:    When reloading a buffer or doing anything else with a buffer that
	    is not displayed in a visible window, autocommands may be applied
	    to the current window, folds messed up, etc.
Solution:   Instead of using the current window for the hidden buffer use a
	    special window, splitting the current one temporarily.
Files:	    src/fileio.c, src/globals.h, src/gui.c, src/if_perl.xs,
	    src/progo/gui.pro, src/proto/window.pro, src/screen.c,
	    src/structs.h, src/window.c

Patch 7.2.204 (extra)
Problem:    Win32: Can't build with Visual Studio 2010 beta 1.
Solution:   Fix the makefile. (George Reilly)
Files:	    src/Make_mvc.mak

Patch 7.2.205 (extra)
Problem:    Win32: No support for High DPI awareness.
Solution:   Fix the manifest file. (George Reilly)
Files:	    src/Make_mvc.mak, src/gvim.exe.mnf

Patch 7.2.206
Problem:    Win32: Can't build netbeans interface with Visual Studio 2010.
Solution:   Undefine ECONNREFUSED. (George Reilly)
Files:	    src/netbeans.c

Patch 7.2.207
Problem:    Using freed memory with ":redrawstatus" when it works recursively.
Solution:   Prevent recursively updating the status line. (partly by Dominique
	    Pelle)
Files:	    src/screen.c

Patch 7.2.208
Problem:    "set novice" gives an error message, it should be ignored.
Solution:   Don't see "no" in "novice" as unsetting an option.  (Patrick
	    Texier)
Files:	    src/option.c

Patch 7.2.209
Problem:    For xxd setmode() is undefined on Cygwin.
Solution:   Include io.h. (Dominique Pelle)
Files:	    src/xxd/xxd.c

Patch 7.2.210
Problem:    When a file that is being edited has its timestamp updated outside
	    of Vim and ":checktime" is used still get a warning when writing
	    the file. (Matt Mueller)
Solution:   Store the timestamp in b_mtime_read when the timestamp is the only
	    thing that changed.
Files:	    src/fileio.c

Patch 7.2.211
Problem:    Memory leak when expanding a series of file names.
Solution:   Use ga_clear_strings() instead of ga_clear().
Files:	    src/misc1.c

Patch 7.2.212 (extra)
Problem:    Warnings for redefining SIG macros.
Solution:   Don't define them if already defined. (Bjorn Winckler)
Files:	    src/os_mac.h

Patch 7.2.213
Problem:    Warning for using vsprintf().
Solution:   Use vim_vsnprintf().
Files:	    src/netbeans.c

Patch 7.2.214
Problem:    Crash with complete function for user command. (Andy Wokula)
Solution:   Avoid using a NULL pointer (Dominique Pelle)
Files:	    src/ex_getln.c

Patch 7.2.215
Problem:    ml_get error when using ":vimgrep".
Solution:   Load the memfile for the hidden buffer before putting it in a
	    window.  Correct the order of splitting the window and filling
	    the window and buffer with data.
Files:	    src/fileio.c, src/proto/window.pro, src/quickfix.c, src/window.c

Patch 7.2.216
Problem:    Two error messages have the same number E812.
Solution:   Give one message a different number.
Files:	    runtime/doc/autocmd.txt, runtime/doc/if_mzsch.txt, src/if_mzsch.c

Patch 7.2.217
Problem:    Running tests with valgrind doesn't work as advertised.
Solution:   Fix the line in the Makefile.
Files:	    src/testdir/Makefile

Patch 7.2.218
Problem:    Cannot build GTK with hangul_input feature. (Dominique Pelle)
Solution:   Adjust #ifdef.  (SungHyun Nam)
Files:	    src/gui.c

Patch 7.2.219 (extra)
Problem:    Photon GUI is outdated.
Solution:   Updates for QNX 6.4.0. (Sean Boudreau)
Files:	    src/gui_photon.c

Patch 7.2.220 (after 7.2.215)
Problem:    a BufEnter autocommand that changes directory causes problems.
	    (Ajit Thakkar)
Solution:   Disable autocommands when opening a hidden buffer in a window.
Files:	    src/fileio.c

Patch 7.2.221
Problem:    X cut_buffer0 text is used as-is, it may be in the wrong encoding.
Solution:   Convert between 'enc' and latin1. (James Vega)
Files:	    src/gui_gtk_x11.c, src/message.c, src/ops.c, src/proto/ui.pro,
	    src/ui.c

Patch 7.2.222
Problem:   ":mksession" doesn't work properly with 'acd' set. 
Solution:   Make it work. (Yakov Lerner)
Files:	    src/ex_docmd.c

Patch 7.2.223
Problem:    When a script is run with ":silent" it is not able to give warning
	    messages.
Solution:   Add the ":unsilent" command.
Files:	    runtime/doc/various.txt, src/ex_cmds.h, src/ex_docmd.c

Patch 7.2.224
Problem:    Crash when using 'completefunc'. (Ingo Karkat)
Solution:   Disallow entering edit() recursively when doing completion.
Files:	    src/edit.c

Patch 7.2.225
Problem:    When using ":normal" a saved character may be executed.
Solution:   Also store old_char when saving typeahead.
Files:	    src/getchar.c, src/structs.h

Patch 7.2.226
Problem:    ml_get error after deleting the last line. (Xavier de Gaye)
Solution:   When adjusting marks a callback may be invoked.  Adjust the cursor
	    position before invoking deleted_lines_mark().
Files:	    src/ex_cmds.c, src/ex_docmd.c, src/if_mzsch.c, src/if_python.c,
	    src/if_perl.xs, src/misc1.c

Patch 7.2.227
Problem:    When using ":cd" in a script there is no way to track this.
Solution:   Display the directory when 'verbose' is 5 or higher.
Files:	    src/ex_docmd.c

Patch 7.2.228
Problem:    Cscope is limited to 8 connections.
Solution:   Allocated the connection array to handle any number of
	    connections. (Dominique Pelle)
Files:	    runtime/doc/if_cscop.txt, src/if_cscope.h, src/if_cscope.c

Patch 7.2.229
Problem:    Warning for shadowed variable.
Solution:   Rename "wait" to "wait_time".
Files:	    src/os_unix.c

Patch 7.2.230
Problem:    A few old lint-style ARGUSED comments.
Solution:   Change to the new UNUSED style.
Files:	    src/getchar.c

Patch 7.2.231
Problem:    Warning for unreachable code.
Solution:   Add #ifdef.
Files:	    src/if_perl.xs

Patch 7.2.232
Problem:    Cannot debug problems with being in a wrong directory.
Solution:   When 'verbose' is 5 or higher report directory changes.
Files:	    src/os_unix.c, src/os_unix.h, src/proto/os_unix.pro

Patch 7.2.233 (extra part of 7.2.232)
Problem:    Cannot debug problems with being in a wrong directory.
Solution:   When 'verbose' is 5 or higher report directory changes.
Files:	    src/os_msdos.c, src/os_mswin.c, src/os_riscos.c, src/os_mac.h

Patch 7.2.234
Problem:    It is not possible to ignore file names without a suffix.
Solution:   Use an empty entry in 'suffixes' for file names without a dot.
Files:	    runtime/doc/cmdline.txt, src/misc1.c

Patch 7.2.235
Problem:    Using CTRL-O z= in Insert mode has a delay before redrawing.
Solution:   Reset msg_didout and msg_scroll.
Files:	    src/misc1.c, src/spell.c

Patch 7.2.236
Problem:    Mac: Compiling with Ruby doesn't always work.
Solution:   In configure filter out the --arch argument (Bjorn Winckler)
Files:	    src/configure.in, src/auto/configure

Patch 7.2.237
Problem:    Crash on exit when window icon not set.
Solution:   Copy terminal name when using it for the icon name.
Files:	    src/os_unix.c

Patch 7.2.238
Problem:    Leaking memory when setting term to "builtin_dumb".
Solution:   Free memory when resetting term option t_Co.
Files:	    src/option.c, src/proto/option.pro, src/term.c

Patch 7.2.239
Problem:    Using :diffpatch twice or when patching fails causes memory
	    corruption and/or a crash.  (Bryan Venteicher)
Solution:   Detect missing output file.  Avoid using non-existing buffer.
Files:	    src/diff.c

Patch 7.2.240
Problem:    Crash when using find/replace dialog repeatedly. (Michiel
	    Hartsuiker)
Solution:   Avoid doing the operation while busy or recursively.  Also refuse
	    replace when text is locked.
Files:	    src/gui.c

Patch 7.2.241
Problem:    When using a combination of ":bufdo" and "doautoall" we may end up
	    in the wrong directory. (Ajit Thakkar)
	    Crash when triggering an autocommand in ":vimgrep".  (Yukihiro
	    Nakadaira)
Solution:   Clear w_localdir and globaldir when using the aucmd_win.
	    Use a separate flag to decide aucmd_win needs to be restored.
Files:	    src/fileio.c, src/globals.h, src/structs.h

Patch 7.2.242
Problem:    Setting 'lazyredraw' causes the cursor column to be recomputed.
	    (Tom Link)
Solution:   Only recompute the cursor column for a boolean option if changes
	    the cursor position.
Files:	    src/option.c

Patch 7.2.243
Problem:    Memory leak when using :vimgrep and resizing. (Dominique Pelle)
Solution:   Free memory for aucmd_win when resizing and don't allocate it
	    twice.
Files:	    src/screen.c

Patch 7.2.244
Problem:    When 'enc' is utf-8 and 'fenc' is latin1, writing a non-latin1
	    character gives a conversion error without any hint what is wrong.
Solution:   When known add the line number to the error message.
Files:	    src/fileio.c

Patch 7.2.245
Problem:    When 'enc' is "utf-16" and 'fenc' is "utf-8" writing a file does
	    conversion while none should be done. (Yukihiro Nakadaira) When
	    'fenc' is empty the file is written as utf-8 instead of utf-16.
Solution:   Do proper comparison of encodings, taking into account that all
	    Unicode values for 'enc' use utf-8 internally.
Files:	    src/fileio.c

Patch 7.2.246
Problem:    Cscope home page link is wrong.
Solution:   Update the URL. (Sergey Khorev)
Files:	    runtime/doc/if_cscop.txt

Patch 7.2.247
Problem:    Mzscheme interface minor problem.
Solution:   Better error message when build fails. (Sergey Khorev)
Files:	    src/if_mzsch.c

Patch 7.2.248 (extra)
Problem:    Mzscheme interface building minor problems.
Solution:   Update Win32 makefiles. (Sergey Khorev)
Files:	    src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak

Patch 7.2.249
Problem:    The script to check .po files can't handle '%' in plural forms.
Solution:   Remove "Plural-Forms:" from the checked string.
Files:	    src/po/check.vim

Patch 7.2.250 (extra)
Problem:    Possible buffer overflow.
Solution:   Compute the remaining space. (Dominique Pelle)
Files:	    src/GvimExt/gvimext.cpp

Patch 7.2.251 (after 7.2.044)
Problem:    Compiler adds invalid memory bounds check.
Solution:   Remove _FORTIFY_SOURCE=2 from CFLAGS. (Dominique Pelle)
Files:	    src/auto/configure, src/configure.in

Patch 7.2.252
Problem:    When using a multi-byte 'enc' the 'iskeyword' option cannot
	    contain characters above 128.
Solution:   Use mb_ptr2char_adv().
Files:	    src/charset.c

Patch 7.2.253
Problem:    Netbeans interface: getLength always uses current buffer.
Solution:   Use ml_get_buf() instead of ml_get(). (Xavier de Gaye)
Files:	    src/netbeans.c

Patch 7.2.254
Problem:    Compiler warning for assigning size_t to int.
Solution:   Use size_t for the variable. (George Reilly)
Files:	    src/fileio.c

Patch 7.2.255 (after 7.2.242)
Problem:    Setting 'rightleft', 'linebreak' and 'wrap' may cause cursor to be
	    in wrong place.
Solution:   Recompute the cursor column for these options.
Files:	    src/option.c

Patch 7.2.256
Problem:    When 'guifont' was not set GTK font dialog doesn't have a default.
	    (Andreas Metzler)
Solution:   Set default to DEFAULT_FONT. (James Vega)
Files:	    src/gui_gtk_x11.c

Patch 7.2.257
Problem:    With GTK 2.17 lots of assertion error messages.
Solution:   Remove check for static gravity. (Sebastian Droege)
Files:	    src/gui_gtk_f.c

Patch 7.2.258
Problem:    v:beval_col and b:beval_text are wrong in UTF-8 text. (Tony
	    Mechelynck)
Solution:   Use byte number instead of character number for the column.
Files:	    src/ui.c

Patch 7.2.259
Problem:    exists() doesn't work properly for an empty aucmd group.
Solution:   Change how au_exists() handles a missing pattern.  Also add a
	    test for this. (Bob Hiestand)
Files:	    src/fileio.c, src/testdir/Makefile, src/testdir/test67.in,
	    src/testdir/test67.ok

Patch 7.2.260 (extra part of 7.2.259)
Problem:    exists() doesn't work properly for empty aucmd group.
Solution:   Change how au_exists() handles a missing pattern.  Also add a
	    test for this. (Bob Hiestand)
Files:	    src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
	    src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
	    src/testdir/Make_vms.mms

Patch 7.2.261
Problem:    When deleting lines with a specific folding configuration E38 may
	    appear. (Shahaf)
Solution:   When adjusting nested folds for deleted lines take into account
	    that they don't start at the top of the enclosing fold.
Files:	    src/fold.c

Patch 7.2.262
Problem:    When using custom completion for a user command the pattern string
	    goes beyond the cursor position. (Hari Krishna Dara)
Solution:   Truncate the string at the cursor position.
Files:	    src/ex_getln.c, src/structs.h

Patch 7.2.263
Problem:    GTK2: when using the -geom argument with an offset from the right
	    edge and the size is smaller than the default, the Vim window is
	    not positioned properly.
Solution:   Use another function to set the size. (Vitaly Minko)
Files:	    src/gui_gtk_x11.c

Patch 7.2.264
Problem:    GTK2: When the Vim window is maximized setting 'columns' or
	    'lines' doesn't work.
Solution:   Unmaximize the window before setting the size. (Vitaly Minko)
Files:	    src/gui.c, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro

Patch 7.2.265
Problem:    When using ":silent broken" inside try/catch silency may persist.
	    (dr-dr xp)
Solution:   Set msg_silent when there is an error and it's bigger than the
	    saved value.
Files:	    src/ex_docmd.c

Patch 7.2.266
Problem:    When an expression abbreviation is triggered, the typed character
	    is unknown.
Solution:   Make the typed character available in v:char.
Files:	    runtime/doc/map.txt, src/eval.c, src/getchar.c, src/ops.c,
	    src/proto/eval.pro

Patch 7.2.267
Problem:    Crash for narrow window and double-width character.
Solution:   Check for zero width.  (Taro Muraoka)
Files:	    src/charset.c

Patch 7.2.268
Problem:    Crash when using Python to set cursor beyond end of line.
	    (winterTTr)
Solution:   Check the column to be valid.
Files:	    src/if_python.c

Patch 7.2.269
Problem:    Many people struggle to find out why Vim startup is slow.
Solution:   Add the --startuptime command line flag.
Files:	    runtime/doc/starting.txt, src/globals.h, src/feature.h,
	    src/main.c, src/macros.h

Patch 7.2.270
Problem:    Using ":@c" when the c register contains a CR causes the rest to
	    be executed later. (Dexter Douglas)
Solution:   Don't check for typeahead to start with ':', keep executing
	    commands until all added typeahead has been used.
Files:	    src/ex_docmd.c

Patch 7.2.271
Problem:    Using freed memory in Motif GUI version when making a choice.
Solution:   Free memory only after using it. (Dominique Pelle)
Files:	    src/gui_xmdlg.c

Patch 7.2.272
Problem:    "_.svz" is not recognized as a swap file. (David M. Besonen)
Solution:   Accept .s[uvw][a-z] as a swap file name extension.
Files:	    src/memline.c

Patch 7.2.273
Problem:    Crash with redir to unknown array. (Christian Brabandt)
Solution:   Don't assign the redir result when there was an error.
Files:	    src/eval.c

Patch 7.2.274
Problem:    Syntax folding doesn't work properly when adding a comment.
Solution:   Fix it and add a test. (Lech Lorens)
Files:	    src/fold.c, src/testdir/test45.in, src/testdir/test45.ok

Patch 7.2.275
Problem:    Warning for unused argument and comparing signed and unsigned.
Solution:   Add type cast.
Files:	    src/memline.c

Patch 7.2.276
Problem:    Crash when setting 'isprint' to a small bullet. (Raul Coronado)
Solution:   Check for the character to be < 256.  Also make it possible to
	    specify a range of multi-byte characters. (Lech Lorens)
Files:	    src/charset.c

Patch 7.2.277
Problem:    CTRL-Y in a diff'ed window may move the cursor outside of the
	    window. (Lech Lorens)
Solution:   Limit the number of filler lines to the height of the window.
	    Don't reset filler lines to zero for an empty buffer.
Files:	    src/move.c

Patch 7.2.278
Problem:    Using magic number in the folding code.
Solution:   Use the defined MAX_LEVEL.
Files:	    src/fold.c

Patch 7.2.279
Problem:    Invalid memory read with visual mode "r". (Dominique Pelle)
Solution:   Make sure the cursor position is valid.  Don't check the cursor
	    position but the position being used.  And make sure we get the
	    right line.
Files:	    src/misc2.c, src/ops.c

Patch 7.2.280
Problem:    A redraw in a custom statusline with %! may cause a crash.
	    (Yukihiro Nakadaira)
Solution:   Make a copy of 'statusline'.  Also fix typo in function name
	    redraw_custom_statusline. (partly by Dominique Pelle)
Files:	    src/screen.c

Patch 7.2.281
Problem:    'cursorcolumn' highlighting is wrong in diff mode.
Solution:   Adjust the column computation. (Lech Lorens)
Files:	    src/screen.c

Patch 7.2.282
Problem:    A fold can't be closed.
Solution:   Initialize fd_small to MAYBE. (Lech Lorens)
Files:	    src/fold.c

Patch 7.2.283
Problem:    Changing font while the window is maximized doesn't keep the
	    window maximized.
Solution:   Recompute number of lines and columns after changing font. (James
	    Vega)
Files:	    src/gui_gtk_x11.c

Patch 7.2.284
Problem:    When editing the same buffer in two windows, one with folding,
	    display may be wrong after changes.
Solution:   Call set_topline() to take care of side effects. (Lech Lorens)
Files:	    src/misc1.c

Patch 7.2.285 (after 7.2.169)
Problem:    CTRL-U in Insert mode also deletes indent. (Andrey Voropaev)
Solution:   Fix mistake made in patch 7.2.169.
Files:	    src/edit.c

Patch 7.2.286 (after 7.2.269)
Problem:    The "--startuptime=<file>" argument is not consistent with other
	    arguments.
Solution:   Use "--startuptime <file>".  Added the +startuptime feature.
Files:	    runtime/doc/eval.txt, runtime/doc/starting.txt,
	    runtime/doc/various.txt, src/eval.c, src/main.c, src/version.c

Patch 7.2.287
Problem:    Warning from gcc 3.4 about uninitialized variable.
Solution:   Move assignment outside of #ifdef.
Files:	    src/if_perl.xs

Patch 7.2.288
Problem:    Python 2.6 pyconfig.h redefines macros.
Solution:   Undefine the macros before including pyconfig.h.
Files:	    src/if_python.c

Patch 7.2.289
Problem:    Checking wrong struct member.
Solution:   Change tb_buf to tb_noremap. (Dominique Pelle)
Files:	    src/getchar.c

Patch 7.2.290
Problem:    Not freeing memory from ":lmap", ":xmap" and ":menutranslate".
Solution:   Free the memory when exiting. (Dominique Pelle)
Files:	    src/misc2.c

Patch 7.2.291
Problem:    Reading uninitialised memory in arabic mode.
Solution:   Use utfc_ptr2char_len() rather than utfc_ptr2char().  (Dominique
	    Pelle)
Files:	    src/screen.c

Patch 7.2.292
Problem:    Block right-shift doesn't work properly with multi-byte encoding
	    and 'list' set.
Solution:   Add the missing "else". (Lech Lorens)
Files:	    src/ops.c

Patch 7.2.293
Problem:    When setting 'comments' option it may be used in a wrong way. 
Solution:   Don't increment after skipping over digits. (Yukihiro Nakadaira)
Files:	    src/misc1.c

Patch 7.2.294
Problem:    When using TEMPDIRS dir name could get too long.
Solution:   Overwrite tail instead of appending each time.  Use mkdtemp() when
	    available. (James Vega)
Files:	    src/auto/configure, src/config.h.in, src/configure.in, src/fileio.c

Patch 7.2.295
Problem:    When using map() on a List the index is not known.
Solution:   Set v:key to the  index. (Hari Krishna Dara)
Files:	    runtime/doc/eval.txt, src/eval.c

Patch 7.2.296
Problem:    Help message about startuptime is wrong. (Dominique Pelle)
Solution:   Remove the equal sign.
Files:	    src/main.c

Patch 7.2.297
Problem:    Reading freed memory when writing ":reg" output to a register.
	    (Dominique Pelle)
Solution:   Skip the register being written to.
Files:	    src/ops.c

Patch 7.2.298
Problem:    ":vimgrep" crashes when there is an autocommand that sets a
	    window-local variable.
Solution:   Initialize the w: hashtab for re-use. (Yukihiro Nakadaira)
Files:	    src/fileio.c

Patch 7.2.299
Problem:    Crash when comment middle is longer than start.
Solution:   Fix size computation. (Lech Lorens)
Files:	    src/misc1.c

Patch 7.2.300
Problem:    Vim doesn't close file descriptors when forking and executing
	    another command, e.g., ":shell".
Solution:   Use FD_CLOEXEC when available. (James Vega)
Files:	    auto/configure, src/config.h.in, src/configure.in,
	    src/ex_cmdds2.c, src/fileio.c, src/memfile.c, src/memline.c

Patch 7.2.301
Problem:    Formatting is wrong when 'tw' is set to a small value.
Solution:   Fix it and add tests.  Also fix behavior of "1" in 'fo'. (Yukihiro
	    Nakadaira)
Files:	    src/edit.c, src/testdir/Makefile, src/testdir/test68.in,
	    src/testdir/test68.ok, src/testdir/test69.in,
	    src/testdir/test69,ok

Patch 7.2.302 (extra part of 7.2.301)
Problem:    Formatting wrong with small 'tw' value.
Solution:   Add build rules for tests.
Files:	    src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
	    src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
	    src/testdir/Make_vms.mms

Patch 7.2.303 (after 7.2.294)
Problem:    Can't build on MS-Windows.
Solution:   Add #ifdef around vim_settempdir(). (James Vega)
Files:	    src/fileio.c

Patch 7.2.304
Problem:    Compiler warning for bad pointer cast.
Solution:   Use another variable for int pointer.
Files:	    src/ops.c

Patch 7.2.305
Problem:    Recursively redrawing causes a memory leak. (Dominique Pelle)
Solution:   Disallow recursive screen updating.
Files:	    src/screen.c

Patch 7.2.306
Problem:    shellescape("10%%", 1) only escapes first %. (Christian Brabandt)
Solution:   Don't copy the character after the escaped one.
Files:	    src/misc2.c

Patch 7.2.307
Problem:    Crash with a very long syntax match statement. (Guy Gur Ari)
Solution:   When the offset does not fit in the two bytes available give an
	    error instead of continuing with invalid pointers.
Files:	    src/regexp.c

Patch 7.2.308
Problem:    When using a regexp in the "\=" expression of a substitute
	    command, submatch() returns empty strings for further lines.
	    (Clockwork Jam)
Solution:   Save and restore the line number and line count when calling
	    reg_getline().
Files:	    src/regexp.c

Patch 7.2.309 (after 7.2.308)
Problem:    Warning for missing function prototype. (Patrick Texier)
Solution:   Add the prototype.
Files:	    src/regexp.c

Patch 7.2.310
Problem:    When a filetype plugin in ~/.vim/ftdetect uses ":setfiletype" and
	    the file starts with a "# comment" it gets "conf" filetype.
Solution:   Check for "conf" filetype after using ftdetect plugins.
Files:	    runtime/filetype.vim

Patch 7.2.311
Problem:    Can't compile with FreeMiNT.
Solution:   Change #ifdef for limits.h. (Alan Hourihane)
Files:	    src/fileio.c

Patch 7.2.312
Problem:    iconv() returns an invalid character sequence when conversion
	    fails.  It should return an empty string. (Yongwei Wu)
Solution:   Be more strict about invalid characters in the input.
Files:	    src/mbyte.c

Patch 7.2.313
Problem:    Command line completion doesn't work after "%:h" and similar.
Solution:   Expand these items before doing the completion.
Files:	    src/ex_getln.c, src/misc1.c, src/proto/misc1.pro

Patch 7.2.314
Problem:    Missing function in small build.
Solution:   Always include concat_str.
Files:	    src/misc1.c

Patch 7.2.315
Problem:    Python libs can't be found on 64 bit system.
Solution:   Add lib64 to the list of directories. (Michael Henry)
Files:	    src/auto/configure, src/configure.in

Patch 7.2.316
Problem:    May get multiple _FORTIFY_SOURCE arguments. (Tony Mechelynck)
Solution:   First remove all these arguments and then add the one we want.
	    (Dominique Pelle)
Files:	    src/auto/configure, src/configure.in

Patch 7.2.317
Problem:    Memory leak when adding a highlight group with unprintable
	    characters, resulting in E669.
Solution:   Free the memory.  And fix a few typos. (Dominique Pelle)
Files:	    src/syntax.c

Patch 7.2.318
Problem:    Wrong locale value breaks floating point numbers for gvim.
Solution:   Set the locale again after doing GUI inits. (Dominique Pelle)
Files:	    src/main.c

Patch 7.2.319
Problem:    Motif: accessing freed memory when cancelling font dialog.
Solution:   Destroy the widget only after accessing it. (Dominique Pelle)
Files:	    src/gui_xmdlg.c

Patch 7.2.320
Problem:    Unused function in Mzscheme interface.
Solution:   Remove the function and what depends on it. (Dominique Pelle)
Files:	    src/if_mzsch.c, src/proto/if_mzsch.pro

Patch 7.2.321
Problem:    histadd() and searching with "*" fails to add entry to history
	    when it is empty.
Solution:   Initialize the history. (Lech Lorens)
Files:	    src/eval.c, src/normal.c

Patch 7.2.322
Problem:    Wrong indenting in virtual replace mode with CTRL-Y below a short
	    line.
Solution:   Check for character to be NUL. (suggested by Lech Lorens)
Files:	    src/edit.c

Patch 7.2.323 (extra)
Problem:    Balloon evaluation crashes on Win64.
Solution:   Change pointer types. (Sergey Khorev)
Files:	    src/gui_w32.c

Patch 7.2.324
Problem:    A negative column argument in setpos() may cause a crash.
Solution:   Check for invalid column number. (James Vega)
Files:	    src/eval.c, src/misc2.c

Patch 7.2.325
Problem:    A stray "w" in the startup vimrc file causes the edited file to be
	    replaced with an empty file. (Stone Kang).
Solution:   Do not write a buffer when it has never been loaded.
Files:	    src/fileio.c

Patch 7.2.326
Problem:    Win32: $HOME doesn't work when %HOMEPATH% is not defined.
Solution:   Use "\" for %HOMEPATH% when it is not defined.
Files:	    src/misc1.c

Patch 7.2.327
Problem:    Unused functions in Workshop.
Solution:   Add "#if 0" and minor cleanup. (Dominique Pelle)
Files:	    src/workshop.c, src/integration.c, src/integration.h

Patch 7.2.328
Problem:    has("win64") does not return 1 on 64 bit MS-Windows version.
Solution:   Also check for _WIN64 besides WIN64.
Files:	    src/eval.c

Patch 7.2.329
Problem:    "g_" doesn't position cursor correctly when in Visual mode and
	    'selection' is "exclusive". (Ben Fritz)
Solution:   Call adjust_for_sel().
Files:	    src/normal.c

Patch 7.2.330
Problem:    Tables for Unicode case operators are outdated.
Solution:   Add a Vim script for generating the tables.  Include tables for
	    Unicode 5.2.
Files:	    runtime/tools/README.txt, runtime/tools/unicode.vim, src/mbyte.c

Patch 7.2.331
Problem:    Can't interrupt "echo list" for a very long list.
Solution:   Call line_breakcheck() in list_join().
Files:	    src/eval.c

Patch 7.2.332
Problem:    Crash when spell correcting triggers an autocommand that reloads
	    the buffer.
Solution:   Make a copy of the line to be modified. (Dominique Pelle)
Files:	    src/spell.c

Patch 7.2.333
Problem:    Warnings from static code analysis.
Solution:   Small changes to various lines. (Dominique Pelle)
Files:	    src/buffer.c, src/edit.c, src/ex_getln.c, src/fileio.c,
	    src/if_cscope.c, src/netbeans.c, src/ops.c, src/quickfix.c,
	    src/syntax.c, src/ui.c

Patch 7.2.334
Problem:    Postponing keys in Netbeans interface does not work properly.
Solution:   Store the key string instead of the number.  Avoid an infinite
	    loop. (Mostly by Xavier de Gaye)
Files:	    src/netbeans.c, src/proto/netbeans.pro

Patch 7.2.335
Problem:    The CTRL-] command escapes too many characters.
Solution:   Use a different list of characters to be escaped. (Sergey Khorev)
Files:	    src/normal.c

Patch 7.2.336
Problem:    MzScheme interface can't evaluate an expression.
Solution:   Add mzeval(). (Sergey Khorev)
Files:	    runtime/doc/eval.txt, runtime/doc/if_mzsch.txt,
	    runtime/doc/usr_41.txt, src/eval.c, src/if_mzsch.c,
	    src/proto/eval.pro, src/proto/if_mzsch.pro,
	    src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
	    src/testdir/Makefile, src/testdir/main.aap, src/testdir/test1.in,
	    src/testdir/test70.in, src/testdir/test70.ok

Patch 7.2.337
Problem:    The :compiler command doesn't function properly when invoked in a
	    function.
Solution:   Add "g:" before "current_compiler". (Yukihiro Nakadaira)
Files:	    src/ex_cmds2.c

Patch 7.2.338 (after 7.2.300)
Problem:    Part of FD_CLOEXEC change is missing.
Solution:   Include source file skipped because of typo.
Files:	    src/ex_cmds2.c

Patch 7.2.339 (after 7.2.269)
Problem:    Part of --startuptime patch is missing.
Solution:   Add check for time_fd.
Files:	    src/ex_cmds2.c

Patch 7.2.340
Problem:    Gcc warning for condition that can never be true. (James Vega)
Solution:   Use start_lvl instead flp->lvl.
Files:	    src/fold.c

Patch 7.2.341
Problem:    Popup menu wraps to next line when double-wide character doesn't
	    fit. (Jiang Ma)
Solution:   Display a ">" instead. (Dominique Pelle)
Files:	    src/screen.c

Patch 7.2.342
Problem:    Popup menu displayed wrong in 'rightleft' mode when there are
	    multi-byte characters.
Solution:   Adjust the column computations. (Dominique Pelle)
Files:	    src/popupmnu.c

Patch 7.2.343 (after 7.2.338)
Problem:    Can't compile on Win32.
Solution:   Insert the missing '|'.
Files:	    src/ex_cmds2.c

Patch 7.2.344 (after 7.2.343)
Problem:    Can't compile on some systems
Solution:   Move the #ifdef outside of the mch_open macro. (Patrick Texier)
Files:	    src/ex_cmds2.c

Patch 7.2.345
Problem:    Tab line is not updated when the value of 'bt' is changed.
Solution:   Call redraw_titles(). (Lech Lorens)
Files:	    src/option.c

Patch 7.2.346
Problem:    Repeating a command with @: causes a mapping to be applied twice.
Solution:   Do not remap characters inserted in the typeahead buffer. (Kana
	    Natsuno)
Files:	    src/ops.c

Patch 7.2.347
Problem:    Crash when executing <expr> mapping redefines that same mapping.
Solution:   Save the values used before evaluating the expression.
Files:	    src/getchar.c

Patch 7.2.348 (after 7.2.330)
Problem:    Unicode double-width characters are not up-to date.
Solution:   Produce the double-width table like the others.
Files:	    runtime/tools/unicode.vim, src/mbyte.c

Patch 7.2.349
Problem:    CTRL-W gf doesn't put the new tab in the same place as "tab split"
	    and "gf". (Tony Mechelynck)
Solution:   Store the tab number in cmdmod.tab.
Files:	    src/window.c

Patch 7.2.350
Problem:    Win32: When changing font the window may jump from the secondary
	    to the primary screen. (Michael Wookey)
Solution:   When the screen position was negative don't correct it to zero.
Files:	    src/gui.c

Patch 7.2.351 (after 7.2.347)
Problem:    Can't build with some compilers.
Solution:   Move the #ifdef outside of a macro.  Cleanup the code.
Files:	    src/getchar.c

Patch 7.2.352 (extra)
Problem:    Win64: Vim doesn't work when cross-compiled with MingW libraries.
Solution:   Always return TRUE for the WM_NCCREATE message. (Andy Kittner)
Files:	    src/gui_w48.c

Patch 7.2.353
Problem:    No command line completion for ":profile".
Solution:   Complete the subcommand and file name.
Files:	    src/ex_docmd.c, src/ex_cmds2.c, src/ex_getln.c,
	    src/proto/ex_cmds2.pro, src/vim.h

Patch 7.2.354
Problem:    Japanese single-width double-byte characters not handled correctly.
Solution:   Put 0x8e in ScreenLines[] and the second byte in ScreenLines2[].
	    (partly by Kikuchan)
Files:	    src/screen.c

Patch 7.2.355
Problem:    Computing the cursor column in validate_cursor_col() is wrong when
	    line numbers are used and 'n' is not in 'cpoptions', causing the
	    popup menu to be positioned wrong.
Solution:   Correctly use the offset. (partly by Dominique Pelle)
Files:	    src/move.c

Patch 7.2.356
Problem:    When 'foldmethod' is changed not all folds are closed as expected.
Solution:   In foldUpdate() correct the start position and reset fd_flags when
	    w_foldinvalid is set. (Lech Lorens)
Files:	    src/fold.c

Patch 7.2.357
Problem:    When changing 'fileformat' from/to "mac" and there is a CR in the
	    text the display is wrong.
Solution:   Redraw the text when 'fileformat' is changed. (Ben Schmidt)
Files:	    src/option.c

Patch 7.2.358
Problem:    Compiler warnings on VMS. (Zoltan Arpadffy)
Solution:   Pass array itself instead its address.  Return a value.
Files:	    src/gui_gtk_x11.c, src/os_unix.c

Patch 7.2.359
Problem:    Crash when using the Netbeans join command.
Solution:   Make sure the ml_flush_line() function is not used recursively.
	    (Xavier de Gaye)
Files:	    src/memline.c

Patch 7.2.360
Problem:    Ruby on MS-Windows: can't use sockets.
Solution:   Call NtInitialize() during initialization. (Ariya Mizutani)
Files:	    src/if_ruby.c

Patch 7.2.361
Problem:    Ruby 1.9 is not supported.
Solution:   Add Ruby 1.9 support. (Masaki Suketa)
Files:	    src/Makefile, src/auto/configure, src/configure.in, src/if_ruby.c

Patch 7.2.362 (extra, after 7.2.352)
Problem:    Win64: Vim doesn't work when cross-compiled with MingW libraries.
Solution:   Instead of handling WM_NCCREATE, create wide text area window
	    class if the parent window iw side. (Sergey Khorev)
Files:	    src/gui_w32.c, src/gui_w48.c

Patch 7.2.363
Problem:    Can't dynamically load Perl 5.10.
Solution:   Add the function Perl_croak_xs_usage. (Sergey Khorev)
Files:	    src/if_perl.xs

Patch 7.2.364 (extra)
Problem:    Can't build gvimext.dll on Win 7 x64 using MinGW (John Marriott)
Solution:   Check if _MSC_VER is defined. (Andy Kittner)
Files:	    src/GvimExt/gvimext.h

Patch 7.2.365 (extra)
Problem:    MS-Windows with MingW: "File->Save As" does not work. (John
	    Marriott)
Solution:   Correctly fill in structure size. (Andy Kittner)
Files:	    src/gui_w48.c

Patch 7.2.366
Problem:    CTRL-B doesn't go back to the first line of the buffer.
Solution:   Avoid an overflow when adding MAXCOL.
Files:	    src/move.c

Patch 7.2.367
Problem:    "xxd -r -p" doesn't work as documented.
Solution:   Skip white space. (James Vega)
Files:	    src/xxd/xxd.c

Patch 7.2.368 (after 7.2.361)
Problem:    Ruby interface: Appending line doesn't work. (Michael Henry)
Solution:   Reverse check for NULL line. (James Vega)
Files:	    src/if_ruby.c

Patch 7.2.369
Problem:    Error message is not easy to understand.
Solution:   Add quotes. (SungHyun Nam)
Files:	    src/ex_cmds2.c

Patch 7.2.370 (after 7.2.356)
Problem:    A redraw may cause folds to be closed.
Solution:   Revert part of the previous patch.  Add a test. (Lech Lorens)
Files:	    src/diff.c, src/fold.c, src/option.c, src/testdir/test45.in,
	    src/testdir/test45.ok

Patch 7.2.371
Problem:    Build problems on Tandem NonStop.
Solution:   A few changes to #ifdefs (Joachim Schmitz)
Files:	    src/auto/configure, src/configure.in, src/config.h.in, src/vim.h,
	    src/if_cscope.c, src/osdef1.h.in, src/tag.c

Patch 7.2.372 (extra)
Problem:    Cross-compiling GvimExt and xxd doesn't work.
Solution:   Change the build files. (Markus Heidelberg)
Files:	    src/INSTALLpc.txt, src/GvimExt/Make_ming.mak, src/Make_cyg.mak,
	    src/Make_ming.mak, src/xxd/Make_cyg.mak

Patch 7.2.373
Problem:    Gcc 4.5 adds more error messages. (Chris Indy)
Solution:   Update default 'errorformat'.
Files:	    src/option.h

Patch 7.2.374
Problem:    Ruby eval() doesn't understand Vim types.
Solution:   Add the vim_to_ruby() function.  (George Gensure)
Files:	    src/eval.c, src/if_ruby.c

Patch 7.2.375
Problem:    ml_get errors when using ":bprevious" in a BufEnter autocmd.
	    (Dominique Pelle)
Solution:   Clear w_valid when entering another buffer.
Files:	    src/buffer.c

Patch 7.2.376
Problem:    ml_get error when using SiSU syntax. (Nathan Thomas)
Solution:   If the match ends below the last line move it to the end of the
	    last line.
Files:	    src/syntax.c

Patch 7.2.377 (extra, after 7.2.372)
Problem:    Misplaced assignment.  Duplicate build line for gvimext.dll.
Solution:   Move setting CROSS_COMPILE to before ifneq.  Remove the wrong
	    build line. (Markus Heidelberg)
Files:	    src/Make_ming.mak

Patch 7.2.378
Problem:    C function declaration indented too much. (Rui)
Solution:   Don't see a line containing { or } as a type. (Matt Wozniski)
Files:	    src/misc1.c

Patch 7.2.379
Problem:    'eventignore' is set to an invalid value inside ":doau". (Antony
	    Scriven)
Solution:   Don't include the leading comma when the option was empty.
Files:	    src/fileio.c

Patch 7.2.380 (after 7.2.363)
Problem:    Perl interface builds with 5.10.1 but not with 5.10.0.
Solution:   Change the #ifdefs. (Sergey Khorev)
Files:	    src/if_perl.xs

Patch 7.2.381
Problem:    No completion for :behave.
Solution:   Add :behave completion.  Minor related fixes. (Dominique Pelle)
Files:	    src/ex_docmd.c, src/ex_getln.c, src/proto/ex_docmd.pro, src/vim.h

Patch 7.2.382
Problem:    Accessing freed memory when closing the cmdline window when
	    'bufhide' is set to "wipe".
Solution:   Check if the buffer still exists before invoking close_buffer()
	    (Dominique Pelle)
Files:	    src/ex_getln.c

Patch 7.2.383
Problem:    Vim doesn't build cleanly with MSVC 2010.
Solution:   Change a few types. (George Reilly)
Files:	    src/ex_cmds2.c, src/if_python.c, src/syntax.c

Patch 7.2.384 (extra)
Problem:    Vim doesn't build properly with MSVC 2010.
Solution:   Add the nmake version to the build file. (George Reilly)
Files:	    src/Make_mvc.mak, src/testdir/Make_dos.mak

Patch 7.2.385
Problem:    When in the command line window dragging status line only works
	    for last-but-one window. (Jean Johner)
Solution:   Remove the code that disallows this.
Files:	    src/ui.c

Patch 7.2.386
Problem:    Focus hack for KDE 3.1 causes problems for other window managers.
Solution:   Remove the hack. (forwarded by Joel Bradshaw)
Files:	    src/gui_gtk.c

Patch 7.2.387
Problem:    Ruby with MingW still doesn't build all versions.
Solution:   More #ifdefs for the  Ruby code. (Sergey Khorev)
Files:	    src/if_ruby.c

Patch 7.2.388 (extra part of 7.2.387)
Problem:    Ruby with MingW still doesn't build all versions.
Solution:   Different approach to build file. (Sergey Khorev)
Files:	    src/Make_ming.mak

Patch 7.2.389
Problem:    synIDattr() cannot return the font.
Solution:   Support the "font" argument. (Christian Brabandt)
Files:	    runtime/doc/eval.txt, src/eval.c, src/syntax.c

Patch 7.2.390
Problem:    In some situations the popup menu can be displayed wrong.
Solution:   Remove the popup menu if the cursor moved. (Lech Lorens)
Files:	    src/edit.c

Patch 7.2.391
Problem:    Internal alloc(0) error when doing "CTRL-V $ c". (Martti Kuparinen)
Solution:   Fix computations in getvcol(). (partly by Lech Lorens)
Files:	    src/charset.c, src/memline.c

Patch 7.2.392
Problem:    Netbeans hangs reading from a socket at the maximum block size.
Solution:   Use select() or poll(). (Xavier de Gaye)
Files:	    src/vim.h, src/os_unixx.h, src/if_xcmdsrv.c, src/netbeans.c

Patch 7.2.393
Problem:    Mac: Can't build with different Xcode developer tools directory.
Solution:   make "Developer" directory name configurable. (Rainer Muller)
Files:	    src/configure.in, src/auto/configure

Patch 7.2.394
Problem:    .lzma and .xz files are not supported.
Solution:   Recognize .lzma and .xz files so that they can be edited.
Files:	    runtime/plugin/gzip.vim

Patch 7.2.395
Problem:    In help CTRL=] on g?g? escapes the ?, causing it to fail. (Tony
	    Mechelynck)
Solution:   Don't escape ? for a help command. (Sergey Khorev)
Files:	    src/normal.c

Patch 7.2.396
Problem:    Get E38 errors. (Dasn)
Solution:   Set cursor to line 1 instead of 0. (Dominique Pelle)
Files:	    src/popupmnu.c

Patch 7.2.397
Problem:    Redundant check for w_lines_valid.
Solution:   Remove the if.  (Lech Lorens)
Files:	    src/fold.c

Patch 7.2.398
Problem:    When moving windows the cursor ends up in the wrong line.
Solution:   Set the window width and height properly. (Lech Lorens)
Files:	    src/window.c

Patch 7.2.399 (extra, after 7.2.388)
Problem:    Cannot compile on MingW.
Solution:   Move ifneq to separate line. (Vlad Sandrini, Dominique Pelle)
Files:	    src/Make_ming.mak

Patch 7.2.400 (after 7.2.387)
Problem:    Dynamic Ruby is not initialised properly for version 1.9.1.
	    Ruby cannot create strings from NULL.
Solution:   Cleanup #ifdefs.  Handle NULL like an empty string.  Add
	    ruby_init_stack. (Sergey Khorev)
Files:	    src/if_ruby.c

Patch 7.2.401
Problem:    ":e dir<Tab>" with 'wildmode' set to "list" doesn't highlight
	    directory names with a space. (Alexandre Provencio)
Solution:   Remove the backslash before checking if the name is a directory.
	    (Dominique Pelle)
Files:	    src/ex_getln.c

Patch 7.2.402
Problem:    This gives a #705 error: let X = function('haslocaldir')
	    let X = function('getcwd')
Solution:   Don't give E705 when the name is found in the hashtab. (Sergey
	    Khorev)
Files:	    src/eval.c

Patch 7.2.403 (after 7.2.400)
Problem:    Compiler warning for pointer type. (Tony Mechelynck)
Solution:   Move type cast to the right place.
Files:	    src/if_ruby.c

Patch 7.2.404
Problem:    Pointers for composing characters are not properly initialized.
Solution:   Compute the size of the pointer, not what it points to. (Yukihiro
	    Nakadaira)
Files:	    src/screen.c

Patch 7.2.405
Problem:    When built with small features the matching text is not
	    highlighted for ":s/pat/repl/c".
Solution:   Remove the #ifdef for IncSearch. (James Vega)
Files:	    src/syntax.c

Patch 7.2.406
Problem:    Patch 7.2.119 introduces uninit mem read. (Dominique Pelle)
Solution:   Only used ScreeenLinesC when ScreeenLinesUC is not zero. (Yukihiro
	    Nakadaira)  Also clear ScreeenLinesC when allocating.
Files:	    src/screen.c

Patch 7.2.407
Problem:    When using an expression in ":s" backslashes in the result are
	    dropped. (Sergey Goldgaber, Christian Brabandt)
Solution:   Double backslashes.
Files:	    src/regexp.c

Patch 7.2.408
Problem:    With ":g/the/s/foo/bar/" the '[ and '] marks can be set to a line
	    that was not changed.
Solution:   Only set '[ and '] marks when a substitution was done.
Files:	    src/ex_cmds.c

Patch 7.2.409
Problem:    Summary of number of substitutes is incorrect for ":folddo". (Jean
	    Johner)
Solution:   Reset sub_nsubs and sub_nlines in global_exe().
Files:	    src/ex_cmds.c

Patch 7.2.410
Problem:    Highlighting directories for completion doesn't work properly.
Solution:   Don't halve backslashes when not needed, expanded "~/".
	    (Dominique Pelle)
Files:	    src/ex_getln.c

Patch 7.2.411
Problem:    When parsing 'cino' a comma isn't skipped properly.
Solution:   Skip the comma. (Lech Lorens)
Files:	    src/misc1.c

Patch 7.2.412
Problem:    [ or ] followed by mouse click doesn't work.
Solution:   Reverse check for key being a mouse event. (Dominique Pelle)
Files:	    src/normal.c

Patch 7.2.413
Problem:    Large file support is incorrect.
Solution:   Add AC_SYS_LARGEFILE to configure. (James Vega)
Files:	    src/configure.in, src/config.h.in, src/auto/configure

Patch 7.2.414
Problem:    CTRK-K <space> <space> does not produce 0xa0 as expected. (Tony
	    Mechelynck)
Solution:   Remove the Unicode range 0xe000 - 0xefff from digraphs, these are
	    not valid characters.
Files:	    src/digraph.c

Patch 7.2.415
Problem:    Win32: Can't open a remote file when starting Vim.
Solution:   Don't invoke cygwin_conv_path() for URLs. (Tomoya Adachi)
Files:	    src/main.c

Patch 7.2.416
Problem:    Logtalk.dict is not installed.
Solution:   Add it to the install target. (Markus Heidelberg)
Files:	    src/Makefile

Patch 7.2.417
Problem:    When 'shell' has an argument with a slash then 'shellpipe' is not
	    set properly. (Britton Kerin)
Solution:   Assume there are no spaces in the path, arguments follow.
Files:	    src/option.c

Patch 7.2.418
Problem:    Vim tries to set the background or foreground color in a terminal
	    to -1.  (Graywh)  Happens with ":hi Normal ctermbg=NONE".
Solution:   When resetting the foreground or background color don't set the
	    color, let the clear screen code do that.
Files:	    src/syntax.c

Patch 7.2.419
Problem:    Memory leak in Motif when clicking on "Search Vim Help".
Solution:   Free string returned by XmTextGetString(). (Dominique Pelle)
Files:	    src/gui_motif.c

Patch 7.2.420
Problem:    ":argedit" does not accept "++enc=utf8" as documented. (Dominique
	    Pelle)
Solution:   Add the ARGOPT flag to ":argedit".
Files:	    src/ex_cmds.h

Patch 7.2.421
Problem:    Folds are sometimes not updated properly and there is no way to
	    force an update.
Solution:   Make "zx" and "zX" recompute folds (suggested by Christian
	    Brabandt)
Files:	    src/normal.c

Patch 7.2.422
Problem:    May get E763 when using spell dictionaries.
Solution:   Avoid utf-8 case folded character to be truncated to 8 bits and
	    differ from latin1. (Dominique Pelle)
Files:	    src/spell.c

Patch 7.2.423
Problem:    Crash when assigning s: to variable. (Yukihiro Nakadaira)
Solution:   Make ga_scripts contain pointer to scriptvar_T instead of
	    scriptvar_T itself. (Dominique Pelle)
Files:	    src/eval.c

Patch 7.2.424
Problem:    ":colorscheme" without an argument doesn't do anything.
Solution:   Make it echo the current color scheme name.  (partly by Christian
	    Brabandt)
Files:	    runtime/doc/syntax.txt, src/ex_cmds.h, src/ex_docmd.c

Patch 7.2.425
Problem:    Some compilers complain about fourth EX() argument.
Solution:   Add cast to long_u.
Files:	    src/ex_cmds.h

Patch 7.2.426
Problem:    Commas in 'langmap' are not always handled correctly.
Solution:   Require commas to be backslash escaped. (James Vega)
Files:	    src/option.c

Patch 7.2.427
Problem:    The swapfile is created using the destination of a symlink, but
	    recovery doesn't follow symlinks.
Solution:   When recovering, resolve symlinks. (James Vega)
Files:	    src/memline.c

Patch 7.2.428
Problem:    Using setqflist([]) to clear the error list doesn't work properly.
Solution:   Set qf_nonevalid to TRUE when appropriate. (Christian Brabandt)
Files:	    src/quickfix.c

Patch 7.2.429
Problem:    A file that exists but access is denied may result in a "new file"
	    message.  E.g. when its directory is unreadable.
Solution:   Specifically check for ENOENT to decide a file doesn't exist.
	    (partly by James Vega)
Files:	    src/fileio.c

Patch 7.2.430
Problem:    The ++bad argument is handled wrong, resulting in an invalid
	    memory access.
Solution:   Use the bad_char field only for the replacement character, add
	    bad_char_idx to store the position. (Dominique Pelle)
Files:	    src/eval.c, src/ex_cmds.h, src/ex_docmd.c

Patch 7.2.431
Problem:    ":amenu" moves the cursor when in Insert mode.
Solution:   Use CTRL-\ CTRL-O instead of CTRL-O. (Christian Brabandt)
Files:	    src/menu.c

Patch 7.2.432
Problem:    When menus are translated they can only be found by the translated
	    name.  That makes ":emenu" difficult to use.
Solution:   Store the untranslated name and use it for completion and :emenu.
	    (Liang Peng (Bezetek James), Edward L. Fox)
Files:	    src/menu.c, src/structs.h

Patch 7.2.433
Problem:    Can't use cscope with QuickFixCmdPre and QuickFixCmdPost.
Solution:   Add cscope support for these autocmd events. (Bryan Venteicher)
Files:	    runtime/doc/autocmd.txt, src/if_cscope.c

Patch 7.2.434 (after 7.2.432)
Problem:    Compilation fails without the multi-lang feature.
Solution:   Add #ifdefs. (John Marriott)
Files:	    src/menu.c

Patch 7.2.435 (after 7.2.430)
Problem:    Crash when using bad_char_idx uninitialized. (Patrick Texier)
Solution:   Don't use bad_char_idx, reproduce the ++bad argument from bad_char.
Files:	    src/eval.c, src/ex_cmds.h, src/ex_docmd.c

Patch 7.2.436
Problem:    Reproducible crash in syntax HL. (George Reilly, Dominique Pelle)
Solution:   Make sst_stacksize an int instead of short. (Dominique Pelle)
Files:	    src/structs.h

Patch 7.2.437 (after 7.2.407)
Problem:    When "\\\n" appears in the expression result the \n doesn't result
	    in a line break. (Andy Wokula)
Solution:   Also replace a \n after a backslash into \r.
Files:	    src/regexp.c

Patch 7.2.438 (after 7.2.427)
Problem:    "vim -r" crashes.
Solution:   Don't use NULL pointer argument.
Files:	    src/memline.c

Patch 7.2.439
Problem:    Invalid memory access when doing thesaurus completion and
	    'infercase' is set.
Solution:   Use the minimal length of completed word and replacement.
	    (Dominique Pelle)
Files:	    src/edit.c

Patch 7.2.440
Problem:    Calling a function through a funcref, where the function deletes
	    the funcref, leads to an invalid memory access.
Solution:   Make a copy of the function name. (Lech Lorens)
Files:	    src/eval.c, src/testdir/test34.in, src/testdir/test34.ok

Patch 7.2.441
Problem:    When using ":earlier" undo information may be wrong.
Solution:   When changing alternate branches also adjust b_u_oldhead.
Files:	    src/undo.c

Patch 7.2.442 (after 7.2.201)
Problem:    Copy/paste with OpenOffice doesn't work.
Solution:   Do not offer the HTML target when it is not supported. (James
	    Vega)
Files:	    src/gui_gtk_x11.c, src/option.c, src/proto/gui_gtk_x11.pro

Patch 7.2.443
Problem:    Using taglist() on a tag file with duplicate fields generates an
	    internal error. (Peter Odding)
Solution:   Check for duplicate field names.
Files:	    src/eval.c, src/proto/eval.pro, src/tag.c

Patch 7.2.444 (after 7.2.442)
Problem:    Can't build with GTK 1, gtk_selection_clear_targets() is not
	    available. (Patrick Texier)
Solution:   Don't change the targets for GTK 1, set them once.
Files:	    src/gui_gtk_x11.c, src/option.c

Patch 7.2.445
Problem:    Crash when using undo/redo and a FileChangedRO autocmd event that
	    reloads the buffer. (Dominique Pelle)
Solution:   Do not allow autocommands while performing and undo or redo.
Files:	    src/misc1.c, src/undo.c

Patch 7.2.446
Problem:    Crash in GUI when closing the last window in a tabpage. (ryo7000)
Solution:   Remove the tabpage from the list before freeing the window.
Files:	    src/window.c

When writing a file, switching tab pages and selecting a word the file write
message would be displayed again.  This happened in Insert mode and with
'cmdheight' set to 2.

When using ":lang" to set a locale that uses a comma for decimal separator and
using GTK floating point numbers stop working.  Use gtk_disable_setlocale().
(James Vega)

"g8" didn't produce the right value on a NUL. (Dominique Pelle)

Use BASEMODLIBS instead of MODLIBS for Python configuration to pick up the
right compiler flags. (Michael Bienia)

Window title was not updated after dropping a file on Vim. (Hari G)

synstack() did not return anything when just past the end of the line.  Useful
when using the cursor position in Insert mode.

When entering a digraph or special character after a line that fits the window
the '?' or '^' on the next line is not redrawn. (Ian Kelling)

Composing characters in |:s| substitute text were dropped.

|exists()| was causing an autoload script to be loaded.

Filter out -pthread for cproto.

Make CTRL-L in command line mode respect 'ignorecase' and 'smartcase'. (Martin
Toft)

Spell menu moved the cursor, causing Copy not to work.  Spell replacement
didn't work in 'compatible' mode.

Various small fixes from Dominique Pelle.

Fix that :mksession may generate "2argu" even though there is no such
argument. (Peter Odding)

Fixes for time in clipboard request.  Also fix ownership.  (David Fries)

Fixed completion of file names with '%' and '*'.

Fixed MSVC makefile use of /Wp64 flag.

Correct use of long instead of off_t for file size. (James Vega)

Add a few #ifdefs to exclude functions that are not used. (Dominique Pelle)

Remove old and unused method to allocate memory for undo.

Fix definition of UINT_PTR for 64 bit systems.

Some versions of Ruby redefine rb_str_new2 to rb_str_new_cstr.

Window title not updated after file dropped.

Fixed crash for ":find" completion, might also happen in other path expansion
usage.

When 'searchhl' causes a hang make CTRL-C disable 'searchhl'.

When resetting both 'title' and 'icon' the title would be set after a shell
command.

Reset 'title' and 'icon' in test47 to avoid the xterm title getting messed up.

Fix for compiler warning about function prototype in pty.c.

Added 'window' to the options window.

Fixed: errors for allocating zero bytes when profiling an empty function.

Remove -arch flag from build flags for Perl. (Bjorn Wickler)

Fix 'autochdir' not showing up in :options window. (Dominique Pelle)

Fix: test 69 didn't work on MS-Windows.  Test 72 beeped too often.

Avoid illegal memory access in spell suggestion. (Dominique Pelle)
Fix: crash in spell checking with a 0x300 character.

Avoid that running tests changes viminfo.

Fix: changing case of a character removed combining characters.
Fixed: CTRL-R in Insert mode doesn't insert composing characters.

Added the WOW64 flag to OLE registration, for 64 bit Windows systems.

Various fixes for coverity warnings.

Fix compile warnings, esp. for 64-bit systems.  (Mike Williams)

Fix: :redir to a dictionary that is changed before ":redir END" causes a
memory access error.

Fix: terminal title not properly restored when there are multi-byte
characters.  (partly by James Vega)

Set 'wrapscan' when checking the .po files. (Mike Williams)

Win32: Put quotes around the gvim.exe path for the "Open with" menu entry.

On MS-Windows sometimes files with number 4913 or higher are left behind.

'suffixesadd' was used for finding tags file.

Removed unused code.

Improved positioning of combining characters in GTK.

Made test 11 pass when there is no gzip program. (John Beckett)

Changed readfile() to ignore byte order marks, unless in binary mode.

On MS-Windows completion of shell commands didn't work.

An unprintable multi-byte character at the start of the screen line caused the
following text to be drawn at the wrong position.

Got ml_get errors when using undo with 'virtualedit'.

Call gui_mch_update() before triggering GuiEnter autocmd. (Ron Aaron)

Unix "make install" installed a few Amiga .info files.

Disallow setting 'ambiwidth' to "double" when 'listchars' or 'fillchars'
contains a character that would become double width.

Set 'wrapscan' when checking the .po files. (Mike Williams)

Fixed: using expression in command line may cause a crash.

Avoid warnings from the clang compiler. (Dominique Pelle)

Fix: Include wchar.h in charset.c for towupper().

Fixed: Using ":read file" in an empty buffer when 'compatible' is set caused
an error.  Was caused by patch 7.2.132.

Make the references to features in the help more consistent. (Sylvain Hitier)

==============================================================================
VERSION 7.4				*version-7.4* *version7.4* *vim-7.4*

This section is about improvements made between version 7.3 and 7.4.

This release has hundreds of bug fixes and there are a few new features.  The
most notable new features are:

- New regexp engine			|new-regexp-engine|
- A more pythonic Python interface	|better-python-interface|


New regexp engine					*new-regexp-engine*
-----------------

What is now called the "old" regexp engine uses a backtracking algorithm.  It
tries to match the pattern with the text in one way, and when that fails it
goes back and tries another way.  This works fine for simple patterns, but
complex patterns can be very slow on longer text.

The new engine uses a state machine.  It tries all possible alternatives at
the current character and stores the possible states of the pattern.  This is
a bit slower for simple patterns, but much faster for complex patterns and
long text.

Most notably, syntax highlighting for Javascript and XML files with long lines
is now working fine.  Previously Vim could get stuck.

More information here: |two-engines|


Better Python interface				*better-python-interface*
-----------------------

Added |python-bindeval| function. Unlike |python-eval| this one returns 
|python-Dictionary|, |python-List| and |python-Function| objects for 
dictionaries lists and functions respectively in place of their Python 
built-in equivalents (or None if we are talking about function references).
   For simple types this function returns Python built-in types and not only 
Python `str()` like |python-eval| does. On Python 3 it will return `bytes()` 
objects in place of `str()` ones avoiding possibility of UnicodeDecodeError.
   Interface of new objects mimics standard Python `dict()` and `list()`
interfaces to some extent. Extent will be improved in the future.

Added special |python-vars| objects also available for |python-buffer| and 
|python-window|. They ease access to VimL variables from Python.

Now you no longer need to alter `sys.path` to import your module: special 
hooks are responsible for importing from {rtp}/python2, {rtp}/python3 and 
{rtp}/pythonx directories (for Python 2, Python 3 and both respectively). 
See |python-special-path|.

Added possibility to work with |tabpage|s through |python-tabpage| object.

Added automatic conversion of Vim errors and exceptions to Python 
exceptions.

Changed the behavior of the |python-buffers| object: it now uses buffer numbers 
as keys in place of the index of the buffer in the internal buffer list. 
This should not break anything as the only way to get this index was 
iterating over |python-buffers|.

Added |:pydo| and |:py3do| commands.

Added the |pyeval()| and |py3eval()| functions.

Now in all places which previously accepted `str()` objects, `str()` and
`unicode()` (Python 2) or `bytes()` and `str()` (Python 3) are accepted.

|python-window| has gained `.col` and `.row` attributes that are currently 
the only way to get internal window positions.

Added or fixed support for `dir()` in Vim Python objects.


Changed							*changed-7.4*
-------

Old Python versions (≤2.2) are no longer supported. Building with them did 
not work anyway.

Options:
	Added ability to automatically save the selection into the system 
	clipboard when using non-GUI version of Vim (autoselectplus in 
	'clipboard'). Also added ability to use the system clipboard as
	default register (previously only primary selection could be used).
	(Ivan Krasilnikov, Christian Brabandt, Bram Moolenaar)

	Added a special 'shiftwidth' value that makes 'sw' follow 'tabstop'.
	As indenting via 'indentexpr' became tricky |shiftwidth()| function
	was added. Also added equivalent special value to 'softtabstop'
	option.  (Christian Brabandt, so8res)

	Show absolute number in number column when 'relativenumber' option is
	on.  Now there are four combinations with 'number' and
	'relativenumber'.  (Christian Brabandt)

Commands:
	|:diffoff| now saves the local values of some settings and restores 
	them in place of blindly resetting them to the defaults. (Christian 
	Brabandt)

Other:
	Lua interface now also uses userdata binded to Vim structures. (Taro 
	Muraoka, Luis Carvalho)

	glob() and autocommand patterns used to work with the undocumented
	"\{n,m\}" item from a regexp.  "\{" is now used for a literal "{", as
	this is normal in shell file patterns.  Now used "\\\{n,m\}" to get
	"\{n,m}" in the regexp pattern.

Added							*added-7.4*
-----

Various syntax, indent and other plugins were added.

Added support for |Lists| and |Dictionaries| in |viminfo|. (Christian
Brabandt)

Functions:
	Bitwise functions: |and()|, |or()|, |invert()|, |xor()|.

	Added |luaeval()| function. (Taro Muraoka, Luis Carvalho)

	Added |sha256()| function. (Tyru, Hirohito Higashi)

	Added |wildmenumode()| function. (Christian Brabandt)

	Debugging functions: |screenattr()|, |screenchar()|, |screencol()|, 
	|screenrow()|. (Simon Ruderich, Bram Moolenaar)

	Added ability to use |Dictionary-function|s for |sort()|ing, via 
	optional third argument. (Nikolay Pavlov)

	Added special |expand()| argument that expands to the current line 
	number.

	Made it possible to force |char2nr()| to always give unicode codepoints 
	regardless of current encoding. (Yasuhiro Matsumoto)

	Made it possible for functions generating file list generate |List| 
	and not NL-separated string. (e.g. |glob()|, |expand()|) (Christian 
	Brabandt)

	Functions that obtain variables from the specific window, tabpage or 
	buffer scope dictionary can now return specified default value in 
	place of empty string in case variable is not found. (|gettabvar()|, 
	|getwinvar()|, |getbufvar()|) (Shougo Matsushita, Hirohito Higashi)

Autocommands:
	Added |InsertCharPre| event launched before inserting character. 
	(Jakson A. Aquino)

	Added |CompleteDone| event launched after finishing completion in 
	insert mode. (idea by Florian Klein)

	Added |QuitPre| event launched when commands that can either close Vim 
	or only some window(s) are launched.

	Added |TextChanged| and |TextChangedI| events launched when text is 
	changed.

Commands:
	|:syntime| command useful for debugging.

	Made it possible to remove all signs from the current buffer using 
	|:sign-unplace|. (Christian Brabandt)

	Added |:language| autocompletion. (Dominique Pelle)

	Added more |:command-complete| completion types: |:behave| suboptions, 
	color schemes, compilers, |:cscope| suboptions, files from 'path', 
	|:history| suboptions, locale names, |:syntime| suboptions, user 
	names. (Dominique Pelle)

	Added |:map-nowait| creating mapping which when having lhs that is the 
	prefix of another mapping’s lhs will not allow Vim to wait for user to 
	type more characters to resolve ambiguity, forcing Vim to take the 
	shorter alternative: one with <nowait>.

Options:
	Made it possible to ignore case when completing: 'wildignorecase'.

	Added ability to delete comment leader when using |J| by `j` flag in 
	'formatoptions' (|fo-table|). (Lech Lorens)

	Added ability to control indentation inside namespaces: |cino-N|. 
	(Konstantin Lepa)

	Added ability to control alignment inside `if` condition separately 
	from alignment inside function arguments: |cino-k|. (Lech Lorens)

Other:
	Improved support for cmd.exe. (Ben Fritz, Bram Moolenaar)

	Added |v:windowid| variable containing current window number in GUI 
	Vim. (Christian J. Robinson, Lech Lorens)

	Added rxvt-unicode and SGR mouse support. (Yiding Jia, Hayaki Saito)


All changes in 7.4						*fixed-7.4*
------------------

Patch 7.3.001
Problem:    When editing "src/main.c" and 'path' set to "./proto",
	    ":find e<C-D" shows ./proto/eval.pro instead of eval.pro.
Solution:   Check for path separator when comparing names. (Nazri Ramliy)
Files:	    src/misc1.c

Patch 7.3.002
Problem:    ":find" completion doesn't work when halfway an environment
	    variable. (Dominique Pelle)
Solution:   Only use in-path completion when expanding file names. (Nazri
	    Ramliy)
Files:	    src/ex_docmd.c

Patch 7.3.003
Problem:    Crash with specific BufWritePost autocmd. (Peter Odding)
Solution:   Don't free the quickfix title twice. (Lech Lorens)
Files:	    src/quickfix.c

Patch 7.3.004
Problem:    Crash when using very long regexp. (Peter Odding)
Solution:   Reset reg_toolong. (Carlo Teubner)
Files:	    src/regexp.c

Patch 7.3.005
Problem:    Crash when using undotree(). (Christian Brabandt)
Solution:   Increase the list reference count.  Add a test for undotree()
	    (Lech Lorens)
Files:	    src/eval.c, src/testdir/Makefile, src/testdir/test61.in

Patch 7.3.006
Problem:    Can't build some multi-byte code with C89.
Solution:   Move code to after declarations. (Joachim Schmitz)
Files:	    src/mbyte.c, src/spell.c

Patch 7.3.007
Problem:    Python code defines global "buffer".  Re-implements a grow-array.
Solution:   Use a grow-array instead of coding the same functionality.  Handle
	    out-of-memory situation properly.
Files:	    src/if_py_both.h

Patch 7.3.008
Problem:    'cursorbind' is kept in places where 'scrollbind' is reset.
Solution:   Reset 'cursorbind'.
Files:	    src/buffer.c, src/diff.c, src/ex_cmds.c, src/ex_cmds2.c,
	    src/ex_docmd.c, src/ex_getln.c, src/if_cscope.c, src/macros.h,
	    src/quickfix.c, src/search.c, src/tag.c, src/window.c

Patch 7.3.009
Problem:    Win32: Crash on Windows when using a bad argument for strftime().
	    (Christian Brabandt)
Solution:   Use the bad_param_handler(). (Mike Williams)
Files:	    src/os_win32.c

Patch 7.3.010
Problem:    Mac GUI: Missing break statements.
Solution:   Add the break statements. (Dominique Pelle)
Files:	    src/gui_mac.c

Patch 7.3.011
Problem:    X11 clipboard doesn't work in Athena/Motif GUI.  First selection
	    after a shell command doesn't work.
Solution:   When using the GUI use XtLastTimestampProcessed() instead of
	    changing a property.  (partly by Toni Ronkko)
	    When executing a shell command disown the selection.
Files:	    src/ui.c, src/os_unix.c

Patch 7.3.012
Problem:    Problems building with MingW.
Solution:   Adjust the MingW makefiles. (Jon Maken)
Files:	    src/Make_ming.mak, src/GvimExt/Make_ming.mak

Patch 7.3.013
Problem:    Dynamic loading with Ruby doesn't work for 1.9.2.
Solution:   Handle rb_str2cstr differently.  Also support dynamic loading on
	    Unix. (Jon Maken)
Files:	    src/if_ruby.c

Patch 7.3.014
Problem:    Ending a line in a backslash inside an ":append" or ":insert"
	    command in Ex mode doesn't work properly. (Ray Frush)
Solution:   Halve the number of backslashes, only insert a NUL after an odd
	    number of backslashes.
Files:	    src/ex_getln.c

Patch 7.3.015
Problem:    Test is using error message that no longer exists.
Solution:   Change E106 to E121. (Dominique Pelle)
Files:	    src/testdir/test49.vim

Patch 7.3.016
Problem:    Netbeans doesn't work under Athena.
Solution:   Support Athena, just like Motif. (Xavier de Gaye)
Files:	    runtime/doc/netbeans.txt, src/gui.c, src/main.c, src/netbeans.c

Patch 7.3.017
Problem:    smatch reports errors.
Solution:   Fix the reported errors. (Dominique Pelle)
Files:	    src/spell.c, src/syntax.c

Patch 7.3.018 (after 7.3.012)
Problem:    Missing argument to windres in MingW makefiles.
Solution:   Add the argument that was wrapped in the patch. (Jon Maken)
Files:	    src/Make_ming.mak, src/GvimExt/Make_ming.mak

Patch 7.3.019
Problem:    ":nbstart" can fail silently.
Solution:   Give an error when netbeans is not supported by the GUI. (Xavier
	    de Gaye)
Files:	    src/netbeans.c

Patch 7.3.020
Problem:    Cursor position wrong when joining multiple lines and
	    'formatoptions' contains "a". (Moshe Kamensky)
Solution:   Adjust cursor position for skipped indent. (Carlo Teubner)
Files:	    src/ops.c, src/testdir/test68.in, src/testdir/test68.ok

Patch 7.3.021
Problem:    Conflict for defining Boolean in Mac header files.
Solution:   Define NO_X11_INCLUDES. (Rainer Muller)
Files:	    src/os_macosx.m, src/vim.h

Patch 7.3.022
Problem:    When opening a new window the 'spellcapcheck' option is cleared.
Solution:   Copy the correct option value. (Christian Brabandt)
Files:	    src/option.c

Patch 7.3.023
Problem:    External program may hang when it tries to write to the tty.
Solution:   Don't close the slave tty until after the child exits. (Nikola
	    Knezevic)
Files:	    src/os_unix.c

Patch 7.3.024
Problem:    Named signs do not use a negative number as intended.
Solution:   Fix the numbering of named signs. (Xavier de Gaye)
Files:	    src/ex_cmds.c

Patch 7.3.025
Problem:    ":mksession" does not square brackets escape file name properly.
Solution:   Improve escaping of file names. (partly by Peter Odding)
Files:	    src/ex_docmd.c

Patch 7.3.026
Problem:    CTRL-] in a help file doesn't always work. (Tony Mechelynck)
Solution:   Don't escape special characters. (Carlo Teubner)
Files:	    src/normal.c

Patch 7.3.027
Problem:    Opening a file on a network share is very slow.
Solution:   When fixing file name case append "\*" to directory, server and
	    network share names. (David Anderson, John Beckett)
Files:	    src/os_win32.c

Patch 7.3.028 (after 7.3.024)
Problem:    Signs don't show up. (Charles Campbell)
Solution:   Don't use negative numbers.  Also assign a number to signs that
	    have a name of all digits to avoid using a sign number twice.
Files:	    src/ex_cmds.c

Patch 7.3.029
Problem:    ":sort n" sorts lines without a number as number zero. (Beeyawned)
Solution:   Make lines without a number sort before lines with a number.  Also
	    fix sorting negative numbers.
Files:	    src/ex_cmds.c, src/testdir/test57.in, src/testdir/test57.ok

Patch 7.3.030
Problem:    Cannot store Dict and List in viminfo file.
Solution:   Add support for this. (Christian Brabandt)
Files:	    runtime/doc/options.txt, src/eval.c, src/testdir/Make_amiga.mak,
	    src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
	    src/testdir/Make_os2.mak, src/testdir/Make_vms.mms,
	    src/testdir/Makefile, src/testdir/main.aap, src/testdir/test74.in,
	    src/testdir/test74.ok

Patch 7.3.031
Problem:    Can't pass the X window ID to another application.
Solution:   Add v:windowid. (Christian J. Robinson, Lech Lorens)
Files:	    runtime/doc/eval.txt, src/eval.c, src/gui.c, src/vim.h,
	    src/os_unix.c

Patch 7.3.032
Problem:    maparg() doesn't return the flags, such as <buffer>, <script>,
	    <silent>.  These are needed to save and restore a mapping.
Solution:   Improve maparg(). (also by Christian Brabandt)
Files:	    runtime/doc/eval.txt, src/eval.c, src/getchar.c, src/gui_w48.c,
	    src/message.c, src/proto/getchar.pro, src/proto/message.pro,
	    src/structs.h src/testdir/test75.in, src/testdir/test75.ok

Patch 7.3.033 (after 7.3.032)
Problem:    Can't build without FEAT_LOCALMAP.
Solution:   Add an #ifdef. (John Marriott)
Files:	    src/getchar.c

Patch 7.3.034
Problem:    Win32: may be loading .dll from the wrong directory.
Solution:   Go to the Vim executable directory when opening a library.
Files:	    src/gui_w32.c, src/if_lua.c, src/if_mzsch.c, src/if_perl.xs,
	    src/if_python.c, src/if_python3.c, src/if_ruby.c, src/mbyte.c,
	    src/os_mswin.c, src/os_win32.c, src/proto/os_win32.pro

Patch 7.3.035 (after 7.3.034)
Problem:    Stray semicolon after if statement. (Hari G)
Solution:   Remove the semicolon.
Files:	    src/os_win32.c

Patch 7.3.036
Problem:    Win32 GUI: When building without menus, the font for dialogs and
	    tab page headers also changes.
Solution:   Define USE_SYSMENU_FONT always. (Harig G.)
Files:	    src/gui_w32.c

Patch 7.3.037
Problem:    Compiler warnings for loss of data. (Mike Williams)
Solution:   Add type casts.
Files:	    src/if_py_both.h, src/getchar.c, src/os_win32.c

Patch 7.3.038
Problem:    v:windowid isn't set on MS-Windows.
Solution:   Set it to the window handle. (Chris Sutcliffe)
Files:	    runtime/doc/eval.txt, src/gui_w32.c

Patch 7.3.039
Problem:    Crash when using skk.vim plugin.
Solution:   Get length of expression evaluation result only after checking for
	    NULL.  (Noriaki Yagi, Dominique Pelle)
Files:	    src/ex_getln.c

Patch 7.3.040
Problem:    Comparing strings while ignoring case goes beyond end of the
	    string when there are illegal bytes. (Dominique Pelle)
Solution:   Explicitly check for illegal bytes.
Files:	    src/mbyte.c

Patch 7.3.041
Problem:    Compiler warning for accessing mediumVersion. (Tony Mechelynck)
Solution:   Use the pointer instead of the array itself. (Dominique Pelle)
Files:	    src/version.c

Patch 7.3.042
Problem:    No spell highlighting when re-using an empty buffer.
Solution:   Clear the spell checking info only when clearing the options for a
	    buffer. (James Vega)
Files:	    src/buffer.c

Patch 7.3.043
Problem:    Can't load Ruby dynamically on Unix.
Solution:   Adjust the configure script. (James Vega)
Files:	    src/Makefile, src/config.h.in, src/configure.in,
	    src/auto/configure, src/if_ruby.c

Patch 7.3.044
Problem:    The preview window opened by the popup menu is larger than
	    specified with 'previewheight'. (Benjamin Haskell)
Solution:   Use 'previewheight' if it's set and smaller.
Files:	    src/popupmnu.c

Patch 7.3.045
Problem:    Compiler warning for uninitialized variable.
Solution:   Initialize the variable always.
Files:	    src/getchar.c

Patch 7.3.046 (after 7.3.043)
Problem:    Can't build Ruby on MS-Windows.
Solution:   Add #ifdef, don't use WIN3264 before including vim.h.
Files:	    src/if_ruby.c

Patch 7.3.047 (after 7.3.032)
Problem:    Missing makefile updates for test 75.
Solution:   Update the makefiles.
Files:	    src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
	    src/testdir/Makefile, src/testdir/Make_ming.mak,
	    src/testdir/Make_os2.mak, src/testdir/Make_vms.mms

Patch 7.3.048
Problem:    ":earlier 1f" doesn't work after loading undo file.
Solution:   Set b_u_save_nr_cur when loading an undo file. (Christian
	    Brabandt)
	    Fix only showing time in ":undolist"
Files:	    src/undo.c

Patch 7.3.049
Problem:    PLT has rebranded their Scheme to Racket.
Solution:   Add support for Racket 5.x. (Sergey Khorev)
Files:	    src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak,
	    src/auto/configure, src/configure.in, src/if_mzsch.c

Patch 7.3.050
Problem:    The link script is clumsy.
Solution:   Use the --as-needed linker option if available. (Kirill A.
	    Shutemov)
Files:	    src/Makefile, src/auto/configure, src/config.mk.in,
	    src/configure.in, src/link.sh

Patch 7.3.051
Problem:    Crash when $PATH is empty.
Solution:   Check for vim_getenv() returning NULL. (Yasuhiro Matsumoto)
Files:	    src/ex_getln.c, src/os_win32.c

Patch 7.3.052
Problem:    When 'completefunc' opens a new window all kinds of errors follow.
	    (Xavier Deguillard)
Solution:   When 'completefunc' goes to another window or buffer and when it
	    deletes text abort completion.  Add a test for 'completefunc'.
Files:	    src/edit.c, src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
	    src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
	    src/testdir/Make_vms.mms, src/testdir/Makefile,
	    src/testdir/test76.in, src/testdir/test76.ok

Patch 7.3.053
Problem:    complete() function doesn't reset complete direction.  Can't use
	    an empty string in the list of matches.
Solution:   Set compl_direction to FORWARD.  Add "empty" key to allow empty
	    words. (Kikuchan)
Files:	    src/edit.c

Patch 7.3.054
Problem:    Can define a user command for :Print, but it doesn't work. (Aaron
	    Thoma)
Solution:   Let user command :Print overrule the builtin command (Christian
	    Brabandt)  Disallow :X and :Next as a user defined command.
Files:	    src/ex_docmd.c

Patch 7.3.055
Problem:    Recursively nested lists and dictionaries cause a near-endless
	    loop when comparing them with a copy. (ZyX)
Solution:   Limit recursiveness in a way that non-recursive structures can
	    still be nested very deep.
Files:	    src/eval.c, src/testdir/test55.in, src/testdir/test55.ok

Patch 7.3.056
Problem:    "getline" argument in do_cmdline() shadows global.
Solution:   Rename the argument.
Files:	    src/ex_docmd.c

Patch 7.3.057
Problem:    Segfault with command line abbreviation. (Randy Morris)
Solution:   Don't retrigger the abbreviation when abandoning the command line.
	    Continue editing the command line after the error.
Files:	    src/ex_getln.c

Patch 7.3.058
Problem:    Error "code converter not found" when loading Ruby script.
Solution:   Load Gem module. (Yasuhiro Matsumoto)
Files:	    src/if_ruby.c

Patch 7.3.059
Problem:    Netbeans: Problem with recursively handling messages for Athena
	    and Motif.
Solution:   Call netbeans_parse_messages() in the main loop, like it's done
	    for GTK. (Xavier de Gaye)
Files:	    src/gui_x11.c, src/netbeans.c

Patch 7.3.060
Problem:    Netbeans: crash when socket is disconnected unexpectedly.
Solution:   Don't cleanup when a read fails, put a message in the queue and
	    disconnect later. (Xavier de Gaye)
Files:	    src/netbeans.c

Patch 7.3.061
Problem:    Remote ":drop" does not respect 'autochdir'. (Peter Odding)
Solution:   Don't restore the directory when 'autochdir' is set. (Benjamin
	    Fritz)
Files:	    src/main.c

Patch 7.3.062
Problem:    Python doesn't work properly when installed in another directory
	    than expected.
Solution:   Figure out home directory in configure and use Py_SetPythonHome()
	    at runtime. (Roland Puntaier)
Files:	    src/configure.in, src/auto/configure, src/if_python.c,
	    src/if_python3.c

Patch 7.3.063
Problem:    Win32: Running a filter command makes Vim lose focus.
Solution:   Use SW_SHOWMINNOACTIVE instead of SW_SHOWMINIMIZED. (Hong Xu)
Files:	    src/os_win32.c

Patch 7.3.064
Problem:    Win32: ":dis +" shows nothing, but "+p does insert text.
Solution:   Display the * register, since that's what will be inserted.
	    (Christian Brabandt)
Files:	    src/globals.h, src/ops.c

Patch 7.3.065
Problem:    Can't get current line number in a source file.
Solution:   Add the <slnum> item, similar to <sfile>.
Files:	    src/ex_docmd.c

Patch 7.3.066
Problem:    Crash when changing to another window while in a :vimgrep command.
	    (Christian Brabandt)
Solution:   When wiping out the dummy before, remove it from aucmd_win.
Files:	    src/quickfix.c

Patch 7.3.067 (after 7.3.058)
Problem:    Ruby: Init_prelude is not always available.
Solution:   Remove use of Init_prelude. (Yasuhiro Matsumoto)
Files:	    src/if_ruby.c

Patch 7.3.068
Problem:    Using freed memory when doing ":saveas" and an autocommand sets
	    'autochdir'. (Kevin Klement)
Solution:   Get the value of fname again after executing autocommands.
Files:	    src/ex_cmds.c

Patch 7.3.069
Problem:    GTK: pressing Enter in inputdialog() doesn't work like clicking OK
	    as documented.
Solution:   call gtk_entry_set_activates_default(). (Britton Kerin)
Files:	    src/gui_gtk.c

Patch 7.3.070
Problem:    Can set environment variables in the sandbox, could be abused.
Solution:   Disallow it.
Files:	    src/eval.c

Patch 7.3.071
Problem:    Editing a file in a window that's in diff mode resets 'diff'
	    but not cursor binding.
Solution:   Reset cursor binding in two more places.
Files:	    src/quickfix.c, src/option.c

Patch 7.3.072
Problem:    Can't complete file names while ignoring case.
Solution:   Add 'wildignorecase'.
Files:	    src/ex_docmd.c, src/ex_getln.c, src/misc1.c, src/option.c,
	    src/option.h, src/vim.h, src/runtime/options.txt

Patch 7.3.073
Problem:    Double free memory when netbeans command follows DETACH.
Solution:   Only free the node when owned. (Xavier de Gaye)
Files:	    src/netbeans.c

Patch 7.3.074
Problem:    Can't use the "+ register like "* for yank and put.
Solution:   Add "unnamedplus" to the 'clipboard' option. (Ivan Krasilnikov)
Files:	    runtime/doc/options.txt, src/eval.c, src/globals.h, src/ops.c,
	    src/option.c

Patch 7.3.075 (after 7.3.072)
Problem:    Missing part of 'wildignorecase'
Solution:   Also adjust expand()
Files:	    src/eval.c

Patch 7.3.076
Problem:    Clang warnings for dead code.
Solution:   Remove it. (Carlo Teubner)
Files:	    src/gui_gtk.c, src/if_ruby.c, src/misc2.c, src/netbeans.c,
	    src/spell.c

Patch 7.3.077
Problem:    When updating crypt of swapfile fails there is no error message.
	    (Carlo Teubner)
Solution:   Add the error message.
Files:	    src/memline.c

Patch 7.3.078
Problem:    Warning for unused variable.
Solution:   Adjust #ifdefs.
Files:	    src/ops.c

Patch 7.3.079
Problem:    Duplicate lines in makefile.
Solution:   Remove the lines. (Hong Xu)
Files:	    src/Make_mvc.mak

Patch 7.3.080
Problem:    Spell doesn't work on VMS.
Solution:   Use different file names. (Zoltan Bartos, Zoltan Arpadffy)
Files:	    src/spell.c

Patch 7.3.081
Problem:    Non-printable characters in 'statusline' cause trouble. (ZyX)
Solution:   Use transstr(). (partly by Caio Ariede)
Files:	    src/screen.c

Patch 7.3.082
Problem:    Leaking file descriptor when hostname doesn't exist.
Solution:   Remove old debugging lines.
Files:	    src/netbeans.c

Patch 7.3.083
Problem:    When a read() or write() is interrupted by a signal it fails.
Solution:   Add read_eintr() and write_eintr().
Files:	    src/fileio.c, src/proto/fileio.pro, src/memfile.c, src/memline.c,
	    src/os_unix.c, src/undo.c, src/vim.h

Patch 7.3.084
Problem:    When splitting the window, the new one scrolls with the cursor at
	    the top.
Solution:   Compute w_fraction before setting the new height.
Files:	    src/window.c

Patch 7.3.085 (after 7.3.083)
Problem:    Inconsistency with preproc symbols.  void * computation.
Solution:   Include vimio.h from vim.h.  Add type cast.
Files:	    src/eval.c, src/ex_cmds.c, src/ex_cmds2.c, src/fileio.c,
	    src/if_cscope.c, src/if_sniff.c, src/main.c, src/memfile.c,
	    src/memline.c, src/netbeans.c, src/os_msdos.c, src/os_mswin.c,
	    src/os_win16.c, src/os_win32.c, src/spell.c, src/tag.c,
	    src/undo.c, src/vim.h

Patch 7.3.086
Problem:    When using a mapping with an expression and there was no count,
	    v:count has the value of the previous command. (ZyX)
Solution:   Also set v:count and v:count1 before getting the character that
	    could be a command or a count.
Files:	    src/normal.c

Patch 7.3.087
Problem:    EINTR is not always defined.
Solution:   Include errno.h in vim.h.
Files:	    src/if_cscope.c, src/if_tcl.c, src/integration.c, src/memline.c,
	    src/os_mswin.c, src/os_win16.c, src/os_win32.c, src/vim.h,
	    src/workshop.c

Patch 7.3.088
Problem:    Ruby can't load Gems sometimes, may cause a crash.
Solution:   Undefine off_t.  Use ruby_process_options(). (Yasuhiro Matsumoto)
Files:	    src/if_ruby.c

Patch 7.3.089
Problem:    Compiler warning on 64 bit MS-Windows.
Solution:   Add type cast. (Mike Williams)
Files:	    src/netbeans.c

Patch 7.3.090
Problem:    Wrong help text for Cscope.
Solution:   Adjust the help text for "t". (Dominique Pelle)
Files:	    src/if_cscope.c

Patch 7.3.091
Problem:    "vim -w foo" writes special key codes for removed escape
	    sequences. (Josh Triplett)
Solution:   Don't write K_IGNORE codes.
Files:	    src/getchar.c, src/misc1.c, src/term.c, src/vim.h

Patch 7.3.092
Problem:    Resizing the window when exiting.
Solution:   Don't resize when exiting.
Files:	    src/term.c

Patch 7.3.093
Problem:    New DLL dependencies in MingW with gcc 4.5.0.
Solution:   Add STATIC_STDCPLUS, LDFLAGS and split up WINDRES. (Guopeng Wen)
Files:	    src/GvimExt/Make_ming.mak, src/Make_ming.mak

Patch 7.3.094
Problem:    Using abs() requires type cast to int.
Solution:   Use labs() so that the value remains long. (Hong Xu)
Files:	    src/screen.c

Patch 7.3.095
Problem:    Win32: In Chinese tear-off menu doesn't work. (Weasley)
Solution:   Use menu_name_equal().  (Alex Jakushev)
Files:	    src/menu.c

Patch 7.3.096
Problem:    "gvim -nb" is not interruptible.  Leaking file descriptor on
	    netbeans connection error.
Solution:   Check for CTRL-C typed.  Free file descriptor.  (Xavier de Gaye)
Files:	    src/netbeans.c

Patch 7.3.097
Problem:    Using ":call" inside "if 0" does not see that a function returns a
	    Dict and gives error for "." as string concatenation.
Solution:   Use eval0() to skip over the expression.  (Yasuhiro Matsumoto)
Files:	    src/eval.c

Patch 7.3.098
Problem:    Function that ignores error still causes called_emsg to be set.
	    E.g. when expand() fails the status line is disabled.
Solution:   Move check for emsg_not_now() up. (James Vega)
Files:	    src/message.c

Patch 7.3.099
Problem:    Crash when splitting a window with zero height. (Yukihiro
	    Nakadaira)
Solution:   Don't set the fraction in a window with zero height.
Files:	    src/window.c

Patch 7.3.100
Problem:    When using :normal v:count isn't set.
Solution:   Call normal_cmd() with toplevel set to TRUE.
Files:	    src/ex_docmd.c

Patch 7.3.101
Problem:    ino_t defined with wrong size.
Solution:   Move including auto/config.h before other includes. (Marius
	    Geminas)
Files:	    src/if_ruby.c, src/if_lua.c

Patch 7.3.102
Problem:    When using ":make", typing the next command and then getting the
	    "reload" prompt the next command is (partly) eaten by the reload
	    prompt.
Solution:   Accept ':' as a special character at the reload prompt to accept
	    the default choice and execute the command.
Files:	    src/eval.c, src/fileio.c, src/gui.c, src/gui_xmdlg.c,
	    src/memline.c, src/message.c, src/proto/message.pro,
	    src/gui_athena.c, src/gui_gtk.c, src/gui_mac.c, src/gui_motif.c,
	    src/gui_photon.c, src/gui_w16.c, src/gui_w32.c, src/os_mswin.c
	    src/proto/gui_athena.pro, src/proto/gui_gtk.pro,
	    src/proto/gui_mac.pro, src/proto/gui_motif.pro,
	    src/proto/gui_photon.pro, src/proto/gui_w16.pro,
	    src/proto/gui_w32.pro

Patch 7.3.103
Problem:    Changing 'fileformat' and then using ":w" in an empty file sets
	    the 'modified' option.
Solution:   In unchanged() don't ignore 'ff' for an empty file.
Files:	    src/misc1.c, src/option.c, src/proto/option.pro, src/undo.c

Patch 7.3.104
Problem:    Conceal: using Tab for cchar causes problems. (ZyX)
Solution:   Do not accept a control character for cchar.
Files:	    src/syntax.c

Patch 7.3.105
Problem:    Can't get the value of "b:changedtick" with getbufvar().
Solution:   Make it work. (Christian Brabandt)
Files:	    src/eval.c

Patch 7.3.106
Problem:    When 'cursorbind' is set another window may scroll unexpectedly
	    when 'scrollbind' is also set. (Xavier Wang)
Solution:   Don't call update_topline() if 'scrollbind' is set.
Files:	    src/move.c

Patch 7.3.107
Problem:    Year number for :undolist can be confused with month or day.
Solution:   Change "%y" to "%Y".
Files:	    src/undo.c

Patch 7.3.108
Problem:    Useless check for NULL when calling vim_free().
Solution:   Remove the check. (Dominique Pelle)
Files:	    src/eval.c, src/ex_cmds.c, src/os_win32.c

Patch 7.3.109
Problem:    Processing new Esperanto spell file fails and crashes Vim.
	    (Dominique Pelle)
Solution:   When running out of memory give an error.  Handle '?' in
	    COMPOUNDRULE properly.
Files:	    src/spell.c

Patch 7.3.110
Problem:    The "nbsp" item in 'listchars' isn't used for ":list".
Solution:   Make it work. (Christian Brabandt)
Files:	    src/message.c

Patch 7.3.111 (after 7.3.100)
Problem:    Executing a :normal command in 'statusline' evaluation causes the
	    cursor to move. (Dominique Pelle)
Solution:   When updating the cursor for 'cursorbind' allow the cursor beyond
	    the end of the line.  When evaluating 'statusline' temporarily
	    reset 'cursorbind'.
Files:	    src/move.c, src/screen.c

Patch 7.3.112
Problem:    Setting 'statusline' to "%!'asdf%' reads uninitialized memory.
Solution:   Check for NUL after %.
Files:	    src/buffer.c

Patch 7.3.113
Problem:    Windows: Fall back directory for creating temp file is wrong.
Solution:   Use "." instead of empty string. (Hong Xu)
Files:	    src/fileio.c

Patch 7.3.114
Problem:    Potential problem in initialization when giving an error message
	    early.
Solution:   Initialize 'verbosefile' empty. (Ben Schmidt)
Files:	    src/option.h

Patch 7.3.115
Problem:    Vim can crash when tmpnam() returns NULL.
Solution:   Check for NULL. (Hong Xu)
Files:	    src/fileio.c

Patch 7.3.116
Problem:    'cursorline' is displayed too short when there are concealed
	    characters and 'list' is set.  (Dennis Preiser)
Solution:   Check for 'cursorline' when 'list' is set. (Christian Brabandt)
Files:	    src/screen.c

Patch 7.3.117
Problem:    On some systems --as-needed does not work, because the "tinfo"
	    library is included indirectly from "ncurses". (Charles Campbell)
Solution:   In configure prefer using "tinfo" instead of "ncurses".
Files:	    src/configure.in, src/auto/configure

Patch 7.3.118
Problem:    Ruby uses SIGVTALARM which makes Vim exit. (Alec Tica)
Solution:   Ignore SIGVTALARM. (Dominique Pelle)
Files:	    src/os_unix.c

Patch 7.3.119
Problem:    Build problem on Mac. (Nicholas Stallard)
Solution:   Use "extern" instead of "EXTERN" for p_vfile.
Files:	    src/option.h

Patch 7.3.120
Problem:    The message for an existing swap file is too long to fit in a 25
	    line terminal.
Solution:   Make the message shorter. (Chad Miller)
Files:	    src/memline.c

Patch 7.3.121
Problem:    Complicated 'statusline' causes a crash. (Christian Brabandt)
Solution:   Check that the number of items is not too big.
Files:	    src/buffer.c

Patch 7.3.122
Problem:    Having auto/config.mk in the repository causes problems.
Solution:   Remove auto/config.mk from the distribution.  In the toplevel
	    Makefile copy it from the "dist" file.
Files:	    Makefile, src/Makefile, src/auto/config.mk

Patch 7.3.123
Problem:    ml_get error when executing register being recorded into, deleting
	    lines and 'conceallevel' is set. (ZyX)
Solution:   Don't redraw a line for concealing when it doesn't exist.
Files:	    src/main.c

Patch 7.3.124
Problem:    When writing a file in binary mode it may be missing the final EOL
	    if a file previously read was missing the EOL. (Kevin Goodsell)
Solution:   Move the write_no_eol_lnum into the buffer struct.
Files:	    src/structs.h, src/fileio.c, src/globals.h, src/os_unix.c

Patch 7.3.125
Problem:    MSVC: Problem with quotes in link argument.
Solution:   Escape backslashes and quotes. (Weasley)
Files:	    src/Make_mvc.mak

Patch 7.3.126
Problem:    Compiler warning for signed pointer.
Solution:   Use unsigned int argument for sscanf().
Files:	    src/blowfish.c

Patch 7.3.127
Problem:    Compiler complains about comma.
Solution:   Remove comma after last enum element.
Files:	    src/ex_cmds2.c

Patch 7.3.128
Problem:    Another compiler warning for signed pointer.
Solution:   Use unsigned int argument for sscanf().
Files:	    src/mark.c

Patch 7.3.129
Problem:    Using integer like a boolean.
Solution:   Nicer check for integer being non-zero.
Files:	    src/tag.c

Patch 7.3.130
Problem:    Variable misplaced in #ifdef.
Solution:   Move clipboard_event_time outside of #ifdef.
Files:	    src/gui_gtk_x11.c

Patch 7.3.131
Problem:    Including errno.h too often.
Solution:   Don't include errno.h in Unix header file.
Files:	    src/os_unix.h

Patch 7.3.132
Problem:    C++ style comments.
Solution:   Change to C comments.
Files:	    src/if_python3.c

Patch 7.3.133
Problem:    When using encryption it's not clear what method was used.
Solution:   In the file message show "blowfish" when using blowfish.
Files:	    src/fileio.c

Patch 7.3.134
Problem:    Drag-n-drop doesn't work in KDE Dolphin.
Solution:   Add GDK_ACTION_MOVE flag. (Florian Degner)
Files:	    src/gui_gtk_x11.c

Patch 7.3.135
Problem:    When there is no previous substitute pattern, the previous search
	    pattern is used.  The other way around doesn't work.
Solution:   When there is no previous search pattern, use the previous
	    substitute pattern if possible. (Christian Brabandt)
Files:	    src/search.c

Patch 7.3.136
Problem:    Duplicate include of assert.h.
Solution:   Remove it.
Files:	    src/if_cscope.c

Patch 7.3.137 (after 7.3.091)
Problem:    When 'lazyredraw' is set the screen may not be updated. (Ivan
	    Krasilnikov)
Solution:   Call update_screen() before waiting for input.
Files:	    src/misc1.c, src/getchar.c

Patch 7.3.138
Problem:    ":com" changes the multi-byte text of :echo. (Dimitar Dimitrov)
Solution:   Search for K_SPECIAL as a byte, not a character. (Ben Schmidt)
Files:	    src/ex_docmd.c

Patch 7.3.139 (after 7.3.137)
Problem:    When 'lazyredraw' is set ":ver" output can't be read.
Solution:   Don't redraw the screen when at a prompt or command line.
Files:	    src/getchar.c, src/message.c, src/misc1.c

Patch 7.3.140
Problem:    Crash when drawing the "$" at end-of-line for list mode just after
	    the window border and 'cursorline' is set.
Solution:   Don't check for 'cursorline'. (Quentin Carbonneaux)
Files:	    src/screen.c

Patch 7.3.141
Problem:    When a key code is not set get a confusing error message.
Solution:   Change the error message to say the key code is not set.
Files:	    src/option.c, runtime/doc/options.txt

Patch 7.3.142
Problem:    Python stdout doesn't have a flush() method, causing an import to
	    fail.
Solution:   Add a dummy flush() method. (Tobias Columbus)
Files:	    src/if_py_both.h

Patch 7.3.143
Problem:    Memfile is not tested sufficiently.  Looking up blocks in a
	    memfile is slow when there are many blocks.
Solution:   Add high level test and unittest.  Adjust the number of hash
	    buckets to the number of blocks.  (Ivan Krasilnikov)
Files:	    Filelist, src/Makefile, src/main.c, src/memfile.c,
	    src/memfile_test.c src/structs.h src/testdir/Make_amiga.mak,
	    src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
	    src/testdir/Make_os2.mak, src/testdir/Make_vms.mak,
	    src/testdir/Makefile, src/testdir/test77.in, src/testdir/test77.ok

Patch 7.3.144
Problem:    Crash with ":python help(dir)". (Kearn Holliday)
Solution:   Fix the way the type is set on objects. (Tobias Columbus)
Files:	    src/if_python.c

Patch 7.3.145 (after 7.3.144)
Problem:    Can't build with Python dynamically loading.
Solution:   Add dll_PyType_Ready.
Files:	    src/if_python.c

Patch 7.3.146
Problem:    It's possible to assign to a read-only member of a dict.
	    It's possible to create a global variable "0". (ZyX)
            It's possible to add a v: variable with ":let v:.name = 1".
Solution:   Add check for dict item being read-only.
	    Check the name of g: variables.
	    Disallow adding v: variables.
Files:	    src/eval.c

Patch 7.3.147 (after 7.3.143)
Problem:    Can't build on HP-UX.
Solution:   Remove an unnecessary backslash. (John Marriott)
Files:	    src/Makefile

Patch 7.3.148
Problem:    A syntax file with a huge number of items or clusters causes weird
	    behavior, a hang or a crash. (Yukihiro Nakadaira)
Solution:   Check running out of IDs. (partly by Ben Schmidt)
Files:	    src/syntax.c

Patch 7.3.149
Problem:    The cursor disappears after the processing of the 'setDot'
	    netbeans command when vim runs in a terminal.
Solution:   Show the cursor after a screen update. (Xavier de Gaye)
Files:	    src/netbeans.c

Patch 7.3.150
Problem:    readline() does not return the last line when the NL is missing.
	    (Hong Xu)
Solution:   When at the end of the file Also check for a previous line.
Files:	    src/eval.c

Patch 7.3.151 (after 7.3.074)
Problem:    When "unnamedplus" is in 'clipboard' the selection is sometimes
	    also copied to the star register.
Solution:   Avoid copy to the star register when undesired. (James Vega)
Files:	    src/ops.c

Patch 7.3.152
Problem:    Xxd does not check for errors from library functions.
Solution:   Add error checks. (Florian Zumbiehl)
Files:	    src/xxd/xxd.c

Patch 7.3.153 (after 7.3.152)
Problem:    Compiler warning for ambiguous else, missing prototype.
Solution:   Add braces. (Dominique Pelle)  Add prototype for die().
Files:	    src/xxd/xxd.c

Patch 7.3.154 (after 7.3.148)
Problem:    Can't compile with tiny features. (Tony Mechelynck)
Solution:   Move #define outside of #ifdef.
Files:	    src/syntax.c

Patch 7.3.155
Problem:    Crash when using map(), filter() and remove() on v:. (ZyX)
            Also for extend(). (Yukihiro Nakadaira)
Solution:   Mark v: as locked.  Also correct locking error messages.
Files:	    src/eval.c

Patch 7.3.156
Problem:    Tty names possibly left unterminated.
Solution:   Use vim_strncpy() instead of strncpy().
Files:	    src/pty.c

Patch 7.3.157
Problem:    Superfluous assignment.
Solution:   Remove assignment.
Files:	    src/misc1.c

Patch 7.3.158
Problem:    Might use uninitialized memory in C indenting.
Solution:   Init arrays to empty.
Files:	    src/misc1.c

Patch 7.3.159
Problem:    Using uninitialized pointer when out of memory.
Solution:   Check for NULL return value.
Files:	    src/mbyte.c

Patch 7.3.160
Problem:    Unsafe string copying.
Solution:   Use vim_strncpy() instead of strcpy().  Use vim_strcat() instead
	    of strcat().
Files:	    src/buffer.c, src/ex_docmd.c, src/hardcopy.c, src/menu.c,
	    src/misc1.c, src/misc2.c, src/proto/misc2.pro, src/netbeans.c,
	    src/os_unix.c, src/spell.c, src/syntax.c, src/tag.c

Patch 7.3.161
Problem:    Items on the stack may be too big.
Solution:   Make items static or allocate them.
Files:	    src/eval.c, src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c,
	    src/fileio.c, src/hardcopy.c, src/quickfix.c, src/main.c,
	    src/netbeans.c, src/spell.c, src/tag.c, src/vim.h, src/xxd/xxd.c

Patch 7.3.162
Problem:    No error message when assigning to a list with an index out of
	    range. (Yukihiro Nakadaira)
Solution:   Add the error message.
Files:	    src/eval.c

Patch 7.3.163
Problem:    For the default of 'shellpipe' "mksh" and "pdksh" are not
	    recognized.
Solution:   Recognize these shell names.
Files:	    src/option.c

Patch 7.3.164
Problem:    C-indenting: a preprocessor statement confuses detection of a
	    function declaration.
Solution:   Ignore preprocessor lines. (Lech Lorens)  Also recognize the style
	    to put a comma before the argument name.
Files:	    src/misc1.c, testdir/test3.in, testdir/test3.ok

Patch 7.3.165
Problem:    ":find" completion does not escape spaces in a directory name.
	    (Isz)
Solution:   Add backslashes for EXPAND_FILES_IN_PATH. (Carlo Teubner)
Files:	    src/ex_getln.c

Patch 7.3.166
Problem:    Buffer on the stack may be too big
Solution:   Allocate the space.
Files:	    src/option.c

Patch 7.3.167
Problem:    When using the internal grep QuickFixCmdPost is not triggered.
	    (Yukihiro Nakadaira)
Solution:   Change the place where autocommands are triggered.
Files:	    src/quickfix.c

Patch 7.3.168
Problem:    When the second argument of input() contains a CR the text up to
	    that is used without asking the user. (Yasuhiro Matsumoto)
Solution:   Change CR, NL and ESC in the text to a space.
Files:	    src/getchar.c

Patch 7.3.169
Problem:    Freeing memory already freed, warning from static code analyzer.
Solution:   Initialize pointers to NULL, correct use of "mustfree". (partly by
	    Dominique Pelle)
Files:	    src/mis1.c

Patch 7.3.170
Problem:    VMS Makefile for testing was not updated for test77.
Solution:   Add test77 to the Makefile.
Files:	    src/testdir/Make_vms.mms

Patch 7.3.171
Problem:    When the clipboard isn't supported: ":yank*" gives a confusing
	    error message.
Solution:   Specifically mention that the register name is invalid.
	    (Jean-Rene David)
Files:	    runtime/doc/change.txt, src/ex_docmd.c, src/globals.h

Patch 7.3.172
Problem:    MS-Windows: rename() might delete the file if the name differs but
	    it's actually the same file.
Solution:   Use the file handle to check if it's the same file. (Yukihiro
	    Nakadaira)
Files:	    src/if_cscope.c, src/fileio.c, src/os_win32.c,
	    src/proto/os_win32.pro, src/vim.h

Patch 7.3.173
Problem:    After using setqflist() to make the quickfix list empty ":cwindow"
	    may open the window anyway.  Also after ":vimgrep".
Solution:   Correctly check whether the list is empty. (Ingo Karkat)
Files:	    src/quickfix.c

Patch 7.3.174
Problem:    When Exuberant ctags binary is exctags it's not found.
Solution:   Add configure check for exctags. (Hong Xu)
Files:	    src/configure.in, src/auto/configure

Patch 7.3.175
Problem:    When 'colorcolumn' is set locally to a window, ":new" opens a
	    window with the same highlighting but 'colorcolumn' is empty.
	    (Tyru)
Solution:   Call check_colorcolumn() after clearing and copying options.
	    (Christian Brabandt)
Files:	    src/buffer.c

Patch 7.3.176
Problem:    Ruby linking doesn't work properly on Mac OS X.
Solution:   Fix the configure check for Ruby. (Bjorn Winckler)
Files:	    src/configure.in, src/auto/configure

Patch 7.3.177
Problem:    MS-Windows: mkdir() doesn't work properly when 'encoding' is
	    "utf-8".
Solution:   Convert to utf-16. (Yukihiro Nakadaira)
Files:	    src/os_win32.c, src/os_win32.h, src/proto/os_win32.pro

Patch 7.3.178
Problem:    C-indent doesn't handle code right after { correctly.
Solution:   Fix detecting unterminated line. (Lech Lorens)
Files:	    src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok

Patch 7.3.179
Problem:    C-indent doesn't handle colon in string correctly.
Solution:   Skip the string. (Lech Lorens)
Files:	    src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok

Patch 7.3.180
Problem:    When both a middle part of 'comments' matches and an end part, the
	    middle part was used erroneously.
Solution:   After finding the middle part match continue looking for a better
	    end part match. (partly by Lech Lorens)
Files:	    src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok

Patch 7.3.181
Problem:    When repeating the insert of CTRL-V or a digraph the display may
	    not be updated correctly.
Solution:   Only call edit_unputchar() after edit_putchar(). (Lech Lorens)
Files:	    src/edit.c

Patch 7.3.182 (after 7.3.180)
Problem:    Compiler warning for uninitialized variable.
Solution:   Add dummy initializer.
Files:	    src/misc1.c

Patch 7.3.183 (after 7.3.174)
Problem:    When Exuberant ctags binary is exuberant-ctags it's not found.
Solution:   Add configure check for exuberant-ctags.
Files:	    src/configure.in, src/auto/configure

Patch 7.3.184
Problem:    Static code analysis errors in riscOS.
Solution:   Make buffer size bigger. (Dominique Pelle)
Files:	    src/gui_riscos.c

Patch 7.3.185
Problem:    ":windo g/pattern/q" closes windows and reports "N more lines".
	    (Tim Chase)
Solution:   Remember what buffer ":global" started in. (Jean-Rene David)
Files:	    src/ex_cmds.c

Patch 7.3.186
Problem:    When 'clipboard' contains "unnamed" or "unnamedplus" the value of
	    v:register is wrong for operators without a specific register.
Solution:   Adjust the register according to 'clipboard'. (Ingo Karkat)
Files:	    src/normal.c

Patch 7.3.187
Problem:    The RISC OS port has obvious errors and is not being maintained.
Solution:   Remove the RISC OS files and code.
Files:	    src/ascii.h, src/eval.c, src/ex_cmds.c, src/ex_cmds2.c,
	    src/ex_docmd.c, src/fileio.c, src/globals.h, src/gui.c, src/gui.h,
	    src/main.c, src/memfile.c, src/memline.c, src/misc1.c,
	    src/proto.h, src/quickfix.c, src/search.c, src/structs.h,
	    src/term.c, src/termlib.c, src/version.c, src/vim.h,
	    src/gui_riscos.h, src/os_riscos.h, src/gui_riscos.c,
	    src/os_riscos.c, runtime/doc/os_risc.txt

Patch 7.3.188
Problem:    More RISC OS files to remove.
Solution:   Remove them.  Update the file list.
Files:	    src/proto/gui_riscos.pro, src/proto/os_riscos.pro, Filelist

Patch 7.3.189 (after 7.3.186)
Problem:    Can't build without +clipboard feature. (Christian Ebert)
Solution:   Add the missing #ifdef.
Files:	    src/normal.c

Patch 7.3.190
Problem:    When there is a "containedin" syntax argument highlighting may be
	    wrong. (Radek)
Solution:   Reset current_next_list. (Ben Schmidt)
Files:	    src/syntax.c

Patch 7.3.191
Problem:    Still some RISC OS stuff to remove.
Solution:   Remove files and lines. (Hong Xu)
	    Remove the 'osfiletype' option code.
Files:	    README_extra.txt, src/Make_ro.mak, src/INSTALL, src/Makefile,
	    src/buffer.c, src/eval.c, src/feature.h, src/option.c,
	    src/option.h, src/structs.h, src/version.c, src/pty.c, Filelist

Patch 7.3.192
Problem:    Ex command ":s/ \?/ /g" splits multi-byte characters into bytes.
	    (Dominique Pelle)
Solution:   Advance over whole character instead of one byte.
Files:	    src/ex_cmds.c

Patch 7.3.193
Problem:    In the command line window ":close" doesn't work properly. (Tony
	    Mechelynck)
Solution:   Use Ctrl_C instead of K_IGNORE for cmdwin_result. (Jean-Rene
	    David)
Files:	    src/ex_docmd.c, src/ex_getln.c

Patch 7.3.194
Problem:    When "b" is a symlink to directory "a", resolve("b/") doesn't
	    result in "a/".  (ZyX)
Solution:   Remove the trailing slash. (Jean-Rene David)
Files:	    src/eval.c

Patch 7.3.195
Problem:    "} else" causes following lines to be indented too much. (Rouben
	    Rostamian)
Solution:   Better detection for the "else". (Lech Lorens)
Files:	    src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok

Patch 7.3.196
Problem:    Can't intercept a character that is going to be inserted.
Solution:   Add the InsertCharPre autocommand event. (Jakson A. Aquino)
Files:	    runtime/doc/autocmd.txt, runtime/doc/eval.txt,
	    runtime/doc/map.txt, src/edit.c, src/eval.c, src/fileio.c,
	    src/vim.h

Patch 7.3.197
Problem:    When a QuickfixCmdPost event removes all errors, Vim still tries
	    to jump to the first error, resulting in E42.
Solution:   Get the number of error after the autocmd event. (Mike Lundy)
Files:	    src/quickfix.c

Patch 7.3.198
Problem:    No completion for ":lang".
Solution:   Get locales to complete from. (Dominique Pelle)
Files:	    src/eval.c, src/ex_cmds2.c, src/ex_getln.c,
	    src/proto/ex_cmds2.pro, src/proto/ex_getln.pro, src/vim.h

Patch 7.3.199
Problem:    MS-Windows: Compilation problem of OLE with MingW compiler.
Solution:   Put #ifdef around declarations. (Guopeng Wen)
Files:	    src/if_ole.h

Patch 7.3.200 (after 7.3.198)
Problem:    CTRL-D doesn't complete :lang.
Solution:   Add the missing part of the change. (Dominique Pelle)
Files:	    src/ex_docmd.c

Patch 7.3.201 (after 7.3.195)
Problem:    "} else" still causes following lines to be indented too much.
Solution:   Better detection for the "else" block. (Lech Lorens)
Files:	    src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok

Patch 7.3.202
Problem:    Cannot influence the indent inside a namespace.
Solution:   Add the "N" 'cino' parameter. (Konstantin Lepa)
Files:	    runtime/doc/indent.txt, src/misc1.c, src/testdir/test3.in,
	    src/testdir/test3.ok

Patch 7.3.203
Problem:    MS-Windows: Can't run an external command without a console window.
Solution:   Support ":!start /b cmd". (Xaizek)
Files:	    runtime/doc/os_win32.txt, src/os_win32.c

Patch 7.3.204 (after 7.3.201)
Problem:    Compiler warning.
Solution:   Add type cast. (Mike Williams)
Files:	    src/misc1.c

Patch 7.3.205
Problem:    Syntax "extend" doesn't work correctly.
Solution:   Avoid calling check_state_ends() recursively (Ben Schmidt)
Files:	    src/syntax.c

Patch 7.3.206
Problem:    64bit MS-Windows compiler warning.
Solution:   Use HandleToLong() instead of type cast. (Mike Williams)
Files:	    src/gui_w32.c

Patch 7.3.207
Problem:    Can't compile with MSVC with pentium4 and 64 bit.
Solution:   Only use SSE2 for 32 bit. (Mike Williams)
Files:	    src/Make_mvc.mak

Patch 7.3.208
Problem:    Early terminated if statement.
Solution:   Remove the semicolon. (Lech Lorens)
Files:	    src/gui_mac.c

Patch 7.3.209
Problem:    MSVC Install instructions point to wrong batch file.
Solution:   Add a batch file for use with MSVC 10.
Files:	    src/msvc2010.bat, src/INSTALLpc.txt, Filelist

Patch 7.3.210
Problem:    Can't always find the file when using cscope.
Solution:   Add the 'cscoperelative' option. (Raghavendra D Prabhu)
Files:	    runtime/doc/if_cscop.txt, runtime/doc/options.txt,
	    src/if_cscope.c

Patch 7.3.211 (after 7.3.210)
Problem:    Compiler warning.
Solution:   Add type cast.
Files:	    src/if_cscope.c

Patch 7.3.212
Problem:    With Python 3.2 ":py3" fails.
Solution:   Move PyEval_InitThreads() to after Py_Initialize(). (Roland
	    Puntaier)  Check abiflags in configure. (Andreas Behr)
Files:	    src/if_python3.c, src/auto/configure, src/configure.in

Patch 7.3.213
Problem:    Javascript object literal is not indented correctly.
Solution:   Make a special case for when "J1" is in 'cino'. (Luc Deschenaux)
Files:	    src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok

Patch 7.3.214
Problem:    The text displayed by ":z-" isn't exactly like old Vi.
Solution:   Add one to the start line number. (ChangZhuo Chen)
Files:	    src/ex_cmds.c

Patch 7.3.215 (after 7.3.210)
Problem:    Wrong file names in previous patch. (Toothpik)
Solution:   Include the option changes.
Files:	    src/option.c, src/option.h

Patch 7.3.216
Problem:    When recovering a file a range of lines is missing. (Charles Jie)
Solution:   Reset the index when advancing to the next pointer block.  Add a
	    test to verify recovery works.
Files:	    src/memline.c, src/testdir/test78.in, src/testdir/test78.ok,
	    src/testdir/Makefile, src/testdir/Make_amiga.mak,
	    src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
	    src/testdir/Make_os2.mak, src/testdir/Make_vms.mms

Patch 7.3.217
Problem:    Inside an "if" a ":wincmd" causes problems.
Solution:   When skipping commands let ":wincmd" skip over its argument.
Files:	    src/ex_docmd.c

Patch 7.3.218 (after 7.3.212)
Problem:    Tiny configuration problem with Python 3.
Solution:   Add abiflags in one more place. (Andreas Behr)
Files:	    src/auto/configure, src/configure.in

Patch 7.3.219
Problem:    Can't compile with GTK on Mac.
Solution:   Add some #ifdef trickery. (Ben Schmidt)
Files:	    src/os_mac_conv.c, src/os_macosx.m, src/vim.h

Patch 7.3.220
Problem:    Python 3: vim.error is a 'str' instead of an 'Exception' object,
	    so 'except' or 'raise' it causes a 'SystemError' exception.
	    Buffer objects do not support slice assignment.
	    When exchanging text between Vim and Python, multibyte texts become
	    garbage or cause Unicode Exceptions, etc.
	    'py3file' tries to read in the file as Unicode, sometimes causes
	    UnicodeDecodeException
Solution:   Fix the problems. (lilydjwg)
Files:	    src/if_py_both.h, src/if_python.c, src/if_python3.c

Patch 7.3.221
Problem:    Text from the clipboard is sometimes handled as linewise, but not
	    consistently.
Solution:   Assume the text is linewise when it ends in a CR or NL.
Files:	    src/gui_gtk_x11.c, src/gui_mac.c, src/ops.c, src/os_msdos.c,
	    src/os_mswin.c, src/os_qnx.c, src/ui.c

Patch 7.3.222
Problem:    Warning for building GvimExt.
Solution:   Comment-out the DESCRIPTION line. (Mike Williams)
Files:	    src/GvimExt/gvimext.def, src/GvimExt/gvimext_ming.def

Patch 7.3.223
Problem:    MingW cross compilation doesn't work with tiny features.
Solution:   Move acp_to_enc(), enc_to_utf16() and utf16_to_enc() outside of
	    "#ifdef CLIPBOARD".  Fix typo in makefile.
Files:	    src/Make_ming.mak, src/os_mswin.c

Patch 7.3.224
Problem:    Can't pass dict to sort function.
Solution:   Add the optional {dict} argument to sort(). (ZyX)
Files:	    runtime/doc/eval.txt, src/eval.c

Patch 7.3.225
Problem:    Using "\n" in a substitute inside ":s" does not result in a line
	    break.
Solution:   Change behavior inside vim_regexec_nl().   Add tests.  (Motoya
	    Kurotsu)
Files:	    src/regexp.c, src/testdir/test79.in, src/testdir/test79.ok,
	    src/testdir/test80.in, src/testdir/test80.ok,
	    src/testdir/Makefile, src/testdir/Make_amiga.mak,
	    src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
	    src/testdir/Make_os2.mak, src/testdir/Make_vms.mms

Patch 7.3.226
Problem:    On a 64 bit system "syn sync fromstart" is very slow.  (Bjorn
	    Steinbrink)
Solution:   Store the state when starting to parse from the first line.
Files:	    src/syntax.c

Patch 7.3.227 (after 7.3.221)
Problem:    Mac OS doesn't have the linewise clipboard fix.
Solution:   Also change the Mac OS file. (Bjorn Winckler)
Files:	    src/os_macosx.m

Patch 7.3.228
Problem:    "2gj" does not always move to the correct position.
Solution:   Get length of line after moving to a next line. (James Vega)
Files:	    src/normal.c

Patch 7.3.229
Problem:    Using fork() makes gvim crash on Mac when build with
	    CoreFoundation.
Solution:   Disallow fork() when __APPLE__ is defined. (Hisashi T Fujinaka)
Files:	    src/gui.c

Patch 7.3.230
Problem:    ":wundo" and ":rundo" don't unescape their argument.  (Aaron
	    Thoma)
Solution:   Use FILE1 instead of XFILE.
Files:	    src/ex_cmds.h

Patch 7.3.231
Problem:    Runtime file patches failed.
Solution:   Redo the patches made against the patched files instead of the
	    files in the mercurial repository.
Files:	    runtime/doc/indent.txt, runtime/doc/os_win32.txt

Patch 7.3.232
Problem:    Python doesn't compile without +multi_byte
Solution:   Use "latin1" when MULTI_BYTE is not defined.
Files:	    src/if_py_both.h

Patch 7.3.233
Problem:    ":scriptnames" and ":breaklist" show long file names.
Solution:   Shorten to use "~/" when possible. (Jean-Rene David)
Files:	    src/ex_cmds2.c

Patch 7.3.234
Problem:    With GTK menu may be popping down.
Solution:   Use event time instead of GDK_CURRENT_TIME. (Hong Xu)
Files:	    src/gui.c, src/gui.h, src/gui_gtk.c, src/gui_gtk_x11.c

Patch 7.3.235
Problem:    ";" gets stuck on a "t" command, it's not useful.
Solution:   Add the ';' flag in 'cpo'. (Christian Brabandt)
Files:	    runtime/doc/motion.txt, runtime/doc/options.txt, src/option.h,
	    src/search.c src/testdir/test81.in, src/testdir/test81.ok,
	    src/testdir/Makefile, src/testdir/Make_amiga.mak,
	    src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
	    src/testdir/Make_os2.mak, src/testdir/Make_vms.mms

Patch 7.3.236 (after 7.3.232)
Problem:    Python 3 doesn't compile without +multi_byte
Solution:   Use "latin1" when MULTI_BYTE is not defined. (lilydjwg)
Files:	    src/if_python3.c

Patch 7.3.237
Problem:    "filetype" completion doesn't work on Windows. (Yue Wu)
Solution:   Don't use a glob pattern for the directories, use a list of
	    directories. (Dominique Pelle)
Files:	    src/ex_getln.c

Patch 7.3.238
Problem:    Compiler warning for conversion.
Solution:   Add type cast. (Mike Williams)
Files:	    src/ex_getln.c

Patch 7.3.239
Problem:    Python corrects the cursor column without taking 'virtualedit'
	    into account. (lilydjwg)
Solution:   Call check_cursor_col_win().
Files:	    src/if_py_both.h, src/mbyte.c, src/misc2.c, src/normal.c,
	    src/proto/mbyte.pro, src/proto/misc2.pro

Patch 7.3.240
Problem:    External commands can't use pipes on MS-Windows.
Solution:   Implement pipes and use them when 'shelltemp' isn't set. (Vincent
	    Berthoux)
Files:	    src/eval.c, src/ex_cmds.c, src/misc2.c, src/os_unix.c,
	    src/os_win32.c, src/proto/misc2.pro, src/ui.c

Patch 7.3.241
Problem:    Using CTRL-R CTRL-W on the command line may insert only part of
	    the word.
Solution:   Use the cursor position instead of assuming it is at the end of
	    the command. (Tyru)
Files:	    src/ex_getln.c

Patch 7.3.242
Problem:    Illegal memory access in after_pathsep().
Solution:   Check that the pointer is not at the start of the file name.
	    (Dominique Pelle)
Files:	    src/misc2.c

Patch 7.3.243
Problem:    Illegal memory access in readline().
Solution:   Swap the conditions. (Dominique Pelle)
Files:	    src/eval.c

Patch 7.3.244
Problem:    MS-Windows: Build problem with old compiler. (John Beckett)
Solution:   Only use HandleToLong() when available. (Mike Williams)
Files:	    src/gui_w32.c

Patch 7.3.245
Problem:    Python 3.2 libraries not correctly detected.
Solution:   Add the suffix to the library name. (Niclas Zeising)
Files:	    src/auto/configure, src/configure.in

Patch 7.3.246 (after 7.3.235)
Problem:    Repeating "f4" in "4444" skips one 4.
Solution:   Check the t_cmd flag. (Christian Brabandt)
Files:	    src/search.c

Patch 7.3.247
Problem:    Running tests changes the users viminfo file.  Test for patch
	    7.3.246 missing.
Solution:   Add "nviminfo" to the 'viminfo' option.  Include the test.
Files:	    src/testdir/test78.in, src/testdir/test81.in

Patch 7.3.248
Problem:    PC Install instructions missing install instructions.
Solution:   Step-by-step explanation. (Michael Soyka)
Files:	    src/INSTALLpc.txt

Patch 7.3.249
Problem:    Wrong indenting for array initializer.
Solution:   Detect '}' in a better way. (Lech Lorens)
Files:	    src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok

Patch 7.3.250
Problem:    Python: Errors in Unicode characters not handled nicely.
Solution:   Add the surrogateescape error handler. (lilydjwg)
Files:	    src/if_python3.c

Patch 7.3.251
Problem:    "gH<Del>" deletes the current line, except when it's the last
	    line.
Solution:   Set the "include" flag to indicate the last line is to be deleted.
Files:	    src/normal.c, src/ops.c

Patch 7.3.252 (after 7.3.247)
Problem:    Tests fail. (David Northfield)
Solution:   Add missing update for .ok file.
Files:	    src/testdir/test81.ok

Patch 7.3.253
Problem:    "echo 'abc' > ''" returns 0 or 1, depending on 'ignorecase'.
	    Checks in mb_strnicmp() for illegal and truncated bytes are
	    wrong.  Should not assume that byte length is equal before case
	    folding.
Solution:   Add utf_safe_read_char_adv() and utf_strnicmp(). Add a test for
	    this. (Ivan Krasilnikov)
Files:	    src/mbyte.c src/testdir/test82.in, src/testdir/test82.ok,
	    src/testdir/Makefile, src/testdir/Make_amiga.mak,
	    src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
	    src/testdir/Make_os2.mak, src/testdir/Make_vms.mms

Patch 7.3.254
Problem:    The coladd field is not reset when setting the line number for a
	    ":call" command.
Solution:   Reset it.
Files:	    src/eval.c

Patch 7.3.255
Problem:    When editing a file such as "File[2010-08-15].vim" an E16 error is
	    given. (Manuel Stol)
Solution:   Don't give an error for failing to compile the regexp.
Files:	    src/ex_docmd.c, src/misc1.c, src/vim.h

Patch 7.3.256
Problem:    Javascript indenting not sufficiently tested.
Solution:   Add more tests. (Luc Deschenaux)  Mark the lines that are indented
	    wrong.
Files:	    src/testdir/test3.in, src/testdir/test3.ok

Patch 7.3.257
Problem:    Not all completions are available to user commands.
Solution:   Add "color", "compiler", "file_in_path" and "locale". (Dominique
	    Pelle)
Files:	    src/ex_docmd.c, runtime/doc/map.txt

Patch 7.3.258
Problem:    MS-Windows: The edit with existing vim context menu entries can be
	    unwanted.
Solution:   Let a registry entry disable them. (Jerome Vuarand)
Files:	    src/GvimExt/gvimext.cpp

Patch 7.3.259
Problem:    Equivalence classes only work for latin characters.
Solution:   Add the Unicode equivalence characters. (Dominique Pelle)
Files:	    runtime/doc/pattern.txt, src/regexp.c, src/testdir/test44.in,
	    src/testdir/test44.ok

Patch 7.3.260
Problem:    CursorHold triggers on an incomplete mapping. (Will Gray)
Solution:   Don't trigger CursorHold when there is typeahead.
Files:	    src/fileio.c

Patch 7.3.261
Problem:    G++ error message erroneously recognized as error.
Solution:   Ignore "In file included from" line also when it ends in a colon.
	    (Fernando Castillo)
Files:	    src/option.h

Patch 7.3.262
Problem:    Photon code style doesn't match Vim style.
Solution:   Clean up some of it.  (Elias Diem)
Files:	    src/gui_photon.c

Patch 7.3.263
Problem:    Perl and Tcl have a few code style problems.
Solution:   Clean it up.  (Elias Diem)
Files:	    src/if_perl.xs, src/if_tcl.c

Patch 7.3.264
Problem:    When the current directory name contains wildcard characters, such
	    as "foo[with]bar", the tags file can't be found.  (Jeremy
	    Erickson)
Solution:   When searching for matching files also match without expanding
	    wildcards.  This is a bit of a hack.
Files:	    src/vim.h, src/misc1.c, src/misc2.c

Patch 7.3.265
Problem:    When storing a pattern in search history there is no proper check
	    for the separator character.
Solution:   Pass the separator character to in_history(). (Taro Muraoka)
Files:	    src/ex_getln.c

Patch 7.3.266
Problem:    In Gvim with iBus typing space in Insert mode doesn't work.
Solution:   Clear xim_expected_char after checking it.
Files:	    src/mbyte.c

Patch 7.3.267
Problem:    Ruby on Mac OS X 10.7 may crash.
Solution:   Avoid alloc(0). (Bjorn Winckler)
Files:	    src/if_ruby.c

Patch 7.3.268
Problem:    Vim freezes when executing an external command with zsh.
Solution:   Use O_NOCTTY both in the master and slave. (Bjorn Winckler)
Files:	    src/os_unix.c

Patch 7.3.269
Problem:    'shellcmdflag' only works with one flag. 
Solution:   Split into multiple arguments. (Gary Johnson)
Files:	    src/os_unix.c

Patch 7.3.270
Problem:    Illegal memory access.
Solution:   Swap conditions. (Dominique Pelle)
Files:	    src/ops.c

Patch 7.3.271
Problem:    Code not following Vim coding style.
Solution:   Fix the style. (Elias Diem)
Files:	    src/gui_photon.c

Patch 7.3.272
Problem:    ":put =list" does not add an empty line for a trailing empty
	    item.
Solution:   Add a trailing NL when turning a list into a string.
Files:	    src/eval.c

Patch 7.3.273
Problem:    A BOM in an error file is seen as text. (Aleksey Baibarin)
Solution:   Remove the BOM from the text before evaluating. (idea by Christian
	    Brabandt)
Files:	    src/quickfix.c, src/mbyte.c, src/proto/mbyte.pro,
	    src/testdir/test10.in

Patch 7.3.274
Problem:    With concealed characters tabs do not have the right size.
Solution:   Use VCOL_HLC instead of vcol. (Eiichi Sato)
Files:	    src/screen.c

Patch 7.3.275
Problem:    MS-Windows: When using a black background some screen updates
	    cause the window to flicker.
Solution:   Add WS_CLIPCHILDREN to CreateWindow().  (René Aguirre)
Files:	    src/gui_w32.c

Patch 7.3.276
Problem:    GvimExt sets $LANG in the wrong way.
Solution:   Save the environment and use it for gvim. (Yasuhiro Matsumoto)
Files:	    src/GvimExt/gvimext.cpp

Patch 7.3.277
Problem:    MS-Windows: some characters do not show in dialogs.
Solution:   Use the wide methods when available. (Yanwei Jia)
Files:	    src/gui_w32.c, src/gui_w48.c, src/os_mswin.c, src/os_win32.c,
	    src/os_win32.h

Patch 7.3.278
Problem:    Passing the file name to open in VisVim doesn't work.
Solution:   Adjust the index and check for end of buffer. (Jiri Sedlak)
Files:	    src/VisVim/Commands.cpp

Patch 7.3.279
Problem:    With GTK, when gvim is full-screen and a tab is opened and using a
	    specific monitor configuration the window is too big.
Solution:   Adjust the window size like on MS-Windows. (Yukihiro Nakadaira)
Files:	    src/gui.c, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro

Patch 7.3.280
Problem:    ":lmake" does not update the quickfix window title.
Solution:   Update the title. (Lech Lorens)
Files:	    src/quickfix.c, src/testdir/test10.in, src/testdir/test10.ok

Patch 7.3.281
Problem:    After using "expand('%:8')" the buffer name is changed.
Solution:   Make a copy of the file name before shortening it.
Files:	    src/eval.c

Patch 7.3.282
Problem:    When using input() and :echo in a loop the displayed text is
	    incorrect. (Benjamin Fritz)
Solution:   Only restore the cursor position when there is a command line.
	    (Ben Schmidt)
Files:	    src/ex_getln.c

Patch 7.3.283
Problem:    An expression mapping with a multi-byte character containing a
	    0x80 byte gets messed up. (ZyX)
Solution:   Unescape the expression before evaluating it (Yukihiro Nakadaira)
Files:	    src/getchar.c

Patch 7.3.284
Problem:    The str2special() function doesn't handle multi-byte characters
	    properly.
Solution:   Recognize multi-byte characters. (partly by Vladimir Vichniakov)
Files:	    src/getchar.c, src/message.c, src/misc2.c

Patch 7.3.285 (after 7.3.284)
Problem:    Mapping <Char-123> no longer works.
Solution:   Properly check for "char-".  Add a test for it.
Files:	    src/misc2.c, src/testdir/test75.in, src/testdir/test75.ok

Patch 7.3.286
Problem:    Crash when using "zd" on a large number of folds. (Sam King)
Solution:   Recompute pointer after reallocating array.  Move fewer entries
	    when making room.
Files:	    src/fold.c

Patch 7.3.287
Problem:    Can't compile with MSVC and tiny options.
Solution:   Move variables and #ifdefs. (Sergey Khorev)
Files:	    src/os_win32.c

Patch 7.3.288
Problem:    has('python') may give an error message for not being able to load
	    the library after using python3.
Solution:   Only give the error when the verbose argument is true.
Files:	    src/if_python.c, src/if_python3.c

Patch 7.3.289
Problem:    Complete function isn't called when the leader changed.
Solution:   Call ins_compl_restart() when the leader changed.  (Taro Muraoka)
Files:	    src/edit.c

Patch 7.3.290
Problem:    When a BufWriteCmd autocommand resets 'modified' this doesn't
	    change older buffer states to be marked as 'modified' like
	    ":write" does.  (Yukihiro Nakadaira)
Solution:   When the BufWriteCmd resets 'modified' then adjust the undo
	    information like ":write" does.
Files:	    src/fileio.c

Patch 7.3.291
Problem:    Configure doesn't work properly with Python3.
Solution:   Put -ldl before $LDFLAGS. Add PY3_NO_RTLD_GLOBAL. (Roland
	    Puntaier)
Files:	    src/config.h.in, src/auto/configure, src/configure.in

Patch 7.3.292
Problem:    Crash when using fold markers and selecting a visual block that
	    includes a folded line and goes to end of line. (Sam Lidder)
Solution:   Check for the column to be MAXCOL. (James Vega)
Files:	    src/screen.c

Patch 7.3.293
Problem:    MSVC compiler has a problem with non-ASCII characters.
Solution:   Avoid non-ASCII characters. (Hong Xu)
Files:	    src/ascii.h, src/spell.c

Patch 7.3.294 (after 7.3.289)
Problem:    Patch 289 causes more problems than it solves.
Solution:   Revert the patch until a better solution is found.
Files:	    src/edit.c

Patch 7.3.295
Problem:    When filtering text with an external command Vim may not read all
	    the output.
Solution:   When select() is interrupted loop and try again. (James Vega)
Files:	    src/os_unix.c

Patch 7.3.296
Problem:    When writing to an external command a zombie process may be left
	    behind.
Solution:   Wait on the process. (James Vega)
Files:	    src/os_unix.c

Patch 7.3.297
Problem:    Can't load Perl 5.14 dynamically.
Solution:   Add code in #ifdefs. (Charles Cooper)
Files:	    if_perl.xs

Patch 7.3.298
Problem:    Built-in colors are different from rgb.txt.
Solution:   Adjust the color values. (Benjamin Haskell)
Files:	    src/gui_photon.c, src/gui_w48.c

Patch 7.3.299
Problem:    Source code not in Vim style.
Solution:   Adjust the style. (Elias Diem)
Files:	    src/gui_photon.c

Patch 7.3.300
Problem:    Python doesn't parse multi-byte argument correctly.
Solution:   Use "t" instead of "s". (lilydjwg)
Files:	    src/if_py_both.h

Patch 7.3.301
Problem:    When 'smartindent' and 'copyindent' are set a Tab is used even
	    though 'expandtab' is set.
Solution:   Do not insert Tabs. Add a test. (Christian Brabandt)
Files:	    src/misc1.c, src/testdir/test19.in, src/testdir/test19.ok

Patch 7.3.302 (after 7.3.301)
Problem:    Test 19 fails without 'smartindent' and +eval.
Solution:   Don't use ":exe". Source small.vim.
Files:	    src/testdir/test19.in

Patch 7.3.303 (after 7.3.296)
Problem:    Compilation error.
Solution:   Correct return type from int to pid_t. (Danek Duvall)
Files:	    src/os_unix.c

Patch 7.3.304
Problem:    Strawberry Perl doesn't work on MS-Windows.
Solution:   Use xsubpp if needed. (Yasuhiro Matsumoto)
Files:	    src/Make_ming.mak, src/Make_mvc.mak

Patch 7.3.305
Problem:    Auto-loading a function while editing the command line causes
	    scrolling up the display.
Solution:   Don't set msg_scroll when defining a function and the user is not
	    typing. (Yasuhiro Matsumoto)
Files:	    src/eval.c

Patch 7.3.306
Problem:    When closing a window there is a chance that deleting a scrollbar
	    triggers a GUI resize, which uses the window while it is not in a
	    valid state.
Solution:   Set the buffer pointer to NULL to be able to detect the invalid
	    situation.  Fix a few places that used the buffer pointer
	    incorrectly.
Files:	    src/buffer.c, src/ex_cmds.c, src/term.c, src/window.c

Patch 7.3.307
Problem:    Python 3 doesn't support slice assignment.
Solution:   Implement slices. (Brett Overesch, Roland Puntaier)
Files:	    src/if_python3.c

Patch 7.3.308
Problem:    Writing to 'verbosefile' has problems, e.g. for :highlight.
Solution:   Do not use a separate verbose_write() function but write with the
	    same code that does redirecting. (Yasuhiro Matsumoto)
Files:	    src/message.c

Patch 7.3.309 (after 7.3.307)
Problem:    Warnings for pointer types.
Solution:   Change PySliceObject to PyObject.
Files:	    src/if_python3.c

Patch 7.3.310
Problem:    Code not following Vim style.
Solution:   Fix the style. (Elias Diem)
Files:	    src/gui_photon.c

Patch 7.3.311 (replaces 7.3.289)
Problem:    Complete function isn't called when the leader changed.
Solution:   Allow the complete function to return a dictionary with a flag
	    that indicates ins_compl_restart() is to be called when the leader
	    changes. (Taro Muraoka)
Files:	    runtime/insert.txt, src/edit.c, src/eval.c, src/proto/eval.pro

Patch 7.3.312 (after 7.3.306)
Problem:    Can't compile with tiny features.
Solution:   Add #ifdef around win_valid().
Files:	    src/buffer.c

Patch 7.3.313 (after 7.3.307)
Problem:    One more warning when compiling with dynamic Python 3.
Solution:   Change PySliceObject to PyObject.
Files:	    src/if_python3.c

Patch 7.3.314 (after 7.3.304)
Problem:    Missing parenthesis.
Solution:   Add it. (Benjamin R. Haskell)
Files:	    src/Make_mvc.mak

Patch 7.3.315
Problem:    Opening a window before forking causes problems for GTK.
Solution:   Fork first, create the window in the child and report back to the
	    parent process whether it worked.  If successful the parent exits,
	    if unsuccessful the child exits and the parent continues in the
	    terminal. (Tim Starling)
Files:	    src/gui.c

Patch 7.3.316 (after 7.3.306)
Problem:    Crash when 'colorcolumn' is set and closing buffer.
Solution:   Check for w_buffer to be NULL. (Yasuhiro Matsumoto)
Files:	    src/option.c

Patch 7.3.317
Problem:    Calling debug.debug() in Lua may cause Vim to hang.
Solution:   Add a better debug method. (Rob Hoelz, Luis Carvalho)
Files:	    src/if_lua.c

Patch 7.3.318
Problem:    "C" on the last line deletes that line if it's blank.
Solution:   Only delete the last line for a delete operation. (James Vega)
Files:	    src/ops.c

Patch 7.3.319 (after 7.3.311)
Problem:    Redobuff doesn't always include changes of the completion leader.
Solution:   Insert backspaces as needed. (idea by Taro Muraoka)
Files:	    src/edit.c

Patch 7.3.320
Problem:    When a 0xa0 character is in a sourced file the error message for
	    unrecognized command does not show the problem.
Solution:   Display 0xa0 as <a0>.
Files:	    src/ex_docmd.c

Patch 7.3.321
Problem:    Code not following Vim style.
Solution:   Fix the style. (Elias Diem)
Files:	    src/os_qnx.c

Patch 7.3.322
Problem:    #ifdef for PDP_RETVAL doesn't work, INT_PTR can be a typedef.
Solution:   Check the MSC version and 64 bit flags. (Sergiu Dotenco)
Files:	    src/os_mswin.c

Patch 7.3.323
Problem:    The default 'errorformat' does not ignore some "included from"
	    lines.
Solution:   Add a few more patterns. (Ben Boeckel)
Files:	    src/option.h

Patch 7.3.324 (after 7.3.237)
Problem:    Completion for ":compiler" shows color scheme names.
Solution:   Fix the directory name. (James Vega)
Files:	    src/ex_getln.c

Patch 7.3.325
Problem:    A duplicated function argument gives an internal error.
Solution:   Give a proper error message. (based on patch by Tyru)
Files:	    src/eval.c

Patch 7.3.326
Problem:    MingW 4.6 no longer supports the -mno-cygwin option.
Solution:   Split the Cygwin and MingW makefiles. (Matsushita Shougo)
Files:	    src/GvimExt/Make_cyg.mak, src/GvimExt/Make_ming.mak,
	    src/Make_cyg.mak, src/Make_ming.mak, src/xxd/Make_ming.mak,
	    Filelist

Patch 7.3.327
Problem:    When jumping to a help tag a closed fold doesn't open.
Solution:   Save and restore KeyTyped. (Yasuhiro Matsumoto)
Files:	    src/ex_cmds.c

Patch 7.3.328
Problem:    When command line wraps the cursor may be displayed wrong when
	    there are multi-byte characters.
Solution:   Position the cursor before drawing the text. (Yasuhiro Matsumoto)
Files:	    src/ex_getln.c

Patch 7.3.329
Problem:    When skipping over code from ":for" to ":endfor" get an error for
	    calling a dict function. (Yasuhiro Matsumoto)
Solution:   Ignore errors when skipping over :call command.
Files:	    src/ex_docmd.c, src/eval.c

Patch 7.3.330
Problem:    When longjmp() is invoked if the X server gives an error the state
	    is not properly restored.
Solution:   Reset vgetc_busy. (Yukihiro Nakadaira)
Files:	    src/main.c

Patch 7.3.331
Problem:    "vit" selects wrong text when a tag name starts with the same text
	    as an outer tag name. (Ben Fritz)
Solution:   Add "\>" to the pattern to check for word boundary.
Files:	    src/search.c

Patch 7.3.332 (after 7.3.202)
Problem:    Indent after "public:" is not increased in C++ code. (Lech Lorens)
Solution:   Check for namespace after the regular checks. (partly by Martin
	    Gieseking)
Files:	    src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok

Patch 7.3.333
Problem:    Using "." to repeat a Visual delete counts the size in bytes, not
	    characters.  (Connor Lane Smith)
Solution:   Store the virtual column numbers instead of byte positions.
Files:	    src/normal.c

Patch 7.3.334
Problem:    Latest MingW about XSUBPP referencing itself. (Gongqian Li)
Solution:   Rename the first use to XSUBPPTRY.
Files:	    src/Make_ming.mak

Patch 7.3.335
Problem:    When 'imdisable' is reset from an autocommand in Insert mode it
	    doesn't take effect.
Solution:   Call im_set_active() in Insert mode. (Taro Muraoka)
Files:	    src/option.c

Patch 7.3.336
Problem:    When a tags file specifies an encoding different from 'enc' it
	    may hang and using a pattern doesn't work.
Solution:   Convert the whole line.  Continue reading the header after the
	    SORT tag.  Add test83. (Yukihiro Nakadaira)
Files:	    src/tag.c, src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
	    src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
	    src/testdir/Make_vms.mms, src/testdir/Makefile,
	    src/testdir/test83-tags2, src/testdir/test83-tags3,
	    src/testdir/test83.in, src/testdir/test83.ok

Patch 7.3.337 (after 7.3.295)
Problem:    Screen doesn't update after resizing the xterm until a character
	    is typed.
Solution:   When the select call is interrupted check do_resize. (Taylor
	    Hedberg)
Files:	    src/os_unix.c

Patch 7.3.338
Problem:    Using getchar() in an expression mapping doesn't work well.
Solution:   Don't save and restore the typeahead. (James Vega)
Files:	    src/getchar.c, src/testdir/test34.ok

Patch 7.3.339
Problem:    "make shadow" doesn't link all test files.
Solution:   Add a line in Makefile and Filelist.
Files:	    src/Makefile, Filelist

Patch 7.3.340
Problem:    When 'verbosefile' is set ftplugof.vim can give an error.
Solution:   Only remove filetypeplugin autocommands when they exist. (Yasuhiro
	    Matsumoto)
Files:	    runtime/ftplugof.vim

Patch 7.3.341
Problem:    Local help files are only listed in help.txt, not in translated
	    help files.
Solution:   Also find translated help files. (Yasuhiro Matsumoto)
Files:	    src/ex_cmds.c

Patch 7.3.342
Problem:    Code not in Vim style.
Solution:   Fix the style. (Elias Diem)
Files:	    src/os_amiga.c, src/os_mac_conv.c, src/os_win16.c

Patch 7.3.343
Problem:    No mouse support for urxvt.
Solution:   Implement urxvt mouse support, also for > 252 columns.  (Yiding
	    Jia)
Files:	    src/feature.h, src/keymap.h, src/option.h, src/os_unix.c,
	    src/term.c, src/version.c

Patch 7.3.344
Problem:    Problem with GUI startup related to XInitThreads.
Solution:   Use read() and write() instead of fputs() and fread(). (James
	    Vega)
Files:	    src/gui.c

Patch 7.3.345
Problem:    When switching language with ":lang" the window title doesn't
	    change until later.
Solution:   Update the window title right away. (Dominique Pelle)
Files:	    src/ex_cmds2.c

Patch 7.3.346
Problem:    It's hard to test netbeans commands.
Solution:   Process netbeans commands after :sleep. (Xavier de Gaye)
Files:	    runtime/doc/netbeans.txt, src/ex_docmd.c, src/netbeans.c

Patch 7.3.347
Problem:    When dropping text from a browser on Vim it receives HTML even
	    though "html" is excluded from 'clipboard'. (Andrei Avk)
Solution:   Fix the condition for TARGET_HTML.
Files:	    src/gui_gtk_x11.c

Patch 7.3.348
Problem:    "call range(1, 947948399)" causes a crash. (ZyX)
Solution:   Avoid a loop in the out of memory message.
Files:	    src/misc2.c

Patch 7.3.349
Problem:    When running out of memory during startup trying to open a
	    swapfile will loop forever.
Solution:   Let findswapname() set dirp to NULL if out of memory.
Files:	    src/memline.c

Patch 7.3.350
Problem:    Block of code after ":lua << EOF" may not work. (Paul Isambert)
Solution:   Recognize the ":lua" command, skip to EOF.
Files:	    src/eval.c

Patch 7.3.351
Problem:    Text formatting uses start of insert position when it should not.
	    (Peter Wagenaar)
Solution:   Do not use Insstart when intentionally formatting.
Files:	    src/edit.c

Patch 7.3.352
Problem:    When completing methods dict functions and script-local functions
	    get in the way.
Solution:   Sort function names starting with "<" to the end. (Yasuhiro
	    Matsumoto)
Files:	    src/ex_getln.c

Patch 7.3.353 (after 7.3.343)
Problem:    Missing part of the urxvt patch.
Solution:   Add the change in term.c
Files:	    src/term.c

Patch 7.3.354
Problem:    ":set backspace+=eol" doesn't work when 'backspace' has a
	    backwards compatible value of 2.
Solution:   Convert the number to a string. (Hirohito Higashi)
Files:	    src/option.c

Patch 7.3.355
Problem:    GTK warnings when using netrw.vim. (Ivan Krasilnikov)
Solution:   Do not remove the beval event handler twice.
Files:	    src/option.c

Patch 7.3.356
Problem:    Using "o" with 'cindent' set may freeze Vim. (lolilolicon)
Solution:   Skip over {} correctly. (Hari G)
Files:	    src/misc1.c

Patch 7.3.357
Problem:    Compiler warning in MS-Windows console build.
Solution:   Adjust return type of PrintHookProc(). (Mike Williams)
Files:	    src/os_mswin.c

Patch 7.3.358 (after 7.3.353)
Problem:    Mouse support doesn't work properly.
Solution:   Add HMT_URXVT. (lilydjwg, James McCoy)
Files:	    src/term.c

Patch 7.3.359
Problem:    Command line completion shows dict functions.
Solution:   Skip dict functions for completion. (Yasuhiro Matsumoto)
Files:	    src/eval.c

Patch 7.3.360
Problem:    Interrupting the load of an autoload function may cause a crash.
Solution:   Do not use the hashitem when not valid. (Yukihiro Nakadaira)
Files:	    src/eval.c

Patch 7.3.361
Problem:    Accessing memory after it is freed when EXITFREE is defined.
Solution:   Don't access curwin when firstwin is NULL. (Dominique Pelle)
Files:	    src/buffer.c

Patch 7.3.362
Problem:    ml_get error when using ":g" with folded lines.
Solution:   Adjust the line number for changed_lines(). (Christian Brabandt)
Files:	    src/ex_cmds.c

Patch 7.3.363
Problem:    C indenting is wrong after #endif followed by a semicolon.
Solution:   Add special handling for a semicolon in a line by itself. (Lech
	    Lorens)
Files:	    src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok

Patch 7.3.364 (after 7.3.353)
Problem:    Can't compile on HP-UX. (John Marriott)
Solution:   Only use TTYM_URXVT when it is defined.
Files:	    src/term.c

Patch 7.3.365
Problem:    Crash when using a large Unicode character in a file that has
	    syntax highlighting. (ngollan)
Solution:   Check for going past the end of the utf tables. (Dominique Pelle)
Files:	    src/mbyte.c

Patch 7.3.366
Problem:    A tags file with an extremely long name causes errors.
Solution:   Ignore tags that are too long. (Arno Renevier)
Files:	    src/tag.c

Patch 7.3.367
Problem:    :wundo and :rundo use a wrong checksum.
Solution:   Include the last line when computing the hash. (Christian Brabandt)
Files:	    src/undo.c

Patch 7.3.368
Problem:    Gcc complains about redefining _FORTIFY_SOURCE.
Solution:   Undefine it before redefining it.
Files:	    src/Makefile, src/configure.in, src/auto/configure

Patch 7.3.369
Problem:    When compiled with Gnome get an error message when using --help.
Solution:   Don't fork. (Ivan Krasilnikov)
Files:	    src/main.c

Patch 7.3.370
Problem:    Compiler warns for unused variable in Lua interface.
Solution:   Remove the variable.
Files:	    src/if_lua.c

Patch 7.3.371
Problem:    Crash in autocomplete. (Greg Weber)
Solution:   Check not going over allocated buffer size.
Files:	    src/misc2.c

Patch 7.3.372
Problem:    When using a command line mapping to <Up> with file name
	    completion to go one directory up, 'wildchar' is inserted.
	    (Yasuhiro Matsumoto)
Solution:   Set the KeyTyped flag.
Files:	    src/ex_getln.c

Patch 7.3.373 (after 7.3.366)
Problem:    A tags file with an extremely long name may cause an infinite loop.
Solution:   When encountering a long name switch to linear search.
Files:	    src/tag.c

Patch 7.3.374
Problem:    ++encoding does not work properly.
Solution:   Recognize ++encoding before ++enc. (Charles Cooper)
Files:	    src/ex_docmd.c

Patch 7.3.375
Problem:    Duplicate return statement.
Solution:   Remove the superfluous one. (Dominique Pelle)
Files:	    src/gui_mac.c

Patch 7.3.376
Problem:    Win32: Toolbar repainting does not work when the mouse pointer
	    hovers over a button.
Solution:   Call DefWindowProc() when not handling an event. (Sergiu Dotenco)
Files:	    src/gui_w32.c

Patch 7.3.377
Problem:    No support for bitwise AND, OR, XOR and invert.
Solution:   Add and(), or(), invert() and xor() functions.
Files:	    src/eval.c, src/testdir/test49.in, src/testdir/test65.in,
	    src/testdir/test65.ok, runtime/doc/eval.txt

Patch 7.3.378
Problem:    When cross-compiling the check for uint32_t fails.
Solution:   Only give a warning message. (Maksim Melnikau)
Files:	    src/configure.in, src/auto/configure

Patch 7.3.379
Problem:    C-indenting wrong for static enum.
Solution:   Skip over "static". (Lech Lorens)
Files:	    src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok

Patch 7.3.380
Problem:    C-indenting wrong for a function header.
Solution:   Skip to the start paren. (Lech Lorens)
Files:	    src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok

Patch 7.3.381
Problem:    Configure silently skips interfaces that won't work.
Solution:   Add the --enable-fail_if_missing argument. (Shlomi Fish)
Files:	    src/Makefile, src/configure.in, src/auto/configure

Patch 7.3.382 (after 7.3.376)
Problem:    IME characters are inserted twice.
Solution:   Do not call DefWindowProc() if the event was handled. (Yasuhiro
	    Matsumoto)
Files:	    src/gui_w32.c

Patch 7.3.383
Problem:    For EBCDIC pound sign is defined as 't'.
Solution:   Correctly define POUND.
Files:	    src/ascii.h

Patch 7.3.384
Problem:    Mapping CTRL-K in Insert mode breaks CTRL-X CTRL-K for dictionary
	    completion.
Solution:   Add CTRL-K to the list of recognized keys. (James McCoy)
Files:	    src/edit.c

Patch 7.3.385
Problem:    When using an expression mapping on the command line the cursor
	    ends up in the wrong place. (Yasuhiro Matsumoto)
Solution:   Save and restore msg_col and msg_row when evaluating the
	    expression.
Files:	    src/getchar.

Patch 7.3.386
Problem:    Test 83 fails when iconv does not support cp932. (raf)
Solution:   Test if conversion works. (Yukihiro Nakadaira)
Files:	    src/testdir/test83.in

Patch 7.3.387 (after 7.3.386)
Problem:    Test 83 may fail for some encodings.
Solution:   Set 'encoding' to utf-8 earlier.
Files:	    src/testdir/test83.in

Patch 7.3.388
Problem:    Crash on exit when EXITFREE is defined and using tiny features.
Solution:   Check for NULL window pointer. (Dominique Pelle)
Files:	    src/buffer.c

Patch 7.3.389
Problem:    After typing at a prompt the "MORE" message appears too soon.
Solution:   reset lines_left in msg_end_prompt(). (Eswald)
Files:	    src/message.c

Patch 7.3.390
Problem:    Using NULL buffer pointer in a window.
Solution:   Check for w_buffer being NULL in more places. (Bjorn Winckler)
Files:	    src/ex_cmds.c, src/quickfix.c, src/window.c

Patch 7.3.391
Problem:    Can't check if the XPM_W32 feature is enabled.
Solution:   Add xpm_w32 to the list of features. (kat)
Files:	    src/eval.c

Patch 7.3.392
Problem:    When setting 'undofile' while the file is already loaded but
	    unchanged, try reading the undo file. (Andy Wokula)
Solution:   Compute a checksum of the text when 'undofile' is set. (Christian
	    Brabandt)
Files:	    src/option.c, src/testdir/test72.in, src/testdir/test72.ok

Patch 7.3.393
Problem:    Win32: When resizing Vim it is always moved to the primary monitor
	    if the secondary monitor is on the left.
Solution:   Use the nearest monitor. (Yukihiro Nakadaira)
Files:	    src/gui_w32.c

Patch 7.3.394
Problem:    When placing a mark while starting up a screen redraw messes up
	    the screen. (lith)
Solution:   Don't redraw while still starting up. (Christian Brabandt)
Files:	    src/screen.c

Patch 7.3.395 (after 7.3.251)
Problem:    "dv?bar" in the last line deletes too much and breaks undo.
Solution:   Only adjust the cursor position when it's after the last line of
	    the buffer.  Add a test. (Christian Brabandt)
Files:	    src/ops.c, src/testdir/test43.in, src/testdir/test43.ok

Patch 7.3.396
Problem:    After forcing an operator to be characterwise it can still become
	    linewise when spanning whole lines.
Solution:   Don't make the operator linewise when motion_force was set.
	    (Christian Brabandt)
Files:	    src/ops.c

Patch 7.3.397
Problem:    ":helpgrep" does not work properly when 'encoding' is not utf-8 or
	    latin1.
Solution:   Convert non-ascii lines to 'encoding'. (Yasuhiro Matsumoto)
Files:	    src/quickfix.c, src/spell.c, src/misc2.c, src/proto/misc2.pro

Patch 7.3.398
Problem:    When creating more than 10 location lists and adding items one by
	    one a previous location may be used. (Audrius Kažukauskas)
Solution:   Clear the location list completely when adding the tenth one.
Files:	    src/quickfix.c

Patch 7.3.399
Problem:    ":cd" doesn't work when the path contains wildcards. (Yukihiro
	    Nakadaira)
Solution:   Ignore wildcard errors when the EW_NOTWILD flag is used.
Files:	    src/misc1.c

Patch 7.3.400
Problem:    Compiler warnings for shadowed variables.
Solution:   Remove or rename the variables.
Files:	    src/charset.c, src/digraph.c, src/edit.c, src/eval.c, src/fold.c,
	    src/getchar.c, src/message.c, src/misc2.c, src/move.c,
	    src/netbeans.c, src/option.c, src/os_unix.c, src/screen.c,
	    src/search.c, src/spell.c, src/syntax.c, src/tag.c, src/window.c

Patch 7.3.401
Problem:    A couple more shadowed variables.
Solution:   Rename the variables.
Files:	    src/netbeans.c

Patch 7.3.402
Problem:    When jumping to the first error a line of the buffer is sometimes
	    redrawn on top of the list of errors.
Solution:   Do not call update_topline_redraw() if the display was scrolled
	    up.
Files:	    src/quickfix.c

Patch 7.3.403
Problem:    ":helpgrep" does not trigger QuickFixCmd* autocommands.
Solution:   Trigger the autocommands. (Christian Brabandt)
Files:	    src/quickfix.c

Patch 7.3.404
Problem:    When a complete function uses refresh "always" redo will not work
	    properly.
Solution:   Do not reset compl_leader when compl_opt_refresh_always is set.
	    (Yasuhiro Matsumoto)
Files:	    src/edit.c

Patch 7.3.405
Problem:    When xterm gets back the function keys it may delete the urxvt
	    mouse termcap code.
Solution:   Check for the whole code, not just the start. (Egmont Koblinger)
Files:	    src/keymap.h, src/misc2.c, src/term.c

Patch 7.3.406
Problem:    Multi-byte characters in b:browsefilter are not handled correctly.
Solution:   First use convert_filter() normally and then convert to wide
	    characters. (Taro Muraoka)
Files:	    src/gui_w48.c

Patch 7.3.407
Problem:    ":12verbose call F()" may duplicate text while trying to truncate.
	    (Thinca)
Solution:   Only truncate when there is not enough room.  Also check the byte
	    length of the buffer.
Files:	    src/buffer.c, src/eval.c, src/ex_getln.c, src/message.c,
	    src/proto/message.pro

Patch 7.3.408 (after 7.3.406)
Problem:    Missing declaration.
Solution:   Add the declaration. (John Marriott)
Files:	    src/gui_w48.c

Patch 7.3.409
Problem:    The license in pty.c is unclear.
Solution:   Add a comment about the license.
Files:	    src/pty.c

Patch 7.3.410
Problem:    Compiler error for // comment. (Joachim Schmitz)
Solution:   Turn into /* comment */.
Files:	    src/message.c

Patch 7.3.411
Problem:    Pasting in Visual mode using the "" register does not work. (John
	    Beckett)
Solution:   Detect that the write is overwriting the pasted register.
	    (Christian Brabandt)
Files:	    src/normal.c

Patch 7.3.412
Problem:    Storing a float in a session file has an additional '&'.
Solution:   Remove the '&'. (Yasuhiro Matsumoto)
Files:	    src/eval.c

Patch 7.3.413
Problem:    Build warnings on MS-Windows.
Solution:   Add type casts. (Mike Williams)
Files:	    src/ex_getln.c, src/message.c, src/term.c

Patch 7.3.414
Problem:    Using CTRL-A on "000" drops the leading zero, while on "001" it
	    doesn't.
Solution:   Detect "000" as an octal number. (James McCoy)
Files:	    src/charset.c

Patch 7.3.415 (after 7.3.359)
Problem:    Completion of functions stops once a dictionary is encountered.
	    (James McCoy)
Solution:   Return an empty string instead of NULL.
Files:	    src/eval.c

Patch 7.3.416 (after 7.3.415)
Problem:    Compiler warning for wrong pointer.
Solution:   Add type cast.
Files:	    src/eval.c

Patch 7.3.417 (after 7.3.395)
Problem:    Test 43 fails with a tiny build.
Solution:   Only run test 43 with at least a small build.
Files:	    src/testdir/test43.in

Patch 7.3.418
Problem:    When a user complete function returns -1 an error message is
	    given.
Solution:   When -2 is returned stop completion silently. (Yasuhiro Matsumoto)
Files:	    src/edit.

Patch 7.3.419
Problem:    DBCS encoding in a user command does not always work.
Solution:   Skip over DBCS characters. (Yasuhiro Matsumoto)
Files:	    src/ex_docmd.c

Patch 7.3.420
Problem:    "it" and "at" don't work properly with a dash in the tag name.
Solution:   Require a space to match the tag name. (Christian Brabandt)
Files:	    src/search.c

Patch 7.3.421
Problem:    Get E832 when setting 'undofile' in vimrc and there is a file to
	    be edited on the command line. (Toothpik)
Solution:   Do not try reading the undo file for a file that wasn't loaded.
Files:	    src/option.c

Patch 7.3.422
Problem:    Python 3 does not have __members__.
Solution:   Add "name" and "number" in another way. (lilydjwg)
Files:	    src/if_py_both.h, src/if_python3.c

Patch 7.3.423
Problem:    Small mistakes in comments, proto and indent.
Solution:   Fix the mistakes.
Files:	    src/ex_cmds2.c, src/structs.h, src/ui.c, src/proto/ex_docmd.pro

Patch 7.3.424
Problem:    Win16 version missing some functions.
Solution:   Add #defines for the functions.
Files:	    src/gui_w16.c

Patch 7.3.425 (after 7.3.265)
Problem:    Search history lines are duplicated. (Edwin Steiner)
Solution:   Convert separator character from space to NUL.
Files:	    src/ex_getln.c

Patch 7.3.426
Problem:    With '$' in 'cpoptions' the $ is not displayed in the first
	    column.
Solution:   Use -1 instead of 0 as a special value. (Hideki Eiraku and
	    Hirohito Higashi)
Files:	    src/edit.c, src/globals.h, src/move.c, src/screen.c, src/search.c

Patch 7.3.427
Problem:    readfile() can be slow with long lines.
Solution:   Use realloc() instead of alloc(). (John Little)
Files:	    src/eval.c

Patch 7.3.428
Problem:    Win32: an xpm file without a mask crashes Vim.
Solution:   Fail when the mask is missing. (Dave Bodenstab)
Files:	    src/xpm_w32.c

Patch 7.3.429
Problem:    When 'cpoptions' includes "E" "c0" in the first column is an
	    error. The redo register is then set to the erroneous command.
Solution:   Do not set the redo register if the command fails because of an
	    empty region. (Hideki Eiraku)
Files:	    src/getchar.c, src/normal.c, src/proto/getchar.pro

Patch 7.3.430
Problem:    When a custom filetype detection uses "augroup END" the conf
	    fileytpe detection does not have the filetypedetect group.
Solution:   Always end the group and include filetypedetect in the conf
	    autocommand. (Lech Lorens)
Files:	    runtime/filetype.vim

Patch 7.3.431
Problem:    Fetching a key at a prompt may be confused by escape sequences.
	    Especially when getting a prompt at a VimEnter autocommand.
	    (Alex Efros)
Solution:   Properly handle escape sequences deleted by check_termcode().
Files:	    src/getchar.c, src/misc1.c, src/term.c, src/proto/term.pro

Patch 7.3.432
Problem:    ACLs are not supported for ZFS or NFSv4 on Solaris.
Solution:   Add configure check and code. (Danek Duvall)
Files:	    src/configure.in, src/auto/configure, src/config.h.in,
	    src/os_unix.c

Patch 7.3.433
Problem:    Using continued lines in a Vim script can be slow.
Solution:   Instead of reallocating for every line use a growarray. (Yasuhiro
	    Matsumoto)
Files:	    src/ex_cmds2.c

Patch 7.3.434
Problem:    Using join() can be slow.
Solution:   Compute the size of the result before allocation to avoid a lot of
	    allocations and copies. (Taro Muraoka)
Files:	    src/eval.c

Patch 7.3.435
Problem:    Compiler warning for unused variable.
Solution:   Move the variable inside #ifdef.
Files:	    src/ex_cmds2.c

Patch 7.3.436
Problem:    Compiler warnings for types on Windows.
Solution:   Add type casts. (Mike Williams)
Files:	    src/eval.c

Patch 7.3.437
Problem:    Continue looping inside FOR_ALL_TAB_WINDOWS even when already done.
Solution:   Use goto instead of break. (Hirohito Higashi)
Files:	    src/fileio.c, src/globals.h

Patch 7.3.438
Problem:    There is no way to avoid ":doautoall" reading modelines.
Solution:   Add the <nomodeline> argument. Adjust documentation.
Files:	    src/fileio.c, runtime/doc/autocmd.txt

Patch 7.3.439
Problem:    Compiler warnings to size casts in Perl interface.
Solution:   Use XS macros. (James McCoy)
Files:	    src/if_perl.xs, src/typemap

Patch 7.3.440
Problem:    Vim does not support UTF8_STRING for the X selection.
Solution:   Add UTF8_STRING atom support. (Alex Efros) Use it only when
	    'encoding' is set to Unicode.
Files:	    src/ui.c

Patch 7.3.441
Problem:    Newer versions of MzScheme (Racket) require earlier (trampolined)
	    initialisation.
Solution:   Call mzscheme_main() early in main(). (Sergey Khorev)
Files:	    src/Make_mvc.mak, src/if_mzsch.c, src/main.c,
	    src/proto/if_mzsch.pro

Patch 7.3.442 (after 7.3.438)
Problem:    Still read modelines for ":doautocmd".
Solution:   Move check for <nomodeline> to separate function.
Files:	    src/fileio.c, src/ex_docmd.c, src/proto/fileio.pro,
	    runtime/doc/autocmd.txt

Patch 7.3.443
Problem:    MS-Windows: 'shcf' and 'shellxquote' defaults are not very good.
Solution:   Make a better guess when 'shell' is set to "cmd.exe". (Ben Fritz)
Files:	    src/option.c, runtime/doc/options.txt

Patch 7.3.444
Problem:    ":all!" and ":sall!" give error E477, even though the
	    documentation says these are valid commands.
Solution:   Support the exclamation mark. (Hirohito Higashi)
Files:	    src/ex_cmds.h, src/testdir/test31.in, src/testdir/test31.ok

Patch 7.3.445 (after 7.3.443)
Problem:    Can't properly escape commands for cmd.exe.
Solution:   Default 'shellxquote' to '('.  Append ')' to make '(command)'.
	    No need to use "/s" for 'shellcmdflag'.
Files:	    src/misc2.c, src/option.c, src/os_win32.c

Patch 7.3.446 (after 7.3.445)
Problem:    Win32: External commands with special characters don't work.
Solution:   Add the 'shellxescape' option.
Files:	    src/misc2.c, src/option.c, src/option.h, runtime/doc/options.txt

Patch 7.3.447 (after 7.3.446)
Problem:    Win32: External commands with "start" do not work.
Solution:   Unescape part of the command. (Yasuhiro Matsumoto)
Files:	    src/os_win32.c

Patch 7.3.448 (after 7.3.447)
Problem:    Win32: Still a problem with "!start /b".
Solution:   Escape only '|'. (Yasuhiro Matsumoto)
Files:	    src/os_win32.c

Patch 7.3.449
Problem:    Crash when a BufWinLeave autocommand closes the only other window.
	    (Daniel Hunt)
Solution:   Abort closing a buffer when it becomes the only one.
Files:	    src/buffer.c, src/proto/buffer.pro, src/ex_cmds.c, src/ex_getln.c,
	    src/misc2.c, src/quickfix.c, src/window.c, src/proto/window.pro

Patch 7.3.450 (after 7.3.448)
Problem:    Win32: Still a problem with "!start /b".
Solution:   Fix pointer use. (Yasuhiro Matsumoto)
Files:	    src/os_win32.c

Patch 7.3.451
Problem:    Tcl doesn't work on 64 MS-Windows.
Solution:   Make it work. (Dave Bodenstab)
Files:	    src/Make_mvc.mak, src/if_tcl.c

Patch 7.3.452
Problem:    Undo broken when pasting close to the last line. (Andrey Radev)
Solution:   Use a flag to remember if the deleted included the last line.
	    (Christian Brabandt)
Files:	    src/ops.c

Patch 7.3.453
Problem:    Pasting in the command line is slow.
Solution:   Don't redraw if there is another character to read. (Dominique
	    Pelle)
Files:	    src/ex_getln.c

Patch 7.3.454
Problem:    Re-allocating memory slows Vim down.
Solution:   Use realloc() in ga_grow(). (Dominique Pelle)
Files:	    src/misc2.c

Patch 7.3.455
Problem:    Using many continuation lines can be slow.
Solution:   Adjust the reallocation size to the current length.
Files:	    src/ex_cmds2.c

Patch 7.3.456
Problem:    ":tab drop file" has several problems, including moving the
	    current window and opening a new tab for a file that already has a
	    window.
Solution:   Refactor ":tab drop" handling. (Hirohito Higashi)
Files:	    src/buffer.c, src/testdir/test62.in, src/testdir/test62.ok

Patch 7.3.457
Problem:    When setting $VIMRUNTIME later the directory for fetching
	    translated messages is not adjusted.
Solution:   Put bindtextdomain() in vim_setenv().
Files:	    src/misc1.c

Patch 7.3.458
Problem:    Crash when calling smsg() during startup.
Solution:   Don't use 'shortmess' when it is not set yet.
Files:	    src/option.c

Patch 7.3.459
Problem:    Win32: Warnings for type conversion.
Solution:   Add type casts. (Mike Williams)
Files:	    src/misc2.c, src/os_win32.c

Patch 7.3.460
Problem:    Win32: UPX does not compress 64 bit binaries.
Solution:   Mention and add the alternative: mpress. (Dave Bodenstab)
Files:	    src/INSTALLpc.txt, src/Make_ming.mak

Patch 7.3.461
Problem:    The InsertCharPre autocommand event is not triggered during
	    completion and when typing several characters quickly.
Solution:   Also trigger InsertCharPre during completion.  Do not read ahead
	    when an InsertCharPre autocommand is defined. (Yasuhiro Matsumoto)
Files:	    src/edit.c, src/fileio.c, src/proto/fileio.pro

Patch 7.3.462
Problem:    When using ":loadview" folds may be closed unexpectedly.
Solution:   Take into account foldlevel. (Xavier de Gaye)
Files:	    src/fold.c

Patch 7.3.463
Problem:    When using ":s///c" the cursor is moved away from the match.
	    (Lawman)
Solution:   Don't move the cursor when do_ask is set. (Christian Brabandt)
Files:	    src/ex_cmds.c

Patch 7.3.464
Problem:    Compiler warning for sprintf.
Solution:   Put the length in a variable. (Dominique Pelle)
Files:	    src/version.c

Patch 7.3.465
Problem:    Cannot get file name with newline from glob().
Solution:   Add argument to glob() and expand() to indicate they must return a
	    list. (Christian Brabandt)
Files:	    runtime/doc/eval.txt, src/eval.c, src/ex_getln.c, src/vim.h

Patch 7.3.466
Problem:    Get ml_get error hen ":behave mswin" was used and selecting
	    several lines.  (A. Sinan Unur)
Solution:   Adjust the end of the operation. (Christian Brabandt)
Files:	    src/ops.c

Patch 7.3.467
Problem:    Cursor positioned wrong at the command line when regaining focus
	    and using some input method.
Solution:   Do not position the cursor in command line mode.
Files:	    src/mbyte.c

Patch 7.3.468
Problem:    For some compilers the error file is not easily readable.
Solution:   Use QuickFixCmdPre for more commands. (Marcin Szamotulski)
Files:	    runtime/doc/autocmd.txt, src/quickfix.c

Patch 7.3.469
Problem:    Compiler warning for unused argument without some features.
Solution:   Add UNUSED.
Files:	    src/buffer.c

Patch 7.3.470
Problem:    Test 62 fails when compiled without GUI and X11.
Solution:   Don't test :drop when it is not supported.
Files:	    src/testdir/test62.in

Patch 7.3.471
Problem:    Can't abort listing placed signs.
Solution:   Check "got_int". (Christian Brabandt)
Files:	    src/buffer.c, src/ex_cmds.c

Patch 7.3.472
Problem:    Crash when using ":redraw" in a BufEnter autocommand and
	    switching to another tab. (驼峰)
Solution:   Move triggering the autocommands to after correcting the
	    option values. Also check the row value to be out of bounds.
	    (Christian Brabandt, Sergey Khorev)
Files:	    src/screen.c, src/window.c

Patch 7.3.473
Problem:    'cursorbind' does not work correctly in combination with
	    'virtualedit' set to "all".
Solution:   Copy coladd. (Gary Johnson)
Files:	    src/move.c

Patch 7.3.474
Problem:    Perl build with gcc 4 fails.
Solution:   Remove XS() statements. (Yasuhiro Matsumoto)
Files:	    src/if_perl.xs

Patch 7.3.475
Problem:    In a terminal with few colors the omnicomplete menu may be hard to
	    see when using the default colors.
Solution:   Use more explicit colors. (suggested by Alex Henrie)
Files:	    src/syntax.c

Patch 7.3.476
Problem:    When selecting a block, using "$" to include the end of each line
	    and using "A" and typing a backspace strange things happen.
	    (Yuangchen Xie)
Solution:   Avoid using a negative length. (Christian Brabandt)
Files:	    src/ops.c

Patch 7.3.477
Problem:    Using ":echo" to output enough lines to scroll, then using "j" and
	    "k" at the more prompt, displays the command on top of the output.
	    (Marcin Szamotulski) 
Solution:   Put the output below the command. (Christian Brabandt)
Files:	    src/eval.c

Patch 7.3.478
Problem:    Memory leak using the ':rv!' command when reading dictionary or
	    list global variables i.e. with 'viminfo' containing !.
Solution:   Free the typeval. (Dominique Pelle)
Files:	    src/eval.c

Patch 7.3.479
Problem:    When 'cursorline' is set the line number highlighting can't be set
	    separately.
Solution:   Add "CursorLineNr". (Howard Buchholz)
Files:	    src/option.c, src/screen.c, src/syntax.c, src/vim.h

Patch 7.3.480
Problem:    When using ":qa" and there is a changed buffer picking the buffer
	    to jump to is not very good.
Solution:   Consider current and other tab pages. (Hirohito Higashi)
Files:	    src/ex_cmds2.c

Patch 7.3.481
Problem:    Changing 'virtualedit' in an operator function to "all" does not
	    have the desired effect. (Aaron Bohannon)
Solution:   Save, reset and restore virtual_op when executing an operator
	    function.
Files:	    src/normal.c

Patch 7.3.482
Problem:    With 'cursorbind' set moving up/down does not always keep the same
	    column.
Solution:   Set curswant appropriately. (Gary Johnson)
Files:	    src/move.c

Patch 7.3.483  (after 7.3.477)
Problem:    More prompt shows up too often.
Solution:   Instead of adding a line break, only start a new line in the
	    message history. (Christian Brabandt)
Files:	    src/eval.c, src/message.c, src/proto/message.pro

Patch 7.3.484
Problem:    The -E and --echo-wid command line arguments are not mentioned in
	    "vim --help".
Solution:   Add the help lines. (Dominique Pelle)
Files:	    src/main.c

Patch 7.3.485
Problem:    When building Vim LDFLAGS isn't passed on to building xxd.
Solution:   Pass the LDFLAGS value. (James McCoy)
Files:	    src/Makefile

Patch 7.3.486
Problem:    Build error with mingw64 on Windows 7.
Solution:   Avoid the step of going through vimres.res. (Guopeng Wen)
Files:	    src/Make_ming.mak

Patch 7.3.487
Problem:    When setting 'timeoutlen' or 'ttimeoutlen' the column for vertical
	    movement is reset unnecessarily.
Solution:   Do not set w_set_curswant for every option. Add a test for this.
	    (Kana Natsuno) Add the P_CURSWANT flag for options.
Files:	    src/option.c, src/testdir/test84.in, src/testdir/test84.ok,
	    src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
	    src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
	    src/testdir/Make_vms.mms, src/testdir/Makefile

Patch 7.3.488
Problem:    ":help!" in a help file does not work as documented.
Solution:   When in a help file don't give an error message. (thinca)
Files:	    src/ex_cmds.c

Patch 7.3.489
Problem:    CTRL-] in Insert mode does not expand abbreviation when used in a
	    mapping. (Yichao Zhou)
Solution:   Special case using CTRL-]. (Christian Brabandt)
Files:	    src/getchar.c, src/edit.c

Patch 7.3.490
Problem:    Member confusion in Lua interface.
Solution:   Fix it.  Add luaeval(). (Taro Muraoka, Luis Carvalho)
Files:	    runtime/doc/if_lua.txt, src/eval.c, src/if_lua.c,
	    src/proto/if_lua.pro

Patch 7.3.491
Problem:    No tests for Lua.
Solution:   Add some simple tests for Lua. (Luis Carvalho)
Files:	    src/testdir/test1.in, src/testdir/test85.in, src/testdir/test85.ok
	    src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
	    src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
	    src/testdir/Make_vms.mms, src/testdir/Makefile

Patch 7.3.492
Problem:    Can't indent conditions separately from function arguments.
Solution:   Add the 'k' flag in 'cino'. (Lech Lorens)
Files:	    runtime/doc/indent.txt, src/misc1.c, src/testdir/test3.in,
	    src/testdir/test3.ok

Patch 7.3.493 (after 7.3.492)
Problem:    Two unused variables.
Solution:   Remove them. (Hong Xu)
Files:	    src/misc1.c

Patch 7.3.494 (after 7.3.491)
Problem:    Can't compile with Lua 5.1 or dynamic Lua.
Solution:   Fix dll_ methods. Fix luado(). (Muraoka Taro, Luis Carvalho)
Files:	    src/if_lua.c

Patch 7.3.495 (after 7.3.492)
Problem:    Compiler warnings.
Solution:   Add function declaration.  Remove "offset" argument.
Files:	    src/misc1.c

Patch 7.3.496
Problem:    MS-DOS: When "diff" trips over difference in line separators some
	    tests fail.
Solution:   Make some .ok files use unix line separators. (David Pope)
Files:	    src/testdir/Make_dos.mak, src/testdir/Make_ming.mak

Patch 7.3.497
Problem:    Crash when doing ":python print" and compiled with gcc and
	    the optimizer enabled.
Solution:   Avoid the crash, doesn't really fix the problem. (Christian
	    Brabandt)
Files:	    src/if_py_both.h

Patch 7.3.498
Problem:    The behavior of the "- register changes depending on value of
	    the 'clipboard' option. (Szamotulski)
Solution:   Also set the "- register when the register is "*" or "+".
	    (Christian Brabandt)
Files:	    src/ops.c

Patch 7.3.499
Problem:    When using any interface language when Vim is waiting for a child
	    process it gets confused by a child process started through the
	    interface.
Solution:   Always used waitpid() instead of wait(). (Yasuhiro Matsumoto)
Files:	    src/os_unix.c

Patch 7.3.500
Problem:    Ming makefile unconditionally sets WINVER.
Solution:   Only defined when not already defined. (Yasuhiro Matsumoto)
Files:	    src/Make_ming.mak

Patch 7.3.501
Problem:    Error for "flush" not being defined when using Ruby command.
Solution:   Defined "flush" as a no-op method. (Kent Sibilev)
Files:	    src/if_ruby.c

Patch 7.3.502
Problem:    Netbeans insert halfway a line actually appends to the line.
Solution:   Insert halfway the line. (Brian Victor)
Files:	    src/netbeans.c

Patch 7.3.503 (after 7.3.501)
Problem:    Warning for unused argument.
Solution:   Add UNUSED.
Files:	    src/if_ruby.c

Patch 7.3.504
Problem:    Commands in help files are not highlighted.
Solution:   Allow for commands in backticks.  Adjust CTRL-] to remove the
	    backticks.
Files:	    src/ex_cmds.c

Patch 7.3.505
Problem:    Test 11 fails on MS-Windows in some versions.
Solution:   Fix #ifdefs for whether filtering through a pipe is possible. Move
	    setting b_no_eol_lnum back to where it was before patch 7.3.124.
	    (David Pope)
Files:	    src/feature.h, src/eval.c, src/ex_cmds.c, src/fileio.c

Patch 7.3.506
Problem:    GTK gives an error when selecting a non-existent file.
Solution:   Add a handler to avoid the error. (Christian Brabandt)
Files:	    src/gui_gtk.c

Patch 7.3.507
Problem:    When exiting with unsaved changes, selecting an existing file in
	    the file dialog, there is no dialog to ask whether the existing
	    file should be overwritten. (Felipe G. Nievinski)
Solution:   Call check_overwrite() before writing. (Christian Brabandt)
Files:	    src/ex_cmds.c, src/ex_cmds2.c, src/proto/ex_cmds.pro

Patch 7.3.508
Problem:    Default for v:register is not set.
Solution:   Init v:register in eval_init(). Correct for 'clipboard' before the
	    main loop. (Ingo Karkat)
Files:	    src/eval.c, src/main.c

Patch 7.3.509
Problem:    ":vimgrep" fails when 'autochdir' is set.
Solution:   A more generic solution for changing directory. (Ben Fritz)
Files:	    src/quickfix.c

Patch 7.3.510
Problem:    Test 77 fails on Solaris 7. (Michael Soyka)
Solution:   Replace any tabs with spaces.
Files:	    src/testdir/test77.in

Patch 7.3.511
Problem:    Using a FileReadCmd autocommand that does ":e! {file}" may cause a
	    crash. (Christian Brabandt)
Solution:   Properly restore curwin->w_s.
Files:	    src/fileio.c

Patch 7.3.512
Problem:    undofile() returns a useless name when passed an empty string.
Solution:   Return an empty string. (Christian Brabandt)
Files:	    src/eval.c

Patch 7.3.513
Problem:    Cannot use CTRL-E and CTRL-Y with "r".
Solution:   Make CTRL-E and CTRL-Y work like in Insert mode. (Christian
	    Brabandt)
Files:	    src/edit.c, src/normal.c, src/proto/edit.pro

Patch 7.3.514
Problem:    No completion for :history command.
Solution:   Add the completion and update the docs. Also fix ":behave"
	    completion. (Dominique Pelle)
Files:	    runtime/doc/cmdline.txt, runtime/doc/map.txt, src/ex_docmd.c,
	    src/ex_getln.c, src/vim.h

Patch 7.3.515
Problem:    'wildignorecase' only applies to the last part of the path.
Solution:   Also ignore case for letters earlier in the path.
Files:	    src/misc1.c

Patch 7.3.516
Problem:    extend(o, o) may crash Vim.
Solution:   Fix crash and add test. (Thinca and Hirohito Higashi)
Files:	    src/eval.c, src/testdir/test55.in, src/testdir/test55.ok

Patch 7.3.517
Problem:    Crash when using "vipvv". (Alexandre Provencio)
Solution:   Don't let the text length become negative.
Files:	    src/ops.c

Patch 7.3.518
Problem:    When 'encoding' is a double-byte encoding ":helptags" may not find
	    tags correctly.
Solution:   Use vim_strbyte() instead of vim_strchr(). (Yasuhiro Matsumoto)
Files:	    src/ex_cmds.c

Patch 7.3.519
Problem:    When completefunction returns it cannot indicate end of completion
	    mode.
Solution:   Recognize completefunction returning -3.  (Matsushita Shougo)
Files:	    src/edit.c

Patch 7.3.520
Problem:    Gvim starts up slow on Ubuntu 12.04.
Solution:   Move the call to gui_mch_init_check() to after fork(). (Yasuhiro
	    Matsumoto)  Do check $DISPLAY being set.
Files:	    src/gui.c, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro

Patch 7.3.521
Problem:    Using "z=" on a multi-byte character may cause a crash.
Solution:   Don't use strlen() on an int pointer.
Files:	    src/spell.c

Patch 7.3.522
Problem:    Crash in vim_realloc() when using MEM_PROFILE.
Solution:   Avoid using a NULL argument. (Dominique Pelle)
Files:	    src/eval.c

Patch 7.3.523
Problem:    ":diffupdate" doesn't check for files changed elsewhere.
Solution:   Add the ! flag. (Christian Brabandt)
Files:	    runtime/doc/diff.txt, src/diff.c, src/ex_cmds.h

Patch 7.3.524 (after 7.3.523)
Problem:    Missing comma.
Solution:   Add the comma.
Files:	    src/version.c

Patch 7.3.525
Problem:    Compiler warning on 64 bit MS-Windows.
Solution:   Add type cast. (Mike Williams)
Files:	    src/ex_getln.c

Patch 7.3.526
Problem:    Confusing indenting for #ifdef.
Solution:   Remove and add indent. (Elias Diem)
Files:	    src/normal.c

Patch 7.3.527
Problem:    Clang complains about non-ASCII characters in a string.
Solution:   Change to \x88 form. (Dominique Pelle)
Files:	    src/charset.c

Patch 7.3.528
Problem:    Crash when closing last window in a tab. (Alex Efros)
Solution:   Use common code in close_last_window_tabpage(). (Christian
	    Brabandt)
Files:	    src/window.c

Patch 7.3.529
Problem:    Using a count before "v" and "V" does not work (Kikyous)
Solution:   Make the count select that many characters or lines. (Christian
	    Brabandt)
Files:	    src/normal.c

Patch 7.3.530 (after 7.3.520)
Problem:    Gvim does not work when 'guioptions' includes "f". (Davido)
Solution:   Call gui_mch_init_check() when running GUI in the foreground.
	    (Yasuhiro Matsumoto)
Files:	    src/gui.c

Patch 7.3.531 (after 7.3.530)
Problem:    GUI does not work on MS-Windows.
Solution:   Add the missing #ifdef. (Patrick Avery)
Files:	    src/gui.c

Patch 7.3.532
Problem:    Compiler warning from Clang.
Solution:   Use a different way to point inside a string. (Dominique Pelle)
Files:	    src/syntax.c

Patch 7.3.533
Problem:    Memory leak when writing undo file.
Solution:   Free the ACL. (Dominique Pelle)
Files:	    src/undo.c

Patch 7.3.534 (after 7.3.461)
Problem:    When using an InsertCharPre autocommand autoindent fails.
Solution:   Proper handling of v:char. (Alexey Radkov)
Files:	    src/edit.c

Patch 7.3.535
Problem:    Many #ifdefs for MB_MAXBYTES.
Solution:   Also define MB_MAXBYTES without the +multi_byte feature.  Fix
	    places where the buffer didn't include space for a NUL byte.
Files:	    src/arabic.c, src/edit.c, src/eval.c, src/getchar.c, src/mbyte.c,
	    src/misc1.c, src/screen.c, src/spell.c, src/vim.h

Patch 7.3.536
Problem:    When spell checking the German sharp s is not seen as a word
	    character. (Aexl Bender)
Solution:   In utf_islower() return true for the sharp s. Note: also need
	    updated spell file for this to take effect.
Files:	    src/mbyte.c

Patch 7.3.537
Problem:    Unnecessary call to init_spell_chartab().
Solution:   Delete the call.
Files:	    src/spell.c

Patch 7.3.538
Problem:    'efm' does not handle Tabs in pointer lines.
Solution:   Add Tab support. Improve tests. (Lech Lorens)
Files:	    src/quickfix.c, src/testdir/test10.in, src/testdir/test10.ok

Patch 7.3.539
Problem:    Redrawing a character on the command line does not work properly
	    for multi-byte characters.
Solution:   Count the number of bytes in a character. (Yukihiro Nakadaira)
Files:	    src/ex_getln.c

Patch 7.3.540
Problem:    Cursor is left on the text instead of the command line.
Solution:   Don't call setcursor() in command line mode.
Files:	    src/getchar.c

Patch 7.3.541
Problem:    When joining lines comment leaders need to be removed manually.
Solution:   Add the 'j' flag to 'formatoptions'. (Lech Lorens)
Files:	    runtime/doc/change.txt, src/edit.c, src/ex_docmd.c, src/misc1.c,
	    src/normal.c, src/ops.c, src/option.h, src/proto/misc1.pro,
	    src/proto/ops.pro, src/search.c, src/testdir/test29.in,
	    src/testdir/test29.ok

Patch 7.3.542 (after 7.3.506)
Problem:    Function is sometimes unused.
Solution:   Add #ifdef.
Files:	    src/gui_gtk.c

Patch 7.3.543
Problem:    The cursor is in the wrong line after using ":copen". (John
	    Beckett)
Solution:   Invoke more drastic redraw method.
Files:	    src/eval.c

Patch 7.3.544
Problem:    There is no good way to close a quickfix window when closing the
	    last ordinary window.
Solution:   Add the QuitPre autocommand.
Files:	    src/ex_docmd.c, src/fileio.c, src/vim.h

Patch 7.3.545
Problem:    When closing a window or buffer autocommands may close it too,
	    causing problems for where the autocommand was invoked from.
Solution:   Add the w_closing and b_closing flags.  When set disallow ":q" and
	    ":close" to prevent recursive closing.
Files:	    src/structs.h, src/buffer.c, src/ex_docmd.c, src/window.c

Patch 7.3.546
Problem:    Bogus line break.
Solution:   Remove the line break.
Files:	    src/screen.c

Patch 7.3.547 (after 7.3.541)
Problem:    Compiler warning for uninitialized variable.
Solution:   Initialize it.
Files:	    src/ops.c

Patch 7.3.548
Problem:    Compiler warning on 64 bit Windows.
Solution:   Add type cast. (Mike Williams)
Files:	    src/ops.c

Patch 7.3.549
Problem:    In 'cinoptions' "0s" is interpreted as one shiftwidth. (David
	    Pineau)
Solution:   Use the zero as zero. (Lech Lorens)
Files:	    src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok

Patch 7.3.550 (after 7.3.541)
Problem:    With "j" in 'formatoptions' a list leader is not removed. (Gary
	    Johnson)
Solution:   Don't ignore the start of a three part comment. (Lech Lorens)
Files:	    src/ops.c, src/testdir/test29.in, src/testdir/test29.ok

Patch 7.3.551
Problem:    When using :tablose a TabEnter autocommand is triggered too early.
	    (Karthick)
Solution:   Don't trigger *Enter autocommands before closing the tab.
	    (Christian Brabandt)
Files:	    src/buffer.c, src/eval.c, src/ex_cmds2.c, src/fileio.c,
	    src/proto/window.pro, src/window.c

Patch 7.3.552
Problem:    Formatting inside comments does not use the "2" flag in
	    'formatoptions'.
Solution:   Support the "2" flag.  (Tor Perkins)
Files:	    src/vim.h, src/ops.c, src/edit.c, src/misc1.c,
	    src/testdir/test68.in, src/testdir/test68.ok

Patch 7.3.553
Problem:    With double-width characters and 'listchars' containing "precedes"
	    the text is displayed one cell off.
Solution:   Check for double-width character being overwritten by the
	    "precedes" character. (Yasuhiro Matsumoto)
Files:	    src/screen.c

Patch 7.3.554 (after 7.3.551)
Problem:    Compiler warning for unused argument.
Solution:   Add UNUSED.
Files:	    src/window.c

Patch 7.3.555
Problem:    Building on IBM z/OS fails.
Solution:   Adjust configure. Use the QUOTESED value from config.mk instead of
	    the hard coded one in Makefile. (Stephen Bovy)
Files:	    src/configure.in, src/auto/configure, src/Makefile

Patch 7.3.556
Problem:    Compiler warnings on 64 bit Windows.
Solution:   Add type casts. (Mike Williams)
Files:	    src/misc1.c

Patch 7.3.557
Problem:    Crash when an autocommand wipes out a buffer when it is hidden.
Solution:   Restore the current window when needed. (Christian Brabandt)
Files:	    src/buffer.c

Patch 7.3.558
Problem:    Memory access error. (Gary Johnson)
Solution:   Allocate one more byte. (Dominique Pelle)
Files:	    src/misc1.c

Patch 7.3.559
Problem:    home_replace() does not work with 8.3 filename.
Solution:   Make ":p" expand 8.3 name to full path. (Yasuhiro Matsumoto)
Files:	    src/eval.c, src/misc1.c

Patch 7.3.560
Problem:    Get an error for a locked argument in extend().
Solution:   Initialize the lock flag for a dictionary. (Yukihiro Nakadaira)
Files:	    src/eval.c

Patch 7.3.561
Problem:    Using refresh: always in a complete function breaks the "."
	    command. (Val Markovic)
Solution:   Add match leader to the redo buffer. (Yasuhiro Matsumoto)
Files:	    src/edit.c

Patch 7.3.562
Problem:    ":profdel" should not work when the +profile feature is disabled.
Solution:   Call ex_ni(). (Yasuhiro Matsumoto)
Files:	    src/ex_cmds2.c

Patch 7.3.563 (after 7.3.557)
Problem:    Can't build with tiny features.
Solution:   Add #ifdef.
Files:	    src/buffer.c

Patch 7.3.564 (after 7.3.559)
Problem:    Warning for pointer conversion.
Solution:   Add type cast.
Files:	    src/misc1.c

Patch 7.3.565
Problem:    Can't generate proto file for Python 3.
Solution:   Add PYTHON3_CFLAGS to LINT_CFLAGS.
Files:	    src/Makefile

Patch 7.3.566 (after 7.3.561)
Problem:    Redo after completion does not work correctly when refresh: always
	    is not used. (Raymond Ko)
Solution:   Check the compl_opt_refresh_always flag. (Christian Brabandt)
Files:	    src/edit.c

Patch 7.3.567
Problem:    Missing copyright notice.
Solution:   Add Vim copyright notice. (Taro Muraoka)
Files:	    src/dehqx.py

Patch 7.3.568
Problem:    Bad indents for #ifdefs.
Solution:   Add and remove spaces. (Elias Diem)
Files:	    src/globals.h

Patch 7.3.569
Problem:    Evaluating Vim expression in Python is insufficient.
Solution:   Add vim.bindeval().  Also add pyeval() and py3eval(). (ZyX)
Files:	    runtime/doc/eval.txt, runtime/doc/if_pyth.txt, src/eval.c,
	    src/if_lua.c, src/if_py_both.h, src/if_python.c, src/if_python3.c,
	    src/proto/eval.pro, src/proto/if_python.pro,
	    src/proto/if_python3.pro, src/testdir/Make_amiga.mak,
	    src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
	    src/testdir/Make_os2.mak, src/testdir/Makefile,
	    src/testdir/test86.in, src/testdir/test86.ok,
	    src/testdir/test87.in, src/testdir/test87.ok

Patch 7.3.570
Problem:    ":vimgrep" does not obey 'wildignore'.
Solution:   Apply 'wildignore' and 'suffixes' to ":vimgrep". (Ingo Karkat)
Files:	    src/ex_cmds2.c, src/proto/ex_cmds2.pro, src/quickfix.c, src/spell.c

Patch 7.3.571
Problem:    Duplicated condition.
Solution:   Remove one. (Dominique Pelle)
Files:	    src/os_win32.c

Patch 7.3.572
Problem:    Duplicate statement in if and else. (Dominique Pelle)
Solution:   Remove the condition and add a TODO.
Files:	    src/gui_xmebw.c

Patch 7.3.573
Problem:    Using array index before bounds checking.
Solution:   Swap the parts of the condition. (Dominique Pelle)
Files:	    src/ops.c

Patch 7.3.574
Problem:    When pasting a register in the search command line a CTRL-L
	    character is not pasted. (Dominique Pelle)
Solution:   Escape the CTRL-L. (Christian Brabandt)
Files:	    src/ex_getln.c

Patch 7.3.575
Problem:    "ygt" tries to yank instead of giving an error. (Daniel Mueller)
Solution:   Check for a pending operator.
Files:	    src/normal.c

Patch 7.3.576
Problem:    Formatting of lists inside comments is not right yet.
Solution:   Use another solution and add a test. (Tor Perkins)
Files:	    src/edit.c, src/misc1.c, src/testdir/test68.in,
	    src/testdir/test69.ok

Patch 7.3.577
Problem:    Size of memory does not fit in 32 bit unsigned.
Solution:   Use Kbyte instead of byte.  Call GlobalMemoryStatusEx() instead of
	    GlobalMemoryStatus() when available.
Files:	    src/misc2.c, src/option.c, src/os_amiga.c, src/os_msdos.c,
	    src/os_win16.c, src/os_win32.c

Patch 7.3.578
Problem:    Misplaced declaration.
Solution:   Move declaration to start of block.
Files:	    src/if_py_both.h

Patch 7.3.579 (after 7.3.569)
Problem:    Can't compile with Python 2.5.
Solution:   Use PyCObject when Capsules are not available.
Files:	    src/if_py_both.h, src/if_python.c, src/if_python3.c

Patch 7.3.580
Problem:    Warning on 64 bit MS-Windows.
Solution:   Add type cast. (Mike Williams)
Files:	    src/if_py_both.h

Patch 7.3.581
Problem:    Problems compiling with Python.
Solution:   Pick UCS2 or UCS4 function at runtime. (lilydjwg)
Files:	    src/if_python.c

Patch 7.3.582 (after 7.3.576)
Problem:    Missing parts of the test OK file.
Solution:   Add the missing parts.
Files:	    src/testdir/test68.ok

Patch 7.3.583
Problem:    PyObject_NextNotImplemented is not defined before Python 2.7.
	    (Danek Duvall)
Solution:   Add #ifdefs.
Files:	    src/if_python.c

Patch 7.3.584
Problem:    PyCObject is not always defined.
Solution:   Use PyObject instead.
Files:	    src/if_py_both.h, src/if_python.c

Patch 7.3.585
Problem:    Calling changed_bytes() too often.
Solution:   Move changed_bytes() out of a loop. (Tor Perkins)
Files:	    src/edit.c

Patch 7.3.586
Problem:    When compiling with Cygwin or MingW MEMORYSTATUSEX is not defined.
Solution:   Set the default for WINVER to 0x0500.
Files:	    src/Make_ming.mak, src/Make_cyg.mak

Patch 7.3.587
Problem:    Compiler warning for local var shadowing global var.
Solution:   Rename the var and move it to an inner block. (Christian Brabandt)
Files:	    src/buffer.c

Patch 7.3.588
Problem:    Crash on NULL pointer.
Solution:   Fix the immediate problem by checking for NULL. (Lech Lorens)
Files:	    src/window.c

Patch 7.3.589
Problem:    Crash when $HOME is not set.
Solution:   Check for a NULL pointer. (Chris Webb)
Files:	    src/misc1.c

Patch 7.3.590
Problem:    The '< and '> marks cannot be set directly.
Solution:   Allow setting '< and '>. (Christian Brabandt)
Files:	    src/mark.c

Patch 7.3.591
Problem:    Can only move to a tab by absolute number.
Solution:   Move a number of tabs to the left or the right. (Lech Lorens)
Files:	    runtime/doc/tabpage.txt, src/ex_cmds.h, src/ex_docmd.c,
	    src/testdir/test62.in, src/testdir/test62.ok, src/window.c

Patch 7.3.592
Problem:    Vim on GTK does not support g:browsefilter.
Solution:   Add a GtkFileFilter to the file chooser. (Christian Brabandt)
Files:	    src/gui_gtk.c

Patch 7.3.593
Problem:    No easy way to decide if b:browsefilter will work.
Solution:   Add the browsefilter feature.
Files:	    src/gui_gtk.c, src/eval.c, src/vim.h

Patch 7.3.594
Problem:    The X command server doesn't work perfectly. It sends an empty
	    reply for as-keys requests.
Solution:   Remove duplicate ga_init2(). Do not send a reply for as-keys
	    requests. (Brian Burns)
Files:	    src/if_xcmdsrv.c

Patch 7.3.595
Problem:    The X command server responds slowly
Solution:   Change the loop that waits for replies. (Brian Burns)
Files:	    src/if_xcmdsrv.c

Patch 7.3.596
Problem:    Can't remove all signs for a file or buffer.
Solution:   Support "*" for the sign id. (Christian Brabandt)
Files:	    runtime/doc/sign.txt, src/buffer.c, src/ex_cmds.c,
	    src/proto/buffer.pro

Patch 7.3.597
Problem:    'clipboard' "autoselect" only applies to the * register. (Sergey
	    Vakulenko)
Solution:   Make 'autoselect' work for the + register. (Christian Brabandt)
	    Add the "autoselectplus" option in 'clipboard' and the "P" flag in
	    'guioptions'.
Files:	    runtime/doc/options.txt, src/normal.c, src/ops.c, src/screen.c,
	    src/ui.c, src/globals.h, src/proto/ui.pro, src/option.h, src/gui.c

Patch 7.3.598
Problem:    Cannot act upon end of completion. (Taro Muraoka)
Solution:   Add an autocommand event that is triggered when completion has
	    finished. (Idea by Florian Klein)
Files:	    src/edit.c, src/fileio.c, src/vim.h

Patch 7.3.599 (after 7.3.597)
Problem:    Missing change in one file.
Solution:   Patch for changed clip_autoselect().
Files:	    src/option.c

Patch 7.3.600
Problem:    <f-args> is not expanded properly with DBCS encoding.
Solution:   Skip over character instead of byte. (Yukihiro Nakadaira)
Files:	    src/ex_docmd.c

Patch 7.3.601
Problem:    Bad code style.
Solution:   Insert space, remove parens.
Files:	    src/farsi.c

Patch 7.3.602
Problem:    Missing files in distribution.
Solution:   Update the list of files.
Files:	    Filelist

Patch 7.3.603
Problem:    It is possible to add replace builtin functions by calling
	    extend() on g:.
Solution:   Add a flag to a dict to indicate it is a scope.  Check for
	    existing functions. (ZyX)
Files:	    src/buffer.c, src/eval.c, src/proto/eval.pro, src/structs.h,
	    src/testdir/test34.in, src/testdir/test34.ok, src/window.c

Patch 7.3.604
Problem:    inputdialog() doesn't use the cancel argument in the console.
	    (David Fishburn)
Solution:   Use the third argument. (Christian Brabandt)
Files:	    src/eval.c

Patch 7.3.605 (after 7.3.577)
Problem:    MS-Windows: Can't compile with older compilers. (Titov Anatoly)
Solution:   Add #ifdef for MEMORYSTATUSEX.
Files:	    src/os_win32.c

Patch 7.3.606
Problem:    CTRL-P completion has a problem with multi-byte characters.
Solution:   Check for next character being NUL properly.  (Yasuhiro Matsumoto)
Files:	    src/search.c, src/macros.h

Patch 7.3.607
Problem:    With an 8 color terminal the selected menu item is black on black,
	    because darkGrey as bg is the same as black.
Solution:   Swap fg and bg colors. (James McCoy)
Files:	    src/syntax.c

Patch 7.3.608
Problem:    winrestview() does not always restore the view correctly.
Solution:   Call win_new_height() and win_new_width(). (Lech Lorens)
Files:	    src/eval.c, src/proto/window.pro, src/window.c

Patch 7.3.609
Problem:    File names in :checkpath! output are garbled.
Solution:   Check for \zs in the pattern. (Lech Lorens)
Files:	    src/search.c, src/testdir/test17.in, src/testdir/test17.ok

Patch 7.3.610
Problem:    Cannot operate on the text that a search pattern matches.
Solution:   Add the "gn" and "gN" commands. (Christian Brabandt)
Files:	    runtime/doc/index.txt, runtime/doc/visual.txt, src/normal.c,
	    src/proto/search.pro, src/search.c, src/testdir/test53.in,
	    src/testdir/test53.ok

Patch 7.3.611
Problem:    Can't use Vim dictionary as self argument in Python.
Solution:   Fix the check for the "self" argument. (ZyX)
Files:	    src/if_py_both.h

Patch 7.3.612
Problem:    Auto formatting messes up text when 'fo' contains "2". (ZyX)
Solution:   Decrement "less_cols". (Tor Perkins)
Files:	    src/misc1.c, src/testdir/test68.in, src/testdir/test68.ok

Patch 7.3.613
Problem:    Including Python's config.c in the build causes trouble.  It is
	    not clear why it was there.
Solution:   Omit the config file. (James McCoy)
Files:	    src/Makefile, src/auto/configure, src/configure.in

Patch 7.3.614
Problem:    Number argument gets turned into a number while it should be a
	    string.
Solution:   Add flag to the call_vim_function() call. (Yasuhiro Matsumoto)
Files:	    src/edit.c, src/eval.c, src/proto/eval.pro

Patch 7.3.615
Problem:    Completion for a user command does not recognize backslash before
	    a space.
Solution:   Recognize escaped characters. (Yasuhiro Matsumoto)
Files:	    src/ex_docmd.c

Patch 7.3.616 (after 7.3.610)
Problem:    Can't compile without +visual.
Solution:   Add #ifdef.
Files:	    src/normal.c

Patch 7.3.617 (after 7.3.615)
Problem:    Hang on completion.
Solution:   Skip over the space. (Yasuhiro Matsumoto)
Files:	    src/ex_docmd.c

Patch 7.3.618 (after 7.3.616)
Problem:    Still doesn't compile with small features.
Solution:   Move current_search() out of #ifdef. (Dominique Pelle)
Files:	    src/normal.c, src/search.c

Patch 7.3.619
Problem:    When executing a shell command Vim may become slow to respond.
Solution:   Don't wait after every processed message. (idea by Yasuhiro
	    Matsumoto)
Files:	    src/os_win32.c

Patch 7.3.620
Problem:    Building with recent Ruby on Win32 doesn't work.
Solution:   Add a separate argument for the API version. (Yasuhiro Matsumoto)
Files:	    src/Make_ming.mak, src/Make_mvc.mak

Patch 7.3.621
Problem:    Compiler warnings on 64 bit windows.
Solution:   Add type casts. (Mike Williams)
Files:	    src/ex_docmd.c, src/search.c

Patch 7.3.622
Problem:    XPM library for Win32 can't be found.
Solution:   Suggest using the one from the Vim ftp site.
Files:	    src/Make_mvc.mak

Patch 7.3.623
Problem:    Perl 5.14 commands crash Vim on MS-Windows.
Solution:   Use perl_get_sv() instead of GvSV(). (Raymond Ko)
Files:	    src/if_perl.xs

Patch 7.3.624
Problem:    When cancelling input() it returns the third argument. That should
	    only happen for inputdialog().
Solution:   Check if inputdialog() was used. (Hirohito Higashi)
Files:	    src/eval.c

Patch 7.3.625
Problem:    "gn" does not handle zero-width matches correctly.
Solution:   Handle zero-width patterns specially. (Christian Brabandt)
Files:	    src/search.c

Patch 7.3.626
Problem:    Python interface doesn't build with Python 2.4 or older.
Solution:   Define Py_ssize_t. (Benjamin Bannier)
Files:	    src/if_py_both.h

Patch 7.3.627
Problem:    When using the "n" flag with the ":s" command a \= substitution
	    will not be evaluated.
Solution:   Do perform the evaluation, so that a function can be invoked at
	    every matching position without changing the text. (Christian
	    Brabandt)
Files:	    src/ex_cmds.c

Patch 7.3.628
Problem:    ":open" does not allow for a !, which results in a confusing error
	    message. (Shawn Wilson)
Solution:   Allow ! on ":open". (Christian Brabandt)
Files:	    src/ex_cmds.h

Patch 7.3.629
Problem:    There is no way to make 'shiftwidth' follow 'tabstop'.
Solution:   When 'shiftwidth' is zero use the value of 'tabstop'. (Christian
	    Brabandt)
Files:	    src/edit.c, src/ex_getln.c, src/fold.c, src/misc1.c, src/ops.c,
	    src/option.c, src/proto/option.pro

Patch 7.3.630
Problem:    "|" does not behave correctly when 'virtualedit' is set.
Solution:   Call validate_virtcol(). (David Bürgin)
Files:	    src/normal.c

Patch 7.3.631
Problem:    Cannot complete user names.
Solution:   Add user name completion.  (Dominique Pelle)
Files:	    runtime/doc/map.txt, src/auto/configure, src/config.h.in,
	    src/configure.in, src/ex_docmd.c, src/ex_getln.c, src/misc1.c,
	    src/misc2.c, src/proto/misc1.pro, src/vim.h

Patch 7.3.632
Problem:    Cannot select beyond 222 columns with the mouse in xterm.
Solution:   Add support for SGR mouse tracking. (Hayaki Saito)
Files:	    runtime/doc/options.txt, src/feature.h, src/keymap.h, src/misc2.c,
	    src/option.h, src/os_unix.c, src/term.c, src/version.c

Patch 7.3.633
Problem:    Selection remains displayed as selected after selecting another
	    text.
Solution:   Call xterm_update() before select(). (Andrew Pimlott)
Files:	    src/os_unix.c

Patch 7.3.634
Problem:    Month/Day format for undo is confusing. (Marcin Szamotulski)
Solution:   Always use Year/Month/Day, should work for everybody.
Files:	    src/undo.c

Patch 7.3.635
Problem:    Issue 21: System call during startup sets 'lines' to a wrong
	    value. (Karl Yngve)
Solution:   Don't set the shell size while the GUI is still starting up.
	    (Christian Brabandt)
Files:	    src/ui.c

Patch 7.3.636 (after 7.3.625)
Problem:    Not all zero-width matches handled correctly for "gn".
Solution:   Move zero-width detection to a separate function. (Christian
	    Brabandt)
Files:	    src/search.c

Patch 7.3.637
Problem:    Cannot catch the error caused by a foldopen when there is no fold.
	    (ZyX, Issue 48)
Solution:   Do not break out of the loop early when inside try/catch.
	    (Christian Brabandt) Except when there is a syntax error.
Files:	    src/ex_docmd.c, src/globals.h

Patch 7.3.638
Problem:    Unnecessary redraw of the previous character.
Solution:   Check if the character is double-width. (Jon Long)
Files:	    src/screen.c

Patch 7.3.639
Problem:    It's not easy to build Vim on Windows with XPM support.
Solution:   Include the required files, they are quite small.  Update the
	    MSVC makefile to use them.  Binary files are in the next patch.
	    (Sergey Khorev)
Files:	    src/xpm/COPYRIGHT, src/xpm/README.txt, src/xpm/include/simx.h,
	    src/xpm/include/xpm.h, src/Make_mvc.mak, src/bigvim.bat,
	    src/bigvim64.bat, Filelist

Patch 7.3.640
Problem:    It's not easy to build Vim on Windows with XPM support.
Solution:   Binary files for 7.3.639. (Sergey Khorev)
Files:	    src/xpm/x64/lib/libXpm.lib, src/xpm/x86/lib/libXpm.a,
	    src/xpm/x86/lib/libXpm.lib

Patch 7.3.641
Problem:    ":mkview" uses ":normal" instead of ":normal!" for folds. (Dan)
Solution:   Add the bang. (Christian Brabandt)
Files:	    src/fold.c

Patch 7.3.642
Problem:    Segfault with specific autocommands.  Was OK after 7.3.449 and
	    before 7.3.545. (Richard Brown)
Solution:   Pass TRUE for abort_if_last in the call to close_buffer().
	    (Christian Brabandt)
Files:	    src/window.c

Patch 7.3.643 (after 7.3.635)
Problem:    MS-Windows: When starting gvim maximized 'lines' and 'columns' are
	    wrong. (Christian Robinson)
Solution:   Move the check for gui.starting from ui_get_shellsize() to
	    check_shellsize().
Files:	    src/ui.c, src/term.c

Patch 7.3.644
Problem:    Dead code for BeOS GUI.
Solution:   Remove unused __BEOS__ stuff.
Files:	    src/gui.c

Patch 7.3.645
Problem:    No tests for patch 7.3.625 and 7.3.637.
Solution:   Add more tests for the "gn" command and try/catch. (Christian
	    Brabandt)
Files:	    src/testdir/test53.in, src/testdir/test53.ok,
	    src/testdir/test55.in, src/testdir/test55.ok

Patch 7.3.646
Problem:    When reloading a buffer the undo file becomes unusable unless ":w"
	    is executed. (Dmitri Frank)
Solution:   After reloading the buffer write the undo file. (Christian
	    Brabandt)
Files:	    src/fileio.c

Patch 7.3.647
Problem:    "gnd" doesn't work correctly in Visual mode.
Solution:   Handle Visual mode differently in "gn". (Christian Brabandt)
Files:	    src/search.c, src/testdir/test53.in, src/testdir/test53.ok

Patch 7.3.648
Problem:    Crash when using a very long file name. (ZyX)
Solution:   Properly check length of buffer space.
Files:	    src/buffer.c

Patch 7.3.649
Problem:    When 'clipboard' is set to "unnamed" small deletes end up in the
	    numbered registers. (Ingo Karkat)
Solution:   Use the original register name to decide whether to put a delete
	    in a numbered register. (Christian Brabandt)
Files:	    src/ops.c

Patch 7.3.650
Problem:    Completion after ":help \{-" gives an error message and messes up
	    the command line.
Solution:   Cancel the tag search if the pattern can't be compiled. (Yasuhiro
	    Matsumoto)
Files:	    src/tag.c

Patch 7.3.651
Problem:    Completion after ":help \{-" gives an error message.
Solution:   Prepend a backslash.
Files:	    src/ex_cmds.c

Patch 7.3.652
Problem:    Workaround for Python crash isn't perfect.
Solution:   Change the type of the length argument. (Sean Estabrooks)
Files:	    src/if_py_both.h

Patch 7.3.653
Problem:    MingW needs build rule for included XPM files.  Object directory
	    for 32 and 64 builds is the same, also for MSVC.
Solution:   Add MingW build rule to use included XPM files.  Add the CPU or
	    architecture to the object directory name. (Sergey Khorev)
Files:	    src/Make_ming.mak, src/Make_mvc.mak, src/xpm/README.txt

Patch 7.3.654
Problem:    When creating a Vim dictionary from Python objects an empty key
	    might be used.
Solution:   Do not use empty keys, throw an IndexError. (ZyX)
Files:	    src/if_py_both.h

Patch 7.3.655
Problem:    64 bit MingW xpm .a file is missing.
Solution:   Add the file. (Sergey Khorev)
Files:	    src/xpm/x64/lib/libXpm.a

Patch 7.3.656
Problem:    Internal error in :pyeval.
Solution:   Handle failed object conversion. (ZyX)
Files:	    src/if_python.c, src/if_python3.c

Patch 7.3.657
Problem:    Python bindings silently truncate string values containing NUL.
Solution:   Fail when a string contains NUL. (ZyX)
Files:	    src/if_python.c, src/if_python3.c

Patch 7.3.658
Problem:    NUL bytes truncate strings when converted from Python.
Solution:   Handle truncation as an error. (ZyX)
Files:	    src/if_py_both.h, src/if_python3.c

Patch 7.3.659
Problem:    Recent Python changes are not tested.
Solution:   Add tests for Python bindings. (ZyX)
Files:	    src/testdir/test86.in, src/testdir/test86.ok,
	    src/testdir/test87.in, src/testdir/test87.ok

Patch 7.3.660
Problem:    ":help !" jumps to help for ":!".
Solution:   Adjust check for tag header line. (Andy Wokula)
Files:	    src/tag.c

Patch 7.3.661 (after 7.3.652)
Problem:    SEGV in Python code.
Solution:   Initialize len to zero.  Use the right function depending on
	    version. (Maxim Philippov)
Files:	    src/if_py_both.h, src/if_python.c, src/if_python3.c

Patch 7.3.662
Problem:    Can't build Ruby interface with Ruby 1.9.3.
Solution:   Add missing functions. (V. Ondruch)
Files:	    src/if_ruby.c

Patch 7.3.663
Problem:    End of color scheme name not clear in E185. (Aaron Lewis)
Solution:   Put the name in single quotes.
Files:	    src/ex_docmd.c

Patch 7.3.664
Problem:    Buffer overflow in unescaping text. (Raymond Ko)
Solution:   Limit check for multi-byte character to 4 bytes.
Files:	    src/mbyte.c

Patch 7.3.665
Problem:    MSVC 11 is not supported. (Raymond Ko)
Solution:   Recognize MSVC 11. (Gary Willoughby)
Files:	    src/Make_mvc.mak

Patch 7.3.666
Problem:    With MSVC 11 Win32.mak is not found.
Solution:   Add the SDK_INCLUDE_DIR variable. (Raymond Ko)
Files:	    src/Make_mvc.mak

Patch 7.3.667
Problem:    Unused variables in Perl interface.
Solution:   Adjust #ifdefs.
Files:	    src/if_perl.xs

Patch 7.3.668
Problem:    Building with Perl loaded dynamically  still uses static library.
Solution:   Adjust use of PL_thr_key. (Ken Takata)
Files:	    src/if_perl.xs

Patch 7.3.669
Problem:    When building with Cygwin loading Python dynamically fails.
Solution:   Use DLLLIBRARY instead of INSTSONAME. (Ken Takata)
Files:	    src/configure.in, src/auto/configure

Patch 7.3.670
Problem:    Python: memory leaks when there are exceptions.
Solution:   Add DICTKEY_UNREF in the right places. (ZyX)
Files:	    src/if_py_both.h

Patch 7.3.671
Problem:    More Python code can be shared between Python 2 and 3.
Solution:   Move code to if_py_both.h. (ZyX)
Files:	    src/if_py_both.h, src/if_python.c, src/if_python3.c

Patch 7.3.672
Problem:    Not possible to lock/unlock lists in Python interface.
Solution:   Add .locked and .scope attributes. (ZyX)
Files:	    runtime/doc/if_pyth.txt, src/if_py_both.h, src/if_python.c,
	    src/if_python3.c, src/testdir/test86.in, src/testdir/test86.ok,
	    src/testdir/test87.in, src/testdir/test87.ok

Patch 7.3.673
Problem:    Using "gN" while 'selection' is "exclusive" misses one character.
	    (Ben Fritz)
Solution:   Check the direction when compensating for exclusive selection.
	    (Christian Brabandt)
Files:	    src/search.c

Patch 7.3.674
Problem:    Can't compile with Lua/dyn on Cygwin.
Solution:   Adjust configure to use the right library name. (Ken Takata)
Files:	    src/configure.in, src/auto/configure

Patch 7.3.675
Problem:    Using uninitialized memory with very long file name.
Solution:   Put NUL after text when it is truncated. (ZyX)
Files:	    src/buffer.c

Patch 7.3.676
Problem:    Ruby compilation on Windows 32 bit doesn't work.
Solution:   Only use some functions for 64 bit. (Ken Takata)
Files:	    src/if_ruby.c

Patch 7.3.677
Problem:    buf_spname() is used inconsistently.
Solution:   Make the return type a char_u pointer.  Check the size of the
	    returned string.
Files:	    src/buffer.c, src/proto/buffer.pro, src/ex_cmds2.c,
	    src/ex_docmd.c, src/memline.c, src/screen.c

Patch 7.3.678
Problem:    Ruby .so name may not be correct.
Solution:   Use the LIBRUBY_SO entry from the config. (Vit Ondruch)
Files:	    src/configure.in, src/auto/configure

Patch 7.3.679
Problem:    Ruby detection uses Config, newer Ruby versions use RbConfig.
Solution:   Detect the need to use RbConfig. (Vit Ondruch)
Files:	    src/configure.in, src/auto/configure

Patch 7.3.680
Problem:    Some files missing in the list of distributed files.
Solution:   Add lines for new files.
Files:	    Filelist

Patch 7.3.681 (after 7.3.680)
Problem:    List of distributed files picks up backup files.
Solution:   Make tutor patterns more specific.
Files:	    Filelist

Patch 7.3.682 (after 7.3.677)
Problem:    Compiler complains about incompatible types.
Solution:   Remove type casts. (hint by Danek Duvall)
Files:	    src/edit.c 

Patch 7.3.683
Problem:    ":python" may crash when vimbindeval() returns None.
Solution:   Check for v_string to be NULL. (Yukihiro Nakadaira)
Files:	    src/if_py_both.h

Patch 7.3.684
Problem:    "make test" does not delete lua.vim.
Solution:   Add lua.vim to the clean target. (Simon Ruderich)
Files:	    src/testdir/Makefile, src/testdir/Make_dos.mak,
	    src/testdir/Make_ming.mak, src/testdir/Make_vms.mms

Patch 7.3.685
Problem:    No test for what patch 7.3.673 fixes.
Solution:   Add a test. (Christian Brabandt)
Files:	    src/testdir/test53.in, src/testdir/test53.ok

Patch 7.3.686
Problem:    Using CTRL-\ e mappings is useful also when entering an
	    expression, but it doesn't work. (Marcin Szamotulski)
Solution:   Allow using CTRL-\ e when entering an expression if it was not
	    typed.
Files:	    src/ex_getln.c

Patch 7.3.687
Problem:    Test 16 fails when $DISPLAY is not set.
Solution:   Skip the test when $DISPLAY is not set.
Files:	    src/testdir/test16.in

Patch 7.3.688
Problem:    Python 3.3 is not supported.
Solution:   Add Python 3.3 support (Ken Takata)
Files:	    src/if_python3.c

Patch 7.3.689
Problem:    MzScheme and Lua may use a NULL string.
Solution:   Use an empty string instead of NULL. (Yukihiro Nakadaira)
Files:	    src/if_lua.c, src/if_mzsch.c

Patch 7.3.690
Problem:    When the current directory name is exactly the maximum path length
	    Vim may crash.
Solution:   Only add "/" when there is room. (Danek Duvall)
Files:	    src/os_unix.c

Patch 7.3.691
Problem:    State specific to the Python thread is discarded.
Solution:   Keep state between threads. (Paul)
Files:	    src/if_python.c

Patch 7.3.692
Problem:    Can't build GTK version with GTK 2.0.
Solution:   Put GtkFileFilter declaration in the right place. (Yegappan
	    Lakshmanan)
Files:	    src/gui_gtk.c

Patch 7.3.693
Problem:    Can't make 'softtabstop' follow 'shiftwidth'.
Solution:   When 'softtabstop' is negative use the value of 'shiftwidth'.
	    (so8res)
Files:	    src/edit.c, src/option.c, src/proto/option.pro

Patch 7.3.694
Problem:    Now that 'shiftwidth' may use the value of 'tabstop' it is not so
	    easy to use in indent files.
Solution:   Add the shiftwidth() function. (so8res)
Files:	    runtime/doc/eval.txt, src/eval.c

Patch 7.3.695
Problem:    Balloon cannot show multi-byte text.
Solution:   Properly deal with multi-byte characters. (Dominique Pelle)
Files:	    src/gui_beval.c, src/ui.c

Patch 7.3.696
Problem:    Message about added spell language can be wrong.
Solution:   Give correct message. Add g:menutrans_set_lang_to to allow for
	    translation. (Jiri Sedlak)
Files:	    runtime/menu.vim

Patch 7.3.697
Problem:    Leaking resources when setting GUI font.
Solution:   Free the font. (Ken Takata)
Files:	    src/syntax.c

Patch 7.3.698
Problem:    Python 3 does not preserve state between commands.
Solution:   Preserve the state. (Paul Ollis)
Files:	    src/if_python.c, src/if_python3.c

Patch 7.3.699
Problem:    When 'ttymouse' is set to "sgr" manually, it is overruled by
	    automatic detection.
Solution:   Do not use automatic detection when 'ttymouse' was set manually.
	    (Hayaki Saito)
Files:	    src/term.c

Patch 7.3.700
Problem:    Cannot detect URXVT and SGR mouse support.
Solution:   add +mouse_urxvt and +mouse_sgr. (Hayaki Saito)
Files:	    src/feature.h, src/eval.c

Patch 7.3.701
Problem:    MS-Windows: Crash with stack overflow when setting 'encoding'.
Solution:   Handle that loading the iconv library may be called recursively.
	    (Jiri Sedlak)
Files:	    src/os_win32.c

Patch 7.3.702
Problem:    Nmake from VS6 service pack 6 is not recognized.
Solution:   Detect the version number. (Jiri Sedlak)
Files:	    src/Make_mvc.mak

Patch 7.3.703
Problem:    When 'undofile' is reset the hash is computed unnecessarily.
Solution:   Only compute the hash when the option was set. (Christian Brabandt)
Files:	    src/option.c

Patch 7.3.704
Problem:    Repeating "cgn" does not always work correctly.
Solution:   Also fetch the operator character. (Christian Brabandt)
Files:	    src/normal.c

Patch 7.3.705
Problem:    Mouse features are not sorted properly. (Tony Mechelynck)
Solution:   Put the mouse features in alphabetical order.
Files:	    src/version.c

Patch 7.3.706 (after 7.3.697)
Problem:    Can't build Motif version.
Solution:   Fix wrongly named variable. (Ike Devolder)
Files:	    src/syntax.c

Patch 7.3.707 (after 7.3.701)
Problem:    Problems loading a library for a file name with non-latin
	    characters.
Solution:   Use wide system functions when possible. (Ken Takata)
Files:	    src/os_win32.c, src/os_win32.h

Patch 7.3.708
Problem:    Filler lines above the first line may be hidden when opening Vim.
Solution:   Change how topfill is computed. (Christian Brabandt)
Files:	    src/diff.c, src/testdir/test47.in, src/testdir/test47.ok

Patch 7.3.709
Problem:    Compiler warning for unused argument.
Solution:   Add UNUSED.
Files:	    src/eval.c

Patch 7.3.710 (after 7.3.704)
Problem:    Patch 7.3.704 breaks "fn".
Solution:   Add check for ca.cmdchar. (Christian Brabandt)
Files:	    src/normal.c

Patch 7.3.711 (after 7.3.688)
Problem:    vim.current.buffer is not available. (lilydjwg)
Solution:   Use py3_PyUnicode_AsUTF8 instead of py3_PyUnicode_AsUTF8String.
	    (Ken Takata)
Files:	    src/if_python3.c

Patch 7.3.712
Problem:    Nmake from VS2010 SP1 is not recognized.
Solution:   Add the version number. (Ken Takata)
Files:	    src/Make_mvc.mak

Patch 7.3.713
Problem:    printf() can only align to bytes, not characters.
Solution:   Add the "S" item. (Christian Brabandt)
Files:	    runtime/doc/eval.txt, src/message.c

Patch 7.3.714
Problem:    Inconsistency: :set can be used in the sandbox, but :setlocal and
	    :setglobal cannot. (Michael Henry)
Solution:   Fix the flags for :setlocal and :setglobal. (Christian Brabandt)
Files:	    src/ex_cmds.h

Patch 7.3.715
Problem:    Crash when calling setloclist() in BufUnload autocmd. (Marcin
	    Szamotulski)
Solution:   Set w_llist to NULL when it was freed.  Also add a test.
	    (Christian Brabandt)
Files:	    src/quickfix.c, src/testdir/test49.ok, src/testdir/test49.vim

Patch 7.3.716
Problem:    Error on exit when using Python 3.
Solution:   Remove PythonIO_Fini(). (Roland Puntaier)
Files:	    src/if_python3.c

Patch 7.3.717
Problem:    When changing the font size, only MS-Windows limits the window
	    size.
Solution:   Also limit the window size on other systems. (Roland Puntaier)
Files:	    src/gui.c

Patch 7.3.718
Problem:    When re-using the current buffer the buffer-local options stay.
Solution:   Re-initialize the buffer-local options. (Christian Brabandt)
Files:	    src/buffer.c

Patch 7.3.719
Problem:    Cannot run new version of cproto, it fails on missing include
	    files.
Solution:   Add lots of #ifndef PROTO
Files:	    src/os_amiga.c, src/os_amiga.h, src/gui_w16.c, src/gui_w48.c,
	    src/gui_w32.c, src/vimio.h, src/os_msdos.c, src/os_msdos.h,
	    src/os_win16.h, src/os_win16.c, src/os_win32.h, src/os_win32.c,
	    src/os_mswin.c, src/gui_photon.c, src/os_unix.h, src/os_beos.c,
	    src/os_beos.h

Patch 7.3.720
Problem:    Proto files are outdated.
Solution:   Update the newly generated proto files.
Files:	    src/proto/digraph.pro, src/proto/fold.pro, src/proto/misc1.pro,
	    src/proto/move.pro, src/proto/screen.pro, src/proto/search.pro,
	    src/proto/os_win32.pro, src/proto/os_mswin.pro,
	    src/proto/os_beos.pro

Patch 7.3.721
Problem:    Ruby interface defines local functions globally.
Solution:   Make the functions static.
Files:	    src/if_ruby.c

Patch 7.3.722
Problem:    Perl flags may contain "-g", which breaks "make proto".
Solution:   Filter out the "-g" flag for cproto. (Ken Takata)
Files:	    src/Makefile

Patch 7.3.723
Problem:    Various tiny problems.
Solution:   Various tiny fixes.
Files:	    src/gui_mac.c, src/xpm_w32.c, src/netbeans.c, src/sha256.c,
	    src/if_sniff.c, README.txt

Patch 7.3.724
Problem:    Building with Ruby and Tcl on MS-Windows 64 bit does not work.
Solution:   Remove Ruby and Tcl from the big MS-Windows build.
Files:	    src/bigvim64.bat

Patch 7.3.725
Problem:    :aboveleft and :belowright have no effect on :copen.
Solution:   Check for cmdmod.split. (Christian Brabandt)
Files:	    src/quickfix.c

Patch 7.3.726
Problem:    Typos and duplicate info in README.
Solution:   Fix the text.
Files:	    README.txt

Patch 7.3.727
Problem:    Can't always find Win32.mak when building GvimExt.
Solution:   Use same mechanism as in Make_mvc.mak. (Cade Foster)
Files:	    src/GvimExt/Makefile

Patch 7.3.728
Problem:    Cannot compile with MzScheme interface on Ubuntu 12.10.
Solution:   Find the collects directory under /usr/share.
Files:	    src/configure.in, src/auto/configure

Patch 7.3.729
Problem:    Building with Ruby fails on some systems.
Solution:   Remove "static" and add #ifndef PROTO. (Ken Takata)
Files:	    src/if_ruby.c

Patch 7.3.730
Problem:    Crash in PHP file when using syntastic. (Ike Devolder)
Solution:   Avoid using NULL pointer. (Christian Brabandt)
Files:	    src/quickfix.c

Patch 7.3.731
Problem:    Py3Init_vim() is exported unnecessarily.
Solution:   Make it static. (Ken Takata)
Files:	    src/if_python3.c

Patch 7.3.732
Problem:    Compiler warnings for function arguments.
Solution:   Use inteptr_t instead of long.
Files:	    src/if_mzsch.c, src/main.c

Patch 7.3.733
Problem:    Tests fail when including MzScheme.
Solution:   Change #ifdefs for vim_main2().
Files:	    src/main.c

Patch 7.3.734
Problem:    Cannot put help files in a sub-directory.
Solution:   Make :helptags work for sub-directories. (Charles Campbell)
Files:	    src/ex_cmds.c

Patch 7.3.735
Problem:    Cannot build Ruby 1.9 with MingW or Cygwin.
Solution:   Add another include directory. (Ken Takata)
Files:	    src/Make_cyg.mak, src/Make_ming.mak

Patch 7.3.736
Problem:    File name completion in input() escapes white space. (Frederic
	    Hardy)
Solution:   Do not escape white space. (Christian Brabandt)
Files:	    src/ex_getln.c

Patch 7.3.737
Problem:    When using do_cmdline() recursively did_endif is not reset,
	    causing messages to be overwritten.
Solution:   Reset did_endif. (Christian Brabandt)
Files:	    src/ex_docmd.c

Patch 7.3.738 (after 7.3.730)
Problem:    Unused function argument.
Solution:   Remove it. (Christian Brabandt)
Files:	    src/quickfix.c

Patch 7.3.739
Problem:    Computing number of lines may have an integer overflow.
Solution:   Check for MAXCOL explicitly. (Dominique Pelle)
Files:	    src/move.c

Patch 7.3.740
Problem:    IOC tool complains about undefined behavior for int.
Solution:   Change to unsigned int. (Dominique Pelle)
Files:	    src/hashtab.c, src/misc2.c

Patch 7.3.741 (after 7.3.737)
Problem:    Tiny build fails.
Solution:   Move #ifdef. (Ike Devolder)
Files:	    src/ex_docmd.c

Patch 7.3.742
Problem:    Leaking memory when :vimgrep restores the directory.
Solution:   Free the allocated memory. (Christian Brabandt)
Files:	    src/quickfix.c

Patch 7.3.743 (after 7.3.741)
Problem:    Tiny build still fails.
Solution:   Add #else in the right place.
Files:	    src/ex_docmd.c

Patch 7.3.744
Problem:    64 bit compiler warning.
Solution:   Add type cast. (Mike Williams)
Files:	    src/ex_cmds.c

Patch 7.3.745
Problem:    Automatically setting 'ttymouse' doesn't work.
Solution:   Reset the "option was set" flag when using the default.
Files:	    src/option.c, src/proto/option.pro, src/term.c

Patch 7.3.746
Problem:    Memory leaks when using location lists.
Solution:   Set qf_title to something. (Christian Brabandt)
Files:	    src/eval.c, src/quickfix.c

Patch 7.3.747
Problem:    When characters are concealed text aligned with tabs are no longer
	    aligned, e.g. at ":help :index".
Solution:   Compensate space for tabs for concealed characters. (Dominique
	    Pelle)
Files:	    src/screen.c

Patch 7.3.748
Problem:    Cannot properly test conceal mode.
Solution:   Add the screencol() and screenrow() functions.  Use them in
	    test88. (Simon Ruderich)
Files:	    runtime/doc/eval.txt, src/eval.c, src/proto/screen.pro,
	    src/screen.c, src/testdir/Make_amiga.mak,
	    src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
	    src/testdir/Make_os2.mak, src/testdir/Make_vms.mms
	    src/testdir/Makefile, src/testdir/test88.in,
	    src/testdir/test88.ok,

Patch 7.3.749
Problem:    Python interface doesn't build without the multi-byte feature.
Solution:   Add #ifdef. (Ken Takata)
Files:	    src/if_py_both.h

Patch 7.3.750
Problem:    The justify macro does not always work correctly.
Solution:   Fix off-by-one error (James McCoy)
Files:	    runtime/macros/justify.vim

Patch 7.3.751
Problem:    Test 61 is flaky, it fails once in a while.
Solution:   When it fails retry once.
Files:	    src/testdir/Makefile

Patch 7.3.752
Problem:    Test 49 script file doesn't fold properly.
Solution:   Add a colon.
Files:	    src/testdir/test49.vim

Patch 7.3.753
Problem:    When there is a QuitPre autocommand using ":q" twice does not work
	    for exiting when there are more files to edit.
Solution:   Do not decrement quitmore in an autocommand. (Techlive Zheng)
Files:	    src/ex_docmd.c, src/fileio.c, src/proto/fileio.pro

Patch 7.3.754
Problem:    Latest nmake is not recognized.
Solution:   Add nmake version 11.00.51106.1. (Raymond Ko)
Files:	    src/Make_mvc.mak

Patch 7.3.755
Problem:    Autoconf doesn't find Python 3 if it's called "python".
Solution:   Search for "python2" and "python3" first, then "python".
Files:	    src/configure.in, src/auto/configure

Patch 7.3.756
Problem:    A location list can get a wrong count in :lvimgrep.
Solution:   Check if the list was changed by autocommands. (mostly by
	    Christian Brabandt)
Files:	    src/quickfix.c

Patch 7.3.757
Problem:    Issue 96: May access freed memory when a put command triggers
	    autocommands. (Dominique Pelle)
Solution:   Call u_save() before getting y_array.
Files:	    src/ops.c

Patch 7.3.758
Problem:    Matchit plugin does not handle space in #ifdef.
Solution:   Change matching pattern to allow spaces. (Mike Morearty)
Files:	    runtime/macros/matchit.vim

Patch 7.3.759
Problem:    MS-Windows: Updating the tabline is slow when there are many tabs.
Solution:   Disable redrawing while performing the update. (Arseny Kapoulkine)
Files:	    src/gui_w48.c

Patch 7.3.760
Problem:    dv_ deletes the white space before the line.
Solution:   Move the cursor to the first non-white. (Christian Brabandt)
Files:	    src/normal.c, src/testdir/test19.in, src/testdir/test19.ok

Patch 7.3.761
Problem:    In Visual mode a "-p does not work. (Marcin Szamotulski)
Solution:   Avoid writing to "- before putting it. (Christian Brabandt)
Files:	    src/normal.c, src/testdir/test48.in, src/testdir/test48.ok

Patch 7.3.762 (after 7.3.759)
Problem:    On some systems the tabline is not redrawn.
Solution:   Call RedrawWindow(). (Charles Peacech)
Files:	    src/gui_w48.c

Patch 7.3.763
Problem:    Jumping to a mark does not open a fold if it is in the same line.
	    (Wiktor Ruben)
Solution:   Also compare the column after the jump. (Christian Brabandt)
Files:	    src/normal.c

Patch 7.3.764
Problem:    Not all message translation files are installed.
Solution:   Also install the converted files.
Files:	    src/po/Makefile

Patch 7.3.765
Problem:    Segfault when doing "cclose" on BufUnload in a python function.
	    (Sean Reifschneider)
Solution:   Skip window with NULL buffer. (Christian Brabandt)
Files:	    src/main.c, src/window.c

Patch 7.3.766
Problem:    ":help cpo-*" jumps to the wrong place.
Solution:   Make it equivalent to ":help cpo-star".
Files:	    src/ex_cmds.c

Patch 7.3.767
Problem:    (Win32) The _errno used for iconv may be the wrong one.
Solution:   Use the _errno from iconv.dll. (Ken Takata)
Files:	    src/mbyte.c

Patch 7.3.768
Problem:    settabvar() and setwinvar() may move the cursor.
Solution:   Save and restore the cursor position when appropriate. (idea by
	    Yasuhiro Matsumoto)
Files:	    src/edit.c

Patch 7.3.769
Problem:    'matchpairs' does not work with multi-byte characters.
Solution:   Make it work. (Christian Brabandt)
Files:	    src/misc1.c, src/option.c, src/proto/option.pro, src/search.c,
	    src/testdir/test69.in, src/testdir/test69.ok

Patch 7.3.770
Problem:    Vim.h indentation is inconsistent.
Solution:   Adjust the indentation. (Elias Diem)
Files:	    src/vim.h

Patch 7.3.771 (after 7.3.769)
Problem:    Uninitialized variable. (Yasuhiro Matsumoto)
Solution:   Set x2 to -1.
Files:	    src/option.c

Patch 7.3.772
Problem:    Cursor is at the wrong location and below the end of the file
	    after doing substitutions with confirm flag: %s/x/y/c
	    (Dominique Pelle)
Solution:   Update the cursor position. (Christian Brabandt & Dominique)
Files:	    src/ex_cmds.c

Patch 7.3.773 (after 7.3.767)
Problem:    Crash when OriginalFirstThunk is zero.
Solution:   Skip items with OriginalFirstThunk not set. (Ken Takata)
Files:	    src/mbyte.c

Patch 7.3.774
Problem:    Tiny GUI version misses console dialog feature.
Solution:   Define FEAT_CON_DIALOG when appropriate. (Christian Brabandt)
Files:	    src/feature.h, src/gui.h

Patch 7.3.775
Problem:    Cygwin and Mingw builds miss dependency on gui_w48.c.
Solution:   Add a build rule. (Ken Takata)
Files:	    src/Make_cyg.mak, src/Make_ming.mak

Patch 7.3.776
Problem:    ml_get error when searching, caused by curwin not matching curbuf.
Solution:   Avoid changing curbuf. (Lech Lorens)
Files:	    src/charset.c, src/eval.c, src/mark.c, src/proto/charset.pro,
	    src/proto/mark.pro, src/regexp.c, src/syntax.c,

Patch 7.3.777
Problem:    When building with Gnome locale gets reset.
Solution:   Set locale after gnome_program_init(). (Christian Brabandt)
Files:	    src/gui_gtk_x11.c

Patch 7.3.778
Problem:    Compiler error for adding up two pointers. (Titov Anatoly)
Solution:   Add a type cast. (Ken Takata)
Files:	    src/mbyte.c

Patch 7.3.779
Problem:    Backwards search lands in wrong place when started on a multibyte
	    character.
Solution:   Do not set extra_col for a backwards search. (Sung Pae)
Files:	    src/search.c, src/testdir/test44.in, src/testdir/test44.ok

Patch 7.3.780
Problem:    char2nr() and nr2char() always use 'encoding'.
Solution:   Add argument to use utf-8 characters. (Yasuhiro Matsumoto)
Files:	    runtime/doc/eval.txt, src/eval.c

Patch 7.3.781
Problem:    Drawing with 'guifontwide' can be slow.
Solution:   Draw multiple characters at a time. (Taro Muraoka)
Files:	    src/gui.c

Patch 7.3.782
Problem:    Windows: IME composition may use a wrong font.
Solution:   Use 'guifontwide' for IME when it is set. (Taro Muraoka)
Files:	    runtime/doc/options.txt, src/gui.c, src/gui_w48.c,
	    src/proto/gui_w16.pro, src/proto/gui_w32.pro

Patch 7.3.783
Problem:    Crash when mark is not set. (Dominique Pelle)
Solution:   Check for NULL.
Files:	    src/normal.c

Patch 7.3.784 (after 7.3.781)
Problem:    Error when 'guifontwide' has a comma.
Solution:   Use gui.wide_font. (Taro Muraoka)
Files:	    src/gui_w48.c

Patch 7.3.785 (after 7.3.776)
Problem:    Crash with specific use of search pattern.
Solution:   Initialize reg_buf to curbuf.
Files:	    src/regexp.c

Patch 7.3.786
Problem:    Python threads don't run in the background (issue 103).
Solution:   Move the statements to manipulate thread state.
Files:	    src/if_python.c

Patch 7.3.787
Problem:    With 'relativenumber' set it is not possible to see the absolute
	    line number.
Solution:   For the cursor line show the absolute line number instead of a
	    zero. (Nazri Ramliy)
Files:	    src/screen.c

Patch 7.3.788
Problem:    When only using patches build fails on missing nl.po.
Solution:   Create an empty nl.po file.
Files:	    src/po/Makefile

Patch 7.3.789 (after 7.3.776)
Problem:    "\k" in regexp does not work in other window.
Solution:   Use the right buffer. (Yukihiro Nakadaira)
Files:	    src/mbyte.c, src/proto/mbyte.pro, src/regexp.c

Patch 7.3.790
Problem:    After reloading a buffer the modelines are not processed.
Solution:   call do_modelines(). (Ken Takata)
Files:	    src/fileio.c

Patch 7.3.791
Problem:    MzScheme interface doesn't work properly.
Solution:   Make it work better. (Sergey Khorev)
Files:	    runtime/doc/if_mzsch.txt, src/configure.in, src/auto/configure,
	    src/eval.c, src/if_mzsch.c, src/if_mzsch.h, src/Make_ming.mak,
	    src/Make_mvc.mak, src/os_unix.c, src/proto/eval.pro,
	    src/testdir/test70.in, src/testdir/test70.ok

Patch 7.3.792
Problem:    ":substitute" works differently without confirmation.
Solution:   Do not change the text when asking for confirmation, only display
	    it.
Files:	    src/ex_cmds.c

Patch 7.3.793 (after 7.3.792)
Problem:    New interactive :substitute behavior is not tested.
Solution:   Add tests. (Christian Brabandt)
Files:	    src/testdir/test80.in, src/testdir/test80.ok

Patch 7.3.794
Problem:    Tiny build fails. (Tony Mechelynck)
Solution:   Adjust #ifdefs.
Files:	    src/charset.c

Patch 7.3.795
Problem:    MzScheme does not build with tiny features.
Solution:   Add #ifdefs.  Also add UNUSED to avoid warnings.  And change
	    library ordering.
Files:	    src/if_mzsch.c, src/Makefile

Patch 7.3.796
Problem:    "/[^\n]" does match at a line break.
Solution:   Make it do the same as "/.". (Christian Brabandt)
Files:	    src/regexp.c, src/testdir/test79.in, src/testdir/test79.ok

Patch 7.3.797 (after 7.3.792)
Problem:    Compiler warning for size_t to int conversion. (Skeept)
Solution:   Add type casts.
Files:	    src/ex_cmds.c

Patch 7.3.798 (after 7.3.791)
Problem:    MzScheme: circular list does not work correctly.
Solution:   Separate Mac-specific code from generic code. (Sergey Khorev)
Files:	    src/if_mzsch.c, src/testdir/test70.in

Patch 7.3.799
Problem:    The color column is not correct when entering a buffer. (Ben
	    Fritz)
Solution:   Call check_colorcolumn() if 'textwidth' changed. (Christian
	    Brabandt)
Files:	    src/buffer.c

Patch 7.3.800
Problem:    The " mark is not adjusted when inserting lines. (Roland Eggner)
Solution:   Adjust the line number. (Christian Brabandt)
Files:	    src/mark.c

Patch 7.3.801
Problem:    ":window set nu?" displays the cursor line. (Nazri Ramliy)
Solution:   Do not update the cursor line when conceallevel is zero or the
	    screen has scrolled. (partly by Christian Brabandt)
Files:	    src/window.c

Patch 7.3.802
Problem:    After setting 'isk' to a value ending in a comma appending to the
	    option fails.
Solution:   Disallow a trailing comma for 'isk' and similar options.
Files:	    src/charset.c

Patch 7.3.803 (after 7.3.792)
Problem:    Substitute with confirmation and then "q" does not replace
	    anything.  (John McGowan)
Solution:   Do not break the loop, skip to the end.
Files:	    src/ex_cmds.c, src/testdir/test80.in, src/testdir/test80.ok

Patch 7.3.804 (after 7.3.799)
Problem:    Compiler warning for tiny build. (Tony Mechelynck)
Solution:   Add #ifdefs around variable.
Files:	    src/buffer.c

Patch 7.3.805
Problem:    Lua version 5.2 is not detected properly on Arch Linux.
Solution:   Adjust autoconf. (lilydjwg)
Files:	    src/configure.in, src/auto/configure

Patch 7.3.806
Problem:    Compiler warnings in Perl code when building with Visual studio
	    2012. (skeept)
Solution:   Add type casts. (Christian Brabandt, 2013 Jan 30)
Files:	    src/if_perl.xs

Patch 7.3.807
Problem:    Popup menu does not work properly with the preview window, folds
	    and 'cursorcolumn'.
Solution:   Redraw the popup menu after redrawing windows. (Christian
	    Brabandt)
Files:	    src/screen.c

Patch 7.3.808
Problem:    Python threads still do not work properly.
Solution:   Fix both Python 2 and 3.  Add tests. (Ken Takata)
Files:	    src/if_python.c, src/if_python3.c, src/testdir/test86.in,
	    src/testdir/test86.ok, src/testdir/test87.in,
	    src/testdir/test87.ok

Patch 7.3.809
Problem:    The dosinst.c program has a buffer overflow. (Thomas Gwae)
Solution:   Ignore $VIMRUNTIME if it is too long.
Files:	    src/dosinst.c

Patch 7.3.810
Problem:    'relativenumber' is reset unexpectedly. (François Ingelrest)
Solution:   After an option was reset also reset the global value. Add a test.
	    (Christian Brabandt)
Files:	    src/option.c, src/testdir/Make_amiga.mak,
	    src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
	    src/testdir/Make_os2.mak, src/testdir/Make_vms.mms,
	    src/testdir/Makefile, src/testdir/test89.in,
	    src/testdir/test89.ok

Patch 7.3.811
Problem:    Useless termresponse parsing for SGR mouse.
Solution:   Skip the parsing. (Hayaki Saito)
Files:	    src/term.c

Patch 7.3.812
Problem:    When 'indentexpr' moves the cursor "curswant" not restored.
Solution:   Restore "curswant". (Sung Pae)
Files:	    src/misc1.c

Patch 7.3.813
Problem:    The CompleteDone event is not triggered when there are no pattern
	    matches. (Jianjun Mao)
Solution:   Trigger the event. (Christian Brabandt)
Files:	    src/edit.c

Patch 7.3.814
Problem:    Can't input multibyte characters on Win32 console if 'encoding' is
	    different from current codepage.
Solution:   Use convert_input_safe() instead of convert_input().  Make
	    string_convert_ext() return an error for incomplete input. (Ken
	    Takata)
Files:	    src/mbyte.c, src/os_win32.c

Patch 7.3.815
Problem:    Building with Cygwin and Ruby doesn't work.
Solution:   Copy some things from the MingW build file. (Ken Takata)
Files:	    src/Make_cyg.mak

Patch 7.3.816
Problem:    Can't compute a hash.
Solution:   Add the sha256() function. (Tyru, Hirohito Higashi)
Files:	    runtime/doc/eval.txt, src/eval.c, src/proto/sha256.pro,
	    src/sha256.c, src/testdir/test90.in, src/testdir/test90.ok,
	    src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
	    src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
	    src/testdir/Make_vms.mms, src/testdir/Makefile

Patch 7.3.817
Problem:    Test 89 fails with tiny and small features.
Solution:   Add sourcing small.vim.
Files:	    src/testdir/test89.in

Patch 7.3.818
Problem:    When test 40 fails because of a bad build it may leave files
	    behind that cause it to fail later.
Solution:   Let the file names start with "X".
Files:	    src/testdir/test40.in

Patch 7.3.819
Problem:    Compiling without +eval and with Python isn't working.
Solution:   Add the eval feature when building with Python.
Files:	    src/if_py_both.h, src/feature.h, src/eval.c, src/ex_docmd.c,
	    src/normal.c, src/ex_docmd.c, src/gui_gtk_x11.c

Patch 7.3.820
Problem:    Build errors and warnings when building with small features and
	    Lua, Perl or Ruby.
Solution:   Add #ifdefs and UNUSED.
Files:	    src/if_perl.xs, src/if_lua.c, src/if_ruby.c

Patch 7.3.821
Problem:    Build with OLE and Cygwin is broken. (Steve Hall)
Solution:   Select static or shared stdc library. (Ken Takata)
Files:	    src/Make_cyg.mak

Patch 7.3.822 (after 7.3.799)
Problem:    Crash when accessing freed buffer.
Solution:   Get 'textwidth' in caller of enter_buffer(). (Christian Brabandt)
Files:	    src/buffer.c

Patch 7.3.823 (after 7.3.821)
Problem:    Building with Cygwin: '-lsupc++' is not needed.
Solution:   Remove it. (Ken Takata)
Files:	    src/Make_cyg.mak

Patch 7.3.824
Problem:    Can redefine builtin functions.  (ZyX)
Solution:   Disallow adding a function to g:.
Files:	    src/eval.c

Patch 7.3.825
Problem:    With Python errors are not always clear.
Solution:   Print the stack trace, unless :silent is used. (ZyX)
Files:	    src/if_python3.c, src/if_python.c

Patch 7.3.826
Problem:    List of features in :version output is hard to read.
Solution:   Make columns. (Nazri Ramliy)
Files:	    src/version.c

Patch 7.3.827 (after 7.3.825)
Problem:    Python tests fail.
Solution:   Adjust the output for the stack trace.
Files:	    src/testdir/test86.in, src/testdir/test86.ok,
	    src/testdir/test87.ok

Patch 7.3.828
Problem:    Mappings are not aware of wildmenu mode.
Solution:   Add wildmenumode(). (Christian Brabandt)
Files:	    src/eval.c, runtime/doc/eval.txt

Patch 7.3.829
Problem:    When compiled with the +rightleft feature 'showmatch' also shows a
	    match for the opening paren.  When 'revins' is set the screen may
	    scroll.
Solution:   Only check the opening paren when the +rightleft feature was
	    enabled.  Do not show a match that is not visible. (partly by
	    Christian Brabandt)
Files:	    src/search.c

Patch 7.3.830
Problem:    :mksession confuses bytes, columns and characters when positioning
	    the cursor.
Solution:   Use w_virtcol with "|" instead of w_cursor.col with "l".
Files:	    src/ex_docmd.c

Patch 7.3.831
Problem:    Clumsy to handle the situation that a variable does not exist.
Solution:   Add default value to getbufvar() et al. (Shougo Matsushita,
	    Hirohito Higashi)
Files:	    runtime/doc/eval.txt, src/eval.c src/testdir/test91.in,
	    src/testdir/test91.ok, src/testdir/Make_amiga.mak,
	    src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
	    src/testdir/Make_os2.mak, src/testdir/Make_vms.mms,
	    src/testdir/Makefile

Patch 7.3.832
Problem:    Compiler warning.
Solution:   Add type cast. (Mike Williams)
Files:	    src/version.c

Patch 7.3.833
Problem:    In the terminal the scroll wheel always scrolls the active window.
Solution:   Scroll the window under the mouse pointer, like in the GUI.
	    (Bradie Rao)
Files:	    src/edit.c, src/normal.c

Patch 7.3.834
Problem:    Ruby 2.0 has a few API changes.
Solution:   Add handling of Ruby 2.0. (Yasuhiro Matsumoto)
Files:	    src/if_ruby.c

Patch 7.3.835
Problem:    "xxd -i" fails on an empty file.
Solution:   Do output the closing } for an empty file. (partly by Lawrence
	    Woodman)
Files:	    src/xxd/xxd.c

Patch 7.3.836
Problem:    Clipboard does not work on Win32 when compiled with Cygwin.
Solution:   Move the Win32 clipboard code to a separate file and use it when
	    building with os_unix.c. (Frodak Baksik, Ken Takata)
Files:	    src/Make_bc5.mak, src/Make_cyg.mak, src/Make_ivc.mak,
	    src/Make_ming.mak, src/Make_mvc.mak, src/Make_w16.mak,
	    src/Makefile, src/config.h.in, src/configure.in,
	    src/auto/configure, src/feature.h, src/globals.h, src/mbyte.c,
	    src/os_mswin.c, src/os_unix.c, src/os_win32.c, src/proto.h,
	    src/proto/os_mswin.pro, src/proto/winclip.pro, src/term.c,
	    src/vim.h, src/winclip.c

Patch 7.3.837 (after 7.3.826)
Problem:    Empty lines in :version output when 'columns' is 320.
Solution:   Simplify the logic of making columns. (Nazri Ramliy, Roland
	    Eggner)
Files:	    src/version.c

Patch 7.3.838 (after 7.3.830)
Problem:    Insufficient testing for mksession.
Solution:   Add tests. (mostly by Roland Eggner)
Files:	    src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
	    src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
	    src/testdir/Make_vms.mms, src/testdir/Makefile,
	    src/testdir/test92.in, src/testdir/test92.ok,
	    src/testdir/test93.in, src/testdir/test93.ok,
	    src/ex_docmd.c

Patch 7.3.839
Problem:    Some files missing in the list of distributed files.
Solution:   Add lines for new files.
Files:	    Filelist

Patch 7.3.840
Problem:    "\@<!" in regexp does not work correctly with multi-byte
	    characters, especially cp932.
Solution:   Move column to start of multi-byte character. (Yasuhiro Matsumoto)
Files:	    src/regexp.c

Patch 7.3.841
Problem:    When a "cond ? one : two" expression has a subscript it is not
	    parsed correctly. (Andy Wokula)
Solution:   Handle a subscript also when the type is unknown. (Christian
	    Brabandt)
Files:	    src/eval.c

Patch 7.3.842
Problem:    Compiler warning for signed/unsigned pointer.
Solution:   Add type cast. (Christian Brabandt)
Files:	    src/eval.c

Patch 7.3.843 (after 7.3.841)
Problem:    Missing test file changes.
Solution:   Change the tests.
Files:	    src/testdir/test49.vim, src/testdir/test49.ok

Patch 7.3.844
Problem:    Enum is not indented correctly with "public" etc.
Solution:   Skip "public", "private" and "protected". (Hong Xu)
Files:	    src/misc1.c

Patch 7.3.845 (after 7.3.844)
Problem:    Enum indenting is not tested.
Solution:   Add tests. (Hong Xu)
Files:	    src/testdir/test3.in, src/testdir/test3.ok

Patch 7.3.846
Problem:    Missing proto files.
Solution:   Add the files.
Files:	    Filelist, src/proto/os_beos.pro

Patch 7.3.847
Problem:    Test 55 fails when messages are translated.
Solution:   Set language to C. (Ken Takata)
Files:	    src/testdir/test55.in

Patch 7.3.848
Problem:    Can't build with Ruby 2.0 when using MinGW x64 or MSVC10.
Solution:   Fix it. Also detect RUBY_PLATFORM and RUBY_INSTALL_NAME for x64.
	    (Ken Takata)
Files:	    src/Make_cyg.mak, src/Make_ming.mak, src/if_ruby.c

Patch 7.3.849
Problem:    ":g//" gives "Pattern not found error" with E486.  Should not use
	    the error number, it's not a regular error message.
Solution:   Use a normal message. (David Bürgin)
Files:	    src/ex_cmds.c

Patch 7.3.850
Problem:    ":vimgrep //" matches everywhere.
Solution:   Make it use the previous search pattern. (David Bürgin)
Files:	    runtime/doc/quickfix.txt, src/quickfix.c

Patch 7.3.851
Problem:    Using an empty pattern with :sort silently continues when there is
	    no previous search pattern.
Solution:   Give an error message. (David Bürgin)
Files:	    src/ex_cmds.c

Patch 7.3.852
Problem:    system() breaks clipboard text. (Yukihiro Nakadaira)
Solution:   Use Xutf8TextPropertyToTextList(). (Christian Brabandt)
	    Also do not put the text in the clip buffer if conversion fails.
Files:	    src/ui.c, src/ops.c

Patch 7.3.853
Problem:    Using "ra" in multiple lines on multi-byte characters leaves a few
	    characters not replaced.
Solution:   Adjust the end column only in the last line. (Yasuhiro Matsumoto)
Files:	    src/testdir/test69.in, src/testdir/test69.ok, src/ops.c

Patch 7.3.854
Problem:    After using backspace in insert mode completion, CTRL-N and CTRL-P
	    do not highlight the right entry. (Olivier Teuliere)
Solution:   Set the current item to the shown item after using backspace.
Files:	    src/edit.c

Patch 7.3.855
Problem:    Compiler warnings.
Solution:   Add type casts. (Mike Williams)
Files:	    src/misc1.c

Patch 7.3.856
Problem:    When calling system() multi-byte clipboard contents is garbled.
Solution:   Save and restore the clipboard contents.  (Yukihiro Nakadaira)
Files:	    src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro, src/ops.c,
	    src/proto/ops.pro, src/os_unix.c, src/proto/ui.pro, src/ui.c

Patch 7.3.857
Problem:    The QuitPre autocommand event does not trigger for :qa and :wq.
Solution:   Trigger the event. (Tatsuro Fujii)
Files:	    src/ex_docmd.c

Patch 7.3.858
Problem:    "gv" selects the wrong area after some operators.
Solution:   Save and restore the type of selection. (Christian Brabandt)
Files:	    src/testdir/test66.in, src/testdir/test66.ok, src/normal.c

Patch 7.3.859
Problem:    'ambiwidth' must be set by the user.
Solution:   Detects East Asian ambiguous width (UAX #11) state of the terminal
	    at the start-up time and 'ambiwidth' accordingly.  (Hayaki Saito)
Files:	    src/main.c, src/option.c, src/term.c, src/term.h,
	    src/proto/term.pro

Patch 7.3.860
Problem:    When using --remote-expr try/catch does not work. (Andrey Radev)
Solution:   Set emsg_silent instead of emsg_skip.
Files:	    src/main.c

Patch 7.3.861
Problem:    ":setlocal number" clears global value of 'relativenumber'.
Solution:   Do it properly. (Markus Heidelberg)
Files:	    src/testdir/test89.in, src/testdir/test89.ok, src/option.c

Patch 7.3.862
Problem:    Dragging the status line can be slow.
Solution:   Look ahead and drop the drag event if there is a next one.
Files:	    src/eval.c, src/misc1.c, src/proto/misc1.pro, src/normal.c

Patch 7.3.863 (after 7.3.859)
Problem:    Problem with 'ambiwidth' detection for ANSI terminal.
Solution:   Work around not recognizing a term response. (Hayaki Saito)
Files:	    src/term.c

Patch 7.3.864 (after 7.3.862)
Problem:    Can't build without the mouse feature.
Solution:   Add an #ifdef. (Ike Devolder)
Files:	    src/misc1.c

Patch 7.3.865 (after 7.3.862)
Problem:    Mouse position may be wrong.
Solution:   Let vungetc() restore the mouse position.
Files:	    src/getchar.c

Patch 7.3.866
Problem:    Not serving the X selection during system() isn't nice.
Solution:   When using fork() do not loose the selection, keep serving it.
	    Add a loop similar to handling I/O. (Yukihiro Nakadaira)
Files:	    src/os_unix.c

Patch 7.3.867
Problem:    Matchparen does not update match when using auto-indenting.
	    (Marc Aldorasi)
Solution:   Add the TextChanged and TextChangedI autocommand events.
Files:	    runtime/plugin/matchparen.vim, src/main.c, src/edit.c,
	    src/globals.h, src/vim.h, src/fileio.c, src/proto/fileio.pro,
	    runtime/doc/autocmd.txt

Patch 7.3.868
Problem:    When at the hit-return prompt and using "k" while no text has
	    scrolled off screen, then using "j", an empty line is displayed.
Solution:   Only act on "k" when text scrolled off screen.  Also accept
	    page-up and page-down.  (cptstubing)
Files:	    src/message.c

Patch 7.3.869
Problem:    bufwinnr() matches buffers in other tabs.
Solution:   For bufwinnr() and ? only match buffers in the current tab.
	    (Alexey Radkov)
Files:	    src/buffer.c, src/diff.c, src/eval.c, src/ex_docmd.c,
	    src/if_perl.xs, src/proto/buffer.pro

Patch 7.3.870
Problem:    Compiler warnings when using MingW 4.5.3.
Solution:   Do not use MAKEINTRESOURCE. Adjust #if. (Ken Takata)
Files:	    src/gui_w32.c, src/gui_w48.c, src/os_mswin.c, src/os_win32.c,
	    src/os_win32.h

Patch 7.3.871
Problem:    search('^$', 'c') does not use the empty match under the cursor.
Solution:   Special handling of the 'c' flag. (Christian Brabandt)
	    Add tests.
Files:	    src/search.c, src/testdir/test14.in, src/testdir/test14.ok

Patch 7.3.872
Problem:    On some systems case of file names is always ignored, on others
	    never.
Solution:   Add the 'fileignorecase' option to control this at runtime.
	    Implies 'wildignorecase'.
Files:	    src/buffer.c, src/edit.c, src/ex_cmds2.c, src/ex_getln.c,
	    src/fileio.c, src/misc1.c, src/misc2.c, src/option.c,
	    src/option.h, src/vim.h, runtime/doc/options.txt

Patch 7.3.873
Problem:    Cannot easily use :s to make title case.
Solution:   Have "\L\u" result in title case. (James McCoy)
Files:	    src/regexp.c, src/testdir/test79.in, src/testdir/test79.ok,
	    src/testdir/test80.in, src/testdir/test80.ok

Patch 7.3.874
Problem:    Comparing file names does not handle multi-byte characters
	    properly.
Solution:   Implement multi-byte handling.
Files:	    src/misc1.c, src/misc2.c

Patch 7.3.875 (after 7.3.866)
Problem:    Build problem with some combination of features.
Solution:   Use FEAT_XCLIPBOARD instead of FEAT_CLIPBOARD.
Files:	    src/os_unix.c

Patch 7.3.876
Problem:    #if indents are off.
Solution:   Insert a space where appropriate. (Taro Muraoka)
Files:	    src/gui.c

Patch 7.3.877 (after 7.3.871)
Problem:    Forward searching with search() is broken.
Solution:   Fix it and add tests. (Sung Pae)
Files:	    src/search.c, src/testdir/test14.in, src/testdir/test14.ok

Patch 7.3.878
Problem:    'fileignorecase' is missing in options window and quickref.
Solution:   Add the option.
Files:	    runtime/optwin.vim, runtime/doc/quickref.txt

Patch 7.3.879
Problem:    When using an ex command in operator pending mode, using Esc to
	    abort the command still executes the operator. (David Bürgin)
Solution:   Clear the operator when the ex command fails. (Christian Brabandt)
Files:	    src/normal.c

Patch 7.3.880
Problem:    When writing viminfo, old history lines may replace lines written
	    more recently by another Vim instance.
Solution:   Mark history entries that were read from viminfo and overwrite
	    them when merging with the current viminfo.
Files:	    src/ex_getln.c

Patch 7.3.881
Problem:    Python list does not work correctly.
Solution:   Fix it and add a test. (Yukihiro Nakadaira)
Files:	    src/testdir/test86.in, src/testdir/test86.ok, src/if_py_both.h

Patch 7.3.882
Problem:    CursorHold may trigger after receiving the termresponse.
Solution:   Set the did_cursorhold flag. (Hayaki Saito)
Files:	    src/term.c

Patch 7.3.883 (after 7.3.880)
Problem:    Can't build with some combination of features.
Solution:   Adjust #ifdefs.
Files:	    src/ex_getln.c

Patch 7.3.884
Problem:    Compiler warning for variable shadowing another. (John Little)
Solution:   Rename the variable. (Christian Brabandt)
Files:	    src/term.c

Patch 7.3.885
Problem:    Double free for list and dict in Lua. (Shougo Matsu)
Solution:   Do not unref list and dict. (Yasuhiro Matsumoto)
Files:	    src/if_lua.c

Patch 7.3.886
Problem:    Can't build with multi-byte on Solaris 10.
Solution:   Add #ifdef X_HAVE_UTF8_STRING. (Laurent Blume)
Files:	    src/ui.c

Patch 7.3.887
Problem:    No tests for Visual mode operators, what 7.3.879 fixes.
Solution:   Add a new test file. (David Bürgin)
Files:	    src/testdir/test94.in, src/testdir/test94.ok,
	    src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
	    src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
	    src/testdir/Make_vms.mms, src/testdir/Makefile

Patch 7.3.888
Problem:    Filename completion with 'fileignorecase' does not work for
	    multi-byte characters.
Solution:   Make 'fileignorecase' work properly. (Hirohito Higashi)
Files:	    src/misc2.c

Patch 7.3.889
Problem:    Can't build with Ruby 2.0 on a 64 bit system.
Solution:   Define rb_fix2int and rb_num2int. (Kohei Suzuki)
Files:	    src/if_ruby.c

Patch 7.3.890
Problem:    Test 79 fails on Windows. (Michael Soyka)
Solution:   Add comment below line causing an error.
Files:	    src/testdir/test79.in

Patch 7.3.891
Problem:    Merging viminfo history doesn't work well.
Solution:   Don't stop when one type of history is empty. Don't merge history
	    when writing viminfo.
Files:	    src/ex_getln.c

Patch 7.3.892 (after 7.3.891)
Problem:    Still merging problems for viminfo history.
Solution:   Do not merge lines when writing, don't write old viminfo lines.
Files:	    src/ex_getln.c, src/ex_cmds.c, src/proto/ex_getln.pro

Patch 7.3.893
Problem:    Crash when using b:, w: or t: after closing the buffer, window or
	    tabpage.
Solution:   Allocate the dictionary instead of having it part of the
	    buffer/window/tabpage struct. (Yukihiro Nakadaira)
Files:	    src/buffer.c, src/eval.c, src/fileio.c, src/structs.h,
	    src/window.c, src/proto/eval.pro

Patch 7.3.894
Problem:    Using wrong RUBY_VER causing Ruby build to break.
Solution:   Correct the RUBY_VER value. (Yongwei Wu)
Files:	    src/bigvim.bat

Patch 7.3.895
Problem:    Valgrind error in test 91. (Issue 128)
Solution:   Pass scope name to find_var_in_ht().
Files:	    src/eval.c

Patch 7.3.896
Problem:    Memory leaks in Lua interface.
Solution:   Fix the leaks, add tests. (Yukihiro Nakadaira)
Files:	    src/testdir/test85.in, src/testdir/test85.ok, src/if_lua.c

Patch 7.3.897
Problem:    Configure doesn't always find the shared library.
Solution:   Change the configure script. (Ken Takata)
Files:	    src/configure.in, src/auto/configure

Patch 7.3.898
Problem:    Memory leak reported by valgrind in test 91.
Solution:   Only use default argument when needed.
Files:	    src/eval.c, src/testdir/test91.in, src/testdir/test91.ok

Patch 7.3.899
Problem:    #if indents are off.
Solution:   Fix the indents.
Files:	    src/os_unix.c

Patch 7.3.900
Problem:    Not obvious that some mouse features are mutual-exclusive.
Solution:   Add a comment.
Files:	    src/feature.h

Patch 7.3.901
Problem:    Outdated comment, ugly condition.
Solution:   Update a few comments, break line.
Files:	    src/getchar.c, src/misc1.c, src/undo.c

Patch 7.3.902
Problem:    When deleting last buffer in other tab the tabline is not updated.
Solution:   Set the redraw_tabline flag. (Yukihiro Nakadaira)
Files:	    src/window.c

Patch 7.3.903 (after 7.3.892)
Problem:    Crash on exit writing viminfo. (Ron Aaron)
Solution:   Check for the history to be empty.
Files:	    src/ex_getln.c

Patch 7.3.904 (after 7.3.893)
Problem:    Using memory freed by the garbage collector.
Solution:   Mark items in aucmd_win as used.
Files:	    src/eval.c

Patch 7.3.905 (after 7.3.903)
Problem:    Crash when writing viminfo. (Ron Aaron)
Solution:   Prevent freed history info to be used.
Files:	    src/ex_getln.c

Patch 7.3.906
Problem:    The "sleep .2" for running tests does not work on Solaris.
Solution:   Fall back to using "sleep 1". (Laurent Blume)
Files:	    src/testdir/Makefile

Patch 7.3.907
Problem:    Python uses IndexError when a dict key is not found.
Solution:   Use KeyError instead. (ZyX)
Files:	    src/if_py_both.h, src/if_python3.c, src/if_python.c,
	    src/testdir/test86.ok, src/testdir/test87.ok

Patch 7.3.908
Problem:    Possible crash when using a list in Python.
Solution:   Return early if the list is NULL. (ZyX)
Files:	    src/if_py_both.h

Patch 7.3.909
Problem:    Duplicate Python code.
Solution:   Move more items to if_py_both.h. (ZyX)  Also avoid compiler
	    warnings for missing initializers.
Files:	    src/if_py_both.h, src/if_python3.c, src/if_python.c

Patch 7.3.910
Problem:    Python code in #ifdef branches with only minor differences.
Solution:   Merge the #ifdef branches. (ZyX)
Files:	    src/if_py_both.h, src/if_python.c

Patch 7.3.911
Problem:    Python: Access to Vim variables is not so easy.
Solution:   Define vim.vars and vim.vvars. (ZyX)
Files:	    runtime/doc/if_pyth.txt, src/eval.c, src/globals.h,
	    src/if_py_both.h, src/if_python3.c, src/if_python.c,
	    src/testdir/test86.in, src/testdir/test86.ok,
	    src/testdir/test87.in, src/testdir/test87.ok

Patch 7.3.912
Problem:    Typing a ":" command at the hit-enter dialog does not work if the
	    "file changed" dialog happens next.
Solution:   Check for changed files before giving the hit-enter dialog.
Files:	    src/message.c

Patch 7.3.913 (after 7.3.905)
Problem:    Still a crash when writing viminfo.
Solution:   Add checks for NULL pointers. (Ron Aaron)
Files:	    src/ex_getln.c

Patch 7.3.914
Problem:    ~/.viminfo is messed up when running tests.
Solution:   Set the viminfo filename.
Files:	    src/testdir/test89.in, src/testdir/test94.in

Patch 7.3.915
Problem:    When reading a file with encoding conversion fails at the end the
	    next encoding in 'fencs' is not used.
Solution:   Retry with another encoding when possible. (Taro Muraoka)
Files:	    src/fileio.c

Patch 7.3.916
Problem:    Using freed memory when pasting with the mouse (Issue 130).
Solution:   Get the byte value early. (hint by Dominique Pelle)
Files:	    src/buffer.c

Patch 7.3.917
Problem:    When a path ends in a backslash appending a comma has the wrong
	    effect.
Solution:   Replace a trailing backslash with a slash. (Nazri Ramliy)
Files:	    src/misc1.c, src/testdir/test73.in, src/testdir/test73.ok

Patch 7.3.918
Problem:    Repeating an Ex command after using a Visual motion does not work.
Solution:   Check for an Ex command being used. (David Bürgin)
Files:	    src/normal.c

Patch 7.3.919 (after 7.3.788)
Problem:    An empty nl.po file does not work with an old msgfmt.
Solution:   Put a single # in the file. (Laurent Blume)
Files:	    src/po/Makefile

Patch 7.3.920
Problem:    Compiler warning for size_t to int.
Solution:   Add a type cast. (Mike Williams)
Files:	    src/misc1.c

Patch 7.3.921 (after 7.3.697)
Problem:    Trying to create a fontset handle when 'guifontset' is not set.
Solution:   Add curly braces around the code block. (Max Kirillov)
Files:	    src/syntax.c

Patch 7.3.922
Problem:    No test for what 7.3.918 fixes.
Solution:   Add a test. (David Bürgin)
Files:	    src/testdir/test94.in, src/testdir/test94.ok

Patch 7.3.923
Problem:    Check for X11 header files fails on Solaris.
Solution:   Only use -Werror for gcc. (Laurent Blume)
Files:	    src/configure.in, src/auto/configure

Patch 7.3.924
Problem:    Python interface can't easily access options.
Solution:   Add vim.options, vim.window.options and vim.buffer.options. (ZyX)
Files:	    runtime/doc/if_pyth.txt, src/eval.c, src/if_py_both.h,
	    src/if_python.c, src/if_python3.c, src/option.c,
	    src/proto/eval.pro, src/proto/option.pro, src/testdir/test86.in,
	    src/testdir/test86.ok, src/testdir/test87.in,
	    src/testdir/test87.ok, src/vim.h

Patch 7.3.925
Problem:    Typos in source files.
Solution:   Fix the typos. (Ken Takata)
Files:	    runtime/plugin/matchparen.vim, runtime/tools/vim_vs_net.cmd,
	    src/GvimExt/gvimext.cpp, src/INSTALLvms.txt, src/Make_cyg.mak,
	    src/Make_mvc.mak, src/Make_sas.mak, src/Make_vms.mms,
	    src/Make_w16.mak, src/Makefile, src/VisVim/OleAut.cpp,
	    src/VisVim/README_VisVim.txt, src/auto/configure, src/buffer.c,
	    src/configure.in, src/diff.c, src/dosinst.c, src/edit.c,
	    src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_eval.c,
	    src/farsi.c, src/feature.h, src/fileio.c, src/glbl_ime.cpp,
	    src/gui.c, src/gui_athena.c, src/gui_beval.c, src/gui_gtk_x11.c,
	    src/gui_mac.c, src/gui_motif.c, src/gui_photon.c, src/gui_w16.c,
	    src/gui_w32.c, src/gui_w48.c, src/gui_xmebw.c, src/gui_xmebwp.h,
	    src/hardcopy.c, src/if_cscope.c, src/if_mzsch.c, src/if_ole.cpp,
	    src/if_perl.xs, src/if_py_both.h, src/if_python.c,
	    src/if_python3.c, src/if_ruby.c, src/main.aap, src/mbyte.c,
	    src/memfile.c, src/memline.c, src/misc1.c, src/misc2.c,
	    src/nbdebug.c, src/normal.c, src/ops.c, src/os_amiga.c,
	    src/os_mac.h, src/os_msdos.c, src/os_mswin.c, src/os_win16.h,
	    src/os_win32.c, src/os_win32.h, src/quickfix.c, src/screen.c,
	    src/search.c, src/spell.c, src/structs.h, src/syntax.c,
	    src/window.c, vimtutor.com


Patch 7.3.926
Problem:    Autocommands are triggered by setwinvar() et al. Missing BufEnter
	    on :tabclose. Duplicate WinEnter on :tabclose. Wrong order of
	    events for :tablose and :tabnew.
Solution:   Fix these autocommand events. (ZyX)
Files:	    runtime/doc/eval.txt, src/buffer.c, src/eval.c, src/ex_cmds2.c,
	    src/fileio.c, src/proto/window.pro, src/testdir/test62.in,
	    src/testdir/test62.ok, src/window.c

Patch 7.3.927
Problem:    Missing combining characters when putting text in a register.
Solution:   Include combining characters. (David Bürgin)
Files:	    src/getchar.c, src/testdir/test44.in, src/testdir/test44.ok

Patch 7.3.928 (after 7.3.924)
Problem:    Can't build with strict C compiler.
Solution:   Move declaration to start of block. (Taro Muraoka)
Files:	    src/if_py_both.h

Patch 7.3.929 (after 7.3.924)
Problem:    Compiler warning for unused variable. Not freeing unused string.
Solution:   Remove the variable. Clear the options.
Files:	    src/option.c

Patch 7.3.930
Problem:    MSVC 2012 update is not recognized.
Solution:   Update the version in the makefile. (Raymond Ko)
Files:	    src/Make_mvc.mak

Patch 7.3.931
Problem:    No completion for :xmap and :smap. (Yukihiro Nakadaira)
Solution:   Add the case statements. (Christian Brabandt)
Files:	    src/ex_docmd.c

Patch 7.3.932
Problem:    Compiler warning for uninitialized variable. (Tony Mechelynck)
Solution:   Initialize the variable.
Files:	    src/option.c

Patch 7.3.933
Problem:    Ruby on Mac crashes due to GC failure.
Solution:   Init the stack from main(). (Hiroshi Shirosaki)
Files:	    src/main.c, src/if_ruby.c, src/proto/if_ruby.pro

Patch 7.3.934
Problem:    E381 and E380 make the user think nothing happened.
Solution:   Display the message indicating what error list is now active.
	    (Christian Brabandt)
Files:	    src/quickfix.c

Patch 7.3.935 (after 7.3.933)
Problem:    Ruby: Init stack works differently on 64 bit systems.
Solution:   Handle 64 bit systems and also static library. (Yukihiro
	    Nakadaira)
Files:	    src/if_ruby.c

Patch 7.3.936 (after 7.3.935)
Problem:    Ruby 1.8: Missing piece for static linking on 64 bit systems.
Solution:   Define ruby_init_stack() (Hiroshi Shirosaki)
	    Also fix preprocessor indents.
Files:	    src/if_ruby.c

Patch 7.3.937
Problem:    More can be shared between Python 2 and 3.
Solution:   Move code to if_py_both.h. (ZyX)
Files:	    src/if_python.c, src/if_python3.c, src/if_py_both.h

Patch 7.3.938
Problem:    Python: not easy to get to window number.
Solution:   Add vim.window.number. (ZyX)
Files:	    runtime/doc/if_pyth.txt, src/if_py_both.h, src/proto/window.pro,
	    src/window.c

Patch 7.3.939
Problem:    Using Py_BuildValue is inefficient sometimes.
Solution:   Use PyLong_FromLong(). (ZyX)
Files:	    src/if_py_both.h

Patch 7.3.940
Problem:    Python: Can't get position of window.
Solution:   Add window.row and window.col. (ZyX)
Files:	    runtime/doc/if_pyth.txt, src/if_py_both.h

Patch 7.3.941
Problem:    Stuff in if_py_both.h is ordered badly.
Solution:   Reorder by type. (ZyX)
Files:	    src/if_py_both.h, src/if_python.c

Patch 7.3.942
Problem:    Python: SEGV in Buffer functions.
Solution:   Call CheckBuffer() at the right time. (ZyX)
Files:	    src/if_py_both.h, src/if_python.c, src/if_python3.c

Patch 7.3.943
Problem:    Python: Negative indices were failing.
Solution:   Fix negative indices. Add tests. (ZyX)
Files:	    src/if_py_both.h, src/if_python3.c, src/testdir/test86.in,
	    src/testdir/test86.ok, src/testdir/test87.in,
	    src/testdir/test87.ok

Patch 7.3.944
Problem:    External program receives the termresponse.
Solution:   Insert a delay and discard input. (Hayaki Saito)
Files:	    src/term.c

Patch 7.3.945
Problem:    Python: List of buffers is not very useful.
Solution:   Make vim.buffers a map. No iterator yet. (ZyX)
Files:	    runtime/doc/if_pyth.txt, src/if_py_both.h, src/if_python3.c,
	    src/if_python.c, src/testdir/test86.ok, src/testdir/test87.ok

Patch 7.3.946
Problem:    Sometimes get stuck in waiting for cursor position report,
	    resulting in keys starting with <Esc>[ not working.
Solution:   Only wait for more characters after <Esc>[ if followed by '?', '>'
	    or a digit.
Files:	    src/term.c

Patch 7.3.947
Problem:    Python: No iterator for vim.list and vim.bufferlist.
Solution:   Add the iterators. Also fix name of FunctionType. Add tests for
	    vim.buffers.  (ZyX)
Files:	    runtime/doc/if_pyth.txt, src/eval.c, src/if_py_both.h,
	    src/if_python3.c, src/if_python.c, src/proto/eval.pro,
	    src/testdir/test86.in, src/testdir/test86.ok,
	    src/testdir/test87.in, src/testdir/test87.ok

Patch 7.3.948
Problem:    Cannot build with Python 2.2
Solution:   Make Python interface work with Python 2.2
	    Make 2.2 the first supported version. (ZyX)
Files:	    src/if_py_both.h, src/if_python3.c, src/if_python.c,
	    src/testdir/test86.in, src/testdir/test86.ok,
	    src/testdir/test87.ok, src/configure.in, src/auto/configure

Patch 7.3.949
Problem:    Python: no easy access to tabpages.
Solution:   Add vim.tabpages and vim.current.tabpage. (ZyX)
Files:	    runtime/doc/if_pyth.txt, src/if_py_both.h, src/if_python3.c,
	    src/if_python.c, src/proto/if_python3.pro,
	    src/proto/if_python.pro, src/proto/window.pro, src/structs.h,
	    src/window.c

Patch 7.3.950
Problem:    Python: Stack trace printer can't handle messages.
Solution:   Make KeyErrors use PyErr_SetObject. (ZyX)
Files:	    src/if_py_both.h, src/if_python3.c, src/if_python.c

Patch 7.3.951
Problem:    Python exceptions have problems.
Solution:   Change some IndexErrors to TypeErrors. Make “line number out of
	    range” an IndexError.  Make “unable to get option value” a
	    RuntimeError. Make all PyErr_SetString messages start with
	    lowercase letter and use _(). (ZyX)
Files:	    src/if_py_both.h, src/if_python3.c, src/if_python.c,
	    src/testdir/test86.ok, src/testdir/test87.ok

Patch 7.3.952
Problem:    Python: It's not easy to change window/buffer/tabpage.
Solution:   Add ability to assign to vim.current.{tabpage,buffer,window}.
	    (ZyX)
Files:	    runtime/doc/if_pyth.txt, src/if_py_both.h

Patch 7.3.953
Problem:    Python: string exceptions are deprecated.
Solution:   Make vim.error an Exception subclass. (ZyX)
Files:	    src/if_python.c, src/if_python3.c

Patch 7.3.954
Problem:    No check if PyObject_IsTrue fails.
Solution:   Add a check for -1 value. (ZyX)
Files:	    src/if_py_both.h

Patch 7.3.955
Problem:    Python: Not enough tests.
Solution:   Add tests for vim.{current,window*,tabpage*}. (ZyX)
Files:	    src/testdir/test86.in, src/testdir/test86.ok,
	    src/testdir/test87.in, src/testdir/test87.ok

Patch 7.3.956
Problem:    Python vim.bindeval() causes SIGABRT.
Solution:   Make pygilstate a local variable. (Yukihiro Nakadaira)
Files:	    src/if_py_both.h, src/if_python.c, src/if_python3.c

Patch 7.3.957
Problem:    Python does not have a "do" command like Perl or Lua.
Solution:   Add the ":py3do" command. (Lilydjwg)
Files:	    runtime/doc/if_pyth.txt, src/ex_cmds.h, src/ex_docmd.c,
	    src/if_python3.c, src/proto/if_python3.pro

Patch 7.3.958
Problem:    Python: Iteration destructor not set.
Solution:   Put IterDestructor to use. (ZyX)
Files:	    src/if_py_both.c

Patch 7.3.959 (after 7.3.957)
Problem:    Missing error number.
Solution:   Assign an error number.
Files:	    src/if_python3.c

Patch 7.3.960
Problem:    Compiler warning for unused variable.
Solution:   Put declaration in #ifdef.
Files:	    src/window.c

Patch 7.3.961
Problem:    Tests 86 and 87 fail when using another language than English.
Solution:   Set the language to C in the test. (Dominique Pelle)
Files:	    src/testdir/test86.in, src/testdir/test87.in,
	    src/testdir/test87.ok

Patch 7.3.962
Problem:    Python tests are not portable.
Solution:   Use shiftwidth instead of iminsert. (ZyX)
Files:	    src/testdir/test86.in, src/testdir/test86.ok,
	    src/testdir/test87.in, src/testdir/test87.ok

Patch 7.3.963
Problem:    Setting curbuf without curwin causes trouble.
Solution:   Add switch_buffer() and restore_buffer().  Block autocommands to
	    avoid trouble.
Files:	    src/eval.c, src/proto/eval.pro, src/proto/window.pro,
	    src/if_py_both.h, src/window.c, src/testdir/test86.ok

Patch 7.3.964
Problem:    Python: not so easy to access tab pages.
Solution:   Add window.tabpage, make window.number work with non-current tab
	    pages. (ZyX)
Files:	    runtime/doc/if_pyth.txt, src/if_py_both.h, src/if_python3.c,
	    src/if_python.c, src/testdir/test86.ok, src/testdir/test87.ok

Patch 7.3.965
Problem:    Python garbage collection not working properly.
Solution:   Add support for garbage collection. (ZyX)
Files:	    src/if_py_both.h

Patch 7.3.966
Problem:    There is ":py3do" but no ":pydo".
Solution:   Add the ":pydo" command. (Lilydjwg)
Files:	    runtime/doc/if_pyth.txt, src/ex_cmds.h, src/ex_docmd.c,
	    src/if_py_both.h, src/if_python.c, src/if_python3.c,
	    src/proto/if_python.pro

Patch 7.3.967 (after 7.3.965)
Problem:    Build fails on Mac OSX. (Greg Novack)
Solution:   Undefine clear().
Files:	    src/if_py_both.h

Patch 7.3.968
Problem:    Multi-byte support is only available when compiled with "big"
	    features.
Solution:   Include multi-byte by default, with "normal" features.
Files:	    src/feature.h

Patch 7.3.969
Problem:    Can't build with Python 3 and without Python 2.
Solution:   Adjust #ifdef. (Xavier de Gaye)
Files:	    src/window.c

Patch 7.3.970
Problem:    Syntax highlighting can be slow.
Solution:   Include the NFA regexp engine.  Add the 'regexpengine' option to
	    select which one is used. (various authors, including Ken Takata,
	    Andrei Aiordachioaie, Russ Cox, Xiaozhou Liua, Ian Young)
Files:	    src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak,
	    src/Makefile, src/regexp.c, src/regexp.h, src/regexp_nfa.c,
	    src/structs.h, src/testdir/Makefile, src/testdir/test64.in,
	    src/testdir/test64.ok, Filelist, runtime/doc/pattern.txt,
	    runtime/doc/option.txt, src/option.c, src/option.h,
	    src/testdir/test95.in, src/testdir/test95.ok,
	    src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
	    src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
	    src/testdir/Make_vms.mms, src/testdir/Makefile

Patch 7.3.971
Problem:    No support for VS2012 static code analysis.
Solution:   Add the ANALYZE option. (Mike Williams)
Files:	    src/Make_mvc.mak

Patch 7.3.972
Problem:    Cursor not restored after InsertEnter autocommand if it moved to
	    another line.
Solution:   Also restore if the saved line number is still valid.  Allow
	    setting v:char to skip restoring.
Files:	    src/edit.c, runtime/doc/autocmd.txt

Patch 7.3.973
Problem:    Compiler warnings. Crash on startup. (Tony Mechelynck)
Solution:   Change EMSG2 to EMSGN. Make array one character longer.
Files:	    src/regexp_nfa.c

Patch 7.3.974
Problem:    Can't build with ruby 1.8.5.
Solution:   Only use ruby_init_stack() when RUBY_INIT_STACK is defined.
	    (Yukihiro Nakadaira)
Files:	    src/if_ruby.c

Patch 7.3.975
Problem:    Crash in regexp parsing.
Solution:   Correctly compute the end of allocated memory.
Files:	    src/regexp_nfa.c

Patch 7.3.976
Problem:    Can't build on HP-UX.
Solution:   Remove modern initialization. (John Marriott)
Files:	    src/regexp_nfa.c

Patch 7.3.977
Problem:    Compiler warnings on 64 bit Windows.
Solution:   Add type casts. (Mike Williams)  Also fix some white space and
	    uncomment what was commented-out for testing.
Files:	    src/regexp_nfa.c

Patch 7.3.978
Problem:    Regexp debug logs don't have a good name.
Solution:   Use clear names and make it possible to write logs for the old and
	    new engines separately. (Taro Muraoka)
Files:	    src/regexp.c, src/regexp_nfa.c

Patch 7.3.979
Problem:    Complex NFA regexp doesn't work.
Solution:   Set actual state stack end instead of using an arbitrary number.
	    (Yasuhiro Matsumoto)
Files:	    src/regexp_nfa.c

Patch 7.3.980
Problem:    Regexp logs may contain garbage. Character classes don't work
	    correctly for multi-byte characters.
Solution:   Check for end of post list.  Only use "is" functions for
	    characters up to 255. (Ken Takata)
Files:	    src/regexp_nfa.c

Patch 7.3.981
Problem:    In the old regexp engine \i, \I, \f and \F don't work on
	    multi-byte characters.
Solution:   Dereference pointer properly.
Files:	    src/regexp.c, src/testdir/test64.in, src/testdir/test64.ok

Patch 7.3.982
Problem:    In the new regexp engine \p does not work on multi-byte
	    characters.
Solution:   Don't point to an integer but the characters.
Files:	    src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok

Patch 7.3.983
Problem:    Unnecessary temp variable.
Solution:   Remove the variable.
Files:	    src/regexp_nfa.c

Patch 7.3.984
Problem:    A Visual mapping that uses CTRL-G works differently when started
	    from Insert mode. (Ein Brown)
Solution:   Reset old_mapped_len when handling typed text in Select mode.
Files:	    src/normal.c

Patch 7.3.985
Problem:    GTK vim not started as gvim doesn't set WM_CLASS property to a
	    useful value.
Solution:   Call g_set_prgname() on startup. (James McCoy)
Files:	    src/gui_gtk_x11.c

Patch 7.3.986
Problem:    Test 95 doesn't pass when 'encoding' isn't utf-8. (Yasuhiro
	    Matsumoto)
Solution:   Force 'encoding' to be utf-8.
Files:	    src/testdir/test95.in

Patch 7.3.987
Problem:    No easy to run an individual test.  Tests 64 fails when
	    'encoding' is not utf-8.
Solution:   Add individual test targets to the Makefile.  Move some lines from
	    test 64 to 95.
Files:	    src/Makefile, src/testdir/test64.in, src/testdir/test64.ok,
	    src/testdir/test95.in, src/testdir/test95.ok

Patch 7.3.988
Problem:    New regexp engine is slow.
Solution:   Break out of the loop when the state list is empty.
Files:	    src/regexp_nfa.c

Patch 7.3.989
Problem:    New regexp engine compares negative numbers to character.
Solution:   Add missing case statements.
Files:	    src/regexp_nfa.c

Patch 7.3.990
Problem:    Memory leak in new regexp engine.
Solution:   Jump to end of function to free memory. (Dominique Pelle)
Files:	    src/regexp_nfa.c

Patch 7.3.991
Problem:    More can be shared by Python 2 and 3.
Solution:   Move more stuff to if_py_both. (ZyX)
Files:	    src/if_py_both.h, src/if_python3.c, src/if_python.c,
	    src/testdir/test87.ok

Patch 7.3.992
Problem:    Python: Too many type casts.
Solution:   Change argument types. (ZyX)
Files:	    src/if_py_both.h, src/if_python3.c, src/if_python.c

Patch 7.3.993
Problem:    Python: Later patch does things slightly differently.
Solution:   Adjusted argument type changes. (ZyX)
Files:	    src/if_py_both.h, src/if_python3.c, src/if_python.c

Patch 7.3.994
Problem:    Python: using magic constants.
Solution:   Use descriptive values for ml_flags. (ZyX)
Files:	    src/if_py_both.h, src/if_python3.c

Patch 7.3.995
Problem:    Python: Module initialization is duplicated.
Solution:   Move to shared file. (ZyX)
Files:	    src/if_py_both.h, src/if_python3.c, src/if_python.c

Patch 7.3.996
Problem:    Python: Can't check types of what is returned by bindeval().
Solution:   Add vim.List, vim.Dictionary and vim.Function types. (ZyX)
Files:	    runtime/doc/if_pyth.txt, src/if_py_both.h, src/testdir/test86.in,
	    src/testdir/test86.ok, src/testdir/test87.in,
	    src/testdir/test87.ok

Patch 7.3.997
Problem:    Vim and Python exceptions are different.
Solution:   Make Vim exceptions be Python exceptions. (ZyX)
Files:	    src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok,
	    src/testdir/test87.in, src/testdir/test87.ok

Patch 7.3.998
Problem:    Python: garbage collection issues.
Solution:   Fix the GC issues: Use proper DESTRUCTOR_FINISH: avoids negative
	    refcounts, use PyObject_GC_* for objects with tp_traverse and
	    tp_clear, add RangeTraverse and RangeClear, use Py_XDECREF in some
	    places. (ZyX)
Files:	    src/if_py_both.h, src/if_python3.c, src/if_python.c

Patch 7.3.999
Problem:    New regexp engine sets curbuf temporarily.
Solution:   Use reg_buf instead, like the old engine.
Files:	    src/regexp_nfa.c

Patch 7.3.1000 (whoa!)
Problem:    Typo in char value causes out of bounds access.
Solution:   Fix character value.  (Klemens Baum)
Files:	    src/regexp.c

Patch 7.3.1001
Problem:    Duplicate condition in if.
Solution:   Remove one condition.
Files:	    src/regexp_nfa.c

Patch 7.3.1002
Problem:    Valgrind errors for Python interface.
Solution:   Fix memory leaks when running tests. (ZyX)
Files:	    src/if_py_both.h

Patch 7.3.1003
Problem:    Python interface does not compile with Python 2.2
Solution:   Fix thread issues and True/False. (ZyX)
Files:	    src/if_py_both.h, src/if_python3.c, src/if_python.c,
	    src/testdir/test86.in, src/testdir/test86.ok,
	    src/testdir/test87.in, src/testdir/test87.ok

Patch 7.3.1004
Problem:    No error when option could not be set.
Solution:   Report an error. (ZyX)
Files:	    src/if_py_both.h, src/option.c, src/proto/option.pro,
	    src/testdir/test86.ok, src/testdir/test87.ok

Patch 7.3.1005
Problem:    Get stuck on regexp "\n*" and on "%s/^\n\+/\r".
Solution:   Fix handling of matching a line break. (idea by Hirohito Higashi)
Files:	    src/regexp_nfa.c

Patch 7.3.1006
Problem:    NFA engine not used for "\_[0-9]".
Solution:   Enable this, fixed in patch 1005.
Files:	    src/regexp_nfa.c

Patch 7.3.1007
Problem:    Can't build on Minix 3.2.1.
Solution:   Add a condition to an #ifdef. (Gautam Tirumala)
Files:	    src/memfile.c

Patch 7.3.1008
Problem:    Test 95 fails on MS-Windows.
Solution:   Set 'nomore'. Change \i to \f.  Change multi-byte character to
	    something that is not matching \i. (Ken Takata)
Files:	    src/testdir/test95.in, src/testdir/test95.ok

Patch 7.3.1009
Problem:    Compiler warning for ambiguous else.
Solution:   Add curly braces.
Files:	    src/if_py_both.h

Patch 7.3.1010
Problem:    New regexp: adding \Z makes every character match.
Solution:   Only apply ireg_icombine for composing characters.
	    Also add missing change from patch 1008. (Ken Takata)
Files:	    src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok

Patch 7.3.1011
Problem:    New regexp engine is inefficient with multi-byte characters.
Solution:   Handle a character at a time instead of a byte at a time.  Also
	    make \Z partly work.
Files:	    src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok

Patch 7.3.1012
Problem:    \Z does not work properly with the new regexp engine.
Solution:   Make \Z work.  Add tests.
Files:	    src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok

Patch 7.3.1013
Problem:    New regexp logging is a bit messy.
Solution:   Consistently use #defines, add explanatory comment. (Taro Muraoka)
Files:	    src/regexp_nfa.c

Patch 7.3.1014
Problem:    New regexp state dump is hard to read.
Solution:   Make the state dump more pretty. (Taro Muraoka)
Files:	    src/regexp_nfa.c

Patch 7.3.1015
Problem:    New regexp engine: Matching composing characters is wrong.
Solution:   Fix matching composing characters.
Files:	    src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok

Patch 7.3.1016
Problem:    Unused field in nfa_state.
Solution:   Remove lastthread.
Files:	    src/regexp.h, src/regexp_nfa.c

Patch 7.3.1017
Problem:    Zero width match changes length of match.
Solution:   For a zero width match put new states in the current position in
	    the state list.
Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok,
	    src/regexp.h

Patch 7.3.1018
Problem:    New regexp engine wastes memory.
Solution:   Allocate prog with actual number of states, not estimated maximum
	    number of sates.
Files:	    src/regexp_nfa.c

Patch 7.3.1019
Problem:    These do not work with the new regexp engine: \%o123, \%x123,
	    \%d123, \%u123 and \%U123.
Solution:   Implement these items.
Files:	    src/regexp_nfa.c

Patch 7.3.1020
Problem:    Not all patterns are tested with auto / old / new engine.
Solution:   Test patterns with three values of 'regexpengine'.
Files:	    src/testdir/test64.in, src/testdir/test64.ok,
	    src/testdir/test95.in, src/testdir/test95.ok

Patch 7.3.1021
Problem:    New regexp engine does not ignore order of composing chars.
Solution:   Ignore composing chars order.
Files:	    src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok

Patch 7.3.1022
Problem:    Compiler warning for shadowed variable. (John Little)
Solution:   Move declaration, rename variables.
Files:	    src/regexp_nfa.c

Patch 7.3.1023
Problem:    Searching for composing char only and using \Z has different
	    results.
Solution:   Make it match the composing char, matching everything is not
	    useful.
Files:	    src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok

Patch 7.3.1024
Problem:    New regexp: End of matching pattern not set correctly. (Cesar
	    Romani)
Solution:   Quit the loop after finding the match.  Store nfa_has_zend in the
	    program.
Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok,
	    src/regexp.h

Patch 7.3.1025
Problem:    New regexp: not matching newline in string. (Marc Weber)
Solution:   Check for "\n" character.
Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok

Patch 7.3.1026
Problem:    New regexp: pattern that includes a new-line matches too early.
	    (john McGowan)
Solution:   Do not start searching in the second line.
Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok

Patch 7.3.1027
Problem:    New regexp performance: Calling no_Magic() very often.
Solution:   Remove magicness inline.
Files:	    src/regexp_nfa.c

Patch 7.3.1028
Problem:    New regexp performance: Copying a lot of position state.
Solution:   Only copy the sub-expressions that are being used.
Files:	    src/regexp_nfa.c, src/regexp.h

Patch 7.3.1029
Problem:    New regexp performance: Unused position state being copied.
Solution:   Keep track of which positions are actually valid.
Files:	    src/regexp_nfa.c

Patch 7.3.1030 (after 7.3.1028)
Problem:    Can't build for debugging.
Solution:   Fix struct member names.
Files:	    src/regexp_nfa.c

Patch 7.3.1031
Problem:    Compiler warnings for shadowed variable. (John Little)
Solution:   Move the variable declarations to the scope where they are used.
Files:	    src/regexp_nfa.c

Patch 7.3.1032
Problem:    "\ze" is not supported by the new regexp engine.
Solution:   Make "\ze" work.
Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok

Patch 7.3.1033
Problem:    "\1" .. "\9" are not supported in the new regexp engine.
Solution:   Implement them.  Add a few more tests.
Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok,
	    src/regexp.h

Patch 7.3.1034
Problem:    New regexp code using strange multi-byte code.
Solution:   Use the normal code to advance and backup pointers.
Files:	    src/regexp_nfa.c

Patch 7.3.1035
Problem:    Compiler warning on 64 bit windows.
Solution:   Add type cast. (Mike Williams)
Files:	    src/if_py_both.h

Patch 7.3.1036
Problem:    Can't build on HP-UX.
Solution:   Give the union a name. (John Marriott)
Files:	    src/regexp_nfa.c

Patch 7.3.1037
Problem:    Look-behind matching is very slow on long lines.
Solution:   Add a byte limit to how far back an attempt is made.
Files:	    src/regexp.c, src/regexp_nfa.c, src/testdir/test64.in,
	    src/testdir/test64.ok

Patch 7.3.1038
Problem:    Crash when using Cscope.
Solution:   Avoid negative argument to vim_strncpy(). (Narendran
	    Gopalakrishnan)
Files:	    src/if_cscope.c

Patch 7.3.1039
Problem:    New regexp engine does not support \%23c, \%<23c and the like. 
Solution:   Implement them. (partly by Yasuhiro Matsumoto)
Files:	    src/regexp.h, src/regexp_nfa.c, src/testdir/test64.in,
	    src/testdir/test64.ok

Patch 7.3.1040
Problem:    Python: Problems with debugging dynamic build.
Solution:   Python patch 1. (ZyX)
Files:	    src/if_python.c, src/if_python3.c

Patch 7.3.1041
Problem:    Python: Invalid read valgrind errors.
Solution:   Python patch 2: defer DICTKEY_UNREF until key is no longer needed.
	    (ZyX)
Files:	    src/if_py_both.h

Patch 7.3.1042
Problem:    Python: can't assign to vim.Buffer.name.
Solution:   Python patch 3. (ZyX)
Files:	    runtime/doc/if_pyth.txt, src/ex_cmds.c, src/if_py_both.h,
	    src/if_python3.c, src/if_python.c, src/proto/ex_cmds.pro,
	    src/testdir/test86.in, src/testdir/test86.ok,
	    src/testdir/test87.in, src/testdir/test87.ok

Patch 7.3.1043
Problem:    Python: Dynamic compilation with 2.3 fails.
Solution:   Python patch 4. (ZyX)
Files:	    src/if_python.c

Patch 7.3.1044
Problem:    Python: No {Buffer,TabPage,Window}.valid attributes.
Solution:   Python patch 5: add .valid (ZyX)
Files:	    src/if_py_both.h, src/if_python3.c, src/if_python.c,
	    src/testdir/test86.in, src/testdir/test86.ok,
	    src/testdir/test87.in, src/testdir/test87.ok

Patch 7.3.1045
Problem:    Python: No error handling for VimToPython function.
Solution:   Python patch 6. (ZyX)
Files:	    src/if_py_both.h

Patch 7.3.1046
Problem:    Python: Using Py_BuildValue for building strings.
Solution:   Python patch 7 and 7.5: Replace Py_BuildValue with
	    PyString_FromString. (ZyX)
Files:	    src/if_py_both.h

Patch 7.3.1047
Problem:    Python: dir() does not work properly.
Solution:   Python patch 8.  Add __dir__ method to all objects with custom
	    tp_getattr supplemented by __members__ attribute for at least
	    python-2* versions.  __members__ is not mentioned in python-3*
	    dir() output even if it is accessible. (ZyX)
Files:	    src/if_py_both.h, src/if_python3.c, src/if_python.c,
	    src/testdir/test86.in, src/testdir/test86.ok,
	    src/testdir/test87.in, src/testdir/test87.ok

Patch 7.3.1048
Problem:    Python: no consistent naming.
Solution:   Python patch 9: Rename d to dict and lookupDict to lookup_dict.
	    (ZyX)
Files:	    src/if_py_both.h

Patch 7.3.1049
Problem:    Python: no consistent naming
Solution:   Python patch 10: Rename DICTKEY_GET_NOTEMPTY to DICTKEY_GET. (ZyX)
Files:	    src/if_py_both.h

Patch 7.3.1050
Problem:    Python: Typo in pyiter_to_tv.
Solution:   Python patch 11. (ZyX)
Files:	    src/if_py_both.h

Patch 7.3.1051
Problem:    Python: possible memory leaks.
Solution:   Python patch 12: fix the leaks (ZyX)
Files:	    src/if_py_both.h

Patch 7.3.1052
Problem:    Python: possible SEGV and negative refcount.
Solution:   Python patch 13: Fix IterIter function. (ZyX)
Files:	    src/if_py_both.h

Patch 7.3.1053
Problem:    Python: no flag for types with tp_traverse+tp_clear.
Solution:   Python patch 14: Add Py_TPFLAGS_HAVE_GC. (ZyX)
Files:	    src/if_py_both.h

Patch 7.3.1054 (after 7.3.1042)
Problem:    Can't build without the +autocmd feature. (Elimar Riesebieter)
Solution:   Fix use of buf and curbuf.
Files:	    src/ex_cmds.c, src/testdir/test86.ok, src/testdir/test87.ok

Patch 7.3.1055
Problem:    Negated collection does not match newline.
Solution:   Handle newline differently. (Hiroshi Shirosaki)
Files:	    src/regexp_nfa.c, src/testdir/test64.ok, src/testdir/test64.in

Patch 7.3.1056
Problem:    Python: possible memory leaks.
Solution:   Python patch 15. (ZyX) Fix will follow later.
Files:	    src/eval.c, src/if_py_both.h, src/proto/eval.pro

Patch 7.3.1057
Problem:    Python: not enough compatibility.
Solution:   Python patch 16: Make OutputWritelines support any sequence object
	    (ZyX) Note: tests fail
Files:	    src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok,
	    src/testdir/test87.in, src/testdir/test87.ok

Patch 7.3.1058
Problem:    Call of funcref does not succeed in other script.
Solution:   Python patch 17: add get_expanded_name(). (ZyX)
Files:	    src/eval.c, src/proto/eval.pro

Patch 7.3.1059
Problem:    Python: Using fixed size buffers.
Solution:   Python patch 18: Use python's own formatter. (ZyX)
Files:	    src/if_py_both.h, src/if_python3.c, src/if_python.c

Patch 7.3.1060
Problem:    Python: can't repr() a function.
Solution:   Python patch 19: add FunctionRepr(). (ZyX)
Files:	    src/if_py_both.h

Patch 7.3.1061
Problem:    Python: Dictionary is not standard.
Solution:   Python patch 20: Add standard methods and fields. (ZyX)
Files:	    runtime/doc/if_pyth.txt, src/eval.c, src/if_py_both.h,
	    src/if_python3.c, src/if_python.c, src/proto/eval.pro,
	    src/testdir/test86.in, src/testdir/test86.ok,
	    src/testdir/test87.in, src/testdir/test87.ok

Patch 7.3.1062
Problem:    Python: List is not standard.
Solution:   Python patch 21: Add standard methods and fields. (ZyX)
Files:	    src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok,
	    src/testdir/test87.in, src/testdir/test87.ok

Patch 7.3.1063
Problem:    Python: Function is not standard.
Solution:   Python patch 22: make Function subclassable. (ZyX)
Files:	    src/eval.c, src/if_py_both.h, src/proto/eval.pro,
	    src/testdir/test86.in, src/testdir/test86.ok,
	    src/testdir/test87.in, src/testdir/test87.ok

Patch 7.3.1064
Problem:    Python: insufficient error checking.
Solution:   Python patch 23. (ZyX)
Files:	    src/if_py_both.h

Patch 7.3.1065
Problem:    Python: key mapping is not standard.
Solution:   Python patch 24: use PyMapping_Keys. (ZyX)
Files:	    src/if_py_both.h, src/if_python3.c, src/if_python.c

Patch 7.3.1066
Problem:    Python: Insufficient exception and error testing.
Solution:   Python patch 25. (ZyX)
Files:	    src/testdir/test86.in, src/testdir/test86.ok,
	    src/testdir/test87.in, src/testdir/test87.ok

Patch 7.3.1067
Problem:    Python: documentation lags behind.
Solution:   Python patch 26. (ZyX)
Files:	    runtime/doc/if_pyth.txt

Patch 7.3.1068
Problem:    Python: Script is auto-loaded on function creation.
Solution:   Python patch 27. (ZyX)
Files:	    src/eval.c, src/if_py_both.h, src/proto/eval.pro,
	    src/testdir/test86.ok, src/testdir/test87.ok, src/vim.h

Patch 7.3.1069
Problem:    Python: memory leaks.
Solution:   Python patch 28: Purge out DICTKEY_CHECK_EMPTY macros. (ZyX)
Files:	    src/if_py_both.h

Patch 7.3.1070
Problem:    Vim crashes in Python tests. Compiler warning for unused function.
Solution:   Disable the tests for now. Move the function.
Files:	    src/if_py_both.h, src/if_python.c, src/testdir/test86.in,
	    src/testdir/test87.in

Patch 7.3.1071
Problem:    New regexp engine: backreferences don't work correctly.
Solution:   Add every possible start/end position on the state stack.
Files:	    src/regexp_nfa.c, src/regexp.h, src/testdir/test64.in,
	    src/testdir/test64.ok

Patch 7.3.1072
Problem:    Compiler warning for uninitialized variable.
Solution:   Initialize it.
Files:	    src/regexp_nfa.c

Patch 7.3.1073
Problem:    New regexp engine may run out of states.
Solution:   Allocate states dynamically.  Also make the test report errors.
Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok,
	    src/testdir/test95.in

Patch 7.3.1074
Problem:    Compiler warning for printf format. (Manuel Ortega)
Solution:   Add type casts.
Files:	    src/if_py_both.h

Patch 7.3.1075
Problem:    Compiler warning for storing a long_u in an int.
Solution:   Declare the number as an int. (Mike Williams)
Files:	    src/regexp_nfa.c

Patch 7.3.1076
Problem:    New regexp engine: \@= and \& don't work.
Solution:   Make these items work.  Add column info to logging.
Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok

Patch 7.3.1077
Problem:    Python: Allocating dict the wrong way, causing a crash.
Solution:   Use py_dict_alloc(). Fix some exception problems. (ZyX)
Files:	    src/if_py_both.h

Patch 7.3.1078
Problem:    New regexp engine: \@! doesn't work.
Solution:   Implement the negated version of \@=.
Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok

Patch 7.3.1079
Problem:    Test 87 fails.
Solution:   Fix the test for Python 3.3. (ZyX)  Make it pass on 32 bit systems.
Files:	    src/testdir/test87.in, src/testdir/test87.ok

Patch 7.3.1080
Problem:    Test 86 fails.
Solution:   Comment out the parts that don't work.  Make it pass on 32 bit
	    systems.
Files:	    src/testdir/test86.in, src/testdir/test86.ok

Patch 7.3.1081
Problem:    Compiler warnings on 64-bit Windows.
Solution:   Change variable types. (Mike Williams)
Files:	    src/if_py_both.h, src/regexp_nfa.c

Patch 7.3.1082
Problem:    New regexp engine: Problem with \@= matching.
Solution:   Save and restore nfa_match.
Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok

Patch 7.3.1083
Problem:    New regexp engine: Does not support \%^ and \%$.
Solution:   Support matching start and end of file.
Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok

Patch 7.3.1084
Problem:    New regexp engine: only accepts up to \{,10}.
Solution:   Remove upper limit.  Remove dead code with NFA_PLUS.
Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok

Patch 7.3.1085
Problem:    New regexp engine: Non-greedy multi doesn't work.
Solution:   Implement \{-}.
Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok

Patch 7.3.1086
Problem:    Old regexp engine accepts illegal range, new one doesn't.
Solution:   Also accept the illegal range with the new engine.
Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok

Patch 7.3.1087
Problem:    A leading star is not seen as a normal char when \{} follows.
Solution:   Save and restore the parse state properly.
Files:	    src/regexp.c, src/regexp_nfa.c, src/testdir/test64.in,
	    src/testdir/test64.ok

Patch 7.3.1088
Problem:    New regexp engine: \@<= and \@<! are not implemented.
Solution:   Implement look-behind matching.  Fix off-by-one error in old
	    regexp engine.
Files:	    src/regexp.c, src/regexp_nfa.c, src/testdir/test64.in,
	    src/testdir/test64.ok

Patch 7.3.1089
Problem:    Tests 86 and 87 fail on MS-Windows. (Ken Takata)
Solution:   Fix platform-specific stuff. (ZyX)
Files:	    src/testdir/test86.in, src/testdir/test86.ok,
	    src/testdir/test87.in, src/testdir/test87.ok

Patch 7.3.1090
Problem:    New regexp engine does not support \z1 .. \z9 and \z(.
Solution:   Implement the syntax submatches.
Files:	    src/regexp.h, src/regexp_nfa.c

Patch 7.3.1091
Problem:    New regexp engine: no error when using \z1 or \z( where it does
	    not work.
Solution:   Give an error message.
Files:	    src/regexp.c, src/regexp_nfa.c

Patch 7.3.1092
Problem:    Can't build with regexp debugging.  NFA debug output shows wrong
	    pattern.
Solution:   Fix debugging code for recent changes.  Add the pattern to the
	    program.
Files:	    src/regexp_nfa.c, src/regexp.h

Patch 7.3.1093
Problem:    New regexp engine: When a sub expression is empty \1 skips a
	    character.
Solution:   Make \1 try the current position when the match is empty.
Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok

Patch 7.3.1094
Problem:    New regexp engine: Attempts to match "^" at every character.
Solution:   Only try "^" at the start of a line.
Files:	    src/regexp_nfa.c

Patch 7.3.1095
Problem:    Compiler warnings for shadowed variables. (Christian Brabandt)
Solution:   Rename new_state() to alloc_state().  Remove unnecessary
	    declaration.
Files:	    src/regexp_nfa.c

Patch 7.3.1096
Problem:    Python: popitem() was not defined in a standard way.
Solution:   Remove the argument from popitem(). (ZyX)
Files:	    runtime/doc/if_pyth.txt, src/if_py_both.h, src/testdir/test86.in,
	    src/testdir/test86.ok, src/testdir/test87.in,
	    src/testdir/test87.ok

Patch 7.3.1097
Problem:    Python: a few recently added items are not documented.
Solution:   Update the documentation. (ZyX)
Files:	    runtime/doc/if_pyth.txt

Patch 7.3.1098
Problem:    Python: Possible memory leaks
Solution:   Add Py_XDECREF() calls. (ZyX)
Files:	    src/if_py_both.h

Patch 7.3.1099
Problem:    Python: Changing directory with os.chdir() causes problems for
	    Vim's notion of directories.
Solution:   Add vim.chdir() and vim.fchdir(). (ZyX)
Files:	    runtime/doc/if_pyth.txt, src/ex_docmd.c, src/if_py_both.h,
	    src/if_python3.c, src/if_python.c, src/proto/ex_docmd.pro,
	    src/testdir/test86.in, src/testdir/test86.ok,
	    src/testdir/test87.in, src/testdir/test87.ok

Patch 7.3.1100
Problem:    Python: a few more memory problems.
Solution:   Add and remove Py_XDECREF(). (ZyX)
Files:	    src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok,
	    src/testdir/test87.in, src/testdir/test87.ok

Patch 7.3.1101
Problem:    Configure doesn't find Python 3 on Ubuntu 13.04.
Solution:   First try distutils.sysconfig. Also fix some indents.  (Ken
	    Takata)
Files:	    src/configure.in, src/auto/configure

Patch 7.3.1102
Problem:    Completion of ":py3do" and ":py3file" does not work after ":py3".
Solution:   Make completion work. (Taro Muraoka)
Files:	    src/ex_docmd.c

Patch 7.3.1103
Problem:    New regexp engine: overhead in saving and restoring.
Solution:   Make saving and restoring list IDs faster.  Don't copy or check \z
	    subexpressions when they are not used.
Files:	    src/regexp_nfa.c

Patch 7.3.1104
Problem:    New regexp engine does not handle "~".
Solution:   Add support for "~".
Files:	    src/regexp_nfa.c, src/testdir/test24.in, src/testdir/test24.ok

Patch 7.3.1105
Problem:    New regexp engine: too much code in one function.  Dead code.
Solution:   Move the recursive nfa_regmatch call to a separate function.
	    Remove the dead code.
Files:	    src/regexp_nfa.c

Patch 7.3.1106
Problem:    New regexp engine: saving and restoring lastlist in the states
	    takes a lot of time.
Solution:   Use a second lastlist value for the first recursive call.
Files:	    src/regexp.h, src/regexp_nfa.c

Patch 7.3.1107
Problem:    Compiler warnings for unused variables.
Solution:   Put the variables inside #ifdef.
Files:	    src/regexp.c, src/regexp_nfa.c

Patch 7.3.1108
Problem:    Error message for os.fchdir() (Charles Peacech)
Solution:   Clear the error. (ZyX)
Files:	    src/if_py_both.h

Patch 7.3.1109
Problem:    Building on MS-Windows doesn't see changes in if_py_both.h.
Solution:   Add a dependency. (Ken Takata)
Files:	    src/Make_bc5.mak, src/Make_cyg.mak, src/Make_ming.mak,
	    src/Make_mvc.mak

Patch 7.3.1110
Problem:    New regexp matching: Using \@= and the like can be slow.
Solution:   Decide whether to first try matching the zero-width part or what
	    follows, whatever is more likely to fail.
Files:	    src/regexp_nfa.c

Patch 7.3.1111
Problem:    nfa_recognize_char_class() implementation is inefficient.
Solution:   Use bits in an int instead of chars in a string. (Dominique Pelle)
Files:	    src/regexp_nfa.c, src/testdir/test36.in, src/testdir/test36.ok

Patch 7.3.1112
Problem:    New regexp engine: \%V not supported.
Solution:   Implement \%V.  Add tests.
Files:	    src/regexp.c, src/regexp_nfa.c, src/testdir/test64.in,
	    src/testdir/test64.ok

Patch 7.3.1113
Problem:    New regexp engine: \%'m not supported.
Solution:   Implement \%'m.  Add tests.
Files:	    src/regexp.c, src/regexp_nfa.c, src/testdir/test64.in,
	    src/testdir/test64.ok

Patch 7.3.1114 (after 7.3.1110)
Problem:    Can't build without the syntax feature.
Solution:   Add #ifdefs. (Erik Falor)
Files:	    src/regexp_nfa.c

Patch 7.3.1115
Problem:    Many users don't like the cursor line number when 'relativenumber'
	    is set.
Solution:   Have four combinations with 'number' and 'relativenumber'.
	    (Christian Brabandt)
Files:	    runtime/doc/options.txt, src/option.c, src/screen.c,
	    src/testdir/test89.in, src/testdir/test89.ok

Patch 7.3.1116
Problem:    Can't build without Visual mode.
Solution:   Add #ifdefs.
Files:	    src/regexp_nfa.c

Patch 7.3.1117
Problem:    New regexp engine: \%[abc] not supported.
Solution:   Implement \%[abc].  Add tests.
Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok

Patch 7.3.1118
Problem:    Match failure rate is not very specific.
Solution:   Tune the failure rate for match items.
Files:	    src/regexp_nfa.c

Patch 7.3.1119
Problem:    Flags in 'cpo' are search for several times.
Solution:   Store the result and re-use the flags.
Files:	    src/regexp.c, src/regexp_nfa.c

Patch 7.3.1120
Problem:    Crash when regexp logging is enabled.
Solution:   Avoid using NULL pointers. Advance over count argument.
Files:	    src/regexp.c, src/regexp_nfa.c

Patch 7.3.1121
Problem:    New regexp engine: adding states that are not used.
Solution:   Don't add the states.
Files:	    src/regexp_nfa.c

Patch 7.3.1122
Problem:    New regexp engine: \@> not supported.
Solution:   Implement \%>.
Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok

Patch 7.3.1123
Problem:    Can't build tiny Vim on MS-Windows.
Solution:   Adjust #ifdef around using modif_fname(). (Mike Williams)
Files:	    src/misc1.c

Patch 7.3.1124
Problem:    Python: Crash on MS-Windows when os.fchdir() is not available.
Solution:   Check for _chdir to be NULL. (Ken Takata)
Files:	    src/if_py_both.h

Patch 7.3.1125
Problem:    Error for using \%V in a pattern in tiny Vim.
Solution:   Allow using \%V but never match. (Dominique Pelle)
Files:	    src/regexp_nfa.c

Patch 7.3.1126
Problem:    Compiler warning for uninitialized variable. (Tony Mechelynck)
Solution:   Assign something to the variable.
Files:	    src/regexp_nfa.c

Patch 7.3.1127
Problem:    No error for using empty \%[].
Solution:   Give error message.
Files:	    src/regexp.c, src/regexp_nfa.c

Patch 7.3.1128
Problem:    Now that the NFA engine handles everything every failure is a
	    syntax error.
Solution:   Remove the syntax_error flag.
Files:	    src/regexp.c, src/regexp_nfa.c

Patch 7.3.1129
Problem:    Can't see what pattern in syntax highlighting is slow.
Solution:   Add the ":syntime" command.
Files:	    src/structs.h, src/syntax.c, src/ex_cmds.h, src/ex_docmd.c,
	    src/proto/syntax.pro, src/ex_cmds2.c, src/proto/ex_cmds2.pro,
	    runtime/doc/syntax.txt

Patch 7.3.1130 (after 7.3.1129)
Problem:    Can't build with anything but huge features.
Solution:   Check for FEAT_PROFILE. (Yasuhiro Matsumoto)
Files:	    src/ex_docmd.c, src/structs.h, src/syntax.c

Patch 7.3.1131
Problem:    New regexp engine is a bit slow.
Solution:   Do not clear the state list.  Don't copy syntax submatches when
	    not used.
Files:	    src/regexp_nfa.c

Patch 7.3.1132
Problem:    Crash when debugging regexp.
Solution:   Do not try to dump subexpr that were not set.  Skip over count of
	    \% items.
Files:	    src/regexp.c, src/regexp_nfa.c

Patch 7.3.1133
Problem:    New regexp engine is a bit slow.
Solution:   Skip ahead to a character that must match.  Don't try matching a
	    "^" patter past the start of line.
Files:	    src/regexp_nfa.c, src/regexp.h

Patch 7.3.1134
Problem:    Running test 49 takes a long time.
Solution:   Don't have it grep all files.
Files:	    src/testdir/test49.vim

Patch 7.3.1135
Problem:    Compiler warning for unused argument.
Solution:   Add UNUSED.
Files:	    src/syntax.c

Patch 7.3.1136
Problem:    ":func Foo" does not show attributes.
Solution:   Add "abort", "dict" and "range". (Yasuhiro Matsumoto)
Files:	    src/eval.c

Patch 7.3.1137
Problem:    New regexp engine: collections are slow.
Solution:   Handle all characters in one go.
Files:	    src/regexp_nfa.c

Patch 7.3.1138
Problem:    New regexp engine: neglist no longer used.
Solution:   Remove the now unused neglist.
Files:	    src/regexp_nfa.c

Patch 7.3.1139
Problem:    New regexp engine: negated flag is hardly used.
Solution:   Add separate _NEG states, remove negated flag.
Files:	    src/regexp_nfa.c, src/regexp.h

Patch 7.3.1140
Problem:    New regexp engine: trying expensive match while the result is not
	    going to be used.
Solution:   Check for output state already being in the state list.
Files:	    src/regexp_nfa.c

Patch 7.3.1141
Problem:    Win32: Check for available memory is not reliable and adds
	    overhead.
Solution:   Remove mch_avail_mem(). (Mike Williams)
Files:	    src/os_win32.c, src/os_win32.h

Patch 7.3.1142
Problem:    Memory leak in ":syntime report".
Solution:   Clear the grow array. (Dominique Pelle)
Files:	    src/syntax.c

Patch 7.3.1143
Problem:    When mapping NUL it is displayed as an X.
Solution:   Check for KS_ZERO instead of K_ZERO. (Yasuhiro Matsumoto)
Files:	    src/message.c

Patch 7.3.1144
Problem:    "RO" is not translated everywhere.
Solution:   Put inside _(). (Sergey Alyoshin)
Files:	    src/buffer.c, src/screen.c

Patch 7.3.1145
Problem:    New regexp engine: addstate() is called very often.
Solution:   Optimize adding the start state.
Files:	    src/regexp_nfa.c

Patch 7.3.1146
Problem:    New regexp engine: look-behind match not checked when followed by
	    zero-width match.
Solution:   Do the look-behind match before adding the zero-width state.
Files:	    src/regexp_nfa.c

Patch 7.3.1147
Problem:    New regexp engine: regstart is only used to find the first match.
Solution:   Use regstart whenever adding the start state.
Files:	    src/regexp_nfa.c

Patch 7.3.1148
Problem:    No command line completion for ":syntime".
Solution:   Implement the completion. (Dominique Pelle)
Files:	    runtime/doc/map.txt, src/ex_cmds.h, src/ex_docmd.c,
	    src/ex_getln.c, src/proto/syntax.pro, src/syntax.c, src/vim.h

Patch 7.3.1149
Problem:    New regexp engine: Matching plain text could be faster.
Solution:   Detect a plain text match and handle it specifically.  Add
	    vim_regfree().
Files:	    src/regexp.c, src/regexp.h, src/regexp_nfa.c,
	    src/proto/regexp.pro, src/buffer.c, src/edit.c, src/eval.c,
	    src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_eval.c,
	    src/ex_getln.c, src/fileio.c, src/gui.c, src/misc1.c, src/misc2.c,
	    src/option.c, src/syntax.c, src/quickfix.c, src/search.c,
	    src/spell.c, src/tag.c, src/window.c, src/screen.c, src/macros.h,
	    src/testdir/test64.in, src/testdir/test64.ok

Patch 7.3.1150
Problem:    New regexp engine: Slow when a look-behind match does not have a
	    width specified.
Solution:   Try to compute the maximum width.
Files:	    src/regexp_nfa.c

Patch 7.3.1151
Problem:    New regexp engine: Slow when a look-behind match is followed by a
	    zero-width match.
Solution:   Postpone the look-behind match more often.
Files:	    src/regexp_nfa.c

Patch 7.3.1152
Problem:    In tiny build ireg_icombine is undefined. (Tony Mechelynck)
Solution:   Add #ifdef.
Files:	    src/regexp_nfa.c

Patch 7.3.1153
Problem:    New regexp engine: Some look-behind matches are very expensive.
Solution:   Postpone invisible matches further, until a match is almost found.
Files:	    src/regexp_nfa.c

Patch 7.3.1154
Problem:    New regexp_nfa engine: Unnecessary code.
Solution:   Remove unnecessary code.
Files:	    src/regexp_nfa.c

Patch 7.3.1155
Problem:    MS-DOS: "make test" uses external rmdir command.
Solution:   Rename "rmdir" to "rd". (Taro Muraoka)
Files:	    src/testdir/Make_dos.mak

Patch 7.3.1156
Problem:    Compiler warnings. (dv1445)
Solution:   Initialize variables, even when the value isn't really used.
Files:	    src/regexp_nfa.c, src/eval.c

Patch 7.3.1157
Problem:    New regexp engine fails on "\(\<command\)\@<=.*"
Solution:   Fix rule for postponing match.  Further tune estimating whether
	    postponing works better.  Add test.
Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok

Patch 7.3.1158
Problem:    Crash when running test 86. (Jun Takimoto)
Solution:   Define PY_SSIZE_T_CLEAN early. (Elimar Riesebieter)
Files:	    src/if_python.c, src/if_python3.c

Patch 7.3.1159
Problem:    The round() function is not always available. (Christ van
	    Willegen)
Solution:   Use the solution from f_round().
Files:	    src/ex_cmds2.c, src/eval.c, src/proto/eval.pro

Patch 7.3.1160
Problem:    Mixing long and pointer doesn't always work.
Solution:   Avoid cast to pointer.
Files:	    src/undo.c

Patch 7.3.1161
Problem:    Python: PyList_SetItem() is inefficient.
Solution:   Use PyList_SET_ITEM() (ZyX)
Files:	    src/if_py_both.h

Patch 7.3.1162
Problem:    Python: Memory leaks
Solution:   Add more Py_DECREF(). (ZyX)
Files:	    src/if_py_both.h, src/if_python.c

Patch 7.3.1163
Problem:    Not easy to load Python modules.
Solution:   Search "python2", "python3" and "pythonx" directories in
	    'runtimepath' for Python modules. (ZyX)
Files:	    runtime/doc/if_pyth.txt, src/configure.in, src/ex_cmds2.c,
	    src/if_py_both.h, src/if_python.c, src/if_python3.c,
	    src/testdir/test86.in, src/testdir/test87.in, src/auto/configure

Patch 7.3.1164
Problem:    Can't test what is actually displayed on screen.
Solution:   Add the screenchar() and screenattr() functions.
Files:	    src/eval.c, runtime/doc/eval.txt

Patch 7.3.1165
Problem:    HP-UX compiler can't handle zero size array. (Charles Cooper)
Solution:   Make the array one item big.
Files:	    src/regexp.h, src/regexp_nfa.c

Patch 7.3.1166
Problem:    Loading Python modules is not tested.
Solution:   Enable commented-out tests, add missing files. (ZyX)
Files:	    src/testdir/test86.in, src/testdir/test86.ok,
	    src/testdir/test87.in, src/testdir/test87.ok,
	    src/testdir/python2/module.py, src/testdir/python3/module.py,
	    src/testdir/pythonx/module.py, src/testdir/pythonx/modulex.py,
	    Filelist

Patch 7.3.1167
Problem:    Python configure check doesn't reject Python 2 when requesting
	    Python 3.  Some systems need -pthreads instead of -pthread.
Solution:   Adjust configure accordingly. (Andrei Olsen)
Files:	    src/configure.in, src/auto/configure

Patch 7.3.1168
Problem:    Python "sane" configure checks give a warning message.
Solution:   Use single quotes instead of escaped double quotes. (Ben Fritz)
Files:	    src/configure.in, src/auto/configure

Patch 7.3.1169
Problem:    New regexp engine: some work is done while executing a pattern,
	    even though the result is predictable.
Solution:   Do the work while compiling the pattern.
Files:	    src/regexp_nfa.c

Patch 7.3.1170
Problem:    Patch 7.3.1058 breaks backwards compatibility, not possible to use
	    a function reference as a string. (lilydjwg)
Solution:   Instead of translating the function name only translate "s:".
Files:	    src/eval.c

Patch 7.3.1171
Problem:    Check for digits and ascii letters can be faster.
Solution:   Use a trick with one comparison. (Dominique Pelle)
Files:	    src/macros.h

Patch 7.3.1172
Problem:    Python 2: loading modules doesn't work well.
Solution:   Fix the code. Add more tests. (ZyX)
Files:	    runtime/doc/if_pyth.txt, src/if_py_both.h, src/if_python.c,
	    src/testdir/python2/module.py, src/testdir/python3/module.py,
	    src/testdir/python_after/after.py,
	    src/testdir/python_before/before.py, src/testdir/test86.in,
	    src/testdir/test86.ok, src/testdir/test87.in,
	    src/testdir/test87.ok, Filelist

Patch 7.3.1173
Problem:    Python 2 tests don't have the same output everywhere.
Solution:   Make the Python 2 tests more portable. (ZyX)
Files:	    src/testdir/test86.in, src/testdir/test86.ok

Patch 7.3.1174
Problem:    Python 2 and 3 use different ways to load modules.
Solution:   Use the same method. (ZyX)
Files:	    runtime/doc/if_pyth.txt, src/if_py_both.h, src/if_python3.c,
	    src/if_python.c

Patch 7.3.1175
Problem:    Using isalpha() and isalnum() can be slow.
Solution:   Use range checks. (Mike Williams)
Files:	    src/ex_docmd.c, src/macros.h

Patch 7.3.1176
Problem:    Compiler warnings on 64 bit system.
Solution:   Add type casts. (Mike Williams)
Files:	    src/eval.c, src/if_py_both.h

Patch 7.3.1177
Problem:    Wasting memory on padding.
Solution:   Reorder struct fields. (Dominique Pelle)
Files:	    src/structs.h, src/fileio.c

Patch 7.3.1178
Problem:    Can't put all Vim config files together in one directory.
Solution:   Load ~/.vim/vimrc if ~/.vimrc does not exist. (Lech Lorens)
Files:	    runtime/doc/gui.txt, runtime/doc/starting.txt, src/gui.c,
	    src/main.c, src/os_amiga.h, src/os_dos.h, src/os_unix.h

Patch 7.3.1179
Problem:    When a global mapping starts with the same characters as a
	    buffer-local mapping Vim waits for a character to be typed to find
	    out whether the global mapping is to be used. (Andy Wokula)
Solution:   Use the local mapping without waiting. (Michael Henry)
Files:	    runtime/doc/map.txt, src/getchar.c

Patch 7.3.1180
Problem:    When current directory changes, path from cscope may no longer be
	    valid. (AS Budden)
Solution:   Always store the absolute path. (Christian Brabandt)
Files:	    src/if_cscope.c

Patch 7.3.1181
Problem:    Wrong error message for 1.0[0].
Solution:   Check for funcref and float separately. (Yasuhiro Matsumoto)
Files:	    src/eval.c

Patch 7.3.1182
Problem:    'backupcopy' default on MS-Windows does not work for hard and soft
	    links.
Solution:   Check for links. (David Pope, Ken Takata)
Files:	    src/fileio.c, src/os_win32.c, src/proto/os_win32.pro

Patch 7.3.1183
Problem:    Python tests 86 and 87 fail.
Solution:   Add "empty" files. (ZyX)
Files:	    src/testdir/python_before/before_1.py,
	    src/testdir/python_before/before_2.py

Patch 7.3.1184
Problem:    Highlighting is sometimes wrong. (Axel Bender)
Solution:   Fetch regline again when returning from recursive regmatch.
Files:	    src/regexp_nfa.c

Patch 7.3.1185
Problem:    New regexp engine: no match with ^ after \n. (SungHyun Nam)
Solution:   Fix it, add a test.
Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok

Patch 7.3.1186
Problem:    Python 3: test 87 may crash.
Solution:   Use _PyArg_Parse_SizeT instead of PyArg_Parse. (Jun Takimoto)
Files:	    src/if_python3.c

Patch 7.3.1187 (after 7.3.1170)
Problem:    "s:" is recognized but "<SID>" is not. (ZyX)
Solution:   Translate "<SID>" like "s:".
Files:	    src/eval.c

Patch 7.3.1188
Problem:    Newline characters messing up error message.
Solution:   Remove the newlines. (Kazunobu Kuriyama)
Files:	    src/gui_x11.c

Patch 7.3.1189 (after 7.3.1185)
Problem:    Highlighting is still wrong sometimes. (Dominique Pelle)
Solution:   Also restore reginput properly.
Files:	    src/regexp_nfa.c

Patch 7.3.1190
Problem:    Compiler warning for parentheses. (Christian Wellenbrock)
Solution:   Change #ifdef.
Files:	    src/ex_docmd.c

Patch 7.3.1191
Problem:    Backreference to previous line doesn't work. (Lech Lorens)
Solution:   Implement looking in another line.
Files:	    src/regexp.c, src/regexp_nfa.c, src/testdir/test64.in,
	    src/testdir/test64.ok

Patch 7.3.1192
Problem:    Valgrind reports errors when using backreferences. (Dominique
	    Pelle)
Solution:   Do not check the end of submatches.
Files:	    src/regexp_nfa.c

Patch 7.3.1193
Problem:    fail_if_missing not used for Python 3.
Solution:   Give an error when Python 3 can't be configured. (Andrei Olsen)
Files:	    src/configure.in, src/auto/configure

Patch 7.3.1194
Problem:    Yaml highlighting is slow.
Solution:   Tune the estimation of pattern failure chance.
Files:	    src/regexp_nfa.c

Patch 7.3.1195
Problem:    Compiler warning for uninitialized variable. (Tony Mechelynck)
Solution:   Set the length to the matching backref.
Files:	    src/regexp.c

Patch 7.3.1196
Problem:    Old regexp engine does not match pattern with backref correctly.
	    (Dominique Pelle)
Solution:   Fix setting status.  Test multi-line patterns better.
Files:	    src/regexp.c, src/testdir/test64.in, src/testdir/test64.ok

Patch 7.3.1197
Problem:    ":wviminfo!" does not write history previously read from a viminfo
	    file.  (Roland Eggner)
Solution:   When not merging history write all entries.
Files:	    src/ex_cmds.c, src/ex_getln.c, src/proto/ex_getln.pro

Patch 7.3.1198
Problem:    Build error when using Perl 5.18.0 and dynamic loading.
Solution:   Change #ifdefs for Perl_croak_xs_usage. (Ike Devolder)
Files:	    src/if_perl.xs

Patch 7.3.1199
Problem:    When evaluating 'foldexpr' causes an error this is silently
	    ignored and evaluation is retried every time.
Solution:   Set emsg_silent instead of emsg_off. Stop evaluating 'foldexpr' is
	    it is causing errors.  (Christian Brabandt)
Files:	    src/fold.c

Patch 7.3.1200
Problem:    When calling setline() from Insert mode, using CTRL-R =, undo does
	    not work properly. (Israel Chauca)
Solution:   Sync undo after evaluating the expression. (Christian Brabandt)
Files:	    src/edit.c, src/testdir/test61.in, src/testdir/test61.ok

Patch 7.3.1201
Problem:    When a startup script creates a preview window, it probably
	    becomes the current window.
Solution:   Make another window the current one. (Christian Brabandt)
Files:	    src/main.c

Patch 7.3.1202 (after 7.3.660)
Problem:    Tags are not found in case-folded tags file. (Darren cole, Issue
	    90)
Solution:   Take into account that when case folding was used for the tags
	    file "!rm" sorts before the "!_TAG" header lines.
Files:	    src/tag.c

Patch 7.3.1203
Problem:    Matches from matchadd() might be highlighted incorrectly when they
	    are at a fixed position and inserting lines. (John Szakmeister)
Solution:   Redraw all lines below a change if there are highlighted matches.
	    (idea by Christian Brabandt)
Files:	    src/screen.c

Patch 7.3.1204
Problem:    Calling gettabwinvar() in 'tabline' cancels Visual mode. (Hirohito
	    Higashi)
Solution:   Don't always use goto_tabpage_tp().
Files:	    src/window.c, src/proto/window.pro, src/eval.c, src/if_py_both.h

Patch 7.3.1205
Problem:    logtalk.dict is not removed on uninstall.
Solution:   Remove the file. (Kazunobu Kuriyama)
Files:	    src/Makefile

Patch 7.3.1206
Problem:    Inconsistent function argument declarations.
Solution:   Use ANSI style.
Files:	    src/if_py_both.h

Patch 7.3.1207
Problem:    New regexp engine: no match found on "#if FOO". (Lech Lorens)
Solution:   When adding a state gets skipped don't adjust the index.
Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok

Patch 7.3.1208
Problem:    Compiler warnings on MS-Windows.
Solution:   Add type cast.  Move variable declaration. (Mike Williams)
Files:	    src/option.c, src/os_mswin.c

Patch 7.3.1209
Problem:    No completion for ":tabdo".
Solution:   Add tabdo to the list of modifiers. (Dominique Pelle)
Files:	    src/ex_docmd.c

Patch 7.3.1210 (after 7.3.1182)
Problem:    'backupcopy' default on MS-Windows is wrong when 'encoding' equals
	    the current codepage.
Solution:   Change the #else block. (Ken Takata)
Files:	    src/os_win32.c

Patch 7.3.1211
Problem:    MS-Windows: When 'encoding' differs from the current codepage
	    ":hardcopy" does not work properly.
Solution:   Use TextOutW() and SetDlgItemTextW(). (Ken Takata)
Files:	    src/os_mswin.c, src/vim.rc

Patch 7.3.1212
Problem:    "make test" on MS-Windows does not report failure like Unix does.
Solution:   Make it work like on Unix. (Taro Muraoka)
Files:	    src/testdir/Make_dos.mak

Patch 7.3.1213
Problem:    Can't build with small features and Python.
Solution:   Adjust #ifdefs.
Files:	    src/eval.c, src/buffer.c, src/eval.c, src/window.c

Patch 7.3.1214
Problem:    Missing declaration for init_users() and realloc_post_list().
	    (Salman Halim)
Solution:   Add the declarations.
Files:	    src/misc1.c, src/regexp_nfa.c

Patch 7.3.1215
Problem:    Compiler warning for function not defined.
Solution:   Add #ifdef.
Files:	    src/misc1.c

Patch 7.3.1216
Problem:    Configure can't find Motif on Ubuntu.
Solution:   Search for libXm in /usr/lib/*-linux-gnu.
Files:	    src/configure.in, src/auto/configure

Patch 7.3.1217
Problem:    New regexp engine: Can't handle \%[[ao]]. (Yukihiro Nakadaira)
Solution:   Support nested atoms inside \%[].
Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok

Patch 7.3.1218
Problem:    "make test" on MS-Windows does not clean all temporary files and
	    gives some unnecessary message.
Solution:   Clean the right files.  Create .failed files. (Ken Takata)
Files:	    src/testdir/Make_dos.mak

Patch 7.3.1219
Problem:    No test for using []] inside \%[].
Solution:   Add a test.
Files:	    src/testdir/test64.in, src/testdir/test64.ok

Patch 7.3.1220
Problem:    MS-Windows: When using wide font italic and bold are not included.
Solution:   Support wide-bold, wide-italic and wide-bold-italic. (Ken Takata,
	    Taro Muraoka)
Files:	    src/gui.c, src/gui.h, src/gui_w48.c

Patch 7.3.1221
Problem:    When build flags change "make distclean" run into a configure
	    error.
Solution:   When CFLAGS changes delete auto/config.cache.  Also avoid adding
	    duplicate text to flags. (Ken Takata)
Files:	    src/Makefile, src/configure.in, src/auto/configure

Patch 7.3.1222
Problem:    Cannot execute some tests from the src directly.
Solution:   Add missing targets.
Files:	    src/Makefile

Patch 7.3.1223
Problem:    Tests fail on MS-Windows.
Solution:   Avoid depending on OS version. Use DOS commands instead of Unix
	    commands. (Taro Muraoka, Ken Takata)
Files:	    src/testdir/test17.in, src/testdir/test50.in,
	    src/testdir/test71.in, src/testdir/test77.in

Patch 7.3.1224
Problem:    Clang gives warnings on xxd.
Solution:   Change how to use part of a string. (Dominique Pelle) Also avoid
	    warning for return not reached.
Files:	    src/xxd/xxd.c, src/regexp_nfa.c

Patch 7.3.1225
Problem:    Compiler warnings when building with Motif.
Solution:   Change set_label() argument. (Kazunobu Kuriyama)
Files:	    src/gui_motif.c

Patch 7.3.1226
Problem:    Python: duplicate code.
Solution:   Share code between OutputWrite() and OutputWritelines(). (ZyX)
Files:	    src/if_py_both.h, src/testdir/test86.ok, src/testdir/test87.ok

Patch 7.3.1227
Problem:    Inconsistent string conversion.
Solution:   Use 'encoding' instead of utf-8. Use METH_O in place of
	    METH_VARARGS where appropriate. (ZyX)
Files:	    src/if_py_both.h, src/testdir/test86.ok, src/testdir/test87.ok

Patch 7.3.1228
Problem:    Python: various inconsistencies and problems.
Solution:   StringToLine now supports both bytes() and unicode() objects.
	    Make function names consistent.  Fix memory leak fixed in
	    StringToLine. (ZyX)
Files:	    src/if_py_both.h, src/if_python3.c, src/if_python.c

Patch 7.3.1229
Problem:    Python: not so easy to delete/restore translating.
Solution:   Make macros do translation of exception messages. (ZyX)
	    Note: this breaks translations!
Files:	    src/if_py_both.h, src/if_python3.c

Patch 7.3.1230
Problem:    Python: Exception messages are not clear.
Solution:   Make exception messages more verbose. (ZyX)
Files:	    src/if_py_both.h, src/if_python3.c, src/if_python.c,
	    src/testdir/test86.ok, src/testdir/test87.ok

Patch 7.3.1231
Problem:    Python: use of numbers not consistent.
Solution:   Add support for Number protocol. (ZyX)
Files:	    src/if_py_both.h, src/if_python3.c, src/if_python.c,
	    src/testdir/test86.ok, src/testdir/test87.ok

Patch 7.3.1232
Problem:    Python: inconsistencies in variable names.
Solution:   Rename variables. (ZyX)
Files:	    src/eval.c, src/if_py_both.h

Patch 7.3.1233
Problem:    Various Python problems.
Solution:   Fix VimTryEnd. Crash with debug build and PYTHONDUMPREFS=1. Memory
	    leaks in StringToLine(), BufferMark() and convert_dl. (ZyX)
Files:	    src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok,
	    src/testdir/test87.in, src/testdir/test87.ok

Patch 7.3.1234 (after 7.3.1229)
Problem:    Python: Strings are not marked for translation.
Solution:   Add N_() where appropriate. (ZyX)
Files:	    src/if_py_both.h

Patch 7.3.1235
Problem:    In insert mode CTRL-] is not inserted, on the command-line it is.
Solution:   Don't insert CTRL-] on the command line. (Yukihiro Nakadaira)
Files:	    src/ex_getln.c

Patch 7.3.1236
Problem:    Python: WindowSetattr() missing support for NUMBER_UNSIGNED.
Solution:   Add NUMBER_UNSIGNED, add more tests. Various fixes. (ZyX)
Files:	    src/if_py_both.h, src/if_python3.c, src/if_python.c,
	    src/testdir/pythonx/failing.py,
	    src/testdir/pythonx/failing_import.py, src/testdir/test86.in,
	    src/testdir/test86.ok, src/testdir/test87.in,
	    src/testdir/test87.ok, src/testdir/pythonx/topmodule/__init__.py,
	    src/testdir/pythonx/topmodule/submodule/__init__.py,
	    src/testdir/pythonx/topmodule/submodule/subsubmodule/__init__.py,
	    src/testdir/pythonx/topmodule/submodule/subsubmodule/subsubsubmodule.py

Patch 7.3.1237
Problem:    Python: non-import errors not handled correctly.
Solution:   Let non-ImportError exceptions pass the finder. (ZyX)
Files:	    src/if_py_both.h, src/testdir/test86.ok, src/testdir/test87.ok

Patch 7.3.1238
Problem:    Crash in Python interface on 64 bit machines.
Solution:   Change argument type of PyString_AsStringAndSize. (Taro Muraoka,
	    Jun Takimoto)
Files:	    src/if_python.c

Patch 7.3.1239
Problem:    Can't build with Python and MSVC10.
Solution:   Move #if outside of macro. (Taro Muraoka)
Files:	    src/if_py_both.h

Patch 7.3.1240
Problem:    Memory leak in findfile().
Solution:   Free the memory. (Christian Brabandt)
Files:	    src/eval.c

Patch 7.3.1241 (after 7.3.1236)
Problem:    Some test files missing from the distribution.
Solution:   Update the list of files.
Files:	    Filelist

Patch 7.3.1242
Problem:    No failure when trying to use a number as a string.
Solution:   Give an error when StringToLine() is called with an instance of
	    the wrong type. (Jun Takimoto)
Files:	    src/if_py_both.h

Patch 7.3.1243
Problem:    New regexp engine: back references in look-behind match don't
	    work. (Lech Lorens)
Solution:   Copy the submatches before a recursive match. Also fix function
	    prototypes.
Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok

Patch 7.3.1244
Problem:    MS-Windows: confirm() dialog text may not fit.
Solution:   Use GetTextWidthEnc() instead of GetTextWidth(). (Yasuhiro
	    Matsumoto)
Files:	    src/gui_w32.c

Patch 7.3.1245
Problem:    MS-Windows: confirm() dialog text may still not fit.
Solution:   Use GetTextWidthEnc() instead of GetTextWidth() in two more
	    places. (Yasuhiro Matsumoto)
Files:	    src/gui_w32.c

Patch 7.3.1246
Problem:    When setting 'winfixheight' and resizing the window causes the
	    window layout to be wrong.
Solution:   Add frame_check_height() and frame_check_width() (Yukihiro
	    Nakadaira)
Files:	    src/window.c

Patch 7.3.1247
Problem:    New regexp engine: '[ ]\@!\p\%([ ]\@!\p\)*:' does not always match.
Solution:   When there is a PIM add a duplicate state that starts at another
	    position.
Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok

Patch 7.3.1248
Problem:    Still have old hacking code for Input Method.
Solution:   Add 'imactivatefunc' and 'imstatusfunc' as a generic solution to
	    Input Method activation. (Yukihiro Nakadaira)
Files:	    runtime/doc/options.txt, src/fileio.c, src/mbyte.c, src/option.c,
	    src/option.h, src/proto/fileio.pro

Patch 7.3.1249
Problem:    Modeline not recognized when using "Vim" instead of "vim".
Solution:   Also accept "Vim".
Files:	    src/buffer.c

Patch 7.3.1250
Problem:    Python tests fail on MS-Windows.
Solution:   Change backslashes to slashes. (Taro Muraoka)
Files:	    src/testdir/test86.in, src/testdir/test87.in

Patch 7.3.1251
Problem:    Test 61 messes up viminfo.
Solution:   Specify a separate viminfo file.
Files:	    src/testdir/test61.in

Patch 7.3.1252
Problem:    Gvim does not find the toolbar bitmap files in ~/vimfiles/bitmaps
	    if the corresponding menu command contains additional characters
	    like the shortcut marker '&' or if you use a non-english locale.  
Solution:   Use menu->en_dname or menu->dname. (Martin Gieseking)
Files:	    src/gui_w32.c

Patch 7.3.1253 (after 7.3.1200)
Problem:    Still undo problem after using CTRL-R = setline(). (Hirohito
	    Higashi)
Solution:   Set the ins_need_undo flag.
Files:	    src/edit.c

Patch 7.3.1254 (after 7.3.1252)
Problem:    Can't build without the multi-lang feature. (John Marriott)
Solution:   Add #ifdef.
Files:	    src/gui_w32.c

Patch 7.3.1255
Problem:    Clang warnings when building with Athena.
Solution:   Add type casts. (Dominique Pelle)
Files:	    src/gui_at_fs.c

Patch 7.3.1256
Problem:    Can't build without eval or autocmd feature.
Solution:   Add #ifdefs.
Files:	    src/mbyte.c, src/window.c

Patch 7.3.1257
Problem:    With GNU gettext() ":lang de_DE.utf8" does not always result in
	    German messages.
Solution:   Clear the $LANGUAGE environment variable.
Files:	    src/ex_cmds2.c

Patch 7.3.1258
Problem:    Using submatch() may crash Vim. (Ingo Karkat)
Solution:   Restore the number of subexpressions used.
Files:	    src/regexp_nfa.c

Patch 7.3.1259
Problem:    No test for patch 7.3.1258
Solution:   Add a test entry.
Files:	    src/testdir/test64.in, src/testdir/test64.ok

Patch 7.3.1260
Problem:    User completion does not get the whole command line in the command
	    line window.
Solution:   Pass on the whole command line. (Daniel Thau)
Files:	    src/ex_getln.c, src/structs.h

Patch 7.3.1261 (after patch 7.3.1179)
Problem:    A buffer-local language mapping from a keymap stops a global
	    insert mode mapping from working. (Ron Aaron)
Solution:   Do not wait for more characters to be typed only when the mapping
	    was defined with <nowait>.
Files:	    runtime/doc/map.txt, src/eval.c, src/getchar.c,
	    src/testdir/test75.in, src/testdir/test75.ok

Patch 7.3.1262
Problem:    Crash and compilation warnings with Cygwin.
Solution:   Check return value of XmbTextListToTextProperty(). Add type casts.
	    Adjust #ifdefs. (Lech Lorens)
Files:	    src/main.c, src/os_unix.c, src/ui.c

Patch 7.3.1263
Problem:    Typo in short option name.
Solution:   Change "imse" to "imsf".
Files:	    src/option.c

Patch 7.3.1264 (after 7.3.1261)
Problem:    Missing m_nowait.
Solution:   Include missing part of the patch.
Files:	    src/structs.h

Patch 7.3.1265 (after 7.3.1249)
Problem:    Accepting "Vim:" for a modeline causes errors too often.
Solution:   Require "Vim:" to be followed by "set".
Files:	    src/buffer.c

Patch 7.3.1266
Problem:    QNX: GUI fails to start.
Solution:   Remove the QNX-specific #ifdef. (Sean Boudreau)
Files:	    src/gui.c

Patch 7.3.1267
Problem:    MS-Windows ACL support doesn't work well.
Solution:   Implement more ACL support. (Ken Takata)
Files:	    src/os_win32.c

Patch 7.3.1268
Problem:    ACL support doesn't work when compiled with MingW.
Solution:   Support ACL on MingW. (Ken Takata)
Files:	    src/os_win32.c, src/os_win32.h

Patch 7.3.1269
Problem:    Insert completion keeps entry selected even though the list has
	    changed. (Olivier Teuliere)
Solution:   Reset compl_shown_match and compl_curr_match. (Christian Brabandt)
Files:	    src/edit.c

Patch 7.3.1270
Problem:    Using "Vp" in an empty buffer can't be undone. (Hauke Petersen)
Solution:   Save one line in an empty buffer. (Christian Brabandt)
Files:	    src/ops.c

Patch 7.3.1271 (after 7.3.1260)
Problem:    Command line completion does not work.
Solution:   Move setting xp_line down. (Daniel Thau)
Files:	    src/ex_getln.c

Patch 7.3.1272
Problem:    Crash when editing Ruby file. (Aliaksandr Rahalevich)
Solution:   Reallocate the state list when necessary.
Files:	    src/regexp_nfa.c

Patch 7.3.1273
Problem:    When copying a location list the index might be wrong.
Solution:   Set the index to one when using the first entry. (Lech Lorens)
Files:	    src/quickfix.c

Patch 7.3.1274
Problem:    When selecting an entry from a location list it may pick an
	    arbitrary window or open a new one.
Solution:   Prefer using a window related to the location list. (Lech Lorens)
Files:	    src/quickfix.c

Patch 7.3.1275
Problem:    "gn" does not work when the match is a single character.
Solution:   Fix it, add a test. (Christian Brabandt)
Files:	    src/search.c, src/testdir/test53.in, src/testdir/test53.ok

Patch 7.3.1276
Problem:    When using a cscope connection resizing the window may send
	    SIGWINCH to cscope and it quits.
Solution:   Call setpgid(0, 0) in the child process. (Narendran Gopalakrishnan)
Files:	    src/if_cscope.c

Patch 7.3.1277
Problem:    In diff mode 'cursorline' also draws in the non-active window.
	    When 'nu' and 'sbr' are set the 'sbr' string is not underlined.
Solution:   Only draw the cursor line in the current window. Combine the
	    'cursorline' and other highlighting attributes. (Christian
	    Brabandt)
Files:	    src/screen.c

Patch 7.3.1278
Problem:    When someone sets the screen size to a huge value with "stty" Vim
	    runs out of memory before reducing the size.
Solution:   Limit Rows and Columns in more places.
Files:	    src/gui.c, src/gui_gtk_x11.c, src/option.c, src/os_unix.c,
	    src/proto/term.pro, src/term.c

Patch 7.3.1279
Problem:    Compiler warning for variable uninitialized. (Tony Mechelynck)
Solution:   Add an init.
Files:	    src/ex_getln.c

Patch 7.3.1280
Problem:    Reading memory already freed since patch 7.3.1247. (Simon
	    Ruderich, Dominique Pelle)
Solution:   Copy submatches before reallocating the state list.
Files:	    src/regexp_nfa.c

Patch 7.3.1281
Problem:    When 'ttymouse' is set to "xterm2" clicking in column 123 moves
	    the cursor to column 96. (Kevin Goodsell)
Solution:   Decode KE_CSI.
Files:	    src/term.c

Patch 7.3.1282 (after 7.3.1277)
Problem:    'cursorline' not drawn in any other window. (Charles Campbell)
Solution:   Do draw the cursor line in other windows.
Files:	    src/screen.c

Patch 7.3.1283
Problem:    Test 71 fails on MS-Windows.
Solution:   Put the binary data in a separate file. (Ken Takata)
Files:	    src/testdir/test71.in, src/testdir/test71a.in

Patch 7.3.1284
Problem:    Compiler warnings in MS-Windows clipboard handling.
Solution:   Add type casts. (Ken Takata)
Files:	    src/winclip.c

Patch 7.3.1285
Problem:    No tests for picking a window when selecting an entry in a
	    location list.  Not picking the right window sometimes.
Solution:   Add test 96. Set usable_win appropriately. (Lech Lorens)
Files:	    src/quickfix.c, src/testdir/Makefile, src/testdir/test96.in,
	    src/testdir/test96.ok, src/testdir/Make_amiga.mak,
	    src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
	    src/testdir/Make_os2.mak, src/testdir/Make_vms.mms

Patch 7.3.1286
Problem:    Check for screen size missing for Athena and Motif.
Solution:   Add call to limit_screen_size().
Files:	    src/gui_x11.c

Patch 7.3.1287
Problem:    Python SystemExit exception is not handled properly.
Solution:   Catch the exception and give an error. (Yasuhiro Matsumoto, Ken
	    Takata)
Files:	    runtime/doc/if_pyth.txt, src/if_py_both.h, src/if_python.c,
	    src/if_python3.c

Patch 7.3.1288
Problem:    The first ":echo 'hello'" command output doesn't show.  Mapping
	    for <S-F3> gets triggered during startup.
Solution:   Add debugging code for the termresponse.  When receiving the "Co"
	    entry and when setting 'ambiwidth' redraw right away if possible.
	    Add redraw_asap().  Don't set 'ambiwidth' if it already had the
	    right value.  Do the 'ambiwidth' check in the second row to avoid
	    confusion with <S-F3>.
Files:	    src/term.c, src/screen.c, src/proto/screen.pro

Patch 7.3.1289
Problem:    Get GLIB warning when removing a menu item.
Solution:   Reference menu-id and also call gtk_container_remove().  (Ivan
	    Krasilnikov)
Files:	    src/gui_gtk.c

Patch 7.3.1290 (after 7.3.1253)
Problem:    CTRL-R = in Insert mode changes the start of the insert position.
	    (Ingo Karkat)
Solution:   Only break undo, don't start a new insert.
Files:	    src/edit.c

Patch 7.3.1291 (after 7.3.1288)
Problem:    Compiler warnings for uninitialized variables. (Tony Mechelynck)
Solution:   Initialize the variables.
Files:	    src/screen.c

Patch 7.3.1292
Problem:    Possibly using invalid pointer when searching for window. (Raichoo)
Solution:   Use "firstwin" instead of "tp_firstwin" for current tab.
Files:	    src/window.c

Patch 7.3.1293
Problem:    Put in empty buffer cannot be undone.
Solution:   Save one more line for undo. (Ozaki)
Files:	    src/ops.c

Patch 7.3.1294
Problem:    ":diffoff" resets options.
Solution:   Save and restore option values. (Christian Brabandt)
Files:	    src/diff.c, src/structs.h, src/option.c

Patch 7.3.1295
Problem:    glob() and globpath() do not handle escaped special characters
	    properly.
Solution:   Handle escaped characters differently. (Adnan Zafar)
Files:	    src/testdir/Makefile, src/testdir/test97.in,
	    src/testdir/test97.ok, src/testdir/Make_amiga.mak,
	    src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
	    src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, src/fileio.c,
	    src/misc1.c

Patch 7.3.1296
Problem:    Only MS-Windows limits the GUI window size to what fits on the
	    monitor.
Solution:   Limit the size for all systems. (Daniel Harding)
Files:	    src/ui.c

Patch 7.3.1297
Problem:    findfile() directory matching does not work when a star follows
	    text. (Markus Braun)
Solution:   Make a wildcard work properly. (Christian Brabandt)
Files:	    src/misc2.c, src/testdir/test89.in, src/testdir/test89.ok

Patch 7.3.1298 (after 7.3.1297)
Problem:    Crash.
Solution:   Use STRCPY() instead of STRCAT() and allocate one more byte.
Files:	    src/misc2.c

Patch 7.3.1299
Problem:    Errors when doing "make proto".  Didn't do "make depend" for a
	    while.
Solution:   Add #ifdefs.  Update dependencies.  Update proto files.
Files:	    src/if_python3.c, src/os_win32.c, src/Makefile,
	    src/proto/ex_docmd.pro, src/proto/if_python.pro,
	    src/proto/if_python3.pro, src/proto/gui_w16.pro,
	    src/proto/gui_w32.pro, src/proto/os_win32.pro

Patch 7.3.1300
Problem:    Mac: tiny and small build fails.
Solution:   Don't include os_macosx.m in tiny build. Include mouse support in
	    small build. (Kazunobu Kuriyama)
Files:	    src/configure.in, src/auto/configure, src/vim.h

Patch 7.3.1301
Problem:    Some tests fail on MS-Windows.
Solution:   Fix path separators in test 89 and 96.  Omit test 97, escaping
	    works differently.  Make findfile() work on MS-Windows.
Files:	    src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
	    src/testdir/Make_os2.mak, src/testdir/test89.in,
	    src/testdir/test96.in, src/misc2.c

Patch 7.3.1302
Problem:    Test 17 fails on MS-Windows.  Includes line break in file name
	    everywhere.
Solution:   Fix 'fileformat'. Omit CR-LF from a line read from an included
	    file.
Files:	    src/search.c, src/testdir/test17.in, src/testdir/test17.ok

Patch 7.3.1303 (after 7.3.1290)
Problem:    Undo is synced whenever CTRL-R = is called, breaking some plugins.
Solution:   Only break undo when calling setline() or append().
Files:	    src/globals.h, src/eval.c, src/edit.c, src/testdir/test61.in,
	    src/testdir/test61.ok

Patch 7.3.1304
Problem:    Test 89 still fails on MS-Windows.
Solution:   Set 'shellslash'. (Taro Muraoka)
Files:	    src/testdir/test89.in

Patch 7.3.1305
Problem:    Warnings from 64 bit compiler.
Solution:   Add type casts.
Files:	    src/misc2.c

Patch 7.3.1306
Problem:    When redrawing the screen during startup the intro message may be
	    cleared.
Solution:   Redisplay the intro message when appropriate.
Files:	    src/screen.c, src/version.c, src/proto/version.pro

Patch 7.3.1307
Problem:    MS-Windows build instructions are outdated.
Solution:   Adjust for building on Windows 7.  Drop Windows 95/98/ME support.
Files:	    Makefile, nsis/gvim.nsi

Patch 7.3.1308
Problem:    Typos in MS-Windows build settings and README.
Solution:   Minor changes to MS-Windows files.
Files:	    src/msvc2008.bat, src/msvc2010.bat, src/VisVim/README_VisVim.txt

Patch 7.3.1309
Problem:    When a script defines a function the flag to wait for the user to
	    hit enter is reset.
Solution:   Restore the flag. (Yasuhiro Matsumoto)  Except when the user was
	    typing the function.
Files:	    src/eval.c

Patch 7.3.1310
Problem:    Typos in nsis script. Can use better compression.
Solution:   Fix typos.  Use lzma compression. (Ken Takata)
Files:	    nsis/gvim.nsi

Patch 7.3.1311
Problem:    Compiler warnings on Cygwin.
Solution:   Add type casts. Add windows include files. (Ken Takata)
Files:	    src/mbyte.c, src/ui.c

Patch 7.3.1312 (after 7.3.1287)
Problem:    Not giving correct error messages for SystemExit().
Solution:   Move E858 into an else. (Ken Takata)
Files:	    src/if_py_both.h

Patch 7.3.1313
Problem:    :py and :py3 don't work when compiled with Cygwin or MingW with 64
	    bit.
Solution:   Add -DMS_WIN64 to the build command. (Ken Takata)
Files:	    src/Make_cyg.mak, src/Make_ming.mak

Patch 7.3.1314
Problem:    Test 87 fails with Python 3.3.
Solution:   Filter the error messages. (Taro Muraoka)
Files:	    src/testdir/test87.in

Patch 7.4a.001
Problem:    Script to update syntax menu is outdated.
Solution:   Add the missing items.
Files:	    runtime/makemenu.vim

Patch 7.4a.002
Problem:    Valgrind errors in test 89. (Simon Ruderich)
Solution:   Allocate one more byte. (Dominique Pelle)
Files:	    src/misc2.c

Patch 7.4a.003
Problem:    Copyright year is outdated.
Solution:   Only use the first year.
Files:	    src/vim.rc, src/vim16.rc

Patch 7.4a.004
Problem:    MSVC 2012 Update 3 is not recognized.
Solution:   Add the version number. (Raymond Ko)
Files:	    src/Make_mvc.mak

Patch 7.4a.005
Problem:    Scroll binding causes unexpected scroll.
Solution:   Store the topline after updating scroll binding.  Add a test.
	    (Lech Lorens)
Files:	    src/testdir/test98.in, src/testdir/test98a.in,
	    src/testdir/test98.ok, src/option.c, src/testdir/Make_amiga.mak,
	    src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
	    src/testdir/Make_os2.mak, src/testdir/Make_vms.mms,
	    src/testdir/Makefile

Patch 7.4a.006
Problem:    Failure in po file check goes unnoticed.
Solution:   Fail "make test" if the po file check fails.
Files:	    src/Makefile

Patch 7.4a.007
Problem:    After "g$" with 'virtualedit' set, "k" moves to a different
	    column.  (Dimitar Dimitrov)
Solution:   Set w_curswant. (Christian Brabandt)
Files:	    src/normal.c

Patch 7.4a.008
Problem:    Python 3 doesn't handle multibyte characters properly when
	    'encoding' is not utf-8.
Solution:   Use PyUnicode_Decode() instead of PyUnicode_FromString(). (Ken
	    Takata)
Files:	    src/if_python3.c

Patch 7.4a.009
Problem:    Compiler warnings for function prototypes.
Solution:   Add "void".  Move list_features() prototype. (Ken Takata)
Files:	    src/gui_w48.c, src/if_py_both.h, src/version.c

Patch 7.4a.010
Problem:    Test 86 and 87 fail when building with Python or Python 3 and
	    using a static library.
Solution:   Add configure check to add -fPIE compiler flag.
Files:	    src/configure.in, src/auto/configure

Patch 7.4a.011
Problem:    Configure check for Python 3 config name isn't right.
Solution:   Always include vi_cv_var_python3_version. (Tim Harder)
Files:	    src/configure.in, src/auto/configure

Patch 7.4a.012
Problem:    "make test" fails when using a shadow directory.
Solution:   Create links for files in src/po. (James McCoy)
Files:	    src/Makefile

Patch 7.4a.013
Problem:    Setting/resetting 'lbr' in the main help file changes alignment
	    after a Tab. (Dimitar Dimitrov)
Solution:   Also use the code for conceal mode where n_extra is computed for
	    'lbr'.
Files:	    src/screen.c, src/testdir/test88.in, src/testdir/test88.ok

Patch 7.4a.014
Problem:    Test 86 and 89 have a problem with using a shadow dir.
Solution:   Adjust for the different directory structure. (James McCoy)
Files:	    src/testdir/test89.in, src/testdir/test86.in, src/Makefile

Patch 7.4a.015
Problem:    No Japanese man pages.
Solution:   Add Japanese translations of man pages. (Ken Takata, Yukihiro
	    Nakadaira, et al.)
Files:	    Filelist, src/Makefile, runtime/doc/evim-ja.UTF-8.1,
	    runtime/doc/vim-ja.UTF-8.1, runtime/doc/vimdiff-ja.UTF-8.1,
	    runtime/doc/vimtutor-ja.UTF-8.1, runtime/doc/xxd-ja.UTF-8.1

Patch 7.4a.016 (after 7.4a.014)
Problem:    Features enabled in Makefile.
Solution:   Undo accidental changes.
Files:	    src/Makefile

Patch 7.4a.017
Problem:    When 'foldmethod' is "indent", using ">>" on a line just above a
	    fold makes the cursor line folded. (Evan Laforge)
Solution:   Call foldOpenCursor(). (Christian Brabandt)
Files:	    src/ops.c

Patch 7.4a.018
Problem:    Compiler warning for code unreachable. (Charles Campbell)
Solution:   Use "while" instead of endless loop.  Change break to continue.
Files:	    src/regexp_nfa.c, src/ui.c

Patch 7.4a.019
Problem:    Invalid closing parenthesis in test 62. Command truncated at
	    double quote.
Solution:   Remove the parenthesis. Change double quote to ''. (ZyX)
Files:	    src/testdir/test62.in, src/testdir/test62.ok

Patch 7.4a.020
Problem:    Superfluous mb_ptr_adv().
Solution:   Remove the call. (Dominique Pelle)
Files:	    src/regexp_nfa.c

Patch 7.4a.021
Problem:    Using feedkeys() doesn't always work.
Solution:   Omit feedkeys(). (Ken Takata)
Files:	    src/testdir/test98a.in

Patch 7.4a.022
Problem:    Using "d2g$" does not delete the last character. (ZyX)
Solution:   Set the "inclusive" flag properly.
Files:	    src/normal.c

Patch 7.4a.023 (after 7.4a.019)
Problem:    Still another superfluous parenthesis. (ZyX)
Solution:   Remove it.
Files:	    src/testdir/test62.in

Patch 7.4a.024
Problem:    X11 GUI: Checking icon height twice.
Solution:   Check height and width. (Dominique Pelle)
Files:	    src/gui_x11.c

Patch 7.4a.025
Problem:    Get the press-Enter prompt even after using :redraw.
Solution:   Clear need_wait_return when executing :redraw.
Files:	    src/ex_docmd.c

Patch 7.4a.026
Problem:    ":diffoff" does not remove folds. (Ramel)
Solution:   Do not restore 'foldenable' when 'foldmethod' is "manual".
Files:	    src/diff.c

Patch 7.4a.027
Problem:    When Python adds lines to another buffer the cursor position is
	    wrong, it might be below the last line causing ml_get errors.
	    (Vlad Irnov)
Solution:   Temporarily change the current window, so that marks are corrected
	    properly.
Files:	    src/if_py_both.h, src/window.c, src/proto/buffer.pro

Patch 7.4a.028
Problem:    Crash when spell checking in new buffer.
Solution:   Set the b_p_key field.  (Mike Williams)
Files:	    src/spell.c, src/testdir/test58.in

Patch 7.4a.029
Problem:    Can't build with MzScheme on Ubuntu 13.04.
Solution:   Add configure check for the "ffi" library.
Files:	    src/configure.in, src/auto/configure

Patch 7.4a.030 (after 7.4.027)
Problem:    Missing find_win_for_buf(). (toothpik)
Solution:   Add missing changes.
Files:	    src/buffer.c

Patch 7.4a.031
Problem:    Compiler warnings. (Charles Campbell)
Solution:   Initialize variables even when not needed.
Files:	    src/regexp_nfa.c, src/search.c

Patch 7.4a.032
Problem:    New regexp engine: Does not match shorter alternative. (Ingo
	    Karkat)
Solution:   Do not drop a new state when the PIM info is different.
Files:	    src/regexp_nfa.c

Patch 7.4a.033
Problem:    Test 98 always passes.
Solution:   Include test98a.in in test98.in, execute the crucial command in
	    one line. (Yukihiro Nakadaira)
Files:	    src/testdir/test98.in, src/testdir/test98a.in

Patch 7.4a.034
Problem:    The tabline may flicker when opening a new tab after 7.3.759 on
	    Win32.
Solution:   Move call to TabCtrl_SetCurSel(). (Ken Takata)
Files:	    src/gui_w48.c

Patch 7.4a.035
Problem:    Fix in patch 7.4a.032 is not tested.
Solution:   Add test.
Files:	    src/testdir/test64.in, src/testdir/test64.ok

Patch 7.4a.036
Problem:    "\p" in a regexp does not match double-width characters.
	    (Yukihiro Nakadaira)
Solution:   Don't count display cells, use vim_isprintc().
Files:	    src/regexp.c, src/regexp_nfa.c, src/testdir/test64.in,
	    src/testdir/test64.ok, src/testdir/test95.in,
	    src/testdir/test95.ok

Patch 7.4a.037
Problem:    Win32: When mouse is hidden and in the toolbar, moving it won't
	    make it appear. (Sami Salonen)
Solution:   Add tabline_wndproc() and toolbar_wndproc(). (Ken Takata)
Files:	    src/gui_w32.c, src/gui_w48.c

Patch 7.4a.038
Problem:    When using MSVC 2012 there are various issues, including GUI size
	    computations.
Solution:   Use SM_CXPADDEDBORDER. (Mike Williams)
Files:	    src/gui_w32.c, src/gui_w48.c, src/os_win32.h

Patch 7.4a.039
Problem:    New regexp engine doesn't match pattern. (Ingo Karkat)
Solution:   When adding a state also check for different PIM if the list of
	    states has any state with a PIM.
Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok

Patch 7.4a.040
Problem:    Win32: using uninitialized variable.
Solution:   (Yukihiro Nakadaira)
Files:	    src/os_win32.c

Patch 7.4a.041
Problem:    When using ":new ++ff=unix" and "dos" is first in 'fileformats'
	    then 'ff' is set to "dos" instead of "unix". (Ingo Karkat)
Solution:   Create set_file_options() and invoke it from do_ecmd().
Files:	    src/fileio.c, src/proto/fileio.pro, src/ex_cmds.c,
	    src/testdir/test91.in, src/testdir/test91.ok

Patch 7.4a.042
Problem:    Crash when BufUnload autocommands close all buffers. (Andrew
	    Pimlott)
Solution:   Set curwin->w_buffer to curbuf to avoid NULL.
Files:	    src/window.c, src/testdir/test8.in, src/testdir/test8.ok

Patch 7.4a.043
Problem:    More ml_get errors when adding or deleting lines from Python.
	    (Vlad Irnov)
Solution:   Switch to a window with the buffer when possible.
Files:	    src/if_py_both.h

Patch 7.4a.044
Problem:    Test 96 sometimes fails.
Solution:   Clear window from b_wininfo in win_free().  (Suggestion by
	    Yukihiro Nakadaira)
Files:	    src/window.c

Patch 7.4a.045
Problem:    Configure does not always find the right library for Lua.  Missing
	    support for LuaJit. 
Solution:   Improve the configure detection of Lua. (Hiroshi Shirosaki)
Files:	    src/Makefile, src/configure.in, src/auto/configure

Patch 7.4a.046
Problem:    Can't build without mbyte feature.
Solution:   Add #ifdefs.
Files:	    src/ex_cmds.c

Patch 7.4a.047
Problem:    Some comments are not so nice.
Solution:   Change the comments.
Files:	    src/ex_docmd.c, src/message.c, src/ops.c, src/option.c

Patch 7.4b.001
Problem:    Win32: dialog may extend off-screen.
Solution:   Reduce the size, use correct borders. (Andrei Olsen)
Files:	    src/gui_w32.c

Patch 7.4b.002
Problem:    Crash searching for \%(\%(\|\d\|-\|\.\)*\|\*\). (Marcin
	    Szamotulski)  Also for \(\)*.
Solution:   Do add a state for opening parenthesis, so that we can check if it
	    was added before at the same position.
Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok

Patch 7.4b.003
Problem:    Regexp code is not nicely aligned.
Solution:   Adjust white space. (Ken Takata)
Files:	    src/regexp_nfa.c

Patch 7.4b.004
Problem:    Regexp crash on pattern "@\%[\w\-]*". (Axel Kielhorn)
Solution:   Add \%(\) around \%[] internally.
Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok

Patch 7.4b.005
Problem:    Finding %s in shellpipe and shellredir does not ignore %%s.
Solution:   Skip over %%. (lcd 47)
Files:	    src/ex_cmds.c

Patch 7.4b.006 (after 7.3.1295)
Problem:    Using \{n,m} in an autocommand pattern no longer works.
	    Specifically, mutt temp files are not recognized. (Gary Johnson)
Solution:   Make \\\{n,m\} work.
Files:	    runtime/doc/autocmd.txt, src/fileio.c

Patch 7.4b.007
Problem:    On 32 bit MS-Windows :perldo does not work.
Solution:   Make sure time_t uses 32 bits. (Ken Takata)
Files:	    src/if_perl.xs, src/vim.h

Patch 7.4b.008
Problem:    'autochdir' causes setbufvar() to change the current directory.
	    (Ben Fritz)
Solution:   When disabling autocommands also reset 'acd' temporarily.
	    (Christian Brabandt)
Files:	    src/fileio.c

Patch 7.4b.009
Problem:    When setting the Visual area manually and 'selection' is
	    exclusive, a yank includes one character too much. (Ingo Karkat)
Solution:   Default the Visual operation to "v". (Christian Brabandt)
Files:	    src/mark.c

Patch 7.4b.010
Problem:    Win32: Tcl library load does not use standard mechanism.
Solution:   Call vimLoadLib() instead of LoadLibraryEx(). (Ken Takata)
Files:	    src/if_perl.xs, src/if_tcl.c

Patch 7.4b.011
Problem:    ":he \%(\)" does not work. (ZyX)
Solution:   Add an exception to the list.
Files:	    src/ex_cmds.c

Patch 7.4b.012
Problem:    Output from a shell command is truncated at a NUL. (lcd 47)
Solution:   Change every NUL into an SOH.
Files:	    src/misc1.c

Patch 7.4b.013
Problem:    Install dir for JP man pages is wrong.
Solution:   Remove ".UTF-8" from the directory name. (Ken Takata)
Files:	    src/Makefile

Patch 7.4b.014 (after 7.4b.012)
Problem:    Stupid mistake.
Solution:   Changle "len" to "i".
Files:	    src/misc1.c

Patch 7.4b.015 (after 7.4b.008)
Problem:    Can't compile without the 'acd' feature.
Solution:   Add #ifdefs. (Kazunobu Kuriyama)
Files:	    src/fileio.c

Patch 7.4b.016
Problem:    Ruby detection fails on Fedora 19.
Solution:   Use one way to get the Ruby version. (Michael Henry)
Files:	    src/configure.in, src/auto/configure

Patch 7.4b.017
Problem:    ":he \^x" gives a strange error message. (glts)
Solution:   Do not translate \^x to \_CTRL-x.
Files:	    src/ex_cmds.c

Patch 7.4b.018 (after 7.4b.001)
Problem:    Win32: Dialog can still be too big.
Solution:   Move the check for height further down. (Andrei Olsen)
Files:	    src/gui_w32.c

Patch 7.4b.019 (after 7.4a.034)
Problem:    Tabline is not updated properly when closing a tab on Win32.
Solution:   Only reduce flickering when adding a tab. (Ken Takata)
Files:	    src/gui_w48.c

Patch 7.4b.020
Problem:    "g~ap" changes first character of next paragraph. (Manuel Ortega)
Solution:   Avoid subtracting (0 - 1) from todo.  (Mike Williams)
Files:	    src/ops.c, src/testdir/test82.in, src/testdir/test82.ok

Patch 7.4b.021
Problem:    Pressing "u" after an external command results in multiple
	    press-enter messages. (glts)
Solution:   Don't call hit_return_msg() when we have K_IGNORE. (Christian
	    Brabandt)
Files:	    src/message.c

Patch 7.4b.022
Problem:    Not waiting for a character when the tick count overflows.
Solution:   Subtract the unsigned numbers and cast to int. (Ken Takata)
Files:	    src/os_win32.c


 vim:tw=78:ts=8:ft=help:norl:
