0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

Update runtime files.

This commit is contained in:
Bram Moolenaar
2020-08-30 17:20:20 +02:00
parent 0b39c3fd4c
commit 207f009326
44 changed files with 1392 additions and 1123 deletions

View File

@@ -1,7 +1,7 @@
" Vim functions for file type detection " Vim functions for file type detection
" "
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2020 Mar 30 " Last Change: 2020 Aug 17
" These functions are moved here from runtime/filetype.vim to make startup " These functions are moved here from runtime/filetype.vim to make startup
" faster. " faster.

View File

@@ -1,7 +1,7 @@
" Vim compiler file " Vim compiler file
" Compiler: ESLint for JavaScript " Compiler: ESLint for JavaScript
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com> " Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
" Last Change: 2020 May 17 " Last Change: 2020 August 20
if exists("current_compiler") if exists("current_compiler")
finish finish
@@ -12,5 +12,5 @@ if exists(":CompilerSet") != 2
command -nargs=* CompilerSet setlocal <args> command -nargs=* CompilerSet setlocal <args>
endif endif
CompilerSet makeprg=eslint\ --format\ compact CompilerSet makeprg=npx\ eslint\ --format\ compact
CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %m,%-G%.%# CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %m,%-G%.%#

View File

@@ -1,7 +1,7 @@
" Vim compiler file " Vim compiler file
" Compiler: Standard for JavaScript " Compiler: Standard for JavaScript
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com> " Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
" Last Change: 2020 May 17 " Last Change: 2020 August 20
if exists("current_compiler") if exists("current_compiler")
finish finish
@@ -12,5 +12,5 @@ if exists(":CompilerSet") != 2
command -nargs=* CompilerSet setlocal <args> command -nargs=* CompilerSet setlocal <args>
endif endif
CompilerSet makeprg=standard CompilerSet makeprg=npx\ standard
CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %m,%-G%.%# CompilerSet errorformat=%f:%l:%c:\ %m,%-G%.%#

View File

@@ -1,4 +1,4 @@
*change.txt* For Vim version 8.2. Last change: 2020 Jun 04 *change.txt* For Vim version 8.2. Last change: 2020 Aug 15
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -153,7 +153,7 @@ the 'joinspaces' option is on, these commands insert two spaces after a '.',
'!' or '?' (but if 'cpoptions' includes the 'j' flag, they insert two spaces '!' or '?' (but if 'cpoptions' includes the 'j' flag, they insert two spaces
only after a '.'). only after a '.').
The 'B' and 'M' flags in 'formatoptions' change the behavior for inserting The 'B' and 'M' flags in 'formatoptions' change the behavior for inserting
spaces before and after a multi-byte character |fo-table|. spaces before and after a multibyte character |fo-table|.
The '[ mark is set at the end of the first line that was joined, '] at the end The '[ mark is set at the end of the first line that was joined, '] at the end
of the resulting line. of the resulting line.
@@ -1680,11 +1680,11 @@ b Like 'v', but only auto-wrap if you enter a blank at or before
l Long lines are not broken in insert mode: When a line was longer than l Long lines are not broken in insert mode: When a line was longer than
'textwidth' when the insert command started, Vim does not 'textwidth' when the insert command started, Vim does not
automatically format it. automatically format it.
m Also break at a multi-byte character above 255. This is useful for m Also break at a multibyte character above 255. This is useful for
Asian text where every character is a word on its own. Asian text where every character is a word on its own.
M When joining lines, don't insert a space before or after a multi-byte M When joining lines, don't insert a space before or after a multibyte
character. Overrules the 'B' flag. character. Overrules the 'B' flag.
B When joining lines, don't insert a space between two multi-byte B When joining lines, don't insert a space between two multibyte
characters. Overruled by the 'M' flag. characters. Overruled by the 'M' flag.
1 Don't break a line after a one-letter word. It's broken before it 1 Don't break a line after a one-letter word. It's broken before it
instead (if possible). instead (if possible).

View File

@@ -1,4 +1,4 @@
*develop.txt* For Vim version 8.2. Last change: 2020 Jul 27 *develop.txt* For Vim version 8.2. Last change: 2020 Aug 15
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -473,7 +473,7 @@ available spell checking libraries and programs. Unfortunately, the result
was that none of them provided sufficient capabilities to be used as the spell was that none of them provided sufficient capabilities to be used as the spell
checking engine in Vim, for various reasons: checking engine in Vim, for various reasons:
- Missing support for multi-byte encodings. At least UTF-8 must be supported, - Missing support for multibyte encodings. At least UTF-8 must be supported,
so that more than one language can be used in the same file. so that more than one language can be used in the same file.
Doing on-the-fly conversion is not always possible (would require iconv Doing on-the-fly conversion is not always possible (would require iconv
support). support).

View File

@@ -1,4 +1,4 @@
*editing.txt* For Vim version 8.2. Last change: 2020 Jul 05 *editing.txt* For Vim version 8.2. Last change: 2020 Aug 17
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -652,7 +652,7 @@ list of the current window.
:args ## x :args ## x
< This will add the "x" item and sort the new list. < This will add the "x" item and sort the new list.
:argd[elete] {pattern} .. *:argd* *:argdelete* *E480* :argd[elete] {pattern} .. *:argd* *:argdelete* *E480* *E610*
Delete files from the argument list that match the Delete files from the argument list that match the
{pattern}s. {pattern} is used like a file pattern, {pattern}s. {pattern} is used like a file pattern,
see |file-pattern|. "%" can be used to delete the see |file-pattern|. "%" can be used to delete the
@@ -662,7 +662,7 @@ list of the current window.
Example: > Example: >
:argdel *.obj :argdel *.obj
:[range]argd[elete] Delete the {range} files from the argument list. :[range]argd[elete] Delete the [range] files from the argument list.
Example: > Example: >
:10,$argdel :10,$argdel
< Deletes arguments 10 and further, keeping 1-9. > < Deletes arguments 10 and further, keeping 1-9. >

View File

@@ -1,4 +1,4 @@
*eval.txt* For Vim version 8.2. Last change: 2020 Aug 15 *eval.txt* For Vim version 8.2. Last change: 2020 aug 30
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1135,7 +1135,7 @@ In legacy Vim script:
If expr8 is a Number or String this results in a String that contains the If expr8 is a Number or String this results in a String that contains the
expr1'th single byte from expr8. expr8 is used as a String (a number is expr1'th single byte from expr8. expr8 is used as a String (a number is
automatically converted to a String), expr1 as a Number. This doesn't automatically converted to a String), expr1 as a Number. This doesn't
recognize multi-byte encodings, see `byteidx()` for an alternative, or use recognize multibyte encodings, see `byteidx()` for an alternative, or use
`split()` to turn the string into a list of characters. Example, to get the `split()` to turn the string into a list of characters. Example, to get the
byte under the cursor: > byte under the cursor: >
:let c = getline(".")[col(".") - 1] :let c = getline(".")[col(".") - 1]
@@ -1163,12 +1163,12 @@ error.
expr8[expr1a : expr1b] substring or sublist *expr-[:]* expr8[expr1a : expr1b] substring or sublist *expr-[:]*
If expr8 is a String this results in the substring with the bytes from expr1a If expr8 is a String this results in the substring with the bytes or
to and including expr1b. expr8 is used as a String, expr1a and expr1b are characters from expr1a to and including expr1b. expr8 is used as a String,
used as a Number. expr1a and expr1b are used as a Number.
In legacy Vim script the indexes are byte indexes. This doesn't recognize In legacy Vim script the indexes are byte indexes. This doesn't recognize
multi-byte encodings, see |byteidx()| for computing the indexes. If expr8 is multibyte encodings, see |byteidx()| for computing the indexes. If expr8 is
a Number it is first converted to a String. a Number it is first converted to a String.
In Vim9 script the indexes are character indexes. To use byte indexes use In Vim9 script the indexes are character indexes. To use byte indexes use
@@ -1185,6 +1185,7 @@ expr1b is smaller than expr1a the result is an empty string.
Examples: > Examples: >
:let c = name[-1:] " last byte of a string :let c = name[-1:] " last byte of a string
:let c = name[0:-1] " the whole string
:let c = name[-2:-2] " last but one byte of a string :let c = name[-2:-2] " last but one byte of a string
:let s = line(".")[4:] " from the fifth byte to the end :let s = line(".")[4:] " from the fifth byte to the end
:let s = s[:-3] " remove last two bytes :let s = s[:-3] " remove last two bytes
@@ -2359,7 +2360,7 @@ assert_equalfile({fname-one}, {fname-two} [, {msg}])
Number assert file contents are equal Number assert file contents are equal
assert_exception({error} [, {msg}]) assert_exception({error} [, {msg}])
Number assert {error} is in v:exception Number assert {error} is in v:exception
assert_fails({cmd} [, {error} [, {msg}]]) assert_fails({cmd} [, {error} [, {msg} [, {lnum}]]])
Number assert {cmd} fails Number assert {cmd} fails
assert_false({actual} [, {msg}]) assert_false({actual} [, {msg}])
Number assert {actual} is false Number assert {actual} is false
@@ -5722,6 +5723,7 @@ getreginfo([{regname}]) *getreginfo()*
If {regname} is invalid or not set, an empty Dictionary If {regname} is invalid or not set, an empty Dictionary
will be returned. will be returned.
If {regname} is not specified, |v:register| is used. If {regname} is not specified, |v:register| is used.
The returned Dictionary can be passed to |setreg()|.
Can also be used as a |method|: > Can also be used as a |method|: >
GetRegname()->getreginfo() GetRegname()->getreginfo()
@@ -6029,7 +6031,7 @@ has({feature} [, {check}])
zero otherwise. This is useful to check for a typo in zero otherwise. This is useful to check for a typo in
{feature} and to detect dead code. Keep in mind that an older {feature} and to detect dead code. Keep in mind that an older
Vim version will not know about a feature added later and Vim version will not know about a feature added later and
features that have been abandoned will not be know by the features that have been abandoned will not be known by the
current Vim version. current Vim version.
Also see |exists()|. Also see |exists()|.
@@ -8971,7 +8973,7 @@ setcellwidths({list}) *setcellwidths()*
tells Vim how wide characters are, counted in screen cells. tells Vim how wide characters are, counted in screen cells.
This overrides 'ambiwidth'. Example: > This overrides 'ambiwidth'. Example: >
setcellwidths([[0xad, 0xad, 1], setcellwidths([[0xad, 0xad, 1],
\ [0x2194, 0x2199, 2]] \ [0x2194, 0x2199, 2]])
< *E1109* *E1110* *E1111* *E1112* *E1113* < *E1109* *E1110* *E1111* *E1112* *E1113*
The {list} argument is a list of lists with each three The {list} argument is a list of lists with each three
@@ -8986,6 +8988,8 @@ setcellwidths({list}) *setcellwidths()*
To clear the overrides pass an empty list: > To clear the overrides pass an empty list: >
setcellwidths([]); setcellwidths([]);
< You can use the script $VIMRUNTIME/tools/emoji_list.vim to see
the effect for known emoji characters.
setcharsearch({dict}) *setcharsearch()* setcharsearch({dict}) *setcharsearch()*
@@ -11443,7 +11447,7 @@ mouse_urxvt Compiled with support for urxvt mouse.
mouse_xterm Compiled with support for xterm mouse. mouse_xterm Compiled with support for xterm mouse.
mouseshape Compiled with support for 'mouseshape'. mouseshape Compiled with support for 'mouseshape'.
multi_byte Compiled with support for 'encoding' (always true) multi_byte Compiled with support for 'encoding' (always true)
multi_byte_encoding 'encoding' is set to a multi-byte encoding. multi_byte_encoding 'encoding' is set to a multibyte encoding.
multi_byte_ime Compiled with support for IME input method. multi_byte_ime Compiled with support for IME input method.
multi_lang Compiled with support for multiple languages. multi_lang Compiled with support for multiple languages.
mzscheme Compiled with MzScheme interface |mzscheme|. mzscheme Compiled with MzScheme interface |mzscheme|.

View File

@@ -1,4 +1,4 @@
*help.txt* For Vim version 8.2. Last change: 2020 Apr 05 *help.txt* For Vim version 8.2. Last change: 2020 Aug 15
VIM - main help file VIM - main help file
k k
@@ -158,7 +158,7 @@ Programming language support ~
Language support ~ Language support ~
|digraph.txt| list of available digraphs |digraph.txt| list of available digraphs
|mbyte.txt| multi-byte text support |mbyte.txt| multibyte text support
|mlang.txt| non-English language support |mlang.txt| non-English language support
|rileft.txt| right-to-left editing mode |rileft.txt| right-to-left editing mode
|arabic.txt| Arabic language support and editing |arabic.txt| Arabic language support and editing

View File

@@ -1,4 +1,4 @@
*intro.txt* For Vim version 8.2. Last change: 2020 May 30 *intro.txt* For Vim version 8.2. Last change: 2020 Aug 15
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -232,8 +232,8 @@ Vim would never have become what it is now, without the help of these people!
Flemming Madsen X11 client-server, various features and patches Flemming Madsen X11 client-server, various features and patches
Tony Mechelynck answers many user questions Tony Mechelynck answers many user questions
Paul Moore Python interface extensions, many patches Paul Moore Python interface extensions, many patches
Katsuhito Nagano Work on multi-byte versions Katsuhito Nagano Work on multibyte versions
Sung-Hyun Nam Work on multi-byte versions Sung-Hyun Nam Work on multibyte versions
Vince Negri Win32 GUI and generic console enhancements Vince Negri Win32 GUI and generic console enhancements
Steve Oualline Author of the first Vim book |frombook| Steve Oualline Author of the first Vim book |frombook|
Dominique Pelle Valgrind reports and many fixes Dominique Pelle Valgrind reports and many fixes
@@ -510,7 +510,7 @@ the ":map" command. The rules are:
<M-a> Meta- a ('a' with bit 8 set) <M-a> Meta- a ('a' with bit 8 set)
<M-A> Meta- A ('A' with bit 8 set) <M-A> Meta- A ('A' with bit 8 set)
<t_kd> "kd" termcap entry (cursor down key) <t_kd> "kd" termcap entry (cursor down key)
Although you can specify <M-{char}> with {char} being a multi-byte Although you can specify <M-{char}> with {char} being a multibyte
character, Vim may not be able to know what byte sequence that is and then character, Vim may not be able to know what byte sequence that is and then
it won't work. it won't work.

View File

@@ -1,4 +1,4 @@
*map.txt* For Vim version 8.2. Last change: 2020 Aug 01 *map.txt* For Vim version 8.2. Last change: 2020 Aug 30
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -191,6 +191,12 @@ whether to use the "," mapping or the longer one. To avoid this add the
<nowait> argument. Then the mapping will be used when it matches, Vim does <nowait> argument. Then the mapping will be used when it matches, Vim does
not wait for more characters to be typed. However, if the characters were not wait for more characters to be typed. However, if the characters were
already typed they are used. already typed they are used.
Note that this works when the <nowait> mapping fully matches and is found
before any partial matches. This works when:
- There is only one matching buffer-local mapping, since these are always
found before global mappings.
- There is another buffer-local mapping that partly matches, but it is was
defined earlier (last defined mapping is found first).
*:map-<silent>* *:map-silent* *:map-<silent>* *:map-silent*
To define a mapping which will not be echoed on the command line, add To define a mapping which will not be echoed on the command line, add
@@ -595,7 +601,7 @@ construct can be used:
<Char-033> character 27 <Char-033> character 27
<Char-0x7f> character 127 <Char-0x7f> character 127
<S-Char-114> character 114 ('r') shifted ('R') <S-Char-114> character 114 ('r') shifted ('R')
This is useful to specify a (multi-byte) character in a 'keymap' file. This is useful to specify a (multibyte) character in a 'keymap' file.
Upper and lowercase differences are ignored. Upper and lowercase differences are ignored.
*map-comments* *map-comments*

View File

@@ -1,4 +1,4 @@
*mbyte.txt* For Vim version 8.2. Last change: 2019 Jul 04 *mbyte.txt* For Vim version 8.2. Last change: 2020 Aug 15
VIM REFERENCE MANUAL by Bram Moolenaar et al. VIM REFERENCE MANUAL by Bram Moolenaar et al.
@@ -36,7 +36,7 @@ characters or boxes when using another encoding.
This is a summary of the multibyte features in Vim. If you are lucky it works This is a summary of the multibyte features in Vim. If you are lucky it works
as described and you can start using Vim without much trouble. If something as described and you can start using Vim without much trouble. If something
doesn't work you will have to read the rest. Don't be surprised if it takes doesn't work you will have to read the rest. Don't be surprised if it takes
quite a bit of work and experimenting to make Vim use all the multi-byte quite a bit of work and experimenting to make Vim use all the multibyte
features. Unfortunately, every system has its own way to deal with multibyte features. Unfortunately, every system has its own way to deal with multibyte
languages and it is quite complicated. languages and it is quite complicated.
@@ -123,7 +123,7 @@ You can also set 'guifont' alone, Vim will try to find a matching
INPUT INPUT
There are several ways to enter multi-byte characters: There are several ways to enter multibyte characters:
- For X11 XIM can be used. See |XIM|. - For X11 XIM can be used. See |XIM|.
- For MS-Windows IME can be used. See |IME|. - For MS-Windows IME can be used. See |IME|.
- For all systems keymaps can be used. See |mbyte-keymap|. - For all systems keymaps can be used. See |mbyte-keymap|.
@@ -237,11 +237,11 @@ encoded with one byte, we call this a single-byte encoding. The most often
used one is called "latin1". This limits the number of characters to 256. used one is called "latin1". This limits the number of characters to 256.
Some of these are control characters, thus even fewer can be used for text. Some of these are control characters, thus even fewer can be used for text.
When some characters use two or more bytes, we call this a multi-byte When some characters use two or more bytes, we call this a multibyte
encoding. This allows using much more than 256 characters, which is required encoding. This allows using much more than 256 characters, which is required
for most East Asian languages. for most East Asian languages.
Most multi-byte encodings use one byte for the first 127 characters. These Most multibyte encodings use one byte for the first 127 characters. These
are equal to ASCII, which makes it easy to exchange plain-ASCII text, no are equal to ASCII, which makes it easy to exchange plain-ASCII text, no
matter what language is used. Thus you might see the right text even when the matter what language is used. Thus you might see the right text even when the
encoding was set wrong. encoding was set wrong.
@@ -488,11 +488,11 @@ possible.
============================================================================== ==============================================================================
4. Using a terminal *mbyte-terminal* 4. Using a terminal *mbyte-terminal*
The GUI fully supports multi-byte characters. It is also possible in a The GUI fully supports multibyte characters. It is also possible in a
terminal, if the terminal supports the same encoding that Vim uses. Thus this terminal, if the terminal supports the same encoding that Vim uses. Thus this
is less flexible. is less flexible.
For example, you can run Vim in a xterm with added multi-byte support and/or For example, you can run Vim in a xterm with added multibyte support and/or
|XIM|. Examples are kterm (Kanji term) and hanterm (for Korean), Eterm |XIM|. Examples are kterm (Kanji term) and hanterm (for Korean), Eterm
(Enlightened terminal) and rxvt. (Enlightened terminal) and rxvt.
@@ -544,7 +544,7 @@ For Vim you may need to set 'encoding' to "utf-8".
5. Fonts on X11 *mbyte-fonts-X11* 5. Fonts on X11 *mbyte-fonts-X11*
Unfortunately, using fonts in X11 is complicated. The name of a single-byte Unfortunately, using fonts in X11 is complicated. The name of a single-byte
font is a long string. For multi-byte fonts we need several of these... font is a long string. For multibyte fonts we need several of these...
Note: Most of this is no longer relevant for GTK+ 2. Selecting a font via Note: Most of this is no longer relevant for GTK+ 2. Selecting a font via
its XLFD is not supported; see 'guifont' for an example of how to its XLFD is not supported; see 'guifont' for an example of how to
@@ -610,7 +610,7 @@ written like:
X FONTSET X FONTSET
*fontset* *xfontset* *fontset* *xfontset*
A single-byte charset is typically associated with one font. For multi-byte A single-byte charset is typically associated with one font. For multibyte
charsets a combination of fonts is often used. This means that one group of charsets a combination of fonts is often used. This means that one group of
characters are used from one font and another group from another font (which characters are used from one font and another group from another font (which
might be double wide). This collection of fonts is called a fontset. might be double wide). This collection of fonts is called a fontset.
@@ -1436,7 +1436,7 @@ not everybody is able to type a composing character.
============================================================================== ==============================================================================
12. Overview of options *mbyte-options* 12. Overview of options *mbyte-options*
These options are relevant for editing multi-byte files. Check the help in These options are relevant for editing multibyte files. Check the help in
options.txt for detailed information. options.txt for detailed information.
'encoding' Encoding used for the keyboard and display. It is also the 'encoding' Encoding used for the keyboard and display. It is also the
@@ -1456,14 +1456,14 @@ options.txt for detailed information.
languages where a sequence of characters can be broken languages where a sequence of characters can be broken
anywhere. anywhere.
'guifontset' The list of font names used for a multi-byte encoding. When 'guifontset' The list of font names used for a multibyte encoding. When
this option is not empty, it replaces 'guifont'. this option is not empty, it replaces 'guifont'.
'keymap' Specify the name of a keyboard mapping. 'keymap' Specify the name of a keyboard mapping.
============================================================================== ==============================================================================
Contributions specifically for the multi-byte features by: Contributions specifically for the multibyte features by:
Chi-Deok Hwang <hwang@mizi.co.kr> Chi-Deok Hwang <hwang@mizi.co.kr>
SungHyun Nam <goweol@gmail.com> SungHyun Nam <goweol@gmail.com>
K.Nagano <nagano@atese.advantest.co.jp> K.Nagano <nagano@atese.advantest.co.jp>

View File

@@ -1,4 +1,4 @@
*message.txt* For Vim version 8.2. Last change: 2020 Jan 01 *message.txt* For Vim version 8.2. Last change: 2020 Aug 20
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -19,13 +19,14 @@ The ":messages" command can be used to view previously given messages. This
is especially useful when messages have been overwritten or truncated. This is especially useful when messages have been overwritten or truncated. This
depends on the 'shortmess' option. depends on the 'shortmess' option.
:messages Show all messages. :mes[sages] Show all messages.
:{count}messages Show the {count} most recent messages. :{count}mes[sages] Show the {count} most recent messages.
:messages clear Clear all messages. :mes[sages] clear Clear all messages.
:{count}messages clear Clear messages, keeping only the {count} most :{count}mes[sages] clear
Clear messages, keeping only the {count} most
recent ones. recent ones.
The number of remembered messages is fixed at 20 for the tiny version and 200 The number of remembered messages is fixed at 20 for the tiny version and 200

View File

@@ -1,4 +1,4 @@
*mlang.txt* For Vim version 8.2. Last change: 2020 Jun 16 *mlang.txt* For Vim version 8.2. Last change: 2020 Aug 15
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -7,7 +7,7 @@
Multi-language features *multilang* *multi-lang* Multi-language features *multilang* *multi-lang*
This is about using messages and menus in various languages. For editing This is about using messages and menus in various languages. For editing
multi-byte text see |multibyte|. multibyte text see |multibyte|.
The basics are explained in the user manual: |usr_45.txt|. The basics are explained in the user manual: |usr_45.txt|.

View File

@@ -1,4 +1,4 @@
*motion.txt* For Vim version 8.2. Last change: 2019 Nov 16 *motion.txt* For Vim version 8.2. Last change: 2020 Aug 24
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -495,10 +495,11 @@ a set of section macros, specified by the pairs of characters in the
'sections' option. The default is "SHNHH HUnhsh", which defines a section to 'sections' option. The default is "SHNHH HUnhsh", which defines a section to
start at the nroff macros ".SH", ".NH", ".H", ".HU", ".nh" and ".sh". start at the nroff macros ".SH", ".NH", ".H", ".HU", ".nh" and ".sh".
The "]" and "[" commands stop at the '{' or '}' in the first column. This is The "]]" and "[[" commands stop at the '{' in the first column. This is
useful to find the start or end of a function in a C program. Note that the useful to find the start of a function in a C program. To search for a '}' in
first character of the command determines the search direction and the the first column, the end of a C function, use "][" (forward) or "[]"
second character the type of brace found. (backward). Note that the first character of the command determines the
search direction.
If your '{' or '}' are not in the first column, and you would like to use "[[" If your '{' or '}' are not in the first column, and you would like to use "[["
and "]]" anyway, try these mappings: > and "]]" anyway, try these mappings: >
@@ -1142,7 +1143,7 @@ sequence of small changes in a line, for example "xxxxx", adds many positions
to the change list. When 'textwidth' is zero 'wrapmargin' is used. When that to the change list. When 'textwidth' is zero 'wrapmargin' is used. When that
also isn't set a fixed number of 79 is used. Detail: For the computations also isn't set a fixed number of 79 is used. Detail: For the computations
bytes are used, not characters, to avoid a speed penalty (this only matters bytes are used, not characters, to avoid a speed penalty (this only matters
for multi-byte encodings). for multibyte encodings).
Note that when text has been inserted or deleted the cursor position might be Note that when text has been inserted or deleted the cursor position might be
a bit different from the position of the change. Especially when lines have a bit different from the position of the change. Especially when lines have

View File

@@ -1,4 +1,4 @@
*netbeans.txt* For Vim version 8.2. Last change: 2020 Apr 19 *netbeans.txt* For Vim version 8.2. Last change: 2020 Aug 15
VIM REFERENCE MANUAL by Gordon Prieur et al. VIM REFERENCE MANUAL by Gordon Prieur et al.
@@ -362,12 +362,12 @@ color Argument with either a decimal number, "none" (without the
offset A number argument that indicates a byte position in a buffer. offset A number argument that indicates a byte position in a buffer.
The first byte has offset zero. Line breaks are counted for The first byte has offset zero. Line breaks are counted for
how they appear in the file (CR/LF counts for two bytes). how they appear in the file (CR/LF counts for two bytes).
Note that a multi-byte character is counted for the number of Note that a multibyte character is counted for the number of
bytes it takes. bytes it takes.
lnum/col Argument with a line number and column number position. The lnum/col Argument with a line number and column number position. The
line number starts with one, the column is the byte position, line number starts with one, the column is the byte position,
starting with zero. Note that a multi-byte character counts starting with zero. Note that a multibyte character counts
for several columns. for several columns.
pathname String argument: file name with full path. pathname String argument: file name with full path.

View File

@@ -1,4 +1,4 @@
*options.txt* For Vim version 8.2. Last change: 2020 Aug 13 *options.txt* For Vim version 8.2. Last change: 2020 Aug 28
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -2735,8 +2735,9 @@ A jump table for the options with a short description can be found at |Q_op|.
is replaced with the path name of the edited file. is replaced with the path name of the edited file.
- For Unix and Win32, if a directory ends in two path separators "//", - For Unix and Win32, if a directory ends in two path separators "//",
the swap file name will be built from the complete path to the file the swap file name will be built from the complete path to the file
with all path separators substituted to percent '%' signs. This will with all path separators replaced by percent '%' signs (including
ensure file name uniqueness in the preserve directory. the colon following the drive letter on Win32). This will ensure
file name uniqueness in the preserve directory.
On Win32, it is also possible to end with "\\". However, When a On Win32, it is also possible to end with "\\". However, When a
separating comma is following, you must use "//", since "\\" will separating comma is following, you must use "//", since "\\" will
include the comma in the file name. Therefore it is recommended to include the comma in the file name. Therefore it is recommended to
@@ -2834,7 +2835,7 @@ A jump table for the options with a short description can be found at |Q_op|.
This is specified with 'fileencoding'. The conversion is done with This is specified with 'fileencoding'. The conversion is done with
iconv() or as specified with 'charconvert'. iconv() or as specified with 'charconvert'.
If you need to know whether 'encoding' is a multi-byte encoding, you If you need to know whether 'encoding' is a multibyte encoding, you
can use: > can use: >
if has("multi_byte_encoding") if has("multi_byte_encoding")
< <
@@ -6189,7 +6190,7 @@ A jump table for the options with a short description can be found at |Q_op|.
screen. If the statusline is given by 'statusline' (i.e. not empty), screen. If the statusline is given by 'statusline' (i.e. not empty),
this option takes precedence over 'ruler' and 'rulerformat' this option takes precedence over 'ruler' and 'rulerformat'
If the number of characters displayed is different from the number of If the number of characters displayed is different from the number of
bytes in the text (e.g., for a TAB or a multi-byte character), both bytes in the text (e.g., for a TAB or a multibyte character), both
the text column (byte number) and the screen column are shown, the text column (byte number) and the screen column are shown,
separated with a dash. separated with a dash.
For an empty line "0-1" is shown. For an empty line "0-1" is shown.

View File

@@ -1,4 +1,4 @@
*pattern.txt* For Vim version 8.2. Last change: 2020 Jul 10 *pattern.txt* For Vim version 8.2. Last change: 2020 Aug 15
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -939,7 +939,7 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
These three can be used to match specific columns in a buffer or These three can be used to match specific columns in a buffer or
string. The "23" can be any column number. The first column is 1. string. The "23" can be any column number. The first column is 1.
Actually, the column is the byte number (thus it's not exactly right Actually, the column is the byte number (thus it's not exactly right
for multi-byte characters). for multibyte characters).
WARNING: When inserting or deleting text Vim does not automatically WARNING: When inserting or deleting text Vim does not automatically
update the matches. This means Syntax highlighting quickly becomes update the matches. This means Syntax highlighting quickly becomes
wrong. wrong.
@@ -994,7 +994,7 @@ Character classes:
\p printable character (see 'isprint' option) */\p* \p printable character (see 'isprint' option) */\p*
\P like "\p", but excluding digits */\P* \P like "\p", but excluding digits */\P*
NOTE: the above also work for multi-byte characters. The ones below only NOTE: the above also work for multibyte characters. The ones below only
match ASCII characters, as indicated by the range. match ASCII characters, as indicated by the range.
*whitespace* *white-space* *whitespace* *white-space*
@@ -1131,9 +1131,9 @@ x A single character, with no special meaning, matches itself
a list of at least one character, each of which is either '-', '.', a list of at least one character, each of which is either '-', '.',
'/', alphabetic, numeric, '_' or '~'. '/', alphabetic, numeric, '_' or '~'.
These items only work for 8-bit characters, except [:lower:] and These items only work for 8-bit characters, except [:lower:] and
[:upper:] also work for multi-byte characters when using the new [:upper:] also work for multibyte characters when using the new
regexp engine. See |two-engines|. In the future these items may regexp engine. See |two-engines|. In the future these items may
work for multi-byte characters. For now, to get all "alpha" work for multibyte characters. For now, to get all "alpha"
characters you can use: [[:lower:][:upper:]]. characters you can use: [[:lower:][:upper:]].
The "Func" column shows what library function is used. The The "Func" column shows what library function is used. The
@@ -1257,8 +1257,8 @@ When working with expression evaluation, a <NL> character in the pattern
matches a <NL> in the string. The use of "\n" (backslash n) to match a <NL> matches a <NL> in the string. The use of "\n" (backslash n) to match a <NL>
doesn't work there, it only works to match text in the buffer. doesn't work there, it only works to match text in the buffer.
*pattern-multi-byte* *pattern-multi-byte* *pattern-multibyte*
Patterns will also work with multi-byte characters, mostly as you would Patterns will also work with multibyte characters, mostly as you would
expect. But invalid bytes may cause trouble, a pattern with an invalid byte expect. But invalid bytes may cause trouble, a pattern with an invalid byte
will probably never match. will probably never match.

View File

@@ -1,4 +1,4 @@
*pi_netrw.txt* For Vim version 8.2. Last change: 2020 Jan 14 *pi_netrw.txt* For Vim version 8.2. Last change: 2020 Aug 15
------------------------------------------------ ------------------------------------------------
NETRW REFERENCE MANUAL by Charles E. Campbell NETRW REFERENCE MANUAL by Charles E. Campbell
@@ -3054,7 +3054,7 @@ your browsing preferences. (see also: |netrw-settings|)
(see |netrw-c-tab|). (see |netrw-c-tab|).
*g:netrw_xstrlen* Controls how netrw computes string lengths, *g:netrw_xstrlen* Controls how netrw computes string lengths,
including multi-byte characters' string including multibyte characters' string
length. (thanks to N Weibull, T Mechelynck) length. (thanks to N Weibull, T Mechelynck)
=0: uses Vim's built-in strlen() =0: uses Vim's built-in strlen()
=1: number of codepoints (Latin a + combining =1: number of codepoints (Latin a + combining

View File

@@ -1,4 +1,4 @@
*print.txt* For Vim version 8.2. Last change: 2019 Dec 17 *print.txt* For Vim version 8.2. Last change: 2020 Aug 15
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -114,7 +114,7 @@ If 'printencoding' is empty or Vim cannot find the file then it will use
encoding file. If Vim is unable to find a character encoding file then it encoding file. If Vim is unable to find a character encoding file then it
will use the "latin1" print character encoding file. will use the "latin1" print character encoding file.
When 'encoding' is set to a multi-byte encoding, Vim will try to convert When 'encoding' is set to a multibyte encoding, Vim will try to convert
characters to the printing encoding for printing (if 'printencoding' is empty characters to the printing encoding for printing (if 'printencoding' is empty
then the conversion will be to latin1). Conversion to a printing encoding then the conversion will be to latin1). Conversion to a printing encoding
other than latin1 will require Vim to be compiled with the |+iconv| feature. other than latin1 will require Vim to be compiled with the |+iconv| feature.
@@ -269,7 +269,7 @@ Japanese text you would do the following; >
:set printmbcharset=JIS_X_1983 :set printmbcharset=JIS_X_1983
If 'printmbcharset' is not one of the above values then it is assumed to If 'printmbcharset' is not one of the above values then it is assumed to
specify a custom multi-byte character set and no check will be made that it is specify a custom multibyte character set and no check will be made that it is
compatible with the value for 'printencoding'. Vim will look for a file compatible with the value for 'printencoding'. Vim will look for a file
defining the character set in the "print" directory in 'runtimepath'. defining the character set in the "print" directory in 'runtimepath'.
@@ -304,7 +304,7 @@ printing of characters in the ASCII code range.
a:yes Use ASCII character set for codes in the ASCII a:yes Use ASCII character set for codes in the ASCII
a:no (default) code range. a:no (default) code range.
The following is an example of specifying two multi-byte fonts, one for normal The following is an example of specifying two multibyte fonts, one for normal
and italic printing and one for bold and bold-italic printing, and using and italic printing and one for bold and bold-italic printing, and using
Courier to print codes in the ASCII code range but using the national Courier to print codes in the ASCII code range but using the national
character set: > character set: >
@@ -420,10 +420,10 @@ There are currently a number of limitations with PostScript printing:
possible to get all the characters in an encoding to print by installing a possible to get all the characters in an encoding to print by installing a
new version of the Courier font family. new version of the Courier font family.
- Multi-byte support - Currently Vim will try to convert multi-byte characters - Multi-byte support - Currently Vim will try to convert multibyte characters
to the 8-bit encoding specified by 'printencoding' (or latin1 if it is to the 8-bit encoding specified by 'printencoding' (or latin1 if it is
empty). Any characters that are not successfully converted are shown as empty). Any characters that are not successfully converted are shown as
unknown characters. Printing will fail if Vim cannot convert the multi-byte unknown characters. Printing will fail if Vim cannot convert the multibyte
to the 8-bit encoding. to the 8-bit encoding.
============================================================================== ==============================================================================
@@ -508,7 +508,7 @@ print ASCII text using the national character set you may see some unexpected
characters. If you want true ASCII code printing then you need to configure characters. If you want true ASCII code printing then you need to configure
Vim to output ASCII characters for the ASCII code range with 'printmbfont'. Vim to output ASCII characters for the ASCII code range with 'printmbfont'.
It is possible to define your own multi-byte character set although this It is possible to define your own multibyte character set although this
should not be attempted lightly. A discussion on the process if beyond the should not be attempted lightly. A discussion on the process if beyond the
scope of these help files. You can find details on CMap (character map) files scope of these help files. You can find details on CMap (character map) files
in the document 'Adobe CMap and CIDFont Files Specification, Version 1.0', in the document 'Adobe CMap and CIDFont Files Specification, Version 1.0',

View File

@@ -1,4 +1,4 @@
*quickref.txt* For Vim version 8.2. Last change: 2020 Jun 10 *quickref.txt* For Vim version 8.2. Last change: 2020 Aug 15
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -696,7 +696,7 @@ Short explanation of each option: *option-list*
'eventignore' 'ei' autocommand events that are ignored 'eventignore' 'ei' autocommand events that are ignored
'expandtab' 'et' use spaces when <Tab> is inserted 'expandtab' 'et' use spaces when <Tab> is inserted
'exrc' 'ex' read .vimrc and .exrc in the current directory 'exrc' 'ex' read .vimrc and .exrc in the current directory
'fileencoding' 'fenc' file encoding for multi-byte text 'fileencoding' 'fenc' file encoding for multibyte text
'fileencodings' 'fencs' automatically detected character encodings 'fileencodings' 'fencs' automatically detected character encodings
'fileformat' 'ff' file format used for file I/O 'fileformat' 'ff' file format used for file I/O
'fileformats' 'ffs' automatically detected values for 'fileformat' 'fileformats' 'ffs' automatically detected values for 'fileformat'
@@ -728,7 +728,7 @@ Short explanation of each option: *option-list*
'grepprg' 'gp' program to use for ":grep" 'grepprg' 'gp' program to use for ":grep"
'guicursor' 'gcr' GUI: settings for cursor shape and blinking 'guicursor' 'gcr' GUI: settings for cursor shape and blinking
'guifont' 'gfn' GUI: Name(s) of font(s) to be used 'guifont' 'gfn' GUI: Name(s) of font(s) to be used
'guifontset' 'gfs' GUI: Names of multi-byte fonts to be used 'guifontset' 'gfs' GUI: Names of multibyte fonts to be used
'guifontwide' 'gfw' list of font names for double-wide characters 'guifontwide' 'gfw' list of font names for double-wide characters
'guiheadroom' 'ghr' GUI: pixels room for window decorations 'guiheadroom' 'ghr' GUI: pixels room for window decorations
'guioptions' 'go' GUI: Which components and options are used 'guioptions' 'go' GUI: Which components and options are used

View File

@@ -887,7 +887,7 @@ time ":mkspell" is used. Vim will then convert everything to 'encoding' and
generate a spell file for 'encoding'. If some of the used characters to not generate a spell file for 'encoding'. If some of the used characters to not
fit in 'encoding' you will get an error message. fit in 'encoding' you will get an error message.
*spell-affix-mbyte* *spell-affix-mbyte*
When using a multi-byte encoding it's possible to use more different affix When using a multibyte encoding it's possible to use more different affix
flags. But Myspell doesn't support that, thus you may not want to use it flags. But Myspell doesn't support that, thus you may not want to use it
anyway. For compatibility use an 8-bit encoding. anyway. For compatibility use an 8-bit encoding.

View File

@@ -1,4 +1,4 @@
*syntax.txt* For Vim version 8.2. Last change: 2020 Jul 28 *syntax.txt* For Vim version 8.2. Last change: 2020 Aug 15
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -4348,7 +4348,7 @@ Notes:
- A negative offset for an end pattern may not always work, because the end - A negative offset for an end pattern may not always work, because the end
pattern may be detected when the highlighting should already have stopped. pattern may be detected when the highlighting should already have stopped.
- Before Vim 7.2 the offsets were counted in bytes instead of characters. - Before Vim 7.2 the offsets were counted in bytes instead of characters.
This didn't work well for multi-byte characters, so it was changed with the This didn't work well for multibyte characters, so it was changed with the
Vim 7.2 release. Vim 7.2 release.
- The start of a match cannot be in a line other than where the pattern - The start of a match cannot be in a line other than where the pattern
matched. This doesn't work: "a\nb"ms=e. You can make the highlighting matched. This doesn't work: "a\nb"ms=e. You can make the highlighting

View File

@@ -3894,6 +3894,8 @@ E10 message.txt /*E10*
E100 diff.txt /*E100* E100 diff.txt /*E100*
E101 diff.txt /*E101* E101 diff.txt /*E101*
E102 diff.txt /*E102* E102 diff.txt /*E102*
E1023 vim9.txt /*E1023*
E1024 vim9.txt /*E1024*
E103 diff.txt /*E103* E103 diff.txt /*E103*
E104 digraph.txt /*E104* E104 digraph.txt /*E104*
E1042 vim9.txt /*E1042* E1042 vim9.txt /*E1042*
@@ -3906,7 +3908,12 @@ E1092 vim9.txt /*E1092*
E1094 vim9.txt /*E1094* E1094 vim9.txt /*E1094*
E11 cmdline.txt /*E11* E11 cmdline.txt /*E11*
E110 eval.txt /*E110* E110 eval.txt /*E110*
E1109 eval.txt /*E1109*
E111 eval.txt /*E111* E111 eval.txt /*E111*
E1110 eval.txt /*E1110*
E1111 eval.txt /*E1111*
E1112 eval.txt /*E1112*
E1113 eval.txt /*E1113*
E112 eval.txt /*E112* E112 eval.txt /*E112*
E113 eval.txt /*E113* E113 eval.txt /*E113*
E114 eval.txt /*E114* E114 eval.txt /*E114*
@@ -4437,6 +4444,7 @@ E607 eval.txt /*E607*
E608 eval.txt /*E608* E608 eval.txt /*E608*
E609 if_cscop.txt /*E609* E609 if_cscop.txt /*E609*
E61 pattern.txt /*E61* E61 pattern.txt /*E61*
E610 editing.txt /*E610*
E612 sign.txt /*E612* E612 sign.txt /*E612*
E613 print.txt /*E613* E613 print.txt /*E613*
E614 editing.txt /*E614* E614 editing.txt /*E614*
@@ -5722,6 +5730,7 @@ char2nr() eval.txt /*char2nr()*
characterwise motion.txt /*characterwise* characterwise motion.txt /*characterwise*
characterwise-register change.txt /*characterwise-register* characterwise-register change.txt /*characterwise-register*
characterwise-visual visual.txt /*characterwise-visual* characterwise-visual visual.txt /*characterwise-visual*
charclass() eval.txt /*charclass()*
charconvert_from-variable eval.txt /*charconvert_from-variable* charconvert_from-variable eval.txt /*charconvert_from-variable*
charconvert_to-variable eval.txt /*charconvert_to-variable* charconvert_to-variable eval.txt /*charconvert_to-variable*
charity uganda.txt /*charity* charity uganda.txt /*charity*
@@ -6949,6 +6958,7 @@ gettabinfo() eval.txt /*gettabinfo()*
gettabvar() eval.txt /*gettabvar()* gettabvar() eval.txt /*gettabvar()*
gettabwinvar() eval.txt /*gettabwinvar()* gettabwinvar() eval.txt /*gettabwinvar()*
gettagstack() eval.txt /*gettagstack()* gettagstack() eval.txt /*gettagstack()*
gettext() eval.txt /*gettext()*
getwininfo() eval.txt /*getwininfo()* getwininfo() eval.txt /*getwininfo()*
getwinpos() eval.txt /*getwinpos()* getwinpos() eval.txt /*getwinpos()*
getwinposx() eval.txt /*getwinposx()* getwinposx() eval.txt /*getwinposx()*
@@ -8154,6 +8164,7 @@ new-more-highlighting version7.txt /*new-more-highlighting*
new-more-unicode version7.txt /*new-more-unicode* new-more-unicode version7.txt /*new-more-unicode*
new-multi-byte version5.txt /*new-multi-byte* new-multi-byte version5.txt /*new-multi-byte*
new-multi-lang version6.txt /*new-multi-lang* new-multi-lang version6.txt /*new-multi-lang*
new-multibyte version5.txt /*new-multibyte*
new-netrw-explore version7.txt /*new-netrw-explore* new-netrw-explore version7.txt /*new-netrw-explore*
new-network-files version6.txt /*new-network-files* new-network-files version6.txt /*new-network-files*
new-omni-completion version7.txt /*new-omni-completion* new-omni-completion version7.txt /*new-omni-completion*
@@ -8167,7 +8178,7 @@ new-persistent-undo version7.txt /*new-persistent-undo*
new-plugins version6.txt /*new-plugins* new-plugins version6.txt /*new-plugins*
new-popup-window version8.txt /*new-popup-window* new-popup-window version8.txt /*new-popup-window*
new-posix version7.txt /*new-posix* new-posix version7.txt /*new-posix*
new-print-multi-byte version7.txt /*new-print-multi-byte* new-print-multibyte version7.txt /*new-print-multibyte*
new-printing version6.txt /*new-printing* new-printing version6.txt /*new-printing*
new-python3 version7.txt /*new-python3* new-python3 version7.txt /*new-python3*
new-regexp-engine version7.txt /*new-regexp-engine* new-regexp-engine version7.txt /*new-regexp-engine*
@@ -8310,6 +8321,7 @@ pattern-atoms pattern.txt /*pattern-atoms*
pattern-delimiter change.txt /*pattern-delimiter* pattern-delimiter change.txt /*pattern-delimiter*
pattern-multi-byte pattern.txt /*pattern-multi-byte* pattern-multi-byte pattern.txt /*pattern-multi-byte*
pattern-multi-items pattern.txt /*pattern-multi-items* pattern-multi-items pattern.txt /*pattern-multi-items*
pattern-multibyte pattern.txt /*pattern-multibyte*
pattern-overview pattern.txt /*pattern-overview* pattern-overview pattern.txt /*pattern-overview*
pattern-searches pattern.txt /*pattern-searches* pattern-searches pattern.txt /*pattern-searches*
pattern.txt pattern.txt /*pattern.txt* pattern.txt pattern.txt /*pattern.txt*
@@ -8821,6 +8833,7 @@ set-option options.txt /*set-option*
set-spc-auto spell.txt /*set-spc-auto* set-spc-auto spell.txt /*set-spc-auto*
setbufline() eval.txt /*setbufline()* setbufline() eval.txt /*setbufline()*
setbufvar() eval.txt /*setbufvar()* setbufvar() eval.txt /*setbufvar()*
setcellwidths() eval.txt /*setcellwidths()*
setcharsearch() eval.txt /*setcharsearch()* setcharsearch() eval.txt /*setcharsearch()*
setcmdpos() eval.txt /*setcmdpos()* setcmdpos() eval.txt /*setcmdpos()*
setenv() eval.txt /*setenv()* setenv() eval.txt /*setenv()*
@@ -9643,6 +9656,7 @@ twice if_cscop.txt /*twice*
two-engines pattern.txt /*two-engines* two-engines pattern.txt /*two-engines*
type() eval.txt /*type()* type() eval.txt /*type()*
type-casting vim9.txt /*type-casting* type-casting vim9.txt /*type-casting*
type-checking vim9.txt /*type-checking*
type-inference vim9.txt /*type-inference* type-inference vim9.txt /*type-inference*
type-mistakes tips.txt /*type-mistakes* type-mistakes tips.txt /*type-mistakes*
typecorr-settings usr_41.txt /*typecorr-settings* typecorr-settings usr_41.txt /*typecorr-settings*

View File

@@ -1,4 +1,4 @@
*testing.txt* For Vim version 8.2. Last change: 2020 Jul 11 *testing.txt* For Vim version 8.2. Last change: 2020 Aug 17
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar

View File

@@ -1,4 +1,4 @@
*todo.txt* For Vim version 8.2. Last change: 2020 Aug 15 *todo.txt* For Vim version 8.2. Last change: 2020 Aug 29
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -38,25 +38,25 @@ browser use: https://github.com/vim/vim/issues/1234
*known-bugs* *known-bugs*
-------------------- Known bugs and current work ----------------------- -------------------- Known bugs and current work -----------------------
What is the way to get the character under the cursor? With or without Why does Test_invalid_sid() not work in the GUI?
composing characters. getline(".") and then use col(".") somehow?
Add charidx() perhaps?
Making everything work: Making everything work:
- Slice of list: [1, 2, 3][1:2]. - Check :const works the same as in legacy script.
- Slice of string: "abc"[1:2]. (#6709)
- Run the same tests in :def and Vim9 script, like in Test_expr7_not() - Run the same tests in :def and Vim9 script, like in Test_expr7_not()
- :put with a "=" register argument doesn't work, need to find the expression - :put with a "=" register argument doesn't work, need to find the expression
and compile it. (#6397) and compile it. (#6397)
- At the script level, keep script variables local to the block they are - At the Vim9 script level, keep script variables local to the block they are
declared in? Need to remember what variables were declared and delete them declared in? Need to remember what variables were declared and delete them
when leaving the block. when leaving the block.
- Implement { } block at the script level. - Implement { } block at the script level.
- Use the line number argument with assert_fails() in many more tests.
- In autocmd: use legacy syntax, not whatever the current script uses? - In autocmd: use legacy syntax, not whatever the current script uses?
- need to check type when a declaration specifies a type: #6507 - need to check type when a declaration specifies a type: #6507
let nr: number = 'asdf' let nr: number = 'asdf'
- Make sure that in vim9script a function call without namespace only finds - Make sure that in vim9script a function call without namespace only finds
the script-local function, not a global one. the script-local function, not a global one.
- Make sure that where a callback is expected a function can be used (without
quotes). E.g. sort() and map(). Also at the script level.
- Make map() give an error if the resulting type is wrong. - Make map() give an error if the resulting type is wrong.
Add mapnew() to create a new List/Dict for the result, which can have a Add mapnew() to create a new List/Dict for the result, which can have a
different value type. different value type.
@@ -261,23 +261,24 @@ Terminal emulator window:
- When 'encoding' is not utf-8, or the job is using another encoding, setup - When 'encoding' is not utf-8, or the job is using another encoding, setup
conversions. conversions.
Error numbers available: Error numbers available: E653
E610, E611, E653
Clean up empty entries in testdir/Make_all.mak Remove "MacOS X installation"? $APPDIR is no longer set.
Remove SPACE_IN_FILENAME ? It is only used for completion. Remove SPACE_IN_FILENAME ? It is only used for completion.
Patch to use collaction based sorting. (Christian Brabandt, #6229) Patch to use collation based sorting. (Christian Brabandt, #6229)
Add 'termguiattr' option, use "gui=" attributes in the terminal? Would work Add 'termguiattr' option, use "gui=" attributes in the terminal? Would work
with 'termguicolors'. #1740 with 'termguicolors'. #1740
Patch for blockwise paste reporting changes: #6660.
Can we detect true color support? https://gist.github.com/XVilka/8346728 Can we detect true color support? https://gist.github.com/XVilka/8346728
Try setting a color then request the current color, like using t_u7. Try setting a color then request the current color, like using t_u7.
Check out PR #543 (Roland Puntaier). Check out PR #543 (Roland Puntaier).
Patch for multi-byte characters in langmap and applying a mapping on them. Patch for multibyte characters in langmap and applying a mapping on them.
(Christian Brabandt, 2015 Jun 12, update July 25) (Christian Brabandt, 2015 Jun 12, update July 25)
Is this the right solution? Need to cleanup langmap behavior: Is this the right solution? Need to cleanup langmap behavior:
- in vgetorpeek() apply langmap to the typeahead buffer and put the result in - in vgetorpeek() apply langmap to the typeahead buffer and put the result in
@@ -424,6 +425,7 @@ Should do current file first and not split it up when more results are found.
Undo history wrong when ":next file" re-uses a buffer. (#5426) Undo history wrong when ":next file" re-uses a buffer. (#5426)
ex_next() should pass flag to do_argfile(), then to do_ecmd(). ex_next() should pass flag to do_argfile(), then to do_ecmd().
Is there a test for this?
Help for ":argadd fname" says that if "fname" is already in the argument list Help for ":argadd fname" says that if "fname" is already in the argument list
that entry is used. But instead it's always added. (#6210) that entry is used. But instead it's always added. (#6210)
@@ -1231,7 +1233,7 @@ Screen update bug related to matchparen. (Chris Heath, 2017 Mar 4, #1532)
Rule to use "^" for statusline does not work if a space is defined with Rule to use "^" for statusline does not work if a space is defined with
highlighting for both stl and stlnc. Patch by Ken Hamada (itchyny, 2016 Dec 11) highlighting for both stl and stlnc. Patch by Ken Hamada (itchyny, 2016 Dec 11)
8 "stl" and "stlnc" in 'fillchars' don't work for multi-byte characters. 8 "stl" and "stlnc" in 'fillchars' don't work for multibyte characters.
Patch by Christian Wellenbrock, 2013 Jul 5. Patch by Christian Wellenbrock, 2013 Jul 5.
Using CTRL-G_U in InsertCharPre causes trouble for redo. (Israel Chauca Using CTRL-G_U in InsertCharPre causes trouble for redo. (Israel Chauca
@@ -1382,7 +1384,7 @@ Regexp problems:
- Bug with pattern: '\vblock (\d+)\.\n.*\d+%(\1)@<!\.$' - Bug with pattern: '\vblock (\d+)\.\n.*\d+%(\1)@<!\.$'
(Lech Lorens, 2014 Feb 3) (Lech Lorens, 2014 Feb 3)
- Issue 164: freeze on regexp search. - Issue 164: freeze on regexp search.
- Ignorecase not handled properly for multi-byte characters. (Axel Bender, - Ignorecase not handled properly for multibyte characters. (Axel Bender,
2013 Dec 11) 2013 Dec 11)
- Using \@> and \?. (Brett Stahlman, 2013 Dec 21) Remark from Marcin - Using \@> and \?. (Brett Stahlman, 2013 Dec 21) Remark from Marcin
Szamotulski; Remark from Brett 2014 Jan 6 and 7. Szamotulski; Remark from Brett 2014 Jan 6 and 7.
@@ -1597,7 +1599,7 @@ Patch to add :mapgroup, put mappings in a group like augroup.
Value returned by virtcol() changes depending on how lines wrap. This is Value returned by virtcol() changes depending on how lines wrap. This is
inconsistent with the documentation. inconsistent with the documentation.
Value of virtcol() for '[ and '] depend on multi-byte character. Value of virtcol() for '[ and '] depend on multibyte character.
(Luchr, #277) (Luchr, #277)
Can we cache the syntax attributes, so that updates for 'relativenumber' and Can we cache the syntax attributes, so that updates for 'relativenumber' and
@@ -2129,7 +2131,7 @@ Also for another example (ZyX, 2011 Jan 24)
Build problem with small features on Mac OS X 10.6. (Rainer, 2011 Jan 24) Build problem with small features on Mac OS X 10.6. (Rainer, 2011 Jan 24)
"0g@$" puts '] on last byte of multi-byte. (ZyX, 2011 Jan 22) "0g@$" puts '] on last byte of multibyte. (ZyX, 2011 Jan 22)
Patch for :tabrecently. (Hirokazu Yoshida, 2012 Jan 30) Patch for :tabrecently. (Hirokazu Yoshida, 2012 Jan 30)
@@ -2636,7 +2638,7 @@ work, the backslash is removed, assuming that it escapes the (. (Valery
Kondakoff, 2009 May 13) Kondakoff, 2009 May 13)
Win32: Using "gvim --remote-tab-silent elŝuti.txt" doesn't work, the Win32: Using "gvim --remote-tab-silent elŝuti.txt" doesn't work, the
multi-byte character isn't passed and edits elsuti.txt. multibyte character isn't passed and edits elsuti.txt.
(Raúl Núñez de Arenas Coronado, 2015 Dec 18) (Raúl Núñez de Arenas Coronado, 2015 Dec 18)
Problem with 'langmap' being used on the rhs of a mapping. (Nikolai Weibull, Problem with 'langmap' being used on the rhs of a mapping. (Nikolai Weibull,
@@ -3197,7 +3199,7 @@ Awaiting updated patches:
7 ATTENTION dialog choices are more logical when "Delete it" appears 7 ATTENTION dialog choices are more logical when "Delete it" appears
before "Quit". Patch by Robert Webb, 2004 May 3. before "Quit". Patch by Robert Webb, 2004 May 3.
- Include flipcase patch: ~/vim/patches/wall.flipcase2 ? Make it work - Include flipcase patch: ~/vim/patches/wall.flipcase2 ? Make it work
for multi-byte characters. for multibyte characters.
- Win32: add options to print dialog. Patch from Vipin Aravind. - Win32: add options to print dialog. Patch from Vipin Aravind.
- Patch to add highlighting for whitespace. (Tom Schumm, 2003 Jul 5) - Patch to add highlighting for whitespace. (Tom Schumm, 2003 Jul 5)
use the patch that keeps using HLF_8 if HLF_WS has not use the patch that keeps using HLF_8 if HLF_WS has not
@@ -3693,8 +3695,8 @@ Macintosh:
8 'hkmap' should probably be global-local. 8 'hkmap' should probably be global-local.
8 Using ":s" in a function changes the previous replacement string. Save 8 Using ":s" in a function changes the previous replacement string. Save
"old_sub" in save_search_patterns()? "old_sub" in save_search_patterns()?
8 Should allow multi-byte characters for the delimiter: ":s+a+b+" where "+" 8 Should allow multibyte characters for the delimiter: ":s+a+b+" where "+"
is a multi-byte character. is a multibyte character.
8 When appending to a file and 'patchmode' isn't empty, a backup file is 8 When appending to a file and 'patchmode' isn't empty, a backup file is
always written, even when the original file already exists. always written, even when the original file already exists.
9 When getting focus while writing a large file, could warn for this file 9 When getting focus while writing a large file, could warn for this file
@@ -3997,7 +3999,7 @@ Documentation:
- change to cursor position and curswant - change to cursor position and curswant
- if it can be undone (u/CTRL-R) and redone (.) - if it can be undone (u/CTRL-R) and redone (.)
- how it works for folded lines - how it works for folded lines
- how it works with multi-byte characters - how it works with multibyte characters
9 In change.txt, remark about Javadoc isn't right. Right alignment would 9 In change.txt, remark about Javadoc isn't right. Right alignment would
work too. work too.
8 Spread the windows commands over the other files. For example, ":stag" 8 Spread the windows commands over the other files. For example, ":stag"
@@ -4233,8 +4235,8 @@ Multi-byte characters:
8 Add configure option to be able to disable using the iconv library. (Udo 8 Add configure option to be able to disable using the iconv library. (Udo
Schweigert) Schweigert)
9 'aleph' should be set to 1488 for Unicode. (Zvi Har'El) 9 'aleph' should be set to 1488 for Unicode. (Zvi Har'El)
8 Should add test for using various commands with multi-byte characters. 8 Should add test for using various commands with multibyte characters.
8 'infercase' doesn't work with multi-byte characters. 8 'infercase' doesn't work with multibyte characters.
8 toupper() function doesn't handle byte count changes. 8 toupper() function doesn't handle byte count changes.
7 Searching and composing characters: 7 Searching and composing characters:
When searching, should order of composing characters be ignored? When searching, should order of composing characters be ignored?
@@ -4242,7 +4244,7 @@ Multi-byte characters:
characters can be manipulated. characters can be manipulated.
8 Should implement 'delcombine' for command line editing. 8 Should implement 'delcombine' for command line editing.
8 Detect overlong UTF-8 sequences and handle them like illegal bytes. 8 Detect overlong UTF-8 sequences and handle them like illegal bytes.
8 ":s/x/\u\1/" doesn't work, making uppercase isn't done for multi-byte 8 ":s/x/\u\1/" doesn't work, making uppercase isn't done for multibyte
characters. characters.
8 UTF-8: "r" in Visual mode doesn't take composing characters. 8 UTF-8: "r" in Visual mode doesn't take composing characters.
8 UTF-8: When there is a precomposed character in the font, use it instead 8 UTF-8: When there is a precomposed character in the font, use it instead
@@ -4266,14 +4268,14 @@ Multi-byte characters:
convert_input() for Mac GUI. convert_input() for Mac GUI.
- Add mnemonics from RFC1345 longer than two characters. - Add mnemonics from RFC1345 longer than two characters.
Support CTRL-K _{mnemonic}_ Support CTRL-K _{mnemonic}_
- Make 'breakat' accept multi-byte characters. Problem: can't use a lookup - Make 'breakat' accept multibyte characters. Problem: can't use a lookup
table anymore (breakat_flags[]). table anymore (breakat_flags[]).
Simplistic solution: when 'formatoptions' contains "m" also break a line Simplistic solution: when 'formatoptions' contains "m" also break a line
at a multi-byte character >= 0x100. at a multibyte character >= 0x100.
- Add the possibility to enter mappings which are used whenever normal text - Add the possibility to enter mappings which are used whenever normal text
could be entered. E.g., for "f" command. But not in Normal mode. Sort could be entered. E.g., for "f" command. But not in Normal mode. Sort
of opposite of 'langmap'. Use ":amap" command? of opposite of 'langmap'. Use ":amap" command?
- When breaking a line, take properties of multi-byte characters into - When breaking a line, take properties of multibyte characters into
account. The "linebreak" program from Bruno Haible can do it: account. The "linebreak" program from Bruno Haible can do it:
ftp://ftp.ilog.fr/pub/Users/haible/gnu/linebreak-0.1.tar.gz ftp://ftp.ilog.fr/pub/Users/haible/gnu/linebreak-0.1.tar.gz
But it's very complicated... But it's very complicated...
@@ -5338,11 +5340,11 @@ Text objects:
8 Add test script for text object commands "aw", "iW", etc. 8 Add test script for text object commands "aw", "iW", etc.
8 Add text object for part of a CamelHumpedWord and under_scored_word. 8 Add text object for part of a CamelHumpedWord and under_scored_word.
(Scott Graham) "ac" and "au"? (Scott Graham) "ac" and "au"?
8 Add a text object for any kind of quoting, also with multi-byte 8 Add a text object for any kind of quoting, also with multibyte
characters. Option to specify what quotes are recognized (default: all) characters. Option to specify what quotes are recognized (default: all)
use "aq" and "iq". Use 'quotepairs' to define pairs of quotes, like use "aq" and "iq". Use 'quotepairs' to define pairs of quotes, like
'matchpairs'? 'matchpairs'?
8 Add text object for any kind of parens, also multi-byte ones. 8 Add text object for any kind of parens, also multibyte ones.
8 Add a way to make an ":omap" for a user-defined text object. Requires 8 Add a way to make an ":omap" for a user-defined text object. Requires
changing the starting position in oap->start. changing the starting position in oap->start.
8 Add "gp" and "gP" commands: insert text and make sure there is a single 8 Add "gp" and "gP" commands: insert text and make sure there is a single
@@ -6118,7 +6120,7 @@ Various improvements:
regexp which triggers auto-formatting (for one line). regexp which triggers auto-formatting (for one line).
":set autoformat=\\s$". ":set autoformat=\\s$".
- Be able to redefine where a sentence stops. Use a regexp pattern? - Be able to redefine where a sentence stops. Use a regexp pattern?
- Support multi-byte characters for sentences. Example from Ben Peterson. - Support multibyte characters for sentences. Example from Ben Peterson.
7 Add command "g)" to go to the end of a sentence, "g(" to go back to the 7 Add command "g)" to go to the end of a sentence, "g(" to go back to the
end of a sentence. (Servatius Brandt) end of a sentence. (Servatius Brandt)
- Be able to redefine where a paragraph starts. For "[[" where the '{' is - Be able to redefine where a paragraph starts. For "[[" where the '{' is

View File

@@ -1,4 +1,4 @@
*usr_41.txt* For Vim version 8.2. Last change: 2020 Aug 13 *usr_41.txt* For Vim version 8.2. Last change: 2020 Aug 30
VIM USER MANUAL - by Bram Moolenaar VIM USER MANUAL - by Bram Moolenaar
@@ -2069,7 +2069,7 @@ with this mechanism: >
22 map <unique> <Leader>a <Plug>TypecorrAdd; 22 map <unique> <Leader>a <Plug>TypecorrAdd;
23 endif 23 endif
This checks if a mapping to "<Plug>TypecorrAdd/" already exists, and only This checks if a mapping to "<Plug>TypecorrAdd;" already exists, and only
defines the mapping from "<Leader>a" if it doesn't. The user then has a defines the mapping from "<Leader>a" if it doesn't. The user then has a
chance of putting this in his vimrc file: > chance of putting this in his vimrc file: >

View File

@@ -1,4 +1,4 @@
*various.txt* For Vim version 8.2. Last change: 2020 Jul 10 *various.txt* For Vim version 8.2. Last change: 2020 Aug 20
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -92,7 +92,7 @@ g8 Print the hex values of the bytes used in the
encoding because it contains illegal bytes. encoding because it contains illegal bytes.
Does not wrap around the end of the file. Does not wrap around the end of the file.
Note that when the cursor is on an illegal byte or the Note that when the cursor is on an illegal byte or the
cursor is halfway a multi-byte character the command cursor is halfway a multibyte character the command
won't move the cursor. won't move the cursor.
*:p* *:pr* *:print* *E749* *:p* *:pr* *:print* *E749*
@@ -145,16 +145,16 @@ g8 Print the hex values of the bytes used in the
:{range}z[+-^.=]{count} Display several lines of text surrounding the line :{range}z[+-^.=]{count} Display several lines of text surrounding the line
specified with {range}, or around the current line specified with {range}, or around the current line
if there is no {range}. If there is a {count}, that's if there is no {range}. If there is a {count}, that's
how many lines you'll see; if there is only one window how many lines you'll see; if there is no {count} and
then twice the value of the 'scroll' option is used, only one window then twice the value of the 'scroll'
otherwise the current window height minus 3 is used. option is used, otherwise the current window height
minus 3 is used.
If there is a {count} the 'window' option is set to If there is a {count} the 'window' option is set to
its value. its value.
:z can be used either alone or followed by any of :z can be used either alone or followed by any of
several punctuation marks. These have the following several marks. These have the following effect:
effect:
mark first line last line new cursor line ~ mark first line last line new cursor line ~
---- ---------- --------- ------------ ---- ---------- --------- ------------

View File

@@ -1,4 +1,4 @@
*version5.txt* For Vim version 8.2. Last change: 2016 Feb 27 *version5.txt* For Vim version 8.2. Last change: 2020 Aug 15
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -2133,12 +2133,12 @@ it is invoked.
Deleted the "os_archie" files, they were not working anyway. Deleted the "os_archie" files, they were not working anyway.
Multi-byte support *new-multi-byte* Multi-byte support *new-multi-byte* *new-multibyte*
------------------ ------------------
MultiByte support for Win32 GUI. (Baek) MultiByte support for Win32 GUI. (Baek)
The 'fileencoding' option decides how the text in the file is encoded. The 'fileencoding' option decides how the text in the file is encoded.
":ascii" works for multi-byte characters. Multi-byte characters work on ":ascii" works for multibyte characters. Multi-byte characters work on
Windows 95, even when using the US version. (Aaron) Windows 95, even when using the US version. (Aaron)
Needs to be enabled in feature.h. Needs to be enabled in feature.h.
This has not been tested much yet! This has not been tested much yet!
@@ -3671,10 +3671,10 @@ For the ":clist" command, you can scroll backwards with "b" (one screenful),
"u" (half a screenful) and "k" (one line). "u" (half a screenful) and "k" (one line).
Multi-byte support: Multi-byte support:
- X-input method for multi-byte characters. And various fixes for multi-byte - X-input method for multibyte characters. And various fixes for multibyte
support. (Nam) support. (Nam)
- Hangul input method feature: |hangul|. (Nam) - Hangul input method feature: |hangul|. (Nam)
- Cleaned up configuration of multi-byte support, XIM, fontset and Hangul - Cleaned up configuration of multibyte support, XIM, fontset and Hangul
input. Each is now configurable separately. input. Each is now configurable separately.
- Changed check for GTK_KEYBOARD to HANGUL_KEYBOARD_TYPE. (Nam) - Changed check for GTK_KEYBOARD to HANGUL_KEYBOARD_TYPE. (Nam)
- Added doc/hangulin.txt: Documentation for the Hangul input code. (Nam) - Added doc/hangulin.txt: Documentation for the Hangul input code. (Nam)
@@ -3682,10 +3682,10 @@ Multi-byte support:
- First attempt to include support for SJIS encoding. (Nagano) - First attempt to include support for SJIS encoding. (Nagano)
- When a double-byte character doesn't fit at the end of the line, put a "~" - When a double-byte character doesn't fit at the end of the line, put a "~"
there and print it on the next line. there and print it on the next line.
- Optimize output of multi-byte text. (Park) - Optimize output of multibyte text. (Park)
- Win32 IME: preedit style is like over-the-spot. (Nagano) - Win32 IME: preedit style is like over-the-spot. (Nagano)
- Win32 IME: IME mode change now done with ImmSetOpenStatus. (Nagano) - Win32 IME: IME mode change now done with ImmSetOpenStatus. (Nagano)
- GUI Athena: file selection dialog can display multi-byte characters. - GUI Athena: file selection dialog can display multibyte characters.
(Nagano) (Nagano)
- Selection reply for XA_TEXT as XA_STRING. (Nagano) - Selection reply for XA_TEXT as XA_STRING. (Nagano)
@@ -3720,7 +3720,7 @@ X11:
with the VisualNOS group to show this. (Madsen) with the VisualNOS group to show this. (Madsen)
- Support for requesting the type of clipboard support. Used for AIX and - Support for requesting the type of clipboard support. Used for AIX and
dtterm. (Wittig) dtterm. (Wittig)
- Support compound_text selection (even when compiled without multi-byte). - Support compound_text selection (even when compiled without multibyte).
Swap file: Swap file:
- New variation for naming swap files: Replace path separators into %, place - New variation for naming swap files: Replace path separators into %, place
@@ -4063,7 +4063,7 @@ compiling pathdef.c. Replaced it with "tr".
Perl: DO_JOIN was redefined by Perl. Undefined it in the perl files. Perl: DO_JOIN was redefined by Perl. Undefined it in the perl files.
Various XIM and multi-byte fixes: Various XIM and multibyte fixes:
- Fix user cannot see his language while he is typing his language with - Fix user cannot see his language while he is typing his language with
off-the-spot method. (Nagano) off-the-spot method. (Nagano)
- Fix preedit position using text/edit area (using gui.wid). (Nagano) - Fix preedit position using text/edit area (using gui.wid). (Nagano)
@@ -4080,7 +4080,7 @@ Various XIM and multi-byte fixes:
- XIM: Composed strings were sometimes ignored. Vim crashed when compose - XIM: Composed strings were sometimes ignored. Vim crashed when compose
string was longer than 256 bytes. IM's geometry control is fixed. (Nam, string was longer than 256 bytes. IM's geometry control is fixed. (Nam,
Nagano) Nagano)
- Win32 multi-byte: hollowed cursor width on a double byte char was wrong. - Win32 multibyte: hollowed cursor width on a double byte char was wrong.
(Nagano) (Nagano)
- When there is no GUI, selecting XIM caused compilation problems. - When there is no GUI, selecting XIM caused compilation problems.
Automatically disable XIM when there is no GUI in configure. Automatically disable XIM when there is no GUI in configure.
@@ -5496,7 +5496,7 @@ Solution: When there is a comment leader for the new line, but 'autoindent'
Files: src/misc1.c Files: src/misc1.c
Patch 5.4.26 Patch 5.4.26
Problem: Multi-byte: a multi-byte character is never recognized in a file Problem: Multi-byte: a multibyte character is never recognized in a file
name, causing a backslash before it to be removed on Windows. name, causing a backslash before it to be removed on Windows.
Solution: Assume that a leading-byte character is a file name character in Solution: Assume that a leading-byte character is a file name character in
vim_isfilec(). vim_isfilec().
@@ -5945,7 +5945,7 @@ __TIME__. (John Card II)
BeOS: Adjust computing the char_height and char_ascent. Round them up BeOS: Adjust computing the char_height and char_ascent. Round them up
separately, avoids redrawing artifacts. (Mike Steed) separately, avoids redrawing artifacts. (Mike Steed)
Fix a few multi-byte problems in menu_name_skip(), set_reg_ic(), searchc() and Fix a few multibyte problems in menu_name_skip(), set_reg_ic(), searchc() and
findmatchlimit(). (Taro Muraoka) findmatchlimit(). (Taro Muraoka)
GTK GUI: GTK GUI:
@@ -6631,9 +6631,9 @@ Solution: Use a shell extension dll. (Tianmiao Hu)
Files: src/dosinst.c, src/uninstal.c, gvimext/*, runtime/doc/gui_w32.txt Files: src/dosinst.c, src/uninstal.c, gvimext/*, runtime/doc/gui_w32.txt
Patch 5.6a.028 (extra) Patch 5.6a.028 (extra)
Problem: Win32 GUI: Dialogs and tear-off menus can't handle multi-byte Problem: Win32 GUI: Dialogs and tear-off menus can't handle multibyte
characters. characters.
Solution: Adjust nCopyAnsiToWideChar() to handle multi-byte characters Solution: Adjust nCopyAnsiToWideChar() to handle multibyte characters
correctly. correctly.
Files: src/gui_w32.c Files: src/gui_w32.c
@@ -6727,9 +6727,9 @@ Many fixes to Macintosh specific parts: (mostly by Dany StAmant)
- Add digraphs table. (Axel Kielhorn) - Add digraphs table. (Axel Kielhorn)
- Multi-byte support: (Kenichi Asai) - Multi-byte support: (Kenichi Asai)
Switch keyscript when going in/out of Insert mode. Switch keyscript when going in/out of Insert mode.
Draw multi-byte character correctly. Draw multibyte character correctly.
Don't use mblen() but highest bit of char to detect multi-byte char. Don't use mblen() but highest bit of char to detect multibyte char.
Display value of multi-byte in statusline (also for other systems). Display value of multibyte in statusline (also for other systems).
- mouse button was not initialized properly to MOUSE_LEFT when - mouse button was not initialized properly to MOUSE_LEFT when
USE_CTRLCLICKMENU not defined. USE_CTRLCLICKMENU not defined.
- With Japanese SJIS characters: Make "w", "b", and "e" work - With Japanese SJIS characters: Make "w", "b", and "e" work
@@ -6981,7 +6981,7 @@ Solution: Support TEXT and COMPOUND_TEXT selection targets. (ChiDeok Hwang)
Files: src/gui_gtk_x11.c Files: src/gui_gtk_x11.c
Patch 5.6.037 Patch 5.6.037
Problem: Multi-byte: Can't use "f" command with multi-byte character in GUI. Problem: Multi-byte: Can't use "f" command with multibyte character in GUI.
Solution: Enable XIM in Normal mode for the GUI. (Sung-Hyun Nam) Solution: Enable XIM in Normal mode for the GUI. (Sung-Hyun Nam)
Files: src/gui_gtk_x11.c, src/multbyte.c Files: src/gui_gtk_x11.c, src/multbyte.c
@@ -7094,7 +7094,7 @@ Files: src/fileio.c, src/tag.c
Patch 5.6.052 Patch 5.6.052
Problem: Multi-byte: When an Ex command has a '|' or '"' as a second byte, Problem: Multi-byte: When an Ex command has a '|' or '"' as a second byte,
it terminates the command. it terminates the command.
Solution: Skip second byte of multi-byte char when checking for '|' and '"'. Solution: Skip second byte of multibyte char when checking for '|' and '"'.
(Asai Kenichi) (Asai Kenichi)
Files: src/ex_docmd.c Files: src/ex_docmd.c
@@ -7246,7 +7246,7 @@ Files: src/Makefile.bor, src/dosinst.c
Patch 5.6.074 (extra) Patch 5.6.074 (extra)
Problem: Entering CSI directly doesn't always work, because it's recognized Problem: Entering CSI directly doesn't always work, because it's recognized
as the start of a special key. Mostly a problem with multi-byte as the start of a special key. Mostly a problem with multibyte
in the GUI. in the GUI.
Solution: Use K_CSI for a typed CSI character. Use <CSI> for a normal CSI, Solution: Use K_CSI for a typed CSI character. Use <CSI> for a normal CSI,
<xCSI> for a CSI typed in the GUI. <xCSI> for a CSI typed in the GUI.
@@ -7337,7 +7337,7 @@ Solution: Use IsBadStringPtr() to check if the pointer is valid.
Files: src/os_win32.c Files: src/os_win32.c
Patch 5.6.087 Patch 5.6.087
Problem: Multi-byte: Commands and messages with multi-byte characters are Problem: Multi-byte: Commands and messages with multibyte characters are
displayed wrong. displayed wrong.
Solution: Detect double-byte characters. (Yasuhiro Matsumoto) Solution: Detect double-byte characters. (Yasuhiro Matsumoto)
Files: src/ex_getln.c, src/message.c, src/misc2.c, src/screen.c Files: src/ex_getln.c, src/message.c, src/misc2.c, src/screen.c
@@ -7384,9 +7384,9 @@ Solution: Don't write a message about the file read from stdin until the GUI
Files: src/fileio.c Files: src/fileio.c
Patch 5.6.094 Patch 5.6.094
Problem: Problem with multi-byte string for ":echo var". Problem: Problem with multibyte string for ":echo var".
Solution: Check for length in msg_outtrans_len_attr(). (Sung-Hyun Nam) Solution: Check for length in msg_outtrans_len_attr(). (Sung-Hyun Nam)
Also make do_echo() aware of multi-byte characters. Also make do_echo() aware of multibyte characters.
Files: src/eval.c, src/message.c Files: src/eval.c, src/message.c
Patch 5.6.095 Patch 5.6.095
@@ -7417,9 +7417,9 @@ Files: src/misc1.c
Patch 5.7a.003 Patch 5.7a.003
Problem: Multi-byte: After using CTRL-O in Insert mode with the cursor at Problem: Multi-byte: After using CTRL-O in Insert mode with the cursor at
the end of the line on a multi-byte character the cursor moves to the end of the line on a multibyte character the cursor moves to
the left. the left.
Solution: Check for multi-byte character at end-of-line. (Taro Muraoka) Solution: Check for multibyte character at end-of-line. (Taro Muraoka)
Also: fix cls() to detect a double-byte character. (Chong-Dae Park) Also: fix cls() to detect a double-byte character. (Chong-Dae Park)
Files: src/edit.c, src/search.c Files: src/edit.c, src/search.c
@@ -7736,7 +7736,7 @@ Solution: Disallow executing a shell command in get_cmd_output() and
Files: src/misc1.c, src/os_unix.c Files: src/misc1.c, src/os_unix.c
Patch 5.7.019 Patch 5.7.019
Problem: Multibyte: In a substitute string, a multi-byte character isn't Problem: Multibyte: In a substitute string, a multibyte character isn't
skipped properly, can be a problem when the second byte is a skipped properly, can be a problem when the second byte is a
backslash. backslash.
Solution: Skip an extra byte for a double-byte character. (Muraoka Taro) Solution: Skip an extra byte for a double-byte character. (Muraoka Taro)

View File

@@ -1,4 +1,4 @@
*version6.txt* For Vim version 8.2. Last change: 2019 Jan 17 *version6.txt* For Vim version 8.2. Last change: 2020 Aug 17
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -623,7 +623,7 @@ For syntax items:
Removed limit of matching only up to 32767 times with *, \+, etc. Removed limit of matching only up to 32767 times with *, \+, etc.
Added support to match multi-byte characters. (partly by Muraoka Taro) Added support to match multibyte characters. (partly by Muraoka Taro)
Made "\<" and "\>" work for UTF-8. (Muraoka Taro) Made "\<" and "\>" work for UTF-8. (Muraoka Taro)
@@ -664,10 +664,10 @@ Many new items for Multi-byte support:
- Added 'guifontwide' to specify a font for double-wide characters. - Added 'guifontwide' to specify a font for double-wide characters.
- Added Korean support for character class detection. Also fix cls() in - Added Korean support for character class detection. Also fix cls() in
search.c. (Chong-Dae Park) search.c. (Chong-Dae Park)
- Win32: Typing multi-byte characters without IME. (Alexander Smishlajev) - Win32: Typing multibyte characters without IME. (Alexander Smishlajev)
- Win32 with Mingw: compile with iconv library. (Ron Aaron) - Win32 with Mingw: compile with iconv library. (Ron Aaron)
- Win32 with MSVC: dynamically load iconv.dll library. (Muraoka Taro) - Win32 with MSVC: dynamically load iconv.dll library. (Muraoka Taro)
- Make it possible to build a version with multi-byte and iconv support with - Make it possible to build a version with multibyte and iconv support with
Borland 5.5. (Yasuhiro Matsumoto) Borland 5.5. (Yasuhiro Matsumoto)
- Added 'delcombine' option: Delete combining character separately. (Ron - Added 'delcombine' option: Delete combining character separately. (Ron
Aaron) Aaron)
@@ -680,19 +680,19 @@ Many new items for Multi-byte support:
- Support "CursorIM" for XIM. (Nam SungHyun) - Support "CursorIM" for XIM. (Nam SungHyun)
- Added 'm' flag to 'formatoptions': When wrapping words, allow splitting at - Added 'm' flag to 'formatoptions': When wrapping words, allow splitting at
each multibyte character, not only at a space. each multibyte character, not only at a space.
- Made ":syntax keyword" work with multi-byte characters. - Made ":syntax keyword" work with multibyte characters.
- Added support for Unicode upper/lowercase flipping and comparing. (based on - Added support for Unicode upper/lowercase flipping and comparing. (based on
patch by Raphael Finkel) patch by Raphael Finkel)
Let "~" on multi-byte characters that have a third case ("title case") Let "~" on multibyte characters that have a third case ("title case")
switch between the three cases. (Raphael Finkel) switch between the three cases. (Raphael Finkel)
Allow defining digraphs for multi-byte characters. Allow defining digraphs for multibyte characters.
Added RFC1345 digraphs for Unicode. Added RFC1345 digraphs for Unicode.
Most Normal mode commands that accept a character argument, like "r", "t" and Most Normal mode commands that accept a character argument, like "r", "t" and
"f" now accept a digraph. The 'D' flag in 'cpoptions' disables this to remain "f" now accept a digraph. The 'D' flag in 'cpoptions' disables this to remain
Vi compatible. Vi compatible.
Added Language mapping and 'keymap' to be able to type multi-byte characters: Added Language mapping and 'keymap' to be able to type multibyte characters:
- Added the ":lmap" command and friends: Define mappings that are used when - Added the ":lmap" command and friends: Define mappings that are used when
typing characters in the language of the text. Also for "r", "t", etc. In typing characters in the language of the text. Also for "r", "t", etc. In
Insert and Command-line mode CTRL-^ switches the use of the mappings on/off. Insert and Command-line mode CTRL-^ switches the use of the mappings on/off.
@@ -715,7 +715,7 @@ Added Language mapping and 'keymap' to be able to type multi-byte characters:
- When typing a mapping that's not finished yet, display the last character - When typing a mapping that's not finished yet, display the last character
under the cursor in Insert mode and Command-line mode. Looks good for dead under the cursor in Insert mode and Command-line mode. Looks good for dead
characters. characters.
- Made the 'langmap' option recognize multi-byte characters. But mapping only - Made the 'langmap' option recognize multibyte characters. But mapping only
works for 8-bit characters. Helps when using UTF-8. works for 8-bit characters. Helps when using UTF-8.
- Use a different cursor for when ":lmap" mappings are active. Can specify - Use a different cursor for when ":lmap" mappings are active. Can specify
two highlight groups for an item in 'guicursor'. By default "lCursor" and two highlight groups for an item in 'guicursor'. By default "lCursor" and
@@ -726,7 +726,7 @@ Added Language mapping and 'keymap' to be able to type multi-byte characters:
Also works for "f", which now works to find a character that includes a Also works for "f", which now works to find a character that includes a
composing character. composing character.
Other multi-byte character additions: Other multibyte character additions:
- Support double-byte single-width characters for euc-jp: Characters starting - Support double-byte single-width characters for euc-jp: Characters starting
with 0x8E. Added ScreenLines2[] to store the second byte. with 0x8E. Added ScreenLines2[] to store the second byte.
@@ -1004,7 +1004,7 @@ systems a PostScript file is generated, which can be printed with the
(MS-Windows part by Vince Negri, Vipin Aravind, PostScript by Vince Negri and (MS-Windows part by Vince Negri, Vipin Aravind, PostScript by Vince Negri and
Mike Williams) Mike Williams)
Made ":hardcopy" work with multi-byte characters. (Muraoka Taro, Yasuhiro Made ":hardcopy" work with multibyte characters. (Muraoka Taro, Yasuhiro
Matsumoto) Matsumoto)
Added options to tune the way printing works: (Vince Negri) Added options to tune the way printing works: (Vince Negri)
@@ -1703,7 +1703,7 @@ GUI:
- Win32: Added "c" flag to 'guifont' to be able to specify the charset. (Artem - Win32: Added "c" flag to 'guifont' to be able to specify the charset. (Artem
Khodush) Khodush)
- When no --enable-xim argument is given, automatically enable it when a X GUI - When no --enable-xim argument is given, automatically enable it when a X GUI
is used. Required for dead key support (and multi-byte input). is used. Required for dead key support (and multibyte input).
- After a file selection dialog, check that the edited files were not changed - After a file selection dialog, check that the edited files were not changed
or deleted. The Win32 dialog allows deleting and renaming files. or deleted. The Win32 dialog allows deleting and renaming files.
- Motif and Athena: Added support for "editres". (Marcin Dalecki) - Motif and Athena: Added support for "editres". (Marcin Dalecki)
@@ -2025,8 +2025,8 @@ Timestamps:
file that steadily grows. file that steadily grows.
Mapping <M-A> when 'encoding' is "latin1" and then setting 'encoding' to Mapping <M-A> when 'encoding' is "latin1" and then setting 'encoding' to
"utf-8" causes the first byte of a multi-byte to be mapped. Can cause very "utf-8" causes the first byte of a multibyte to be mapped. Can cause very
hard to find problems. Disallow mapping part of a multi-byte character. hard to find problems. Disallow mapping part of a multibyte character.
For ":python" and ":tcl" accept an in-line script. (Johannes Zellner) For ":python" and ":tcl" accept an in-line script. (Johannes Zellner)
Also for ":ruby" and ":perl". (Benoit Cerrina) Also for ":ruby" and ":perl". (Benoit Cerrina)
@@ -2467,7 +2467,7 @@ Motif: When adding many menu items, the "Help" menu disappeared but the
menubar didn't wrap. Now manually set the menubar height. menubar didn't wrap. Now manually set the menubar height.
When using <BS> in Insert mode to remove a line break, or using "J" to join When using <BS> in Insert mode to remove a line break, or using "J" to join
lines, the cursor could end up halfway a multi-byte character. (Muraoka Taro) lines, the cursor could end up halfway a multibyte character. (Muraoka Taro)
Removed defining SVR4 in configure. It causes problems for some X header Removed defining SVR4 in configure. It causes problems for some X header
files and doesn't appear to be used anywhere. files and doesn't appear to be used anywhere.
@@ -2617,12 +2617,12 @@ column. Can't encode a larger number in a character. Now limit the number to
222, don't jump back to the first column. 222, don't jump back to the first column.
GUI: In some versions CSI would cause trouble, either when typed directly or GUI: In some versions CSI would cause trouble, either when typed directly or
when part of a multi-byte sequence. when part of a multibyte sequence.
When using multibyte characters in a ":normal" command, a trailing byte that When using multibyte characters in a ":normal" command, a trailing byte that
is CSI or K_SPECIAL caused problems. is CSI or K_SPECIAL caused problems.
Wildmenu didn't handle multi-byte characters. Wildmenu didn't handle multibyte characters.
":sleep 10" could not be interrupted on Windows, while "gs" could. Made them ":sleep 10" could not be interrupted on Windows, while "gs" could. Made them
both work the same. both work the same.
@@ -2673,7 +2673,7 @@ path.
Multi-byte: Multi-byte:
- Using an any-but character range [^x] in a regexp didn't work for UTF-8. - Using an any-but character range [^x] in a regexp didn't work for UTF-8.
(Muraoka Taro) (Muraoka Taro)
- When backspacing over inserted characters in Replace mode multi-byte - When backspacing over inserted characters in Replace mode multibyte
characters were not handled correctly. (Muraoka Taro) characters were not handled correctly. (Muraoka Taro)
- Search commands "#" and "*" didn't work with multibyte characters. (Muraoka - Search commands "#" and "*" didn't work with multibyte characters. (Muraoka
Taro) Taro)
@@ -2701,8 +2701,8 @@ Multi-byte:
- When a multibyte character contained a 0x80 byte, it didn't work (was using - When a multibyte character contained a 0x80 byte, it didn't work (was using
a CSI byte instead). (Muraoka Taro) a CSI byte instead). (Muraoka Taro)
- Wordwise selection with the mouse didn't work. - Wordwise selection with the mouse didn't work.
- Yanking a modeless selection of multi-byte characters didn't work. - Yanking a modeless selection of multibyte characters didn't work.
- When 'selection' is "exclusive", selecting a word that ends in a multi-byte - When 'selection' is "exclusive", selecting a word that ends in a multibyte
character used wrong highlighting for the following character. character used wrong highlighting for the following character.
Win32 with Make_mvc.mak: Didn't compile for debugging. (Craig Barkhouse) Win32 with Make_mvc.mak: Didn't compile for debugging. (Craig Barkhouse)
@@ -2801,7 +2801,7 @@ Multi-byte:
included the character after the word. included the character after the word.
- When using a double-byte encoding and there is a lead byte at the end of the - When using a double-byte encoding and there is a lead byte at the end of the
line, the preceding line would be displayed. "ga" also showed wrong info. line, the preceding line would be displayed. "ga" also showed wrong info.
- "gf" didn't include multi-byte characters before the cursor properly. - "gf" didn't include multibyte characters before the cursor properly.
(Muraoka Taro) (Muraoka Taro)
GUI: The cursor was sometimes not removed when scrolling. Changed the policy GUI: The cursor was sometimes not removed when scrolling. Changed the policy
@@ -2919,7 +2919,7 @@ The message remembered for displaying later (keep_msg) was sometimes pointing
into a generic buffer, which might be changed by the time the message is into a generic buffer, which might be changed by the time the message is
displayed. Now make a copy of the message. displayed. Now make a copy of the message.
When using multi-byte characters in a menu and a trailing byte is a backslash, When using multibyte characters in a menu and a trailing byte is a backslash,
the menu would not be created correctly. (Muraoka Taro) the menu would not be created correctly. (Muraoka Taro)
Using a multibyte character in the substitute string where a trail byte is a Using a multibyte character in the substitute string where a trail byte is a
backslash didn't work. (Muraoka Taro) backslash didn't work. (Muraoka Taro)
@@ -2958,7 +2958,7 @@ the output.
Don't define the <NetMouse> termcode in an xterm, reduces the problem when Don't define the <NetMouse> termcode in an xterm, reduces the problem when
someone types <Esc> } in Insert mode. someone types <Esc> } in Insert mode.
Made slash_adjust() work correctly for multi-byte characters. (Yasuhiro Made slash_adjust() work correctly for multibyte characters. (Yasuhiro
Matsumoto) Matsumoto)
Using a filename in Big5 encoding for autocommands didn't work (backslash in Using a filename in Big5 encoding for autocommands didn't work (backslash in
trailbyte). (Yasuhiro Matsumoto) trailbyte). (Yasuhiro Matsumoto)
@@ -3147,7 +3147,7 @@ available space correctly. Was counting the menu height twice.
Conversion of the docs to HTML didn't handle the line with the +quickfix tag Conversion of the docs to HTML didn't handle the line with the +quickfix tag
correctly. (Antonio Colombo) correctly. (Antonio Colombo)
Win32: fname_case() didn't handle multi-byte characters correctly. (Yasuhiro Win32: fname_case() didn't handle multibyte characters correctly. (Yasuhiro
Matsumoto) Matsumoto)
The Cygwin version had trouble with fchdir(). Don't use that function for The Cygwin version had trouble with fchdir(). Don't use that function for
@@ -3164,10 +3164,10 @@ the terminal it was started in.
When using ESC in Insert mode, an autoindent that wraps to the next line When using ESC in Insert mode, an autoindent that wraps to the next line
caused the cursor to move to the end of the line temporarily. When the caused the cursor to move to the end of the line temporarily. When the
character before the cursor was a double-wide multi-byte character the cursor character before the cursor was a double-wide multibyte character the cursor
would be on the right half, which causes problems with some terminals. would be on the right half, which causes problems with some terminals.
Didn't handle multi-byte characters correctly when expanding a file name. Didn't handle multibyte characters correctly when expanding a file name.
(Yasuhiro Matsumoto) (Yasuhiro Matsumoto)
Win32 GUI: Errors generated before the GUI is decided to start were not Win32 GUI: Errors generated before the GUI is decided to start were not
@@ -3307,7 +3307,7 @@ started from the desktop (no place to display messages) it would hang. Now
open the GUI window early to be able to display the messages and pop up the open the GUI window early to be able to display the messages and pop up the
dialog. dialog.
"r<CR>" on a multi-byte character deleted only the first byte of the "r<CR>" on a multibyte character deleted only the first byte of the
character. "3r<CR>" deleted three bytes instead of three characters. character. "3r<CR>" deleted three bytes instead of three characters.
When interrupting reading a file, Vi considers the buffer modified. Added the When interrupting reading a file, Vi considers the buffer modified. Added the
@@ -3431,7 +3431,7 @@ Solution: Change slashes to backslashes in the directory passed to the file
Files: src/gui_w48.c Files: src/gui_w48.c
Athena file browser: On some systems wcstombs() can't be used to get the Athena file browser: On some systems wcstombs() can't be used to get the
length of a multi-byte string. Use the maximum length then. (Yasuhiro length of a multibyte string. Use the maximum length then. (Yasuhiro
Matsumoto) Matsumoto)
Patch 6.0ax.001 Patch 6.0ax.001
@@ -3784,7 +3784,7 @@ Solution: Check for a NULL pointer.
Files: src/mbyte.c Files: src/mbyte.c
Patch 6.0.019 Patch 6.0.019
Problem: Converting a string with multi-byte characters to a printable Problem: Converting a string with multibyte characters to a printable
string, e.g., with strtrans(), may cause a crash. (Tomas Zellerin) string, e.g., with strtrans(), may cause a crash. (Tomas Zellerin)
Solution: Correctly compute the length of the result in transstr(). Solution: Correctly compute the length of the result in transstr().
Files: src/charset.c Files: src/charset.c
@@ -4148,9 +4148,9 @@ Solution: Position the system cursor before starting the shell.
Files: src/os_msdos.c Files: src/os_msdos.c
Patch 6.0.074 Patch 6.0.074
Problem: When using "&" in a substitute string a multi-byte character with Problem: When using "&" in a substitute string a multibyte character with
a trailbyte 0x5c is not handled correctly. a trailbyte 0x5c is not handled correctly.
Solution: Recognize multi-byte characters inside the "&" part. (Muraoka Taro) Solution: Recognize multibyte characters inside the "&" part. (Muraoka Taro)
Files: src/regexp.c Files: src/regexp.c
Patch 6.0.075 Patch 6.0.075
@@ -4311,7 +4311,7 @@ Files: src/ex_cmds.c
Patch 6.0.097 Patch 6.0.097
Problem: Re-indenting in Insert mode with CTRL-F may cause a crash with a Problem: Re-indenting in Insert mode with CTRL-F may cause a crash with a
multi-byte encoding. multibyte encoding.
Solution: Avoid using a character before the start of a line. (Sergey Solution: Avoid using a character before the start of a line. (Sergey
Vlasov) Vlasov)
Files: src/edit.c Files: src/edit.c
@@ -4669,14 +4669,14 @@ Solution: Correctly report "operand could be empty" when using "\{-}".
Files: src/regexp.c Files: src/regexp.c
Patch 6.0.150 Patch 6.0.150
Problem: When using a multi-byte encoding, patch 6.0.148 causes "p" to work Problem: When using a multibyte encoding, patch 6.0.148 causes "p" to work
like "P". (Sung-Hyun Nam) like "P". (Sung-Hyun Nam)
Solution: Compute the byte length of a multi-byte character. Solution: Compute the byte length of a multibyte character.
Files: src/ops.c Files: src/ops.c
Patch 6.0.151 Patch 6.0.151
Problem: Redrawing the status line and ruler can be wrong when it contains Problem: Redrawing the status line and ruler can be wrong when it contains
multi-byte characters. multibyte characters.
Solution: Use character width and byte length correctly. (Yasuhiro Matsumoto) Solution: Use character width and byte length correctly. (Yasuhiro Matsumoto)
Files: src/screen.c Files: src/screen.c
@@ -4878,7 +4878,7 @@ Solution: Free the allocated memory. Also avoid an uninitialized memory
Files: src/misc2.c Files: src/misc2.c
Patch 6.0.182 Patch 6.0.182
Problem: When using a regexp on multi-byte characters, could try to read a Problem: When using a regexp on multibyte characters, could try to read a
character before the start of the line. character before the start of the line.
Solution: Don't decrement a pointer to before the start of the line. Solution: Don't decrement a pointer to before the start of the line.
Files: src/regexp.c Files: src/regexp.c
@@ -5060,7 +5060,7 @@ Files: src/edit.c
Patch 6.0.209 Patch 6.0.209
Problem: GUI GTK: After selecting a 'guifont' with the font dialog there Problem: GUI GTK: After selecting a 'guifont' with the font dialog there
are redraw problems for multi-byte characters. are redraw problems for multibyte characters.
Solution: Separate the font dialog from setting the new font name to avoid Solution: Separate the font dialog from setting the new font name to avoid
that "*" is used to find wide and bold fonts. that "*" is used to find wide and bold fonts.
When redrawing extra characters for the bold trick, take care of When redrawing extra characters for the bold trick, take care of
@@ -5203,14 +5203,14 @@ Files: src/ex_docmd.c, src/globals.h, src/normal.c, src/ops.c,
Patch 6.0.229 Patch 6.0.229
Problem: Multi-byte: With 'm' in 'formatoptions', formatting doesn't break Problem: Multi-byte: With 'm' in 'formatoptions', formatting doesn't break
at a multi-byte char followed by an ASCII char, and the other way at a multibyte char followed by an ASCII char, and the other way
around. (Muraoka Taro) around. (Muraoka Taro)
When joining lines a space is inserted between multi-byte When joining lines a space is inserted between multibyte
characters, which is not always wanted. characters, which is not always wanted.
Solution: Check for multi-byte character before and after the breakpoint. Solution: Check for multibyte character before and after the breakpoint.
Don't insert a space before or after a multi-byte character when Don't insert a space before or after a multibyte character when
joining lines and the 'M' flag is in 'formatoptions'. Don't joining lines and the 'M' flag is in 'formatoptions'. Don't
insert a space between multi-byte characters when the 'B' flag is insert a space between multibyte characters when the 'B' flag is
in 'formatoptions'. in 'formatoptions'.
Files: src/edit.c, src/ops.c, src/option.h Files: src/edit.c, src/ops.c, src/option.h
@@ -5290,7 +5290,7 @@ Patch 6.0.241
Problem: Win32: Expanding the old value of an option that is a path that Problem: Win32: Expanding the old value of an option that is a path that
starts with a backslash, an extra backslash is inserted. starts with a backslash, an extra backslash is inserted.
Solution: Only insert backslashes where needed. Solution: Only insert backslashes where needed.
Also handle multi-byte characters properly when removing Also handle multibyte characters properly when removing
backslashes. backslashes.
Files: src/option.c Files: src/option.c
@@ -5312,7 +5312,7 @@ Problem: Multi-byte: Problems with (illegal) UTF-8 characters in menu and
file name (e.g., icon text, status line). file name (e.g., icon text, status line).
Solution: Correctly handle unprintable characters. Catch illegal UTF-8 Solution: Correctly handle unprintable characters. Catch illegal UTF-8
characters and replace them with <xx>. Truncating the status line characters and replace them with <xx>. Truncating the status line
wasn't done correctly at a multi-byte character. (Yasuhiro wasn't done correctly at a multibyte character. (Yasuhiro
Matsumoto) Matsumoto)
Added correct_cmdspos() and transchar_byte(). Added correct_cmdspos() and transchar_byte().
Files: src/buffer.c, src/charset.c, src/ex_getln.c, src/gui.c, Files: src/buffer.c, src/charset.c, src/ex_getln.c, src/gui.c,
@@ -5424,7 +5424,7 @@ Solution: Don't call gui_write() when still starting up. Don't give error
Files: src/fileio.c, src/gui.c, src/misc1.c, src/ui.c Files: src/fileio.c, src/gui.c, src/misc1.c, src/ui.c
Patch 6.0.261 Patch 6.0.261
Problem: nr2char() and char2nr() don't work with multi-byte characters. Problem: nr2char() and char2nr() don't work with multibyte characters.
Solution: Use 'encoding' for these functions. (Yasuhiro Matsumoto) Solution: Use 'encoding' for these functions. (Yasuhiro Matsumoto)
Files: runtime/doc/eval.txt, src/eval.c Files: runtime/doc/eval.txt, src/eval.c
@@ -5517,7 +5517,7 @@ Solution: Don't keep the driver context when using ":hardcopy!". (Vince
Files: src/os_mswin.c Files: src/os_mswin.c
Patch 6.1a.006 Patch 6.1a.006
Problem: multi-byte: after setting 'encoding' the window title might be Problem: multibyte: after setting 'encoding' the window title might be
wrong. wrong.
Solution: Force resetting the title. (Yasuhiro Matsumoto) Solution: Force resetting the title. (Yasuhiro Matsumoto)
Files: src/option.c Files: src/option.c
@@ -5654,7 +5654,7 @@ Files: src/globals.h, src/mbyte.c, src/screen.c
Patch 6.1a.029 Patch 6.1a.029
Problem: After patch 6.1a.028 can't compile GTK version with XIM but Problem: After patch 6.1a.028 can't compile GTK version with XIM but
without multi-byte chars. without multibyte chars.
Solution: Add an #ifdef. (Aschwin Marsman) Solution: Add an #ifdef. (Aschwin Marsman)
Files: src/mbyte.c Files: src/mbyte.c
@@ -5701,9 +5701,9 @@ Solution: Remove the ACL checks, go back to how it worked in Vim 6.0.
Files: src/os_win32.c Files: src/os_win32.c
Patch 6.1a.035 Patch 6.1a.035
Problem: multi-byte: When using ":sh" in the GUI, typed and displayed Problem: multibyte: When using ":sh" in the GUI, typed and displayed
multi-byte characters are not handled correctly. multibyte characters are not handled correctly.
Solution: Deal with multi-byte characters to and from the shell. (Yasuhiro Solution: Deal with multibyte characters to and from the shell. (Yasuhiro
Matsumoto) Also handle UTF-8 composing characters. Matsumoto) Also handle UTF-8 composing characters.
Files: src/os_unix.c Files: src/os_unix.c
@@ -5748,9 +5748,9 @@ Files: runtime/doc/diff.txt, src/diff.c, src/normal.c, src/proto/diff.pro
Patch 6.1b.001 (extra) Patch 6.1b.001 (extra)
Problem: Checking for wildcards in a path does not handle multi-byte Problem: Checking for wildcards in a path does not handle multibyte
characters with a trail byte which is a wildcard. characters with a trail byte which is a wildcard.
Solution: Handle multi-byte characters correctly. (Muraoka Taro) Solution: Handle multibyte characters correctly. (Muraoka Taro)
Files: src/os_amiga.c, src/os_mac.c, src/os_msdos.c, src/os_mswin.c, Files: src/os_amiga.c, src/os_mac.c, src/os_msdos.c, src/os_mswin.c,
src/os_unix.c src/os_unix.c
@@ -5894,7 +5894,7 @@ Files: src/move.c
Patch 6.1b.023 Patch 6.1b.023
Problem: On MS-Windows system() may cause checking timestamps, because Vim Problem: On MS-Windows system() may cause checking timestamps, because Vim
looses and gains input focus, while this doesn't happen on Unix. loses and gains input focus, while this doesn't happen on Unix.
Solution: Don't check timestamps while system() is busy. Solution: Don't check timestamps while system() is busy.
Files: src/ex_cmds2.c, src/fileio.c, src/globals.h, src/misc1.c Files: src/ex_cmds2.c, src/fileio.c, src/globals.h, src/misc1.c
@@ -6393,7 +6393,7 @@ wrong (back)slashes.
Win32: printer dialog texts were not translated. (Yasuhiro Matsumoto) Win32: printer dialog texts were not translated. (Yasuhiro Matsumoto)
When using a multi-byte character with a K_SPECIAL byte or a special key code When using a multibyte character with a K_SPECIAL byte or a special key code
with "--remote-send" the received byte sequence was mangled. Put it in the with "--remote-send" the received byte sequence was mangled. Put it in the
typeahead buffer instead of the input buffer. typeahead buffer instead of the input buffer.
@@ -6438,7 +6438,7 @@ library version of fgets() to work correctly for Metrowerks 2.2. (Axel
Kielhorn) Kielhorn)
When typing a password a "*" was shown for each byte instead of for each When typing a password a "*" was shown for each byte instead of for each
character. Added multi-byte handling to displaying the stars. (Yasuhiro character. Added multibyte handling to displaying the stars. (Yasuhiro
Matsumoto) Matsumoto)
When using Perl 5.6 accessing $curbuf doesn't work. Add an #ifdef to use When using Perl 5.6 accessing $curbuf doesn't work. Add an #ifdef to use
@@ -6690,9 +6690,9 @@ Solution: Overrule 'lazyredraw' when do_redraw is set.
Files: src/main.c, src/screen.c Files: src/main.c, src/screen.c
Patch 6.1.038 Patch 6.1.038
Problem: Multi-byte: When a ":s" command contains a multi-byte character Problem: Multi-byte: When a ":s" command contains a multibyte character
where the trail byte is '~' the text is messed up. where the trail byte is '~' the text is messed up.
Solution: Properly skip multi-byte characters in regtilde() (Muraoka Taro) Solution: Properly skip multibyte characters in regtilde() (Muraoka Taro)
Files: src/regexp.c Files: src/regexp.c
Patch 6.1.039 Patch 6.1.039
@@ -7105,7 +7105,7 @@ Solution: Use ":setlocal" instead of ":set". Change "aw" to "awa".
Files: runtime/optwin.vim Files: runtime/optwin.vim
Patch 6.1.102 Patch 6.1.102
Problem: Unprintable and multi-byte characters in a statusline item are not Problem: Unprintable and multibyte characters in a statusline item are not
truncated correctly. (Yasuhiro Matsumoto) truncated correctly. (Yasuhiro Matsumoto)
Solution: Count the width of characters instead of the number of bytes. Solution: Count the width of characters instead of the number of bytes.
Files: src/buffer.c Files: src/buffer.c
@@ -7480,7 +7480,7 @@ Solution: Take 'siso' into account when computing the horizontal scroll
Files: src/normal.c Files: src/normal.c
Patch 6.1.159 Patch 6.1.159
Problem: When expanding an abbreviation that includes a multi-byte Problem: When expanding an abbreviation that includes a multibyte
character too many characters are deleted. (Andrey Urazov) character too many characters are deleted. (Andrey Urazov)
Solution: Delete the abbreviation counting characters instead of bytes. Solution: Delete the abbreviation counting characters instead of bytes.
Files: src/getchar.c Files: src/getchar.c
@@ -7964,10 +7964,10 @@ Files: src/gui_w48.c
Patch 6.1.231 Patch 6.1.231
Problem: Double clicking with the mouse to select a word does not work for Problem: Double clicking with the mouse to select a word does not work for
multi-byte characters. multibyte characters.
Solution: Use vim_iswordc() instead of vim_isIDc(). This means 'iskeyword' Solution: Use vim_iswordc() instead of vim_isIDc(). This means 'iskeyword'
is used instead of 'isident'. Also fix that mixing ASCII with is used instead of 'isident'. Also fix that mixing ASCII with
multi-byte word characters doesn't work, the mouse class for multibyte word characters doesn't work, the mouse class for
punctuation and word characters was mixed up. punctuation and word characters was mixed up.
Files: src/normal.c Files: src/normal.c
@@ -8056,7 +8056,7 @@ Files: src/vim.h
Patch 6.1.245 Patch 6.1.245
Problem: Comparing with ignored case does not work properly for Unicode Problem: Comparing with ignored case does not work properly for Unicode
with a locale where case folding an ASCII character results in a with a locale where case folding an ASCII character results in a
multi-byte character. (Glenn Maynard) multibyte character. (Glenn Maynard)
Solution: Handle ignore-case compare for Unicode differently. Solution: Handle ignore-case compare for Unicode differently.
Files: src/mbyte.c Files: src/mbyte.c
@@ -8081,8 +8081,8 @@ Files: src/eval.c
Patch 6.1.249 Patch 6.1.249
Problem: Can't expand a path on the command line if it includes a "|" as a Problem: Can't expand a path on the command line if it includes a "|" as a
trail byte of a multi-byte character. trail byte of a multibyte character.
Solution: Check for multi-byte characters. (Yasuhiro Matsumoto) Solution: Check for multibyte characters. (Yasuhiro Matsumoto)
Files: src/ex_docmd.c Files: src/ex_docmd.c
Patch 6.1.250 Patch 6.1.250
@@ -8177,9 +8177,9 @@ Solution: Set the previous context mark before jumping.
Files: src/fold.c Files: src/fold.c
Patch 6.1.263 Patch 6.1.263
Problem: When typing a multi-byte character that triggers an abbreviation Problem: When typing a multibyte character that triggers an abbreviation
it is not inserted properly. it is not inserted properly.
Solution: Handle adding the typed multi-byte character. (Yasuhiro Matsumoto) Solution: Handle adding the typed multibyte character. (Yasuhiro Matsumoto)
Files: src/getchar.c Files: src/getchar.c
Patch 6.1.264 (depends on patch 6.1.254) Patch 6.1.264 (depends on patch 6.1.254)
@@ -8207,7 +8207,7 @@ Solution: Allocate enough memory for saving the register contents. (Muraoka
Files: src/ops.c Files: src/ops.c
Patch 6.1.268 Patch 6.1.268
Problem: When triggering an abbreviation with a multi-byte character, this Problem: When triggering an abbreviation with a multibyte character, this
character is not correctly inserted after expanding the character is not correctly inserted after expanding the
abbreviation. (Taro Muraoka) abbreviation. (Taro Muraoka)
Solution: Add ABBR_OFF to all characters above 0xff. Solution: Add ABBR_OFF to all characters above 0xff.
@@ -8321,7 +8321,7 @@ Files: runtime/doc/options.txt, src/buffer.c, src/option.c,
src/quickfix.c src/quickfix.c
Patch 6.1.286 Patch 6.1.286
Problem: 'showbreak' cannot contain multi-byte characters. Problem: 'showbreak' cannot contain multibyte characters.
Solution: Allow using all printable characters for 'showbreak'. Solution: Allow using all printable characters for 'showbreak'.
Files: src/charset.c, src/move.c, src/option.c Files: src/charset.c, src/move.c, src/option.c
@@ -8343,9 +8343,9 @@ Solution: Add a typecast for " ".
Files: src/screen.c Files: src/screen.c
Patch 6.1.290 (extra) Patch 6.1.290 (extra)
Problem: Truncating long text for message box may break multi-byte Problem: Truncating long text for message box may break multibyte
character. character.
Solution: Adjust to start of multi-byte character. (Yasuhiro Matsumoto) Solution: Adjust to start of multibyte character. (Yasuhiro Matsumoto)
Files: src/os_mswin.c Files: src/os_mswin.c
Patch 6.1.291 (extra) Patch 6.1.291 (extra)
@@ -8368,7 +8368,7 @@ Solution: Change ">=" to ">" in ml_find_line_or_offset(). (Bradford C Smith)
Files: src/memline.c Files: src/memline.c
Patch 6.1.294 Patch 6.1.294
Problem: Can't include a multi-byte character in a string by its hex value. Problem: Can't include a multibyte character in a string by its hex value.
(Benji Fisher) (Benji Fisher)
Solution: Add "\u....": a character specified with up to four hex numbers Solution: Add "\u....": a character specified with up to four hex numbers
and stored according to the value of 'encoding'. and stored according to the value of 'encoding'.
@@ -8791,7 +8791,7 @@ Solution: Set Vim as the frontprocess. Fix scrolling. (Peter Cucka)
Files: src/gui_mac.c Files: src/gui_mac.c
Patch 6.1.360 (depends on 6.1.341) Patch 6.1.360 (depends on 6.1.341)
Problem: In Insert mode CTRL-K ESC messes up a multi-byte character. Problem: In Insert mode CTRL-K ESC messes up a multibyte character.
(Anders Helmersson) (Anders Helmersson)
Solution: Save all bytes of a character when displaying a character Solution: Save all bytes of a character when displaying a character
temporarily. temporarily.
@@ -8962,7 +8962,7 @@ Files: src/gui_w32.c
Patch 6.1.383 Patch 6.1.383
Problem: The filling of the status line doesn't work properly for Problem: The filling of the status line doesn't work properly for
multi-byte characters. (Nam SungHyun) multibyte characters. (Nam SungHyun)
There is no check for going past the end of the buffer. There is no check for going past the end of the buffer.
Solution: Properly distinguish characters and bytes. Properly check for Solution: Properly distinguish characters and bytes. Properly check for
running out of buffer space. running out of buffer space.
@@ -8976,7 +8976,7 @@ Files: runtime/doc/eval.txt, src/eval.c, src/proto/version.pro,
src/version.c src/version.c
Patch 6.1.385 (depends on 6.1.383) Patch 6.1.385 (depends on 6.1.383)
Problem: Can't compile without the multi-byte feature. Problem: Can't compile without the multibyte feature.
Solution: Move an #ifdef. (Christian J. Robinson) Solution: Move an #ifdef. (Christian J. Robinson)
Files: src/buffer.c Files: src/buffer.c
@@ -9201,10 +9201,10 @@ Solution: Respect the GUARDEDOFFSET for sign IDs when checking for a guarded
Files: src/netbeans.c Files: src/netbeans.c
Patch 6.1.417 Patch 6.1.417
Problem: Unprintable multi-byte characters are not handled correctly. Problem: Unprintable multibyte characters are not handled correctly.
Multi-byte characters above 0xffff are displayed as another Multi-byte characters above 0xffff are displayed as another
character. character.
Solution: Handle unprintable multi-byte characters. Display multi-byte Solution: Handle unprintable multibyte characters. Display multibyte
characters above 0xffff with a marker. Recognize UTF-16 words and characters above 0xffff with a marker. Recognize UTF-16 words and
BOM words as unprintable. (Daniel Elstner) BOM words as unprintable. (Daniel Elstner)
Files: src/charset.c, src/mbyte.c, src/screen.c Files: src/charset.c, src/mbyte.c, src/screen.c
@@ -9326,7 +9326,7 @@ Solution: Add the line number to the error message.
Files: src/fileio.c Files: src/fileio.c
Patch 6.1.437 (extra, depends on 6.1.421) Patch 6.1.437 (extra, depends on 6.1.421)
Problem: Using multi-byte functions when they are not available. Problem: Using multibyte functions when they are not available.
Solution: Put the clipboard conversion inside an #ifdef. (Vince Negri) Solution: Put the clipboard conversion inside an #ifdef. (Vince Negri)
Also fix a pointer type mistake. (Walter Briscoe) Also fix a pointer type mistake. (Walter Briscoe)
Files: src/os_mswin.c Files: src/os_mswin.c
@@ -9526,8 +9526,8 @@ Solution: Only store folds for a buffer with 'buftype' empty and help files.
Files: src/ex_docmd.c Files: src/ex_docmd.c
Patch 6.1.469 Patch 6.1.469
Problem: 'listchars' cannot contain multi-byte characters. Problem: 'listchars' cannot contain multibyte characters.
Solution: Handle multi-byte UTF-8 list characters. (Matthew Samsonoff) Solution: Handle multibyte UTF-8 list characters. (Matthew Samsonoff)
Files: src/message.c, src/option.c, src/screen.c Files: src/message.c, src/option.c, src/screen.c
Patch 6.1.470 (lang) Patch 6.1.470 (lang)
@@ -10009,7 +10009,7 @@ Files: nsis/gvim.nsi
Patch 6.2.010 Patch 6.2.010
Problem: When 'virtualedit' is effective and a line starts with a Problem: When 'virtualedit' is effective and a line starts with a
multi-byte character, moving the cursor right doesn't work. multibyte character, moving the cursor right doesn't work.
Solution: Obtain the right character to compute the column offset. (Taro Solution: Obtain the right character to compute the column offset. (Taro
Muraoka) Muraoka)
Files: src/charset.c Files: src/charset.c
@@ -10109,7 +10109,7 @@ Files: src/fileio.c
Patch 6.2.027 Patch 6.2.027
Problem: Warning for uninitialized variable. Problem: Warning for uninitialized variable.
Solution: Set mb_l to one when not using multi-byte characters. Solution: Set mb_l to one when not using multibyte characters.
Files: src/message.c Files: src/message.c
Patch 6.2.028 Patch 6.2.028
@@ -10271,15 +10271,15 @@ Files: src/osdef1.h.in
Patch 6.2.054 Patch 6.2.054
Problem: A double-byte character with a second byte that is a backslash Problem: A double-byte character with a second byte that is a backslash
causes problems inside a string. causes problems inside a string.
Solution: Skip over multi-byte characters in a string properly. (Yasuhiro Solution: Skip over multibyte characters in a string properly. (Yasuhiro
Matsumoto) Matsumoto)
Files: src/eval.c Files: src/eval.c
Patch 6.2.055 Patch 6.2.055
Problem: Using col('.') from CTRL-O in Insert mode does not return the Problem: Using col('.') from CTRL-O in Insert mode does not return the
correct value for multi-byte characters. correct value for multibyte characters.
Solution: Correct the cursor position when it is necessary, move to the Solution: Correct the cursor position when it is necessary, move to the
first byte of a multi-byte character. (Yasuhiro Matsumoto) first byte of a multibyte character. (Yasuhiro Matsumoto)
Files: src/edit.c Files: src/edit.c
Patch 6.2.056 (extra) Patch 6.2.056 (extra)
@@ -10851,7 +10851,7 @@ Files: Makefile, src/Makefile, src/auto/configure, src/configure.in,
Patch 6.2.143 Patch 6.2.143
Problem: Using "K" on Visually selected text doesn't work if it ends in Problem: Using "K" on Visually selected text doesn't work if it ends in
a multi-byte character. a multibyte character.
Solution: Include all the bytes of the last character. (Taro Muraoka) Solution: Include all the bytes of the last character. (Taro Muraoka)
Files: src/normal.c Files: src/normal.c
@@ -11269,12 +11269,12 @@ Files: src/gui_w32.c, src/gui_w48.c
Patch 6.2.206 Patch 6.2.206
Problem: Multi-byte characters cannot be used as hotkeys in a console Problem: Multi-byte characters cannot be used as hotkeys in a console
dialog. (Mattias Erkisson) dialog. (Mattias Erkisson)
Solution: Handle multi-byte characters properly. Also put () or [] around Solution: Handle multibyte characters properly. Also put () or [] around
default hotkeys. default hotkeys.
Files: src/message.c, src/macros.h Files: src/message.c, src/macros.h
Patch 6.2.207 Patch 6.2.207
Problem: When 'encoding' is a multi-byte encoding, expanding an Problem: When 'encoding' is a multibyte encoding, expanding an
abbreviation that starts where insertion started results in abbreviation that starts where insertion started results in
characters before the insertion to be deleted. (Xiangjiang Ma) characters before the insertion to be deleted. (Xiangjiang Ma)
Solution: Stop searching leftwards for the start of the word at the position Solution: Stop searching leftwards for the start of the word at the position
@@ -11344,7 +11344,7 @@ Files: src/fileio.c, src/netbeans.c, src/proto/netbeans.pro,
Patch 6.2.216 (after 6.2.206) Patch 6.2.216 (after 6.2.206)
Problem: Multi-byte characters still cannot be used as hotkeys in a console Problem: Multi-byte characters still cannot be used as hotkeys in a console
dialog. (Mattias Erkisson) dialog. (Mattias Erkisson)
Solution: Make get_keystroke() handle multi-byte characters. Solution: Make get_keystroke() handle multibyte characters.
Files: src/misc1.c Files: src/misc1.c
Patch 6.2.217 Patch 6.2.217
@@ -11710,7 +11710,7 @@ Files: src/gui.c
Patch 6.2.269 Patch 6.2.269
Problem: Diff mode does not highlight a change in a combining character. Problem: Diff mode does not highlight a change in a combining character.
(Raphael Finkel) (Raphael Finkel)
Solution: Make diff_find_change() multi-byte aware: find the start byte of Solution: Make diff_find_change() multibyte aware: find the start byte of
a character that contains a change. a character that contains a change.
Files: src/diff.c Files: src/diff.c
@@ -12505,7 +12505,7 @@ Solution: Don't redraw the bottom line if no rows were inserted or deleted.
Files: src/screen.c Files: src/screen.c
Patch 6.2.390 Patch 6.2.390
Problem: Using "r*" in Visual mode on multi-byte characters only replaces Problem: Using "r*" in Visual mode on multibyte characters only replaces
every other character. (Tyson Roberts) every other character. (Tyson Roberts)
Solution: Correct the cursor position after replacing each character. Solution: Correct the cursor position after replacing each character.
Files: src/ops.c Files: src/ops.c
@@ -12745,7 +12745,7 @@ Solution: Also use the line number of the position where the region
Files: src/syntax.c Files: src/syntax.c
Patch 6.2.427 (extra) Patch 6.2.427 (extra)
Problem: When pasting a lot of text in a multi-byte encoding, conversion Problem: When pasting a lot of text in a multibyte encoding, conversion
from 'termencoding' to 'encoding' may fail for some characters. from 'termencoding' to 'encoding' may fail for some characters.
(Kuang-che Wu) (Kuang-che Wu)
Solution: When there is an incomplete byte sequence at the end of the read Solution: When there is an incomplete byte sequence at the end of the read
@@ -12984,7 +12984,7 @@ Files: src/normal.c
Patch 6.2.462 Patch 6.2.462
Problem: Finding a matching parenthesis does not correctly handle a Problem: Finding a matching parenthesis does not correctly handle a
backslash in a trailing byte. backslash in a trailing byte.
Solution: Handle multi-byte characters correctly. (Taro Muraoka) Solution: Handle multibyte characters correctly. (Taro Muraoka)
Files: src/search.c Files: src/search.c
Patch 6.2.463 (extra) Patch 6.2.463 (extra)
@@ -13015,7 +13015,7 @@ Solution: Redefine wcsicmp() to wcscmpi() and add type casts. (Yasuhiro
Files: src/os_win32.c Files: src/os_win32.c
Patch 6.2.467 (extra, after 6.2.463) Patch 6.2.467 (extra, after 6.2.463)
Problem: Win32: can't compile without multi-byte feature. (Ajit Thakkar) Problem: Win32: can't compile without multibyte feature. (Ajit Thakkar)
Solution: Add #ifdefs around the info stream code. Solution: Add #ifdefs around the info stream code.
Files: src/os_win32.c Files: src/os_win32.c
@@ -13183,8 +13183,8 @@ Solution: Allow using " " (two spaces) in 'paragraph' to match ".$" or
Files: src/search.c Files: src/search.c
Patch 6.2.491 Patch 6.2.491
Problem: Decrementing a position doesn't take care of multi-byte chars. Problem: Decrementing a position doesn't take care of multibyte chars.
Solution: Adjust the column for multi-byte characters. Remove mb_dec(). Solution: Adjust the column for multibyte characters. Remove mb_dec().
(Yasuhiro Matsumoto) (Yasuhiro Matsumoto)
Files: src/mbyte.c, src/misc2.c, src/proto/mbyte.pro Files: src/mbyte.c, src/misc2.c, src/proto/mbyte.pro
@@ -13354,12 +13354,12 @@ Files: runtime/doc/options.txt, runtime/doc/sign.txt, src/option.c,
src/screen.c, src/syntax.c, src/vim.h src/screen.c, src/syntax.c, src/vim.h
Patch 6.2.517 Patch 6.2.517
Problem: Using "r*" in Visual mode on multi-byte characters replaces Problem: Using "r*" in Visual mode on multibyte characters replaces
too many characters. In Visual Block mode replacing with a too many characters. In Visual Block mode replacing with a
multi-byte character doesn't work. multibyte character doesn't work.
Solution: Adjust the operator end for the difference in byte length of the Solution: Adjust the operator end for the difference in byte length of the
original and the replaced character. Insert all bytes of a original and the replaced character. Insert all bytes of a
multi-byte character, take care of double-wide characters. multibyte character, take care of double-wide characters.
Files: src/ops.c Files: src/ops.c
Patch 6.2.518 Patch 6.2.518
@@ -13438,7 +13438,7 @@ Problem: NetBeans: Changes of the "~" command are not reported.
Solution: Call netbeans_inserted() after performing "~". (Gordon Prieur) Solution: Call netbeans_inserted() after performing "~". (Gordon Prieur)
Also change NetBeans debugging to append to the log file. Also change NetBeans debugging to append to the log file.
Also fix that "~" in Visual block mode changes too much if there Also fix that "~" in Visual block mode changes too much if there
are multi-byte characters. are multibyte characters.
Files: src/nbdebug.c, src/normal.c, src/ops.c Files: src/nbdebug.c, src/normal.c, src/ops.c
Patch 6.2.529 (extra) Patch 6.2.529 (extra)
@@ -13552,7 +13552,7 @@ Solution: Convert menu strings from 'encoding' to the active codepage.
Files: src/gui_w32.c, src/gui_w48.c Files: src/gui_w32.c, src/gui_w48.c
Patch 6.3a.014 Patch 6.3a.014
Problem: Using multi-byte text and highlighting in a statusline causes gaps Problem: Using multibyte text and highlighting in a statusline causes gaps
to appear. (Helmut Stiegler) to appear. (Helmut Stiegler)
Solution: Advance the column by text width instead of number of bytes. Add Solution: Advance the column by text width instead of number of bytes. Add
the vim_strnsize() function. the vim_strnsize() function.
@@ -14040,19 +14040,19 @@ Solution: Correctly check that one character is being deleted.
Files: src/misc1.c Files: src/misc1.c
Patch 6.3.021 Patch 6.3.021
Problem: When the last character of a file name is a multi-byte character Problem: When the last character of a file name is a multibyte character
and the last byte is a path separator, the file cannot be edited. and the last byte is a path separator, the file cannot be edited.
Solution: Check for the last byte to be part of a multi-byte character. Solution: Check for the last byte to be part of a multibyte character.
(Taro Muraoka) (Taro Muraoka)
Files: src/fileio.c Files: src/fileio.c
Patch 6.3.022 (extra) Patch 6.3.022 (extra)
Problem: Win32: When the last character of a file name is a multi-byte Problem: Win32: When the last character of a file name is a multibyte
character and the last byte is a path separator, the file cannot character and the last byte is a path separator, the file cannot
be written. A trail byte that is a space makes that a file cannot be written. A trail byte that is a space makes that a file cannot
be opened from the command line. be opened from the command line.
Solution: Recognize double-byte characters when parsing the command line. Solution: Recognize double-byte characters when parsing the command line.
In mch_stat() check for the last byte to be part of a multi-byte In mch_stat() check for the last byte to be part of a multibyte
character. (Taro Muraoka) character. (Taro Muraoka)
Files: src/gui_w48.c, src/os_mswin.c Files: src/gui_w48.c, src/os_mswin.c
@@ -14222,7 +14222,7 @@ Solution: Don't allow setting termcap options or 'printdevice' in a
Files: src/option.c, runtime/doc/options.txt Files: src/option.c, runtime/doc/options.txt
Patch 6.3.046 Patch 6.3.046
Problem: ":registers" doesn't show multi-byte characters properly. Problem: ":registers" doesn't show multibyte characters properly.
(Valery Kondakoff) (Valery Kondakoff)
Solution: Get the length of each character before displaying it. Solution: Get the length of each character before displaying it.
Files: src/ops.c Files: src/ops.c
@@ -14250,9 +14250,9 @@ Solution: Ignore SIGHUP when exiting because of an error. (Scott Anderson)
Files: src/misc1.c, src/main.c Files: src/misc1.c, src/main.c
Patch 6.3.051 Patch 6.3.051
Problem: When 'wildmenu' is set and completed file names contain multi-byte Problem: When 'wildmenu' is set and completed file names contain multibyte
characters Vim may crash. characters Vim may crash.
Solution: Reserve room for multi-byte characters. (Yasuhiro Matsumoto) Solution: Reserve room for multibyte characters. (Yasuhiro Matsumoto)
Files: src/screen.c Files: src/screen.c
Patch 6.3.052 (extra) Patch 6.3.052 (extra)
@@ -14286,9 +14286,9 @@ Solution: When moving ccline out of the way for recursive use, make it
Files: src/ex_getln.c Files: src/ex_getln.c
Patch 6.3.056 Patch 6.3.056
Problem: The last characters of a multi-byte file name may not be displayed Problem: The last characters of a multibyte file name may not be displayed
in the window title. in the window title.
Solution: Avoid to remove a multi-byte character where the last byte looks Solution: Avoid to remove a multibyte character where the last byte looks
like a path separator character. (Yasuhiro Matsumoto) like a path separator character. (Yasuhiro Matsumoto)
Files: src/buffer.c, src/ex_getln.c Files: src/buffer.c, src/ex_getln.c
@@ -14319,9 +14319,9 @@ Files: src/edit.c
Patch 6.3.061 Patch 6.3.061
Problem: When editing a utf-8 file in an utf-8 xterm and there is a Problem: When editing a utf-8 file in an utf-8 xterm and there is a
multi-byte character in the last column, displaying is messed up. multibyte character in the last column, displaying is messed up.
(Joël Rio) (Joël Rio)
Solution: Check for a multi-byte character, not a multi-column character. Solution: Check for a multibyte character, not a multi-column character.
Files: src/screen.c Files: src/screen.c
Patch 6.3.062 Patch 6.3.062
@@ -14384,7 +14384,7 @@ Files: src/edit.c
Patch 6.3.072 Patch 6.3.072
Problem: Crash in giving substitute message when language is Chinese and Problem: Crash in giving substitute message when language is Chinese and
encoding is utf-8. (Yongwei) encoding is utf-8. (Yongwei)
Solution: Make the msg_buf size larger when using multi-byte. Solution: Make the msg_buf size larger when using multibyte.
Files: src/vim.h Files: src/vim.h
Patch 6.3.073 Patch 6.3.073
@@ -14508,7 +14508,7 @@ Solution: Change "a" to "b". (Tony Mechelynck)
Files: src/version.h Files: src/version.h
Patch 6.4b.002 Patch 6.4b.002
Problem: In Insert mode, pasting a multi-byte character after the end of Problem: In Insert mode, pasting a multibyte character after the end of
the line leaves the cursor just before that character. the line leaves the cursor just before that character.
Solution: Make sure "gP" leaves the cursor in the right place when Solution: Make sure "gP" leaves the cursor in the right place when
'virtualedit' is set. 'virtualedit' is set.

View File

@@ -1,4 +1,4 @@
*version7.txt* For Vim version 8.2. Last change: 2016 Jul 17 *version7.txt* For Vim version 8.2. Last change: 2020 Aug 15
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -22,7 +22,7 @@ Vim script enhancements |new-vim-script|
Spell checking |new-spell| Spell checking |new-spell|
Omni completion |new-omni-completion| Omni completion |new-omni-completion|
MzScheme interface |new-MzScheme| MzScheme interface |new-MzScheme|
Printing multi-byte text |new-print-multi-byte| Printing multibyte text |new-print-multibyte|
Tab pages |new-tab-pages| Tab pages |new-tab-pages|
Undo branches |new-undo-branches| Undo branches |new-undo-branches|
Extended Unicode support |new-more-unicode| Extended Unicode support |new-more-unicode|
@@ -302,10 +302,10 @@ The |:mzfile| command can be used to execute an MzScheme script file
This depends on Vim being compiled with the |+mzscheme| feature. This depends on Vim being compiled with the |+mzscheme| feature.
Printing multi-byte text *new-print-multi-byte* Printing multibyte text *new-print-multibyte*
------------------------ ------------------------
The |:hardcopy| command now supports printing multi-byte characters when using The |:hardcopy| command now supports printing multibyte characters when using
PostScript. PostScript.
The 'printmbcharset' and 'printmbfont' options are used for this. The 'printmbcharset' and 'printmbfont' options are used for this.
@@ -1211,7 +1211,7 @@ Also fixes the problem that setting 'clipboard' to "unnamed" breaks using
Mac: GUI font selector. (Peter Cucka) Mac: GUI font selector. (Peter Cucka)
Mac: support for multi-byte characters. (Da Woon Jung) Mac: support for multibyte characters. (Da Woon Jung)
This doesn't always work properly. If you see text drawing problems try This doesn't always work properly. If you see text drawing problems try
switching the 'macatsui' option off. switching the 'macatsui' option off.
@@ -1361,7 +1361,7 @@ When C, C++ or IDL syntax is used, may additionally load doxygen syntax.
Support setting 'filetype' and 'syntax' to "aaa.bbb" for "aaa" plus "bbb" Support setting 'filetype' and 'syntax' to "aaa.bbb" for "aaa" plus "bbb"
filetype or syntax. filetype or syntax.
The ":registers" command now displays multi-byte characters properly. The ":registers" command now displays multibyte characters properly.
VMS: In the usage message mention that a slash can be used to make a flag 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. upper case. Add color support to the builtin vt320 terminal codes.
@@ -1460,7 +1460,7 @@ To count items (pattern matches) without changing the buffer the 'n' flag has
been added to |:substitute|. See |count-items|. been added to |:substitute|. See |count-items|.
In a |:substitute| command the \u, \U, \l and \L items now also work for In a |:substitute| command the \u, \U, \l and \L items now also work for
multi-byte characters. multibyte characters.
The "screen.linux" $TERM name is recognized to set the default for The "screen.linux" $TERM name is recognized to set the default for
'background' to "dark". (Ciaran McCreesh) Also for "cygwin" and "putty". 'background' to "dark". (Ciaran McCreesh) Also for "cygwin" and "putty".
@@ -1736,7 +1736,7 @@ 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 'cindent': When the argument of a #define looks like a C++ class the next line
is indented too much. is indented too much.
When 'comments' includes multi-byte characters inserting the middle part and When 'comments' includes multibyte characters inserting the middle part and
alignment may go wrong. 'cindent' also suffers from this for right-aligned alignment may go wrong. 'cindent' also suffers from this for right-aligned
items. items.
@@ -2309,7 +2309,7 @@ characters in v:this_session.
":set sta ts=8 sw=4 sts=2" deleted 4 spaces halfway a line instead of 2. ":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. In a multibyte file the foldmarker could be recognized in the trail byte.
(Taro Muraoka) (Taro Muraoka)
Pasting with CTRL-V and menu didn't work properly when some commands are Pasting with CTRL-V and menu didn't work properly when some commands are
@@ -2504,7 +2504,7 @@ a crash.
For a new tab page the 'scroll' option wasn't set to a good default. 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 Using an end offset for a search "/pat/e" didn't work properly for multibyte
text. (Yukihiro Nakadaira) text. (Yukihiro Nakadaira)
":s/\n/,/" doubled the text when used on the last line. ":s/\n/,/" doubled the text when used on the last line.
@@ -2604,7 +2604,7 @@ recursively. But after a ":normal" command the protection was reset.
":s/a/b/n" didn't work when 'modifiable' was off. ":s/a/b/n" didn't work when 'modifiable' was off.
When $VIMRUNTIME includes a multi-byte character then rgb.txt could not be When $VIMRUNTIME includes a multibyte character then rgb.txt could not be
found. (Yukihiro Nakadaira) found. (Yukihiro Nakadaira)
":mkspell" didn't work correctly for non-ASCII affix flags when conversion is ":mkspell" didn't work correctly for non-ASCII affix flags when conversion is
@@ -2670,7 +2670,7 @@ keep them in the original order.
Fixed a crash when editing a directory in diff mode. Don't trigger Fixed a crash when editing a directory in diff mode. Don't trigger
autocommands when executing the diff command. autocommands when executing the diff command.
Getting a keystroke could get stuck if 'encoding' is a multi-byte encoding and Getting a keystroke could get stuck if 'encoding' is a multibyte encoding and
typing a special key. typing a special key.
When 'foldignore' is set the folds were not updated right away. When 'foldignore' is set the folds were not updated right away.
@@ -2711,7 +2711,7 @@ When using ":vsp" or ":sp" the available space wasn't used equally between
windows. (Servatius Brandt) windows. (Servatius Brandt)
Expanding <cWORD> on a trailing blank resulted in the first word in the line Expanding <cWORD> on a trailing blank resulted in the first word in the line
if 'encoding' is a multi-byte encoding. if 'encoding' is a multibyte encoding.
Spell checking: spellbadword() didn't see a missing capital in the first word 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. of a line. Popup menu now only suggest the capitalized word when appropriate.
@@ -2734,7 +2734,7 @@ background, which made magenta text disappear. Now use reverse in this
specific situation. specific situation.
After completing the longest match "." didn't insert the same text. Repeating After completing the longest match "." didn't insert the same text. Repeating
also didn't work correctly for multi-byte text. also didn't work correctly for multibyte text.
When using Insert mode completion and BS the whole word that was completed 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 would result in all possible matches. Now stop completion. Also fixes that
@@ -2751,7 +2751,7 @@ non-ASCII characters looked wrong. (Yegappan Lakshmanan)
Motif: building failed when Xm/Notebook.h doesn't exist. Added a configure Motif: building failed when Xm/Notebook.h doesn't exist. Added a configure
check, disable GUI tabline when it's missing. check, disable GUI tabline when it's missing.
Mac: When compiled without multi-byte feature the clipboard didn't work. Mac: When compiled without multibyte feature the clipboard didn't work.
It was possible to switch to another tab page when the cmdline window is open. It was possible to switch to another tab page when the cmdline window is open.
@@ -2867,7 +2867,7 @@ a crash.
GTK: The tab pages line menu was not converted from 'encoding' to utf-8. 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 Typing a multibyte character or a special key at the hit-enter prompt did not
work. work.
When 'virtualedit' contains "onemore" CTRL-O in Insert mode still moved the When 'virtualedit' contains "onemore" CTRL-O in Insert mode still moved the
@@ -3387,7 +3387,7 @@ Solution: When running Vim as root don't become a Vim server without an
Files: src/main.c Files: src/main.c
Patch 7.0.053 Patch 7.0.053
Problem: Shortening a directory name may fail when there are multi-byte Problem: Shortening a directory name may fail when there are multibyte
characters. characters.
Solution: Copy the correct bytes. (Titov Anatoly) Solution: Copy the correct bytes. (Titov Anatoly)
Files: src/misc1.c Files: src/misc1.c
@@ -3621,7 +3621,7 @@ Solution: Remove the "-pipe" argument from PERL_CFLAGS.
Files: src/auto/configure, src/configure.in Files: src/auto/configure, src/configure.in
Patch 7.0.089 Patch 7.0.089
Problem: "ga" does not work properly for a non-Unicode multi-byte encoding. Problem: "ga" does not work properly for a non-Unicode multibyte encoding.
Solution: Only check for composing chars for utf-8. (Taro Muraoka) Solution: Only check for composing chars for utf-8. (Taro Muraoka)
Files: src/ex_cmds.c Files: src/ex_cmds.c
@@ -4224,7 +4224,7 @@ Files: src/if_cscope.c
Patch 7.0.185 Patch 7.0.185
Problem: Multi-byte characters in a message are displayed with attributes Problem: Multi-byte characters in a message are displayed with attributes
from what comes before it. from what comes before it.
Solution: Don't use the attributes for a multi-byte character. Do use Solution: Don't use the attributes for a multibyte character. Do use
attributes for special characters. (Yukihiro Nakadaira) attributes for special characters. (Yukihiro Nakadaira)
Files: src/message.c Files: src/message.c
@@ -4307,7 +4307,7 @@ Solution: Add type casts. Use "*" for processorArchitecture. (George Reilly)
Files: src/Make_mvc.mak, src/eval.c, src/gvim.exe.mnf, src/misc2.c Files: src/Make_mvc.mak, src/eval.c, src/gvim.exe.mnf, src/misc2.c
Patch 7.0.199 Patch 7.0.199
Problem: When using multi-byte characters the combination of completion and Problem: When using multibyte characters the combination of completion and
formatting may result in a wrong cursor position. formatting may result in a wrong cursor position.
Solution: Don't decrement the cursor column, use dec_cursor(). (Yukihiro Solution: Don't decrement the cursor column, use dec_cursor(). (Yukihiro
Nakadaira) Also check for the column to be zero. Nakadaira) Also check for the column to be zero.
@@ -5902,10 +5902,10 @@ Solution: Don't advance the cursor when it's already on the NUL after a
Files: src/normal.c Files: src/normal.c
Patch 7.1.185 Patch 7.1.185
Problem: Using "gR" with a multi-byte encoding and typing a CR pushes Problem: Using "gR" with a multibyte encoding and typing a CR pushes
characters onto the replace stack incorrectly, resulting in BS characters onto the replace stack incorrectly, resulting in BS
putting back the wrong characters. (Paul B. Mahol) putting back the wrong characters. (Paul B. Mahol)
Solution: Push multi-byte characters onto the replace stack in reverse byte Solution: Push multibyte characters onto the replace stack in reverse byte
order. Add replace_push_mb(). order. Add replace_push_mb().
Files: src/edit.c, src/misc1.c, src/proto/edit.pro Files: src/edit.c, src/misc1.c, src/proto/edit.pro
@@ -6112,7 +6112,7 @@ Files: runtime/doc/eval.txt, src/eval.c, src/hardcopy.c,
Patch 7.1.220 Patch 7.1.220
Problem: When a ")" or word movement command moves the cursor back from the 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 end of the line it may end up on the trail byte of a multibyte
character. It's also moved back when it isn't needed. character. It's also moved back when it isn't needed.
Solution: Add the adjust_cursor() function. Solution: Add the adjust_cursor() function.
Files: src/normal.c Files: src/normal.c
@@ -6241,7 +6241,7 @@ 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 before the end of the word. Latin2 has the same sharp s but it's
not changed to SS there. not changed to SS there.
Solution: Make sure all the characters are operated upon. Detect the sharp Solution: Make sure all the characters are operated upon. Detect the sharp
s in latin2. Also fixes that changing case of a multi-byte s in latin2. Also fixes that changing case of a multibyte
character that changes the byte count doesn't always work. character that changes the byte count doesn't always work.
Files: src/ops.c Files: src/ops.c
@@ -6771,7 +6771,7 @@ Files: src/misc1.c
Warning for missing sentinel in gui_xmldlg.c. (Dominique Pelle) 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 A search offset from the end of a match didn't work properly for multibyte
characters. (Yukihiro Nakadaira) characters. (Yukihiro Nakadaira)
When displaying the value of 'key' don't show "*****" when the value is empty. When displaying the value of 'key' don't show "*****" when the value is empty.
@@ -6965,7 +6965,7 @@ The #ifdef for including "vimio.h" was inconsistent. In a few files it
depended on MSWIN, which isn't defined until later. depended on MSWIN, which isn't defined until later.
Patch 7.2b.001 Patch 7.2b.001
Problem: Compilation problem: mb_fix_col() missing with multi-byte feature Problem: Compilation problem: mb_fix_col() missing with multibyte feature
but without GUI or clipboard. but without GUI or clipboard.
Solution: Remove #ifdef. Solution: Remove #ifdef.
Files: src/mbyte.c Files: src/mbyte.c
@@ -7804,7 +7804,7 @@ Solution: Don't change "Columns" back to an old value at a wrong moment.
Files: src/gui.c Files: src/gui.c
Patch 7.2.066 Patch 7.2.066
Problem: It's not easy to see whether 'encoding' is a multi-byte encoding. Problem: It's not easy to see whether 'encoding' is a multibyte encoding.
Solution: Add has('multi_byte_encoding'). Solution: Add has('multi_byte_encoding').
Files: runtime/doc/eval.txt, src/eval.c Files: runtime/doc/eval.txt, src/eval.c
@@ -7949,7 +7949,7 @@ Solution: Don't use a WM_OLE message of zero size. (Ray Megal)
Files: src/if_ole.cpp, src/gui_w48.c Files: src/if_ole.cpp, src/gui_w48.c
Patch 7.2.090 Patch 7.2.090
Problem: User command containing 0x80 in multi-byte character does not work Problem: User command containing 0x80 in multibyte character does not work
properly. (Yasuhiro Matsumoto) properly. (Yasuhiro Matsumoto)
Solution: Undo replacement of K_SPECIAL and CSI characters when executing Solution: Undo replacement of K_SPECIAL and CSI characters when executing
the command. the command.
@@ -7967,7 +7967,7 @@ Files: src/eval.c
Patch 7.2.093 (extra) Patch 7.2.093 (extra)
Problem: Win32: inputdialog() and find/replace dialogs can't handle Problem: Win32: inputdialog() and find/replace dialogs can't handle
multi-byte text. multibyte text.
Solution: Use the wide version of dialog functions when available. (Yanwei Solution: Use the wide version of dialog functions when available. (Yanwei
Jia) Jia)
Files: src/gui_w32.c, src/gui_w48.c Files: src/gui_w32.c, src/gui_w48.c
@@ -8062,8 +8062,8 @@ Solution: Add #ifdef.
Files: src/option.c Files: src/option.c
Patch 7.2.109 Patch 7.2.109
Problem: 'langmap' does not work for multi-byte characters. Problem: 'langmap' does not work for multibyte characters.
Solution: Add a list of mapped multi-byte characters. (based on work by Solution: Add a list of mapped multibyte characters. (based on work by
Konstantin Korikov, Agathoklis Hatzimanikas) Konstantin Korikov, Agathoklis Hatzimanikas)
Files: runtime/doc/options.txt, src/edit.c, src/getchar.c, src/macros.h, 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 src/normal.c, src/option.c, src/proto/option.pro, src/window.c
@@ -8908,7 +8908,7 @@ Solution: Remove _FORTIFY_SOURCE=2 from CFLAGS. (Dominique Pelle)
Files: src/auto/configure, src/configure.in Files: src/auto/configure, src/configure.in
Patch 7.2.252 Patch 7.2.252
Problem: When using a multi-byte 'enc' the 'iskeyword' option cannot Problem: When using a multibyte 'enc' the 'iskeyword' option cannot
contain characters above 128. contain characters above 128.
Solution: Use mb_ptr2char_adv(). Solution: Use mb_ptr2char_adv().
Files: src/charset.c Files: src/charset.c
@@ -9053,7 +9053,7 @@ Files: src/memline.c
Patch 7.2.276 Patch 7.2.276
Problem: Crash when setting 'isprint' to a small bullet. (Raul Coronado) Problem: Crash when setting 'isprint' to a small bullet. (Raul Coronado)
Solution: Check for the character to be < 256. Also make it possible to Solution: Check for the character to be < 256. Also make it possible to
specify a range of multi-byte characters. (Lech Lorens) specify a range of multibyte characters. (Lech Lorens)
Files: src/charset.c Files: src/charset.c
Patch 7.2.277 Patch 7.2.277
@@ -9144,7 +9144,7 @@ Solution: Use utfc_ptr2char_len() rather than utfc_ptr2char(). (Dominique
Files: src/screen.c Files: src/screen.c
Patch 7.2.292 Patch 7.2.292
Problem: Block right-shift doesn't work properly with multi-byte encoding Problem: Block right-shift doesn't work properly with multibyte encoding
and 'list' set. and 'list' set.
Solution: Add the missing "else". (Lech Lorens) Solution: Add the missing "else". (Lech Lorens)
Files: src/ops.c Files: src/ops.c
@@ -9430,7 +9430,7 @@ Files: src/screen.c
Patch 7.2.342 Patch 7.2.342
Problem: Popup menu displayed wrong in 'rightleft' mode when there are Problem: Popup menu displayed wrong in 'rightleft' mode when there are
multi-byte characters. multibyte characters.
Solution: Adjust the column computations. (Dominique Pelle) Solution: Adjust the column computations. (Dominique Pelle)
Files: src/popupmnu.c Files: src/popupmnu.c
@@ -10111,7 +10111,7 @@ Fix compile warnings, esp. for 64-bit systems. (Mike Williams)
Fix: :redir to a dictionary that is changed before ":redir END" causes a Fix: :redir to a dictionary that is changed before ":redir END" causes a
memory access error. memory access error.
Fix: terminal title not properly restored when there are multi-byte Fix: terminal title not properly restored when there are multibyte
characters. (partly by James Vega) characters. (partly by James Vega)
Set 'wrapscan' when checking the .po files. (Mike Williams) Set 'wrapscan' when checking the .po files. (Mike Williams)
@@ -10132,7 +10132,7 @@ Changed readfile() to ignore byte order marks, unless in binary mode.
On MS-Windows completion of shell commands didn't work. On MS-Windows completion of shell commands didn't work.
An unprintable multi-byte character at the start of the screen line caused the An unprintable multibyte character at the start of the screen line caused the
following text to be drawn at the wrong position. following text to be drawn at the wrong position.
Got ml_get errors when using undo with 'virtualedit'. Got ml_get errors when using undo with 'virtualedit'.
@@ -10391,7 +10391,7 @@ Solution: Increase the list reference count. Add a test for undotree()
Files: src/eval.c, src/testdir/Makefile, src/testdir/test61.in Files: src/eval.c, src/testdir/Makefile, src/testdir/test61.in
Patch 7.3.006 Patch 7.3.006
Problem: Can't build some multi-byte code with C89. Problem: Can't build some multibyte code with C89.
Solution: Move code to after declarations. (Joachim Schmitz) Solution: Move code to after declarations. (Joachim Schmitz)
Files: src/mbyte.c, src/spell.c Files: src/mbyte.c, src/spell.c
@@ -11161,7 +11161,7 @@ Solution: Call update_screen() before waiting for input.
Files: src/misc1.c, src/getchar.c Files: src/misc1.c, src/getchar.c
Patch 7.3.138 Patch 7.3.138
Problem: ":com" changes the multi-byte text of :echo. (Dimitar Dimitrov) Problem: ":com" changes the multibyte text of :echo. (Dimitar Dimitrov)
Solution: Search for K_SPECIAL as a byte, not a character. (Ben Schmidt) Solution: Search for K_SPECIAL as a byte, not a character. (Ben Schmidt)
Files: src/ex_docmd.c Files: src/ex_docmd.c
@@ -11486,7 +11486,7 @@ Files: README_extra.txt, src/Make_ro.mak, src/INSTALL, src/Makefile,
src/option.h, src/structs.h, src/version.c, src/pty.c, Filelist src/option.h, src/structs.h, src/version.c, src/pty.c, Filelist
Patch 7.3.192 Patch 7.3.192
Problem: Ex command ":s/ \?/ /g" splits multi-byte characters into bytes. Problem: Ex command ":s/ \?/ /g" splits multibyte characters into bytes.
(Dominique Pelle) (Dominique Pelle)
Solution: Advance over whole character instead of one byte. Solution: Advance over whole character instead of one byte.
Files: src/ex_cmds.c Files: src/ex_cmds.c
@@ -12016,15 +12016,15 @@ Solution: Only restore the cursor position when there is a command line.
Files: src/ex_getln.c Files: src/ex_getln.c
Patch 7.3.283 Patch 7.3.283
Problem: An expression mapping with a multi-byte character containing a Problem: An expression mapping with a multibyte character containing a
0x80 byte gets messed up. (ZyX) 0x80 byte gets messed up. (ZyX)
Solution: Unescape the expression before evaluating it (Yukihiro Nakadaira) Solution: Unescape the expression before evaluating it (Yukihiro Nakadaira)
Files: src/getchar.c Files: src/getchar.c
Patch 7.3.284 Patch 7.3.284
Problem: The str2special() function doesn't handle multi-byte characters Problem: The str2special() function doesn't handle multibyte characters
properly. properly.
Solution: Recognize multi-byte characters. (partly by Vladimir Vichniakov) Solution: Recognize multibyte characters. (partly by Vladimir Vichniakov)
Files: src/getchar.c, src/message.c, src/misc2.c Files: src/getchar.c, src/message.c, src/misc2.c
Patch 7.3.285 (after 7.3.284) Patch 7.3.285 (after 7.3.284)
@@ -12112,7 +12112,7 @@ Solution: Adjust the style. (Elias Diem)
Files: src/gui_photon.c Files: src/gui_photon.c
Patch 7.3.300 Patch 7.3.300
Problem: Python doesn't parse multi-byte argument correctly. Problem: Python doesn't parse multibyte argument correctly.
Solution: Use "t" instead of "s". (lilydjwg) Solution: Use "t" instead of "s". (lilydjwg)
Files: src/if_py_both.h Files: src/if_py_both.h
@@ -12270,7 +12270,7 @@ Files: src/ex_cmds.c
Patch 7.3.328 Patch 7.3.328
Problem: When command line wraps the cursor may be displayed wrong when Problem: When command line wraps the cursor may be displayed wrong when
there are multi-byte characters. there are multibyte characters.
Solution: Position the cursor before drawing the text. (Yasuhiro Matsumoto) Solution: Position the cursor before drawing the text. (Yasuhiro Matsumoto)
Files: src/ex_getln.c Files: src/ex_getln.c
@@ -13377,7 +13377,7 @@ Solution: Move the call to gui_mch_init_check() to after fork(). (Yasuhiro
Files: src/gui.c, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro Files: src/gui.c, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro
Patch 7.3.521 Patch 7.3.521
Problem: Using "z=" on a multi-byte character may cause a crash. Problem: Using "z=" on a multibyte character may cause a crash.
Solution: Don't use strlen() on an int pointer. Solution: Don't use strlen() on an int pointer.
Files: src/spell.c Files: src/spell.c
@@ -13475,7 +13475,7 @@ Files: src/quickfix.c, src/testdir/test10.in, src/testdir/test10.ok
Patch 7.3.539 Patch 7.3.539
Problem: Redrawing a character on the command line does not work properly Problem: Redrawing a character on the command line does not work properly
for multi-byte characters. for multibyte characters.
Solution: Count the number of bytes in a character. (Yukihiro Nakadaira) Solution: Count the number of bytes in a character. (Yukihiro Nakadaira)
Files: src/ex_getln.c Files: src/ex_getln.c
@@ -13854,7 +13854,7 @@ Solution: Add #ifdef for MEMORYSTATUSEX.
Files: src/os_win32.c Files: src/os_win32.c
Patch 7.3.606 Patch 7.3.606
Problem: CTRL-P completion has a problem with multi-byte characters. Problem: CTRL-P completion has a problem with multibyte characters.
Solution: Check for next character being NUL properly. (Yasuhiro Matsumoto) Solution: Check for next character being NUL properly. (Yasuhiro Matsumoto)
Files: src/search.c, src/macros.h Files: src/search.c, src/macros.h
@@ -14190,7 +14190,7 @@ Files: src/ex_docmd.c
Patch 7.3.664 Patch 7.3.664
Problem: Buffer overflow in unescaping text. (Raymond Ko) Problem: Buffer overflow in unescaping text. (Raymond Ko)
Solution: Limit check for multi-byte character to 4 bytes. Solution: Limit check for multibyte character to 4 bytes.
Files: src/mbyte.c Files: src/mbyte.c
Patch 7.3.665 Patch 7.3.665
@@ -14357,8 +14357,8 @@ Solution: Add the shiftwidth() function. (so8res)
Files: runtime/doc/eval.txt, src/eval.c Files: runtime/doc/eval.txt, src/eval.c
Patch 7.3.695 Patch 7.3.695
Problem: Balloon cannot show multi-byte text. Problem: Balloon cannot show multibyte text.
Solution: Properly deal with multi-byte characters. (Dominique Pelle) Solution: Properly deal with multibyte characters. (Dominique Pelle)
Files: src/gui_beval.c, src/ui.c Files: src/gui_beval.c, src/ui.c
Patch 7.3.696 Patch 7.3.696
@@ -14656,7 +14656,7 @@ Files: runtime/doc/eval.txt, src/eval.c, src/proto/screen.pro,
src/testdir/test88.ok, src/testdir/test88.ok,
Patch 7.3.749 Patch 7.3.749
Problem: Python interface doesn't build without the multi-byte feature. Problem: Python interface doesn't build without the multibyte feature.
Solution: Add #ifdef. (Ken Takata) Solution: Add #ifdef. (Ken Takata)
Files: src/if_py_both.h Files: src/if_py_both.h
@@ -14762,7 +14762,7 @@ Solution: Save and restore the cursor position when appropriate. (idea by
Files: src/edit.c Files: src/edit.c
Patch 7.3.769 Patch 7.3.769
Problem: 'matchpairs' does not work with multi-byte characters. Problem: 'matchpairs' does not work with multibyte characters.
Solution: Make it work. (Christian Brabandt) Solution: Make it work. (Christian Brabandt)
Files: src/misc1.c, src/option.c, src/proto/option.pro, src/search.c, Files: src/misc1.c, src/option.c, src/proto/option.pro, src/search.c,
src/testdir/test69.in, src/testdir/test69.ok src/testdir/test69.in, src/testdir/test69.ok
@@ -15182,9 +15182,9 @@ Solution: Add lines for new files.
Files: Filelist Files: Filelist
Patch 7.3.840 Patch 7.3.840
Problem: "\@<!" in regexp does not work correctly with multi-byte Problem: "\@<!" in regexp does not work correctly with multibyte
characters, especially cp932. characters, especially cp932.
Solution: Move column to start of multi-byte character. (Yasuhiro Matsumoto) Solution: Move column to start of multibyte character. (Yasuhiro Matsumoto)
Files: src/regexp.c Files: src/regexp.c
Patch 7.3.841 Patch 7.3.841
@@ -15254,7 +15254,7 @@ Solution: Use Xutf8TextPropertyToTextList(). (Christian Brabandt)
Files: src/ui.c, src/ops.c Files: src/ui.c, src/ops.c
Patch 7.3.853 Patch 7.3.853
Problem: Using "ra" in multiple lines on multi-byte characters leaves a few Problem: Using "ra" in multiple lines on multibyte characters leaves a few
characters not replaced. characters not replaced.
Solution: Adjust the end column only in the last line. (Yasuhiro Matsumoto) Solution: Adjust the end column only in the last line. (Yasuhiro Matsumoto)
Files: src/testdir/test69.in, src/testdir/test69.ok, src/ops.c Files: src/testdir/test69.in, src/testdir/test69.ok, src/ops.c
@@ -15271,7 +15271,7 @@ Solution: Add type casts. (Mike Williams)
Files: src/misc1.c Files: src/misc1.c
Patch 7.3.856 Patch 7.3.856
Problem: When calling system() multi-byte clipboard contents is garbled. Problem: When calling system() multibyte clipboard contents is garbled.
Solution: Save and restore the clipboard contents. (Yukihiro Nakadaira) Solution: Save and restore the clipboard contents. (Yukihiro Nakadaira)
Files: src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro, src/ops.c, 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 src/proto/ops.pro, src/os_unix.c, src/proto/ui.pro, src/ui.c
@@ -15379,9 +15379,9 @@ Files: src/regexp.c, src/testdir/test79.in, src/testdir/test79.ok,
src/testdir/test80.in, src/testdir/test80.ok src/testdir/test80.in, src/testdir/test80.ok
Patch 7.3.874 Patch 7.3.874
Problem: Comparing file names does not handle multi-byte characters Problem: Comparing file names does not handle multibyte characters
properly. properly.
Solution: Implement multi-byte handling. Solution: Implement multibyte handling.
Files: src/misc1.c, src/misc2.c Files: src/misc1.c, src/misc2.c
Patch 7.3.875 (after 7.3.866) Patch 7.3.875 (after 7.3.866)
@@ -15443,7 +15443,7 @@ Solution: Do not unref list and dict. (Yasuhiro Matsumoto)
Files: src/if_lua.c Files: src/if_lua.c
Patch 7.3.886 Patch 7.3.886
Problem: Can't build with multi-byte on Solaris 10. Problem: Can't build with multibyte on Solaris 10.
Solution: Add #ifdef X_HAVE_UTF8_STRING. (Laurent Blume) Solution: Add #ifdef X_HAVE_UTF8_STRING. (Laurent Blume)
Files: src/ui.c Files: src/ui.c
@@ -15457,7 +15457,7 @@ Files: src/testdir/test94.in, src/testdir/test94.ok,
Patch 7.3.888 Patch 7.3.888
Problem: Filename completion with 'fileignorecase' does not work for Problem: Filename completion with 'fileignorecase' does not work for
multi-byte characters. multibyte characters.
Solution: Make 'fileignorecase' work properly. (Hirohito Higashi) Solution: Make 'fileignorecase' work properly. (Hirohito Higashi)
Files: src/misc2.c Files: src/misc2.c
@@ -15933,7 +15933,7 @@ Files: src/if_py_both.h
Patch 7.3.968 Patch 7.3.968
Problem: Multi-byte support is only available when compiled with "big" Problem: Multi-byte support is only available when compiled with "big"
features. features.
Solution: Include multi-byte by default, with "normal" features. Solution: Include multibyte by default, with "normal" features.
Files: src/feature.h Files: src/feature.h
Patch 7.3.969 Patch 7.3.969
@@ -16009,19 +16009,19 @@ Files: src/regexp_nfa.c
Patch 7.3.980 Patch 7.3.980
Problem: Regexp logs may contain garbage. Character classes don't work Problem: Regexp logs may contain garbage. Character classes don't work
correctly for multi-byte characters. correctly for multibyte characters.
Solution: Check for end of post list. Only use "is" functions for Solution: Check for end of post list. Only use "is" functions for
characters up to 255. (Ken Takata) characters up to 255. (Ken Takata)
Files: src/regexp_nfa.c Files: src/regexp_nfa.c
Patch 7.3.981 Patch 7.3.981
Problem: In the old regexp engine \i, \I, \f and \F don't work on Problem: In the old regexp engine \i, \I, \f and \F don't work on
multi-byte characters. multibyte characters.
Solution: Dereference pointer properly. Solution: Dereference pointer properly.
Files: src/regexp.c, src/testdir/test64.in, src/testdir/test64.ok Files: src/regexp.c, src/testdir/test64.in, src/testdir/test64.ok
Patch 7.3.982 Patch 7.3.982
Problem: In the new regexp engine \p does not work on multi-byte Problem: In the new regexp engine \p does not work on multibyte
characters. characters.
Solution: Don't point to an integer but the characters. Solution: Don't point to an integer but the characters.
Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok
@@ -16169,7 +16169,7 @@ Files: src/memfile.c
Patch 7.3.1008 Patch 7.3.1008
Problem: Test 95 fails on MS-Windows. Problem: Test 95 fails on MS-Windows.
Solution: Set 'nomore'. Change \i to \f. Change multi-byte character to Solution: Set 'nomore'. Change \i to \f. Change multibyte character to
something that is not matching \i. (Ken Takata) something that is not matching \i. (Ken Takata)
Files: src/testdir/test95.in, src/testdir/test95.ok Files: src/testdir/test95.in, src/testdir/test95.ok
@@ -16185,7 +16185,7 @@ Solution: Only apply ireg_icombine for composing characters.
Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok
Patch 7.3.1011 Patch 7.3.1011
Problem: New regexp engine is inefficient with multi-byte characters. Problem: New regexp engine is inefficient with multibyte characters.
Solution: Handle a character at a time instead of a byte at a time. Also Solution: Handle a character at a time instead of a byte at a time. Also
make \Z partly work. make \Z partly work.
Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok
@@ -16313,7 +16313,7 @@ Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok,
src/regexp.h src/regexp.h
Patch 7.3.1034 Patch 7.3.1034
Problem: New regexp code using strange multi-byte code. Problem: New regexp code using strange multibyte code.
Solution: Use the normal code to advance and backup pointers. Solution: Use the normal code to advance and backup pointers.
Files: src/regexp_nfa.c Files: src/regexp_nfa.c

View File

@@ -550,7 +550,7 @@ Files: src/eval.c, src/version.c
Patch 7.4.012 Patch 7.4.012
Problem: MS-Windows: resolving shortcut does not work properly with Problem: MS-Windows: resolving shortcut does not work properly with
multi-byte characters. multibyte characters.
Solution: Use wide system functions. (Ken Takata) Solution: Use wide system functions. (Ken Takata)
Files: src/os_mswin.c Files: src/os_mswin.c
@@ -565,7 +565,7 @@ Solution: Fix #ifdefs. (Ken Takata)
Files: src/fileio.c Files: src/fileio.c
Patch 7.4.015 Patch 7.4.015
Problem: MS-Windows: Detecting node type does not work for multi-byte Problem: MS-Windows: Detecting node type does not work for multibyte
characters. characters.
Solution: Use wide character function when needed. (Ken Takata) Solution: Use wide character function when needed. (Ken Takata)
Files: src/os_win32.c Files: src/os_win32.c
@@ -590,7 +590,7 @@ Files: src/edit.c
Patch 7.4.019 Patch 7.4.019
Problem: MS-Windows: File name completion doesn't work properly with Problem: MS-Windows: File name completion doesn't work properly with
Chinese characters. (Yue Wu) Chinese characters. (Yue Wu)
Solution: Take care of multi-byte characters when looking for the start of Solution: Take care of multibyte characters when looking for the start of
the file name. (Ken Takata) the file name. (Ken Takata)
Files: src/edit.c Files: src/edit.c
@@ -639,7 +639,7 @@ Solution: Don't call mb_ptr_back() at the start of the line. Add a test.
Files: src/edit.c, src/testdir/test32.in Files: src/edit.c, src/testdir/test32.in
Patch 7.4.028 Patch 7.4.028
Problem: Equivalence classes are not working for multi-byte characters. Problem: Equivalence classes are not working for multibyte characters.
Solution: Copy the rules from the old to the new regexp engine. Add a test Solution: Copy the rules from the old to the new regexp engine. Add a test
to check both engines. to check both engines.
Files: src/regexp_nfa.c, src/testdir/test44.in, src/testdir/test99.in, Files: src/regexp_nfa.c, src/testdir/test44.in, src/testdir/test99.in,
@@ -1206,7 +1206,7 @@ Files: src/ex_docmd.c
Patch 7.4.122 Patch 7.4.122
Problem: Win32: When 'encoding' is set to "utf-8" and the active codepage Problem: Win32: When 'encoding' is set to "utf-8" and the active codepage
is cp932 then ":grep" and other commands don't work for multi-byte is cp932 then ":grep" and other commands don't work for multibyte
characters. characters.
Solution: (Yasuhiro Matsumoto) Solution: (Yasuhiro Matsumoto)
Files: src/os_win32.c Files: src/os_win32.c
@@ -1222,7 +1222,7 @@ Solution: Use GetComputerNameW() if possible. (Ken Takata)
Files: src/os_win32.c Files: src/os_win32.c
Patch 7.4.125 Patch 7.4.125
Problem: Win32: Dealing with messages may not work for multi-byte chars. Problem: Win32: Dealing with messages may not work for multibyte chars.
Solution: Use pDispatchMessage(). (Ken Takata) Solution: Use pDispatchMessage(). (Ken Takata)
Files: src/os_win32.c Files: src/os_win32.c
@@ -1566,7 +1566,7 @@ Solution: Remember the original insert start position. (Christian Brabandt,
Files: src/edit.c, src/globals.h, src/ops.c, src/structs.h Files: src/edit.c, src/globals.h, src/ops.c, src/structs.h
Patch 7.4.187 Patch 7.4.187
Problem: Delete that crosses line break splits multi-byte character. Problem: Delete that crosses line break splits multibyte character.
Solution: Advance a character instead of a byte. (Cade Foster) Solution: Advance a character instead of a byte. (Cade Foster)
Files: src/normal.c, src/testdir/test69.in, src/testdir/test69.ok Files: src/normal.c, src/testdir/test69.in, src/testdir/test69.ok
@@ -1679,7 +1679,7 @@ Files: src/quickfix.c, src/testdir/Make_amiga.mak,
Patch 7.4.204 Patch 7.4.204
Problem: A mapping where the second byte is 0x80 doesn't work. Problem: A mapping where the second byte is 0x80 doesn't work.
Solution: Unescape before checking for incomplete multi-byte char. (Nobuhiro Solution: Unescape before checking for incomplete multibyte char. (Nobuhiro
Takasaki) Takasaki)
Files: src/getchar.c, src/testdir/test75.in, src/testdir/test75.ok Files: src/getchar.c, src/testdir/test75.in, src/testdir/test75.ok
@@ -2385,13 +2385,13 @@ Solution: Use the msgfmt command found by configure. (Danek Duvall)
Files: src/config.mk.in, src/po/Makefile Files: src/config.mk.in, src/po/Makefile
Patch 7.4.323 Patch 7.4.323
Problem: substitute() with zero width pattern breaks multi-byte character. Problem: substitute() with zero width pattern breaks multibyte character.
Solution: Take multi-byte character size into account. (Yukihiro Nakadaira) Solution: Take multibyte character size into account. (Yukihiro Nakadaira)
Files: src/eval.c src/testdir/test69.in, src/testdir/test69.ok Files: src/eval.c src/testdir/test69.in, src/testdir/test69.ok
Patch 7.4.324 Patch 7.4.324
Problem: In Ex mode, cyrillic characters are not handled. (Stas Malavin) Problem: In Ex mode, cyrillic characters are not handled. (Stas Malavin)
Solution: Support multi-byte characters in Ex mode. (Yukihiro Nakadaira) Solution: Support multibyte characters in Ex mode. (Yukihiro Nakadaira)
Files: src/ex_getln.c Files: src/ex_getln.c
Patch 7.4.325 Patch 7.4.325
@@ -2810,7 +2810,7 @@ Files: src/eval.c
Patch 7.4.393 Patch 7.4.393
Problem: Text drawing on newer MS-Windows systems is suboptimal. Some Problem: Text drawing on newer MS-Windows systems is suboptimal. Some
multi-byte characters are not displayed, even though the same font multibyte characters are not displayed, even though the same font
in Notepad can display them. (Srinath Avadhanula) in Notepad can display them. (Srinath Avadhanula)
Solution: Add the 'renderoptions' option to enable DirectX drawing. (Taro Solution: Add the 'renderoptions' option to enable DirectX drawing. (Taro
Muraoka) Muraoka)
@@ -2913,7 +2913,7 @@ Solution: Reset the update_Insstart_orig flag. (Christian Brabandt)
Files: src/edit.c, src/testdir/test39.in, src/testdir/test39.ok Files: src/edit.c, src/testdir/test39.in, src/testdir/test39.ok
Patch 7.4.408 Patch 7.4.408
Problem: Visual block insert breaks a multi-byte character. Problem: Visual block insert breaks a multibyte character.
Solution: Calculate the position properly. (Yasuhiro Matsumoto) Solution: Calculate the position properly. (Yasuhiro Matsumoto)
Files: src/ops.c, src/testdir/test_utf8.in, src/testdir/test_utf8.ok, Files: src/ops.c, src/testdir/test_utf8.in, src/testdir/test_utf8.ok,
src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
@@ -3275,7 +3275,7 @@ Files: src/testdir/Make_dos.mak, src/testdir/test11.in,
src/testdir/test100.in src/testdir/test100.in
Patch 7.4.471 Patch 7.4.471
Problem: MS-Windows: When printer name contains multi-byte, the name is Problem: MS-Windows: When printer name contains multibyte, the name is
displayed as ???. displayed as ???.
Solution: Convert the printer name from the active codepage to 'encoding'. Solution: Convert the printer name from the active codepage to 'encoding'.
(Yasuhiro Matsumoto) (Yasuhiro Matsumoto)
@@ -3737,9 +3737,9 @@ Solution: Move these vim_snprintf() calls into a function.
Files: src/window.c Files: src/window.c
Patch 7.4.547 Patch 7.4.547
Problem: Using "vit" does not select a multi-byte character at the end Problem: Using "vit" does not select a multibyte character at the end
correctly. correctly.
Solution: Advance the cursor over the multi-byte character. (Christian Solution: Advance the cursor over the multibyte character. (Christian
Brabandt) Brabandt)
Files: src/search.c Files: src/search.c
@@ -4334,7 +4334,7 @@ Solution: Put "-ldl" in LIBS rather than LDFLAGS. (Ozaki Kiichi)
Files: src/configure.in, src/auto/configure Files: src/configure.in, src/auto/configure
Patch 7.4.651 (after 7.4.582) Patch 7.4.651 (after 7.4.582)
Problem: Can't match "%>80v" properly for multi-byte characters. Problem: Can't match "%>80v" properly for multibyte characters.
Solution: Multiply the character number by the maximum number of bytes in a Solution: Multiply the character number by the maximum number of bytes in a
character. (Yasuhiro Matsumoto) character. (Yasuhiro Matsumoto)
Files: src/regexp_nfa.c Files: src/regexp_nfa.c
@@ -4424,7 +4424,7 @@ Solution: Check if 'numberwidth' changed. (Christian Brabandt)
Files: src/screen.c, src/structs.h Files: src/screen.c, src/structs.h
Patch 7.4.665 Patch 7.4.665
Problem: 'linebreak' does not work properly with multi-byte characters. Problem: 'linebreak' does not work properly with multibyte characters.
Solution: Compute the pointer offset with mb_head_off(). (Yasuhiro Solution: Compute the pointer offset with mb_head_off(). (Yasuhiro
Matsumoto) Matsumoto)
Files: src/screen.c Files: src/screen.c
@@ -4512,7 +4512,7 @@ Solution: Truncate to 255 colors. (Yasuhiro Matsumoto)
Files: src/os_win32.c Files: src/os_win32.c
Patch 7.4.680 Patch 7.4.680
Problem: CTRL-W in Insert mode does not work well for multi-byte Problem: CTRL-W in Insert mode does not work well for multibyte
characters. characters.
Solution: Use mb_get_class(). (Yasuhiro Matsumoto) Solution: Use mb_get_class(). (Yasuhiro Matsumoto)
Files: src/edit.c, src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, Files: src/edit.c, src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
@@ -5051,7 +5051,7 @@ Solution: Change the way escape sequences are recognized. (partly by
Files: src/ascii.h, src/term.c Files: src/ascii.h, src/term.c
Patch 7.4.771 Patch 7.4.771
Problem: Search does not handle multi-byte character at the start position Problem: Search does not handle multibyte character at the start position
correctly. correctly.
Solution: Take byte size of character into account. (Yukihiro Nakadaira) Solution: Take byte size of character into account. (Yukihiro Nakadaira)
Files: src/search.c, src/testdir/Make_amiga.mak, Files: src/search.c, src/testdir/Make_amiga.mak,
@@ -5388,7 +5388,7 @@ Files: src/testdir/test_increment.in, src/testdir/test_increment.ok,
src/ops.c src/ops.c
Patch 7.4.824 (after 7.4.813) Patch 7.4.824 (after 7.4.813)
Problem: Can't compile without the multi-byte feature. (John Marriott) Problem: Can't compile without the multibyte feature. (John Marriott)
Solution: Add #ifdef. Solution: Add #ifdef.
Files: src/eval.c Files: src/eval.c
@@ -5399,7 +5399,7 @@ Files: src/syntax.c
Patch 7.4.826 Patch 7.4.826
Problem: Compiler warnings and errors. Problem: Compiler warnings and errors.
Solution: Make it build properly without the multi-byte feature. Solution: Make it build properly without the multibyte feature.
Files: src/eval.c, src/search.c Files: src/eval.c, src/search.c
Patch 7.4.827 Patch 7.4.827
@@ -5477,7 +5477,7 @@ Solution: Send a WM_CLOSE message. (Jurgen Kramer)
Files: src/gui_w32.c Files: src/gui_w32.c
Patch 7.4.841 Patch 7.4.841
Problem: Can't compile without the multi-byte feature. (John Marriott) Problem: Can't compile without the multibyte feature. (John Marriott)
Solution: Add more #ifdef's. Solution: Add more #ifdef's.
Files: src/option.c Files: src/option.c
@@ -5512,7 +5512,7 @@ Files: Filelist, CONTRIBUTING.md
Patch 7.4.847 Patch 7.4.847
Problem: "vi)d" may leave a character behind. Problem: "vi)d" may leave a character behind.
Solution: Skip over multi-byte character. (Christian Brabandt) Solution: Skip over multibyte character. (Christian Brabandt)
Files: src/search.c Files: src/search.c
Patch 7.4.848 Patch 7.4.848
@@ -5969,9 +5969,9 @@ Files: runtime/doc/options.txt, runtime/doc/repeat.txt, src/ops.c,
src/option.h, src/screen.c src/option.h, src/screen.c
Patch 7.4.926 Patch 7.4.926
Problem: Completing the longest match doesn't work properly with multi-byte Problem: Completing the longest match doesn't work properly with multibyte
characters. characters.
Solution: When using multi-byte characters use another way to find the Solution: When using multibyte characters use another way to find the
longest match. (Hirohito Higashi) longest match. (Hirohito Higashi)
Files: src/ex_getln.c, src/testdir/test_utf8.in, src/testdir/test_utf8.ok Files: src/ex_getln.c, src/testdir/test_utf8.in, src/testdir/test_utf8.ok
@@ -9038,7 +9038,7 @@ Files: src/if_sniff.c, src/if_sniff.h, src/charset.c, src/edit.c,
Patch 7.4.1434 Patch 7.4.1434
Problem: JSON encoding doesn't handle surrogate pair. Problem: JSON encoding doesn't handle surrogate pair.
Solution: Improve multi-byte handling of JSON. (Yasuhiro Matsumoto) Solution: Improve multibyte handling of JSON. (Yasuhiro Matsumoto)
Files: src/json.c, src/testdir/test_json.vim Files: src/json.c, src/testdir/test_json.vim
Patch 7.4.1435 Patch 7.4.1435
@@ -9092,7 +9092,7 @@ Solution: Use gtk_widget_get_window(). Fix typos. (Dominique Pelle)
Files: src/gui_gtk_x11.c Files: src/gui_gtk_x11.c
Patch 7.4.1444 Patch 7.4.1444
Problem: Can't build with JSON but without multi-byte. Problem: Can't build with JSON but without multibyte.
Solution: Fix pointer name. Solution: Fix pointer name.
Files: src/json.c Files: src/json.c
@@ -9351,7 +9351,7 @@ Solution: Add #ifdef. (Dominique Pelle)
Files: src/gui_gtk_x11.c Files: src/gui_gtk_x11.c
Patch 7.4.1491 Patch 7.4.1491
Problem: Visual-block shift breaks multi-byte characters. Problem: Visual-block shift breaks multibyte characters.
Solution: Compute column differently. (Yasuhiro Matsumoto) Add a test. Solution: Compute column differently. (Yasuhiro Matsumoto) Add a test.
Files: src/ops.c, src/testdir/test_visual.vim, src/testdir/Make_all.mak Files: src/ops.c, src/testdir/test_visual.vim, src/testdir/Make_all.mak
@@ -10491,7 +10491,7 @@ Solution: Fix the coding style. (Ken Takata)
Files: src/if_ruby.c Files: src/if_ruby.c
Patch 7.4.1690 Patch 7.4.1690
Problem: Can't compile with the conceal feature but without multi-byte. Problem: Can't compile with the conceal feature but without multibyte.
Solution: Adjust #ifdef. (Owen Leibman) Solution: Adjust #ifdef. (Owen Leibman)
Files: src/eval.c, src/window.c Files: src/eval.c, src/window.c
@@ -10547,7 +10547,7 @@ Files: src/ex_cmds2.c, src/testdir/test_packadd.vim
Patch 7.4.1700 Patch 7.4.1700
Problem: Equivalence classes are not properly tested. Problem: Equivalence classes are not properly tested.
Solution: Add tests for multi-byte and latin1. Fix an error. (Owen Leibman) Solution: Add tests for multibyte and latin1. Fix an error. (Owen Leibman)
Files: src/regexp.c, src/testdir/Make_all.mak, Files: src/regexp.c, src/testdir/Make_all.mak,
src/testdir/test_alot_latin.vim, src/testdir/test_alot_utf8.vim, src/testdir/test_alot_latin.vim, src/testdir/test_alot_utf8.vim,
src/testdir/test_regexp_latin.vim, src/testdir/test_regexp_latin.vim,
@@ -11027,7 +11027,7 @@ Solution: Change the condition for the mode. (Christian Brabandt)
Files: src/eval.c Files: src/eval.c
Patch 7.4.1782 Patch 7.4.1782
Problem: strcharpart() does not work properly with some multi-byte Problem: strcharpart() does not work properly with some multibyte
characters. characters.
Solution: Use mb_cptr2len() instead of mb_char2len(). (Hirohito Higashi) Solution: Use mb_cptr2len() instead of mb_char2len(). (Hirohito Higashi)
Files: src/eval.c, src/testdir/test_expr_utf8.vim Files: src/eval.c, src/testdir/test_expr_utf8.vim
@@ -15896,7 +15896,7 @@ Files: src/term.c, src/term.h, src/option.c, src/misc2.c, src/keymap.h,
src/vim.h, src/proto/edit.pro, runtime/doc/term.txt src/vim.h, src/proto/edit.pro, runtime/doc/term.txt
Patch 8.0.0211 (after 8.0.0210) Patch 8.0.0211 (after 8.0.0210)
Problem: Build fails if the multi-byte feature is disabled. Problem: Build fails if the multibyte feature is disabled.
Solution: Change #ifdef around ins_char_bytes. Solution: Change #ifdef around ins_char_bytes.
Files: src/misc1.c Files: src/misc1.c
@@ -15960,7 +15960,7 @@ Solution: Remove the check for PROTO. (Hirohito Higashi)
Files: src/misc1.c Files: src/misc1.c
Patch 8.0.0222 Patch 8.0.0222
Problem: When a multi-byte character ends in a zero byte, putting blockwise Problem: When a multibyte character ends in a zero byte, putting blockwise
text puts it before the character instead of after it. text puts it before the character instead of after it.
Solution: Use int instead of char for the character under the cursor. Solution: Use int instead of char for the character under the cursor.
(Luchr, closes #1403) Add a test. (Luchr, closes #1403) Add a test.
@@ -16132,9 +16132,9 @@ Files: .travis.yml
Patch 8.0.0250 Patch 8.0.0250
Problem: When virtcol() gets a column that is not the first byte of a Problem: When virtcol() gets a column that is not the first byte of a
multi-byte character the result is unpredictable. (Christian multibyte character the result is unpredictable. (Christian
Ludwig) Ludwig)
Solution: Correct the column to the first byte of a multi-byte character. Solution: Correct the column to the first byte of a multibyte character.
Change the utf-8 test to new style. Change the utf-8 test to new style.
Files: src/charset.c, src/testdir/test_utf8.in, src/testdir/test_utf8.ok, Files: src/charset.c, src/testdir/test_utf8.in, src/testdir/test_utf8.ok,
src/testdir/test_utf8.vim, src/Makefile, src/testdir/Make_all.mak, src/testdir/test_utf8.vim, src/Makefile, src/testdir/Make_all.mak,
@@ -16321,7 +16321,7 @@ Solution: Check the MSVC version and use the right dll name. (Ken Takata)
Files: src/Make_mvc.mak Files: src/Make_mvc.mak
Patch 8.0.0280 Patch 8.0.0280
Problem: On MS-Windows setting an environment variable with multi-byte Problem: On MS-Windows setting an environment variable with multibyte
strings does not work well. strings does not work well.
Solution: Use wputenv when possible. (Taro Muraoka, Ken Takata) Solution: Use wputenv when possible. (Taro Muraoka, Ken Takata)
Files: src/misc1.c, src/os_win32.c, src/os_win32.h, Files: src/misc1.c, src/os_win32.c, src/os_win32.h,
@@ -17777,7 +17777,7 @@ Files: runtime/doc/eval.txt, src/evalfunc.c, src/quickfix.c,
src/testdir/test_quickfix.vim src/testdir/test_quickfix.vim
Patch 8.0.0518 Patch 8.0.0518
Problem: Storing a zero byte from a multi-byte character causes fold text Problem: Storing a zero byte from a multibyte character causes fold text
to show up wrong. to show up wrong.
Solution: Avoid putting zero in ScreenLines. (Christian Brabandt, Solution: Avoid putting zero in ScreenLines. (Christian Brabandt,
closes #1567) closes #1567)
@@ -17818,13 +17818,13 @@ Files: src/ops.c, src/proto/ui.pro, src/ui.c, src/globals.h,
src/testdir/test_alot.vim src/testdir/test_alot.vim
Patch 8.0.0523 Patch 8.0.0523
Problem: dv} deletes part of a multi-byte character. (Urtica Dioica) Problem: dv} deletes part of a multibyte character. (Urtica Dioica)
Solution: Include the whole character. Solution: Include the whole character.
Files: src/search.c, src/testdir/test_normal.vim Files: src/search.c, src/testdir/test_normal.vim
Patch 8.0.0524 (after 8.0.0518) Patch 8.0.0524 (after 8.0.0518)
Problem: Folds are messed up when 'encoding' is "utf-8". Problem: Folds are messed up when 'encoding' is "utf-8".
Solution: Also set the fold character when it's not multi-byte. Solution: Also set the fold character when it's not multibyte.
Files: src/screen.c, src/testdir/test_display.vim Files: src/screen.c, src/testdir/test_display.vim
Patch 8.0.0525 Patch 8.0.0525
@@ -19204,7 +19204,7 @@ Files: src/structs.h, src/os_unix.c, src/terminal.c, src/channel.c,
src/proto/os_unix.pro, src/os_win32.c, src/proto/os_win32.pro src/proto/os_unix.pro, src/os_win32.c, src/proto/os_win32.pro
Patch 8.0.0745 Patch 8.0.0745
Problem: multi-byte characters in a terminal window are not displayed Problem: multibyte characters in a terminal window are not displayed
properly. properly.
Solution: Set the unused screen characters. (Yasuhiro Matsumoto, closes Solution: Set the unused screen characters. (Yasuhiro Matsumoto, closes
#1857) #1857)
@@ -19380,7 +19380,7 @@ Solution: Use OUTDIR. (Ken Takata)
Files: src/Make_cyg_ming.mak, src/Make_mvc.mak, src/libvterm/Makefile.msc Files: src/Make_cyg_ming.mak, src/Make_mvc.mak, src/libvterm/Makefile.msc
Patch 8.0.0774 Patch 8.0.0774
Problem: Build failure without the multi-byte feature on HPUX. Problem: Build failure without the multibyte feature on HPUX.
Solution: Move #ifdefs. (John Marriott) Solution: Move #ifdefs. (John Marriott)
Files: src/term.c Files: src/term.c
@@ -19526,7 +19526,7 @@ Files: src/terminal.c
Patch 8.0.0800 Patch 8.0.0800
Problem: Terminal window scrollback contents is wrong. Problem: Terminal window scrollback contents is wrong.
Solution: Fix handling of multi-byte characters (Yasuhiro Matsumoto) Handle Solution: Fix handling of multibyte characters (Yasuhiro Matsumoto) Handle
empty lines correctly. (closes #1891) empty lines correctly. (closes #1891)
Files: src/terminal.c Files: src/terminal.c
@@ -20139,7 +20139,7 @@ Files: runtime/doc/eval.txt, src/quickfix.c,
src/testdir/test_quickfix.vim src/testdir/test_quickfix.vim
Patch 8.0.0905 Patch 8.0.0905
Problem: MS-Windows: broken multi-byte characters in the console. Problem: MS-Windows: broken multibyte characters in the console.
Solution: Restore all regions of the console buffer. (Ken Takata) Solution: Restore all regions of the console buffer. (Ken Takata)
Files: src/os_win32.c Files: src/os_win32.c
@@ -20574,7 +20574,7 @@ Solution: Do not use a blinking cursor by default.
Files: src/terminal.c Files: src/terminal.c
Patch 8.0.0982 Patch 8.0.0982
Problem: When 'encoding' is set to a multi-byte encoding other than utf-8 Problem: When 'encoding' is set to a multibyte encoding other than utf-8
the characters from their terminal are messed up. the characters from their terminal are messed up.
Solution: Convert displayed text from utf-8 to 'encoding' for MS-Windows. Solution: Convert displayed text from utf-8 to 'encoding' for MS-Windows.
(Yasuhiro Matsumoto, close #2000) (Yasuhiro Matsumoto, close #2000)
@@ -20600,8 +20600,8 @@ Files: src/Makefile, src/libvterm/src/unicode.c, src/mbyte.c,
src/proto/mbyte.pro, src/Make_cyg_ming.mak, src/Make_mvc.mak src/proto/mbyte.pro, src/Make_cyg_ming.mak, src/Make_mvc.mak
Patch 8.0.0986 Patch 8.0.0986
Problem: Terminal feature always requires multi-byte feature. Problem: Terminal feature always requires multibyte feature.
Solution: Remove #ifdef FEAT_MBYTE, disable terminal without multi-byte. Solution: Remove #ifdef FEAT_MBYTE, disable terminal without multibyte.
Files: src/terminal.c, src/feature.h Files: src/terminal.c, src/feature.h
Patch 8.0.0987 Patch 8.0.0987
@@ -21012,7 +21012,7 @@ Solution: Avoid message for writing file. Source shared.vim when running
Files: src/testdir/test_bufline.vim, src/testdir/test_timers.vim Files: src/testdir/test_bufline.vim, src/testdir/test_timers.vim
Patch 8.0.1056 Patch 8.0.1056
Problem: Cannot build with the diff feature but without the multi-byte Problem: Cannot build with the diff feature but without the multibyte
feature. feature.
Solution: Remove #ifdefs. (John Marriott) Solution: Remove #ifdefs. (John Marriott)
Files: src/diff.c Files: src/diff.c
@@ -22781,7 +22781,7 @@ Solution: Skip the text.
Files: src/testdir/test_iminsert.vim, runtime/doc/options.txt Files: src/testdir/test_iminsert.vim, runtime/doc/options.txt
Patch 8.0.1342 Patch 8.0.1342
Problem: Cannot build with Motif and multi-byte. (Mohamed Boughaba) Problem: Cannot build with Motif and multibyte. (Mohamed Boughaba)
Solution: Use the right input method status flag. (closes #2374) Solution: Use the right input method status flag. (closes #2374)
Files: src/mbyte.c Files: src/mbyte.c
@@ -24713,7 +24713,7 @@ Solution: Add the file name in the separator line.
Files: src/terminal.c Files: src/terminal.c
Patch 8.0.1663 (after 8.0.1660) Patch 8.0.1663 (after 8.0.1660)
Problem: Cannot build without multi-byte feature. Problem: Cannot build without multibyte feature.
Solution: Add #ifdef. Solution: Add #ifdef.
Files: src/ex_docmd.c Files: src/ex_docmd.c
@@ -25710,7 +25710,7 @@ Solution: Escape '?' when needed. Always escape backslash. (closes #2418,
Files: src/gui.c Files: src/gui.c
Patch 8.0.1835 Patch 8.0.1835
Problem: Print document name does not support multi-byte. Problem: Print document name does not support multibyte.
Solution: Use StartDocW() if needed. (Yasuhiro Matsumoto, closes #2478) Solution: Use StartDocW() if needed. (Yasuhiro Matsumoto, closes #2478)
Files: src/os_mswin.c Files: src/os_mswin.c
@@ -26735,7 +26735,7 @@ Solution: Check the terminal type. (Nobuhiro Takasaki, closes #3106)
Files: src/evalfunc.c Files: src/evalfunc.c
Patch 8.1.0125 Patch 8.1.0125
Problem: Virtual edit replace with multi-byte fails at end of line. (Lukas Problem: Virtual edit replace with multibyte fails at end of line. (Lukas
Werling) Werling)
Solution: use ins_char() to add the character. (Christian Brabandt, Solution: use ins_char() to add the character. (Christian Brabandt,
closes #3114) Rename PCHAR() to PBYTE() to avoid mistakes like closes #3114) Rename PCHAR() to PBYTE() to avoid mistakes like
@@ -26977,7 +26977,7 @@ Files: src/dict.c, src/channel.c, src/ex_cmds2.c, src/userfunc.c,
src/if_perl.xs, src/if_py_both.h src/if_perl.xs, src/if_py_both.h
Patch 8.1.0168 Patch 8.1.0168
Problem: Output of :marks is too short with multi-byte chars. (Tony Problem: Output of :marks is too short with multibyte chars. (Tony
Mechelynck) Mechelynck)
Solution: Get more bytes from the text line. Solution: Get more bytes from the text line.
Files: src/mark.c, src/testdir/test_marks.vim Files: src/mark.c, src/testdir/test_marks.vim
@@ -30303,8 +30303,8 @@ Solution: Make a copy of the sourced file name.
Files: src/ex_cmds2.c Files: src/ex_cmds2.c
Patch 8.1.0733 Patch 8.1.0733
Problem: Too many #ifdefs for the multi-byte feature. Problem: Too many #ifdefs for the multibyte feature.
Solution: Tentatively always enable the multi-byte feature. If you have a Solution: Tentatively always enable the multibyte feature. If you have a
problem with this, please discuss on the Vim maillist. problem with this, please discuss on the Vim maillist.
Files: src/configure.ac, src/auto/configure, src/feature.h, src/Makefile, Files: src/configure.ac, src/auto/configure, src/feature.h, src/Makefile,
src/Make_bc5.mak, src/Make_cyg_ming.mak, src/Make_mvc.mak src/Make_bc5.mak, src/Make_cyg_ming.mak, src/Make_mvc.mak
@@ -31143,8 +31143,8 @@ Solution: Make them the same, update docs. (close #3882)
Files: src/option.c, runtime/doc/options.txt, runtime/doc/indent.txt Files: src/option.c, runtime/doc/options.txt, runtime/doc/indent.txt
Patch 8.1.0859 Patch 8.1.0859
Problem: "%v" in 'errorformat' does not handle multi-byte characters. Problem: "%v" in 'errorformat' does not handle multibyte characters.
Solution: Handle multi-byte characters. (Yegappan Lakshmanan, closes #3700) Solution: Handle multibyte characters. (Yegappan Lakshmanan, closes #3700)
Files: src/quickfix.c, src/testdir/test_quickfix.vim Files: src/quickfix.c, src/testdir/test_quickfix.vim
Patch 8.1.0860 Patch 8.1.0860
@@ -32563,7 +32563,7 @@ Solution: Use GetLongPathNameW() instead of GetLongPathName(). (Ken Takata,
Files: src/eval.c Files: src/eval.c
Patch 8.1.1091 Patch 8.1.1091
Problem: MS-Windows: cannot use multi-byte chars in environment var. Problem: MS-Windows: cannot use multibyte chars in environment var.
Solution: Use the wide API. (Ken Takata, closes #4008) Solution: Use the wide API. (Ken Takata, closes #4008)
Files: src/misc1.c, src/testdir/test_let.vim Files: src/misc1.c, src/testdir/test_let.vim
@@ -36218,7 +36218,7 @@ Solution: Update the screen if needed. Also avoid the cursor being
Files: src/beval.c Files: src/beval.c
Patch 8.1.1655 Patch 8.1.1655
Problem: Popup window border drawn wrong with multi-byte char. (Marcin Problem: Popup window border drawn wrong with multibyte char. (Marcin
Szamotulski) Szamotulski)
Solution: Correct check in mb_fix_col(). (closes #4635) Solution: Correct check in mb_fix_col(). (closes #4635)
Files: src/mbyte.c, src/testdir/test_popupwin.vim, Files: src/mbyte.c, src/testdir/test_popupwin.vim,
@@ -37499,13 +37499,13 @@ Files: src/testdir/test_popupwin.vim,
src/testdir/dumps/Test_popupwin_previewpopup_6.dump src/testdir/dumps/Test_popupwin_previewpopup_6.dump
Patch 8.1.1857 Patch 8.1.1857
Problem: Cannot use modifier with multi-byte character. Problem: Cannot use modifier with multibyte character.
Solution: Allow using a multi-byte character, although it doesn't work Solution: Allow using a multibyte character, although it doesn't work
everywhere. everywhere.
Files: src/misc2.c, src/testdir/test_mapping.vim Files: src/misc2.c, src/testdir/test_mapping.vim
Patch 8.1.1858 Patch 8.1.1858
Problem: Test for multi-byte mapping fails on some systems. Problem: Test for multibyte mapping fails on some systems.
Solution: Test in another way. Solution: Test in another way.
Files: src/testdir/test_mapping.vim Files: src/testdir/test_mapping.vim
@@ -39372,7 +39372,7 @@ Files: src/term.c, src/getchar.c, src/libvterm/src/vterm_internal.h,
Patch 8.1.2135 Patch 8.1.2135
Problem: With modifyOtherKeys Alt-a does not work properly. Problem: With modifyOtherKeys Alt-a does not work properly.
Solution: Remove the ALT modifier. Get multi-byte after applying ALT. Solution: Remove the ALT modifier. Get multibyte after applying ALT.
Files: src/getchar.c Files: src/getchar.c
Patch 8.1.2136 Patch 8.1.2136
@@ -39971,8 +39971,8 @@ Solution: Use the wide version of the library function. (closes #5129)
Files: src/filepath.c, src/testdir/test_shortpathname.vim Files: src/filepath.c, src/testdir/test_shortpathname.vim
Patch 8.1.2235 Patch 8.1.2235
Problem: "C" with 'virtualedit' set does not include multi-byte char. Problem: "C" with 'virtualedit' set does not include multibyte char.
Solution: Include the whole multi-byte char. (Nobuhiro Takasaki, Solution: Include the whole multibyte char. (Nobuhiro Takasaki,
closes #5152) closes #5152)
Files: src/ops.c, src/testdir/test_virtualedit.vim Files: src/ops.c, src/testdir/test_virtualedit.vim
@@ -41255,7 +41255,7 @@ Files: runtime/doc/autocmd.txt, runtime/doc/change.txt,
Patch 8.2.0018 Patch 8.2.0018
Problem: :join does not add white space where it should. (Zdenek Dohnal) Problem: :join does not add white space where it should. (Zdenek Dohnal)
Solution: Handle joining multiple lines propely. Solution: Handle joining multiple lines properly.
Files: src/ops.c, src/testdir/test_join.vim Files: src/ops.c, src/testdir/test_join.vim
Patch 8.2.0019 Patch 8.2.0019
@@ -41337,7 +41337,7 @@ Files: src/channel.c, src/testdir/test_channel.vim
Patch 8.2.0033 Patch 8.2.0033
Problem: Crash when make_extmatch() runs out of memory. Problem: Crash when make_extmatch() runs out of memory.
Solution: Check for NULL. (Dominique Pellé, closs #5392) Solution: Check for NULL. (Dominique Pellé, closes #5392)
Files: src/regexp_bt.c, src/regexp_nfa.c Files: src/regexp_bt.c, src/regexp_nfa.c
Patch 8.2.0034 Patch 8.2.0034
@@ -41502,7 +41502,7 @@ Files: src/message_test.c, src/message.c
Patch 8.2.0061 Patch 8.2.0061
Problem: The execute stack can grow big and never shrinks. Problem: The execute stack can grow big and never shrinks.
Solution: Reduce the size in gargage collect. Solution: Reduce the size in garbage collect.
Files: src/eval.c Files: src/eval.c
Patch 8.2.0062 Patch 8.2.0062
@@ -41517,7 +41517,7 @@ Files: src/ops.c
Patch 8.2.0064 Patch 8.2.0064
Problem: Diffmode completion doesn't use per-window setting. Problem: Diffmode completion doesn't use per-window setting.
Solution: Check if a window is in diff mode. (Dominique Pell, closes #5419) Solution: Check if a window is in diff mode. (Dominique Pellé, closes #5419)
Files: src/buffer.c, src/testdir/test_diffmode.vim Files: src/buffer.c, src/testdir/test_diffmode.vim
Patch 8.2.0065 Patch 8.2.0065
@@ -42066,7 +42066,7 @@ Files: src/vim9script.c, src/vim9compile.c, src/vim9execute.c,
Patch 8.2.0156 Patch 8.2.0156
Problem: Various typos in source files and tests. Problem: Various typos in source files and tests.
Solution: Fix the typos. (Emir Sari, closes #5532) Solution: Fix the typos. (Emir Sarı, closes #5532)
Files: Makefile, src/INSTALLvms.txt, src/Make_vms.mms, src/beval.h, Files: Makefile, src/INSTALLvms.txt, src/Make_vms.mms, src/beval.h,
src/buffer.c, src/charset.c, src/evalvars.c, src/ex_cmds.c, src/buffer.c, src/charset.c, src/evalvars.c, src/ex_cmds.c,
src/ex_docmd.c, src/getchar.c, src/gui.c, src/gui_mac.c, src/ex_docmd.c, src/getchar.c, src/gui.c, src/gui_mac.c,
@@ -42263,7 +42263,7 @@ Solution: Check for features. (Dominique Pellé, closes #5561)
Files: src/testdir/test_functions.vim, src/testdir/test_highlight.vim Files: src/testdir/test_functions.vim, src/testdir/test_highlight.vim
Patch 8.2.0187 Patch 8.2.0187
Problem: Reduntant code. Problem: Redundant code.
Solution: Remove unused assignments. (Dominique Pellé, closes #5557) Solution: Remove unused assignments. (Dominique Pellé, closes #5557)
Files: src/vim9compile.c Files: src/vim9compile.c
@@ -42557,7 +42557,7 @@ Files: src/buffer.c, src/testdir/test_statusline.vim,
src/testdir/dumps/Test_statusline_1.dump src/testdir/dumps/Test_statusline_1.dump
Patch 8.2.0236 Patch 8.2.0236
Problem: MS-Windows unintall doesn't delete vimtutur.bat. Problem: MS-Windows uninstall doesn't delete vimtutur.bat.
Solution: Change directory before deletion. (Ken Takata, closes #5603) Solution: Change directory before deletion. (Ken Takata, closes #5603)
Files: src/uninstall.c Files: src/uninstall.c
@@ -42583,7 +42583,7 @@ Files: src/os_win32.c, src/testdir/test_channel.vim
Patch 8.2.0240 Patch 8.2.0240
Problem: Using memory after it was freed. (Dominique Pellé) Problem: Using memory after it was freed. (Dominique Pellé)
Solution: Do not mix converion buffer with other buffer. Solution: Do not mix conversion buffer with other buffer.
Files: src/viminfo.c, src/vim.h Files: src/viminfo.c, src/vim.h
Patch 8.2.0241 Patch 8.2.0241
@@ -42795,7 +42795,7 @@ Files: src/testdir/test_autocmd.vim, src/testdir/test_buffer.vim,
Patch 8.2.0271 Patch 8.2.0271
Problem: The "num64" feature is available everywhere and building without Problem: The "num64" feature is available everywhere and building without
it causes problems. it causes problems.
Solution: Graduage the "num64" feature. (James McCoy, closes #5650) Solution: Graduate the "num64" feature. (James McCoy, closes #5650)
Files: src/evalfunc.c, src/feature.h, src/message.c, src/structs.h, Files: src/evalfunc.c, src/feature.h, src/message.c, src/structs.h,
src/testdir/test_expr.vim, src/testdir/test_largefile.vim, src/testdir/test_expr.vim, src/testdir/test_largefile.vim,
src/testdir/test_sort.vim, src/testdir/test_vimscript.vim, src/testdir/test_sort.vim, src/testdir/test_vimscript.vim,
@@ -42945,7 +42945,7 @@ Files: src/vim9compile.c, src/testdir/test_vim9_script.vim,
Patch 8.2.0295 Patch 8.2.0295
Problem: Highlighting for :s wrong when using different separator. Problem: Highlighting for :s wrong when using different separator.
Solution: Use separat argument for search direction and separator. (Rob Solution: Use separate argument for search direction and separator. (Rob
Pilling, closes #5665) Pilling, closes #5665)
Files: src/ex_docmd.c, src/ex_getln.c, src/gui.c, src/normal.c, Files: src/ex_docmd.c, src/ex_getln.c, src/gui.c, src/normal.c,
src/proto/search.pro, src/quickfix.c, src/search.c, src/spell.c, src/proto/search.pro, src/quickfix.c, src/search.c, src/spell.c,
@@ -43093,7 +43093,7 @@ Files: Filelist, src/evalvars.c, src/register.c, src/if_python3.c
Patch 8.2.0320 Patch 8.2.0320
Problem: No Haiku support. Problem: No Haiku support.
Solution: Add support for Haiku. (Emir Sari, closes #5605) Solution: Add support for Haiku. (Emir Sarı, closes #5605)
Files: Filelist, runtime/doc/Makefile, runtime/doc/eval.txt, Files: Filelist, runtime/doc/Makefile, runtime/doc/eval.txt,
runtime/doc/gui.txt, runtime/doc/help.txt, runtime/doc/gui.txt, runtime/doc/help.txt,
runtime/doc/options.txt, runtime/doc/os_haiku.txt, runtime/doc/options.txt, runtime/doc/os_haiku.txt,
@@ -43377,8 +43377,8 @@ Solution: Make a difference between int and short. (Dominique Pellé,
Files: src/message.c Files: src/message.c
Patch 8.2.0365 Patch 8.2.0365
Problem: Tag kind can't be a multi-byte character. (Marcin Szamotulski) Problem: Tag kind can't be a multibyte character. (Marcin Szamotulski)
Solution: Recognize multi-byte character. (closes #5724) Solution: Recognize multibyte character. (closes #5724)
Files: src/tag.c, src/testdir/test_taglist.vim Files: src/tag.c, src/testdir/test_taglist.vim
Patch 8.2.0366 Patch 8.2.0366
@@ -43467,7 +43467,7 @@ Files: src/textprop.c
Patch 8.2.0380 Patch 8.2.0380
Problem: Tiny popup when creating a terminal popup without minwidth. Problem: Tiny popup when creating a terminal popup without minwidth.
Solution: Use a default mininum size of 5 lines of 20 characters. Solution: Use a default minimum size of 5 lines of 20 characters.
Files: src/popupwin.c, src/testdir/test_terminal.vim, Files: src/popupwin.c, src/testdir/test_terminal.vim,
src/testdir/dumps/Test_terminal_popup_m1.dump src/testdir/dumps/Test_terminal_popup_m1.dump
@@ -44040,7 +44040,7 @@ Files: src/terminal.c
Patch 8.2.0473 Patch 8.2.0473
Problem: Variables declared in an outer scope. Problem: Variables declared in an outer scope.
Solution: Decleare variables only in the scope where they are used. Solution: Declare variables only in the scope where they are used.
Files: src/evalvars.c Files: src/evalvars.c
Patch 8.2.0474 (after 8.2.0403) Patch 8.2.0474 (after 8.2.0403)
@@ -44050,12 +44050,12 @@ Files: src/fileio.c, src/testdir/test_autocmd.vim
Patch 8.2.0475 Patch 8.2.0475
Problem: Channel out_cb test still fails sometimes on Mac. Problem: Channel out_cb test still fails sometimes on Mac.
Solution: Use an ever longer timeout. Solution: Use an even longer timeout.
Files: src/testdir/test_channel.vim Files: src/testdir/test_channel.vim
Patch 8.2.0476 Patch 8.2.0476
Problem: Terminal nasty callback test fails sometimes. Problem: Terminal nasty callback test fails sometimes.
Solution: use term_wait() instead of a sleep. (Yee Cheng Chin,closes #5865) Solution: use term_wait() instead of a sleep. (Yee Cheng Chin, closes #5865)
Files: src/testdir/test_terminal.vim Files: src/testdir/test_terminal.vim
Patch 8.2.0477 Patch 8.2.0477
@@ -44225,7 +44225,7 @@ Solution: Cleanup the scope list.
Files: src/vim9compile.c Files: src/vim9compile.c
Patch 8.2.0505 Patch 8.2.0505
Problem: term_getty() not sufficiently tested. Problem: term_gettty() not sufficiently tested.
Solution: Add more asserts. (Dominique Pellé, closes #5877) Solution: Add more asserts. (Dominique Pellé, closes #5877)
Files: src/testdir/test_terminal.vim Files: src/testdir/test_terminal.vim
@@ -44406,7 +44406,7 @@ Files: src/testdir/test_search.vim, src/testdir/test_source.vim,
Patch 8.2.0532 Patch 8.2.0532
Problem: Cannot use simplify() as a method. Problem: Cannot use simplify() as a method.
Solution: Add FEARG_1. (closes #5996) Solution: Add FEARG_1. (closes #5896)
Files: runtime/doc/eval.txt, src/evalfunc.c, Files: runtime/doc/eval.txt, src/evalfunc.c,
src/testdir/test_functions.vim src/testdir/test_functions.vim
@@ -44932,7 +44932,7 @@ Files: src/insexpand.c, src/globals.h, src/edit.c, src/ex_getln.c,
src/testdir/test_ex_mode.vim, runtime/doc/insert.txt src/testdir/test_ex_mode.vim, runtime/doc/insert.txt
Patch 8.2.0615 Patch 8.2.0615
Problem: Regexp benchmark stest is old style. Problem: Regexp benchmark test is old style.
Solution: Make it a new style test. Fix using a NULL list. Add more tests. Solution: Make it a new style test. Fix using a NULL list. Add more tests.
(Yegappan Lakshmanan, closes #5963) (Yegappan Lakshmanan, closes #5963)
Files: src/evalbuffer.c, src/testdir/Make_dos.mak, Files: src/evalbuffer.c, src/testdir/Make_dos.mak,
@@ -44982,7 +44982,7 @@ Files: src/testdir/Makefile, src/Makefile
Patch 8.2.0622 Patch 8.2.0622
Problem: Haiku: GUI does not compile. Problem: Haiku: GUI does not compile.
Solution: Various fixes. (Emir Sari, closes #5961) Solution: Various fixes. (Emir Sarı, closes #5961)
Files: Filelist, README.md, READMEdir/README_haiku.txt, Files: Filelist, README.md, READMEdir/README_haiku.txt,
runtime/doc/os_haiku.txt, src/Makefile, src/beval.h, runtime/doc/os_haiku.txt, src/Makefile, src/beval.h,
src/gui_haiku.cc, src/proto/gui_haiku.pro src/gui_haiku.cc, src/proto/gui_haiku.pro
@@ -45021,7 +45021,7 @@ Files: src/userfunc.c
Patch 8.2.0628 Patch 8.2.0628
Problem: Error in menu translations. Problem: Error in menu translations.
Solution: Insert a backslash before a space in one more file. (Shun Bai, Solution: Insert a backslash before a space in one more file. (Shun Bai,
Emir Sari) Emir Sarı)
Files: runtime/lang/menu_zh_cn.utf-8.vim, Files: runtime/lang/menu_zh_cn.utf-8.vim,
runtime/lang/menu_ca_es.latin1.vim, runtime/lang/menu_ca_es.latin1.vim,
runtime/lang/menu_cs_cz.iso_8859-2.vim, runtime/lang/menu_cs_cz.iso_8859-2.vim,
@@ -45287,7 +45287,7 @@ Files: src/testdir/shared.vim, src/testdir/test_messages.vim,
Patch 8.2.0667 Patch 8.2.0667
Problem: Cannot install Haiku version from source. Problem: Cannot install Haiku version from source.
Solution: Update Makefile and rdef file. (Emir Sari, closes #6013) Solution: Update Makefile and rdef file. (Emir Sarı, closes #6013)
Files: Filelist, READMEdir/README_haiku.txt, runtime/doc/os_haiku.txt, Files: Filelist, READMEdir/README_haiku.txt, runtime/doc/os_haiku.txt,
src/Makefile, src/os_haiku.rdef.in, src/os_haiku.rdef src/Makefile, src/os_haiku.rdef.in, src/os_haiku.rdef
@@ -45313,7 +45313,7 @@ Files: src/ex_getln.c, src/beval.c, src/change.c, src/edit.c, src/eval.c,
Patch 8.2.0671 Patch 8.2.0671
Problem: Haiku: compiler warnings. Problem: Haiku: compiler warnings.
Solution: Avoid the warnings. Drop display_errors() copy. (Emir Sari, Solution: Avoid the warnings. Drop display_errors() copy. (Emir Sarı,
closes #6018) closes #6018)
Files: .gitignore, src/gui.c, src/gui_haiku.cc Files: .gitignore, src/gui.c, src/gui_haiku.cc
@@ -45566,7 +45566,7 @@ Files: runtime/filetype.vim, src/testdir/test_filetype.vim
Patch 8.2.0714 Patch 8.2.0714
Problem: Vim9: handling constant expression does not scale. Problem: Vim9: handling constant expression does not scale.
Solution: Use another solution, passint typval_T. Solution: Use another solution, passing typval_T.
Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim
Patch 8.2.0715 Patch 8.2.0715
@@ -45680,7 +45680,7 @@ Solution: Do not check for next line in third pass.
Files: src/scriptfile.c Files: src/scriptfile.c
Patch 8.2.0735 Patch 8.2.0735
Problem: Vim9: using unitialized memory. Problem: Vim9: using uninitialized memory.
Solution: Clear the arg_lvar field. Solution: Clear the arg_lvar field.
Files: src/vim9compile.c Files: src/vim9compile.c
@@ -45801,7 +45801,7 @@ Files: src/testdir/test_vim9_script.vim
Patch 8.2.0755 Patch 8.2.0755
Problem: Vim9: No error when variable initializer is not a constant. Problem: Vim9: No error when variable initializer is not a constant.
Solution: Return FAIL when trying to get a variable value. Do not execute a Solution: Return FAIL when trying to get a variable value. Do not execute a
script when an error is deteted in the first or second phase. script when an error is detected in the first or second phase.
Files: src/eval.c, src/vim9script.c, src/testdir/test_vim9_script.vim Files: src/eval.c, src/vim9script.c, src/testdir/test_vim9_script.vim
Patch 8.2.0756 (after 8.2.0249) Patch 8.2.0756 (after 8.2.0249)
@@ -46003,7 +46003,7 @@ Files: src/libvterm/include/vterm.h, src/libvterm/src/pen.c,
Patch 8.2.0786 Patch 8.2.0786
Problem: Channel test is flaky on FreeBSD. Problem: Channel test is flaky on FreeBSD.
Solution: Set the sockiet TCP_NODELAY option. Adjust expected line count in Solution: Set the socket TCP_NODELAY option. Adjust expected line count in
netbeans test. (Ozaki Kiichi, closes #6097) netbeans test. (Ozaki Kiichi, closes #6097)
Files: src/testdir/test_channel.py, src/testdir/test_netbeans.vim Files: src/testdir/test_channel.py, src/testdir/test_netbeans.vim
@@ -46273,7 +46273,7 @@ Solution: Fix off-by-one error.
Files: src/userfunc.c Files: src/userfunc.c
Patch 8.2.0828 Patch 8.2.0828
Problem: Travis: regexp patttern doesn't work everywhere. Problem: Travis: regexp pattern doesn't work everywhere.
Solution: Use [:blank:] instead of \b. (Ozaki Kiichi, closes #6146) Solution: Use [:blank:] instead of \b. (Ozaki Kiichi, closes #6146)
Files: .travis.yml, ci/config.mk.clang.sed, ci/config.mk.gcc.sed, Files: .travis.yml, ci/config.mk.clang.sed, ci/config.mk.gcc.sed,
ci/config.mk.sed, src/if_ruby.c ci/config.mk.sed, src/if_ruby.c
@@ -46396,7 +46396,7 @@ Files: src/os_win32.c, src/proto/os_win32.pro, src/term.c
Patch 8.2.0849 Patch 8.2.0849
Problem: BeOS code is not maintained and probably unused. Problem: BeOS code is not maintained and probably unused.
Solution: Remove the BeOS code. (Emir Sari, closes #5817) Solution: Remove the BeOS code. (Emir Sarı, closes #5817)
Files: Filelist, src/Makefile, src/configure.ac, src/auto/configure, Files: Filelist, src/Makefile, src/configure.ac, src/auto/configure,
src/evalfunc.c, src/normal.c, src/os_beos.c, src/os_beos.h, src/evalfunc.c, src/normal.c, src/os_beos.c, src/os_beos.h,
src/os_beos.rsrc, src/os_unix.c, src/proto.h, src/os_beos.rsrc, src/os_unix.c, src/proto.h,
@@ -46404,7 +46404,7 @@ Files: Filelist, src/Makefile, src/configure.ac, src/auto/configure,
src/testdir/test_functions.vim, src/ui.c, src/vim.h src/testdir/test_functions.vim, src/ui.c, src/vim.h
Patch 8.2.0850 Patch 8.2.0850
Problem: MS-Windows: exepath() works different from cmd.exe. Problem: MS-Windows: exepath() works differently from cmd.exe.
Solution: Make exepath() work better on MS-Windows. (closes #6115) Solution: Make exepath() work better on MS-Windows. (closes #6115)
Files: runtime/doc/eval.txt, src/os_win32.c, Files: runtime/doc/eval.txt, src/os_win32.c,
src/testdir/test_functions.vim src/testdir/test_functions.vim
@@ -46497,7 +46497,7 @@ Files: runtime/doc/syntax.txt, runtime/doc/term.txt, src/globals.h,
Patch 8.2.0864 Patch 8.2.0864
Problem: Pragmas are indented all the way to the left. Problem: Pragmas are indented all the way to the left.
Solution: Add an option to indent progmas like normal code. (Max Rumpf, Solution: Add an option to indent pragmas like normal code. (Max Rumpf,
closes #5468) closes #5468)
Files: runtime/doc/indent.txt, src/cindent.c, src/structs.h, Files: runtime/doc/indent.txt, src/cindent.c, src/structs.h,
src/testdir/test_cindent.vim src/testdir/test_cindent.vim
@@ -46558,7 +46558,7 @@ Files: runtime/doc/eval.txt, src/evalfunc.c, src/mark.c,
src/testdir/test_marks.vim src/testdir/test_marks.vim
Patch 8.2.0872 Patch 8.2.0872
Problem: XIM code is mixed with multi-byte code. Problem: XIM code is mixed with multibyte code.
Solution: Move the XIM code to a separate file. (Yegappan Lakshmanan, Solution: Move the XIM code to a separate file. (Yegappan Lakshmanan,
closes #6177) closes #6177)
Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak,
@@ -46735,7 +46735,7 @@ Files: src/search.c, src/testdir/test_search_stat.vim,
Patch 8.2.0903 Patch 8.2.0903
Problem: comparing WINVER does not work correctly. Problem: comparing WINVER does not work correctly.
Solution: Use arithmethic expansion. (Ozaki Kiichi, closes #6197) Solution: Use arithmetic expansion. (Ozaki Kiichi, closes #6197)
Files: src/Make_cyg_ming.mak Files: src/Make_cyg_ming.mak
Patch 8.2.0904 Patch 8.2.0904
@@ -46817,7 +46817,7 @@ Files: src/getchar.c, src/proto/getchar.pro, src/edit.c, src/term.c,
src/proto/term.pro, src/testdir/test_termcodes.vim src/proto/term.pro, src/testdir/test_termcodes.vim
Patch 8.2.0917 Patch 8.2.0917
Problem: Quickfix entries do not suport a "note" type. Problem: Quickfix entries do not support a "note" type.
Solution: Add support for "note". (partly by Yegappan Lakshmanan, Solution: Add support for "note". (partly by Yegappan Lakshmanan,
closes #5527, closes #6216) closes #5527, closes #6216)
Files: runtime/doc/quickfix.txt, src/quickfix.c, Files: runtime/doc/quickfix.txt, src/quickfix.c,
@@ -46901,14 +46901,14 @@ Files: runtime/scripts.vim, src/testdir/test_filetype.vim
Patch 8.2.0931 Patch 8.2.0931
Problem: Some remarks about BeOS remain. Problem: Some remarks about BeOS remain.
Solution: Remove BeOS remarks from the help and other files. (Emir Sari, Solution: Remove BeOS remarks from the help and other files. (Emir Sarı,
closes #6221) closes #6221)
Files: READMEdir/README_extra.txt, runtime/doc/options.txt, Files: READMEdir/README_extra.txt, runtime/doc/options.txt,
runtime/doc/os_beos.txt, runtime/doc/os_vms.txt, runtime/doc/os_beos.txt, runtime/doc/os_vms.txt,
runtime/doc/vi_diff.txt, src/INSTALL runtime/doc/vi_diff.txt, src/INSTALL
Patch 8.2.0932 Patch 8.2.0932
Problem: Missspelling spelllang. Problem: Misspelling spelllang.
Solution: Add an "l". (Dominique Pellé) Solution: Add an "l". (Dominique Pellé)
Files: src/optionstr.c, src/proto/spell.pro, src/spell.c Files: src/optionstr.c, src/proto/spell.pro, src/spell.c
@@ -47364,7 +47364,7 @@ Solution: Skip over "++arg". (Christian Brabandt, closes #6275,
Files: src/cmdexpand.c, src/testdir/test_cmdline.vim Files: src/cmdexpand.c, src/testdir/test_cmdline.vim
Patch 8.2.1008 Patch 8.2.1008
Problem: Vim9: no test for disassambling newly added instructions. Problem: Vim9: no test for disassembling newly added instructions.
Solution: Add a function and check disassembly. Solution: Add a function and check disassembly.
Files: src/testdir/test_vim9_disassemble.vim Files: src/testdir/test_vim9_disassemble.vim
@@ -47480,7 +47480,7 @@ Solution: Check for a continuation line after "->", "[" and ".". Ignore
Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim
Patch 8.2.1027 Patch 8.2.1027
Problem: GUI: multi-byte characters do not work in a terminal. Problem: GUI: multibyte characters do not work in a terminal.
Solution: Do not assume a key is one byte. (closes #6304) Solution: Do not assume a key is one byte. (closes #6304)
Files: src/gui_gtk_x11.c, src/gui_x11.c Files: src/gui_gtk_x11.c, src/gui_x11.c
@@ -47697,7 +47697,7 @@ Solution: Check for operator after line break.
Files: src/eval.c, src/testdir/test_vim9_expr.vim Files: src/eval.c, src/testdir/test_vim9_expr.vim
Patch 8.2.1064 Patch 8.2.1064
Problem: Vim9: no line break allowed before comperators. Problem: Vim9: no line break allowed before comparators.
Solution: Check for comperator after line break. Solution: Check for comperator after line break.
Files: src/eval.c, src/testdir/test_vim9_expr.vim Files: src/eval.c, src/testdir/test_vim9_expr.vim
@@ -47839,7 +47839,7 @@ Files: src/filepath.c
Patch 8.2.1088 Patch 8.2.1088
Problem: A very long translation might cause a buffer overflow. Problem: A very long translation might cause a buffer overflow.
Solution: Trunctate the message if needed. Solution: Truncate the message if needed.
Files: src/fileio.c Files: src/fileio.c
Patch 8.2.1089 Patch 8.2.1089
@@ -48001,7 +48001,7 @@ Solution: Adjust how a command is parsed.
Files: src/ex_docmd.c, src/testdir/test_vim9_cmd.vim Files: src/ex_docmd.c, src/testdir/test_vim9_cmd.vim
Patch 8.2.1117 Patch 8.2.1117
Problem: Coverity warns for unsing unitialized field. Problem: Coverity warns for using uninitialized field.
Solution: Initialize v_lock. Solution: Initialize v_lock.
Files: src/if_lua.c Files: src/if_lua.c
@@ -48545,7 +48545,7 @@ Problem: Using ht_used when looping through a hashtab is less reliable.
Solution: Use ht_changed in a few more places. Solution: Use ht_changed in a few more places.
Files: src/userfunc.c, src/if_py_both.h Files: src/userfunc.c, src/if_py_both.h
Patch 8.2.1211 (after 8.2.1118 Patch 8.2.1211 (after 8.2.1118)
Problem: Removed more than dead code. Problem: Removed more than dead code.
Solution: Put back the decrement. Solution: Put back the decrement.
Files: src/move.c, src/testdir/test_diffmode.vim Files: src/move.c, src/testdir/test_diffmode.vim
@@ -48852,7 +48852,7 @@ Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak,
src/proto/ex_cmds.pro, src/proto/help.pro src/proto/ex_cmds.pro, src/proto/help.pro
Patch 8.2.1263 Patch 8.2.1263
Problem: Vim9: comperators use 'ignorecase' in Vim9 script. Problem: Vim9: comparators use 'ignorecase' in Vim9 script.
Solution: Ignore 'ignorecase'. Use true and false instead of 1 and 0. Solution: Ignore 'ignorecase'. Use true and false instead of 1 and 0.
(closes #6497) (closes #6497)
Files: src/eval.c, src/typval.c, src/vim9execute.c, Files: src/eval.c, src/typval.c, src/vim9execute.c,
@@ -49043,7 +49043,7 @@ Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms,
src/testdir/test_regexp_utf8.vim src/testdir/test_regexp_utf8.vim
Patch 8.2.1296 Patch 8.2.1296
Problem: Some part of using 'smarcase' was not tested. Problem: Some part of using 'smartcase' was not tested.
Solution: Add more tests. (Dominique Pellé, closes #6538) Solution: Add more tests. (Dominique Pellé, closes #6538)
Files: src/testdir/test_search.vim Files: src/testdir/test_search.vim
@@ -49334,7 +49334,7 @@ Files: src/testdir/test_vim9_func.vim
Patch 8.2.1345 Patch 8.2.1345
Problem: Redraw error when using visual block and scroll. Problem: Redraw error when using visual block and scroll.
Solution: Add check for w_topline. ( closes #6597) Solution: Add check for w_topline. (closes #6597)
Files: src/drawscreen.c, src/testdir/test_display.vim, Files: src/drawscreen.c, src/testdir/test_display.vim,
src/testdir/dumps/Test_display_visual_block_scroll.dump src/testdir/dumps/Test_display_visual_block_scroll.dump
@@ -49504,7 +49504,7 @@ Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim
Patch 8.2.1376 Patch 8.2.1376
Problem: Vim9: expression mapping causes error for using :import. Problem: Vim9: expression mapping causes error for using :import.
Solution: Add EX_LOCK_OK to :import and :export. (closes 3606) Solution: Add EX_LOCK_OK to :import and :export. (closes #6606)
Files: src/ex_cmds.h, src/testdir/test_vim9_script.vim Files: src/ex_cmds.h, src/testdir/test_vim9_script.vim
Patch 8.2.1377 Patch 8.2.1377
@@ -49558,7 +49558,7 @@ Solution: Add a test on Travis for ARM. (Ozaki Kiichi, closes #6615)
Files: .travis.yml Files: .travis.yml
Patch 8.2.1386 Patch 8.2.1386
Problem: Backslash not removed afer space in option with space in Problem: Backslash not removed after space in option with space in
'isfname'. 'isfname'.
Solution: Do remove backslash before space, also when it is in 'isfname'. Solution: Do remove backslash before space, also when it is in 'isfname'.
(Yasuhiro Matsumoto, closes #6651) (Yasuhiro Matsumoto, closes #6651)

View File

@@ -1,4 +1,4 @@
*vi_diff.txt* For Vim version 8.2. Last change: 2020 Jun 07 *vi_diff.txt* For Vim version 8.2. Last change: 2020 Aug 15
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -467,7 +467,7 @@ Editing binary files. |edit-binary|
last line in the file. last line in the file.
Multi-language support. |multi-lang| Multi-language support. |multi-lang|
Files in double-byte or multi-byte encodings can be edited. There is Files in double-byte or multibyte encodings can be edited. There is
UTF-8 support to be able to edit various languages at the same time, UTF-8 support to be able to edit various languages at the same time,
without switching fonts. |UTF-8| without switching fonts. |UTF-8|
Messages and menus are available in different languages. Messages and menus are available in different languages.

View File

@@ -1,4 +1,4 @@
*vim9.txt* For Vim version 8.2. Last change: 2020 Aug 15 *vim9.txt* For Vim version 8.2. Last change: 2020 Aug 27
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -49,6 +49,7 @@ errors are handled.
The Vim9 script syntax and semantics are used in: The Vim9 script syntax and semantics are used in:
- a function defined with the `:def` command - a function defined with the `:def` command
- a script file where the first command is `vim9script` - a script file where the first command is `vim9script`
- an autocommand defined in the context of these
When using `:function` in a Vim9 script file the legacy syntax is used. When using `:function` in a Vim9 script file the legacy syntax is used.
However, this can be confusing and is therefore discouraged. However, this can be confusing and is therefore discouraged.
@@ -92,9 +93,13 @@ often 10x to 100x times.
Many errors are already found when compiling, before the function is executed. Many errors are already found when compiling, before the function is executed.
The syntax is strict, to enforce code that is easy to read and understand. The syntax is strict, to enforce code that is easy to read and understand.
Compilation is done when the function is first called, or when the Compilation is done when:
`:defcompile` command is encountered in the script where the function was - the function is first called
defined. `:disassemble` also compiles the function. - when the `:defcompile` command is encountered in the script where the
function was defined
- `:disassemble` is used for the function.
- a function that is compiled calls the function or uses it as a function
reference
`:def` has no options like `:function` does: "range", "abort", "dict" or `:def` has no options like `:function` does: "range", "abort", "dict" or
"closure". A `:def` function always aborts on an error, does not get a range "closure". A `:def` function always aborts on an error, does not get a range
@@ -492,6 +497,18 @@ For a workaround, split it in two functions: >
use-feature use-feature
enddef enddef
endif endif
Of put the unsupported code inside an `if` with a constant expression that
evaluates to false: >
def Maybe()
if has('feature')
use-feature
endif
enddef
Note that for unrecognized commands there is no check for "|" and a following
command. This will give an error for missing `endif`: >
def Maybe()
if has('feature') | use-feature | endif
enddef
============================================================================== ==============================================================================
@@ -539,7 +556,7 @@ If the script the function is defined in is Vim9 script, then script-local
variables can be accessed without the "s:" prefix. They must be defined variables can be accessed without the "s:" prefix. They must be defined
before the function is compiled. If the script the function is defined in is before the function is compiled. If the script the function is defined in is
legacy script, then script-local variables must be accessed with the "s:" legacy script, then script-local variables must be accessed with the "s:"
prefix. prefix and they do not need to exist (they can be deleted any time).
*:defc* *:defcompile* *:defc* *:defcompile*
:defc[ompile] Compile functions defined in the current script that :defc[ompile] Compile functions defined in the current script that
@@ -692,6 +709,22 @@ dictionary. If there is a mix of types, the "any" type is used. >
['a', 'b', 'c'] list<string> ['a', 'b', 'c'] list<string>
[1, 'x', 3] list<any> [1, 'x', 3] list<any>
Stricter type checking *type-checking*
In legacy Vim script, where a number was expected, a string would be
automatically converted to a number. This was convenient for an actual number
such as "123", but leads to unexpected problems (but no error message) if the
string doesn't start with a number. Quite often this leads to hard-to-find
bugs.
In Vim9 script this has been made stricter. In most places it works just as
before, if the expected type was already. There will sometimes be an error,
thus breaking backwards compatibility. For example:
- Using a number other than 0 or 1 where a boolean is expected. *E1023*
- Using a string value when setting a number options.
- Using a number where a string is expected. *E1024*
============================================================================== ==============================================================================
5. Namespace, Import and Export 5. Namespace, Import and Export
@@ -703,6 +736,9 @@ A Vim9 script can be written to be imported. This means that everything in
the script is local, unless exported. Those exported items, and only those the script is local, unless exported. Those exported items, and only those
items, can then be imported in another script. items, can then be imported in another script.
You can cheat by using the global namespace explicitly. We will assume here
that you don't do that.
Namespace ~ Namespace ~
*:vim9script* *:vim9* *:vim9script* *:vim9*

View File

@@ -1,8 +1,8 @@
" Vim filetype plugin file " Vim filetype plugin file
" Language: Javascript " Language: Javascript
" Maintainer: Doug Kearns <dougkearns@gmail.com> " Maintainer: Doug Kearns <dougkearns@gmail.com>
" Last Change: 2008 Jun 15 " Last Change: 2020 Jun 23
" URL: http://gus.gscit.monash.edu.au/~djkea2/vim/ftplugin/javascript.vim " Contributor: Romain Lafourcade <romainlafourcade@gmail.com>
if exists("b:did_ftplugin") if exists("b:did_ftplugin")
finish finish
@@ -13,7 +13,7 @@ let s:cpo_save = &cpo
set cpo-=C set cpo-=C
" Set 'formatoptions' to break comment lines but not other lines, " Set 'formatoptions' to break comment lines but not other lines,
" " and insert the comment leader when hitting <CR> or using "o". " and insert the comment leader when hitting <CR> or using "o".
setlocal formatoptions-=t formatoptions+=croql setlocal formatoptions-=t formatoptions+=croql
" Set completion with CTRL-X CTRL-O to autoloaded function. " Set completion with CTRL-X CTRL-O to autoloaded function.
@@ -26,13 +26,50 @@ setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
setlocal commentstring=//%s setlocal commentstring=//%s
" Change the :browse e filter to primarily show Java-related files. " Change the :browse e filter to primarily show JavaScript-related files.
if has("gui_win32") if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
let b:browsefilter="Javascript Files (*.js)\t*.js\n" . let b:browsefilter =
\ "All Files (*.*)\t*.*\n" \ "JavaScript Files (*.js)\t*.js\n"
\ .. "JSX Files (*.jsx)\t*.jsx\n"
\ .. "JavaScript Modules (*.es, *.es6, *.cjs, *.mjs, *.jsm)\t*.es;*.es6;*.cjs;*.mjs;*.jsm\n"
\ .. "Vue Templates (*.vue)\t*.vue\n"
\ .. "JSON Files (*.json)\t*.json\n"
\ .. "All Files (*.*)\t*.*\n"
endif endif
let b:undo_ftplugin = "setl fo< ofu< com< cms<" " The following suffixes should be implied when resolving filenames
setlocal suffixesadd+=.js,.jsx,.es,.es6,.cjs,.mjs,.jsm,.vue,.json
" The following suffixes should have low priority
" .snap jest snapshot
setlocal suffixes+=.snap
" Remove irrelevant part of 'path'.
" User is expected to augment it with contextually-relevant paths
setlocal path-=/usr/include
" Matchit configuration
if exists("loaded_matchit")
let b:match_ignorecase = 0
let b:match_words =
\ '\<do\>:\<while\>,'
\ .. '<\@<=\([^ \t>/]\+\)\%(\s\+[^>]*\%([^/]>\|$\)\|>\|$\):<\@<=/\1>,'
\ .. '<\@<=\%([^ \t>/]\+\)\%(\s\+[^/>]*\|$\):/>'
endif
" Set 'define' to a comprehensive value
let &l:define =
\ '\(^\s*(*async\s\+function\|(*function\)'
\ .. '\|^\s*\(\*\|static\|async\|get\|set\|\i\+\.\)'
\ .. '\|^\s*\(\ze\i\+\)\(([^)]*).*{$\|\s*[:=,]\)'
\ .. '\|^\s*\(export\s\+\|export\s\+default\s\+\)*\(var\|let\|const\|function\|class\)'
\ .. '\|\<as\>'
let b:undo_ftplugin =
\ "setl fo< ofu< com< cms< sua< su< def< pa<"
\ .. "| unlet! b:browsefilter b:match_ignorecase b:match_words"
let &cpo = s:cpo_save let &cpo = s:cpo_save
unlet s:cpo_save unlet s:cpo_save
" vim: textwidth=78 tabstop=8 shiftwidth=4 softtabstop=4 expandtab

View File

@@ -1,2 +1,7 @@
" Vim filetype plugin file
" Language: JavaScript React
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Last Change: 2020 Aug 19
" Placeholder for backwards compatilibity: .jsx used to stand for JavaScript. " Placeholder for backwards compatilibity: .jsx used to stand for JavaScript.
runtime! ftplugin/javascript.vim runtime! ftplugin/javascript.vim

View File

@@ -0,0 +1,190 @@
" Vim Keymap file for Russian characters
" layout English-US standard 104 key 'QWERTY', 'JCUKEN'
"
" Maintainer: Restorer <restorers@users.sourceforge.net>
" Last Changed: 20 Jan 2019
" Description: Раскладка сделана на основе раскладки «русская машинопись»
" (KBDRU1.DLL), поставляемой в составе ОС MS Windows. Эта раскладка позволяет
" печать практически все знаки препинания используя цифровой ряд и не требуя при
" этом нажатия дополнительных клавиш, ну и также удобное расположение буквы «Ё».
" Однако были внесены некоторые дополнения (улучшения?), в частности:
" раздельные символы круглых скобок (), расположены на тех же позициях, что и
" в US-International;
" раздельные символы типографских кавычек «», расположены на клавишах «3» и
" «4» соответственно;
" на этих же клавишах находятся внутренние кавычки “лапки”, набираемые при
" нажатой клавише «ALT»;
" возможность набирать символы, отсутствующие в русской раскладке клавиатуры,
" а именно @#$^&*{}[]"'`~<>, которые расположены на тех же местах, что и раньше.
" Для этого не требуется переключаться в латинскую раскладку клавиатуры, а
" оставаясь в русской, использовать для этого дополнительные клавиши «SHIFT» и
" «ALT»;
" и ещё несколько удобств, которые позволяют быстро и с минимальными усилиями
" набирать текст.
scriptencoding utf-8
" Переключение языка ввода со стандартного сочетания <CTRL+^> на указанные ниже
" Для режимов вставки и замены
""или SHIFT+SPACE
" inoremap <S-Space> <C-^>
""или CTRL+SPACE"
" inoremap <C-Space> <C-^>
" Для режима командной строки
""или SHIFT+SPACE
" cnoremap <S-Space> <C-^>
""или CTRL+SPACE"
" cnoremap <C-Space> <C-^>
" Одной командой для режимов вставки, замены и командной строки
" noremap! <S-Space> <C-^>
" noremap! <C-Space> <C-^>
"
" Стандартное переключение по CTRL+^ после этих переназначений также сохраняется
let b:keymap_name ="RUS"
loadkeymap
" DIGITAL ROW
" The Shift key is not pressed
"
<char-0x0060> <char-0x0025> " PERCENT SIGN
<char-0x0031> <char-0x0021> " EXCLAMATION MARK
<char-0x0032> <char-0x2014> " EM DASH
<char-0x0033> <char-0x00ab> " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
<char-0x0034> <char-0x00bb> " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
<char-0x0035> <char-0x003a> " COLON
<char-0x0036> <char-0x002c> " COMMA
<char-0x0037> <char-0x002e> " FULL STOP
<char-0x0038> <char-0x003f> " QUESTION MARK
<char-0x0039> <char-0x0028> " LEFT PARENTHESIS
<char-0x0030> <char-0x0029> " RIGHT PARENTHESIS
<char-0x002d> <char-0x2010> " HYPHEN
<char-0x003d> <char-0x003b> " SEMICOLON
" The Shift key is pressed
<char-0x007e> <char-0x003d> " EQUALS SIGN
<char-0x0021> <char-0x0031> " DIGIT ONE
<char-0x0040> <char-0x0032> " DIGIT TWO
<char-0x0023> <char-0x0033> " DIGIT THREE
<char-0x0024> <char-0x0034> " DIGIT FOUR
<char-0x0025> <char-0x0035> " DIGIT FIVE
<char-0x005e> <char-0x0036> " DIGIT SIX
<char-0x0026> <char-0x0037> " DIGIT SEVEN
<char-0x002a> <char-0x0038> " DIGIT EIGHT
<char-0x0028> <char-0x0039> " DIGIT NINE
<char-0x0029> <char-0x0030> " DIGIT ZERO
<char-0x005f> <char-0x002d> " HYPHEN-MINUS
<char-0x002b> <char-0x002b> " PLUS SIGN
" ALPHABETICAL 1st ROW
<char-0x0071> <char-0x0439> " CYRILLIC SMALL LETTER SHORT I
<char-0x0051> <char-0x0419> " CYRILLIC CAPITAL LETTER SHORT I
<char-0x0077> <char-0x0446> " CYRILLIC SMALL LETTER TSE
<char-0x0057> <char-0x0426> " CYRILLIC CAPITAL LETTER TSE
<char-0x0065> <char-0x0443> " CYRILLIC SMALL LETTER U
<char-0x0045> <char-0x0423> " CYRILLIC CAPITAL LETTER U
<char-0x0072> <char-0x043a> " CYRILLIC SMALL LETTER KA
<char-0x0052> <char-0x041a> " CYRILLIC CAPITAL LETTER KA
<char-0x0074> <char-0x0435> " CYRILLIC SMALL LETTER IE
<char-0x0054> <char-0x0415> " CYRILLIC CAPITAL LETTER IE
<char-0x0079> <char-0x043d> " CYRILLIC SMALL LETTER EN
<char-0x0059> <char-0x041d> " CYRILLIC CAPITAL LETTER EN
<char-0x0075> <char-0x0433> " CYRILLIC SMALL LETTER GHE
<char-0x0055> <char-0x0413> " CYRILLIC CAPITAL LETTER GHE
<char-0x0069> <char-0x0448> " CYRILLIC SMALL LETTER SHA
<char-0x0049> <char-0x0428> " CYRILLIC CAPITAL LETTER SHA
<char-0x006f> <char-0x0449> " CYRILLIC SMALL LETTER SHCHA
<char-0x004f> <char-0x0429> " CYRILLIC CAPITAL LETTER SHCHA
<char-0x0070> <char-0x0437> " CYRILLIC SMALL LETTER ZE
<char-0x0050> <char-0x0417> " CYRILLIC CAPITAL LETTER ZE
<char-0x005b> <char-0x0445> " CYRILLIC SMALL LETTER HA
<char-0x007b> <char-0x0425> " CYRILLIC CAPITAL LETTER HA
<char-0x005d> <char-0x044a> " CYRILLIC SMALL LETTER HARD SIGN
<char-0x007d> <char-0x042a> " CYRILLIC CAPITAL LETTER HARD SIGN
" ALPHABETIC 2st ROW
<char-0x0061> <char-0x0444> " CYRILLIC SMALL LETTER EF
<char-0x0041> <char-0x0424> " CYRILLIC CAPITAL LETTER EF
<char-0x0073> <char-0x044b> " CYRILLIC SMALL LETTER YERU
<char-0x0053> <char-0x042b> " CYRILLIC CAPITAL LETTER YERU
<char-0x0064> <char-0x0432> " CYRILLIC SMALL LETTER VE
<char-0x0044> <char-0x0412> " CYRILLIC CAPITAL LETTER VE
<char-0x0066> <char-0x0430> " CYRILLIC SMALL LETTER A
<char-0x0046> <char-0x0410> " CYRILLIC CAPITAL LETTER A
<char-0x0067> <char-0x043f> " CYRILLIC SMALL LETTER PE
<char-0x0047> <char-0x041f> " CYRILLIC CAPITAL LETTER PE
<char-0x0068> <char-0x0440> " CYRILLIC SMALL LETTER ER
<char-0x0048> <char-0x0420> " CYRILLIC CAPITAL LETTER ER
<char-0x006a> <char-0x043e> " CYRILLIC SMALL LETTER O
<char-0x004a> <char-0x041e> " CYRILLIC CAPITAL LETTER O
<char-0x006b> <char-0x043b> " CYRILLIC SMALL LETTER EL
<char-0x004b> <char-0x041b> " CYRILLIC CAPITAL LETTER EL
<char-0x006c> <char-0x0434> " CYRILLIC SMALL LETTER DE
<char-0x004c> <char-0x0414> " CYRILLIC CAPITAL LETTER DE
<char-0x003b> <char-0x0436> " CYRILLIC SMALL LETTER ZHE
<char-0x003a> <char-0x0416> " CYRILLIC CAPITAL LETTER ZHE
<char-0x0027> <char-0x044d> " CYRILLIC SMALL LETTER E
<char-0x0022> <char-0x042d> " CYRILLIC CAPITAL LETTER E
" ALPHABETIC 3st ROW
<char-0x007a> <char-0x044f> " CYRILLIC SMALL LETTER YA
<char-0x005a> <char-0x042f> " CYRILLIC CAPITAL LETTER YA
<char-0x0078> <char-0x0447> " CYRILLIC SMALL LETTER CHE
<char-0x0058> <char-0x0427> " CYRILLIC CAPITAL LETTER CHE
<char-0x0063> <char-0x0441> " CYRILLIC SMALL LETTER ES
<char-0x0043> <char-0x0421> " CYRILLIC CAPITAL LETTER ES
<char-0x0076> <char-0x043c> " CYRILLIC SMALL LETTER EM
<char-0x0056> <char-0x041c> " CYRILLIC CAPITAL LETTER EM
<char-0x0062> <char-0x0438> " CYRILLIC SMALL LETTER I
<char-0x0042> <char-0x0418> " CYRILLIC CAPITAL LETTER I
<char-0x006e> <char-0x0442> " CYRILLIC SMALL LETTER TE
<char-0x004e> <char-0x0422> " CYRILLIC CAPITAL LETTER TE
<char-0x006d> <char-0x044c> " CYRILLIC SMALL LETTER SOFT SIGN
<char-0x004d> <char-0x042c> " CYRILLIC CAPITAL LETTER SOFT SIGN
<char-0x002c> <char-0x0431> " CYRILLIC SMALL LETTER BE
<char-0x003c> <char-0x0411> " CYRILLIC CAPITAL LETTER BE
<char-0x002e> <char-0x044e> " CYRILLIC SMALL LETTER YU
<char-0x003e> <char-0x042e> " CYRILLIC CAPITAL LETTER YU
<char-0x002f> <char-0x0451> " CYRILLIC SMALL LETTER IO
<char-0x003f> <char-0x0401> " CYRILLIC CAPITAL LETTER IO
" VK_OEM_5 key (scan code 2b)
" The Shift key is not pressed
<char-0x005c> <char-0x002f> " SOLIDUS
" The Shift key is pressed
<char-0x007c> <char-0x005c> " REVERSE SOLIDUS
" Alt key pressed
<A-char-0x0060> <char-0x0060> " GRAVE ACCENT
<A-char-0x0031> <char-0x2116> " NUMERO SIGN
<A-char-0x0033> <char-0x201c> " LEFT DOUBLE QUOTATION MARK
<A-char-0x0034> <char-0x201d> " RIGHT DOUBLE QUOTATION MARK
<A-char-0x005b> <char-0x005b> " LEFT SQUARE BRACKET
<A-char-0x005d> <char-0x005d> " RIGHT SQUARE BRACKET
<A-char-0x0027> <char-0x0027> " APOSTROPHE
" Alt and Shift keys pressed
<A-char-0x007e> <char-0x007e> " TILDE
<A-char-0x0040> <char-0x0040> " COMMERCIAL AT
<A-char-0x0023> <char-0x0023> " NUMBER SIGN
<A-char-0x0024> <char-0x0024> " DOLLAR SIGN
<A-char-0x005e> <char-0x005e> " CIRCUMFLEX ACCENT
<A-char-0x0026> <char-0x0026> " AMPERSAND
<A-char-0x002a> <char-0x002a> " ASTERISK
<A-char-0x005f> <char-0x005f> " LOW LINE
<A-char-0x007b> <char-0x007b> " LEFT CURLY BRACKET
<A-char-0x007d> <char-0x007d> " RIGHT CURLY BRACKET
<A-char-0x0022> <char-0x0022> " QUOTATION MARK
<A-char-0x003c> <char-0x003c> " LESS-THAN SIGN
<A-char-0x003e> <char-0x003e> " GREATER-THAN SIGN
<A-char-0x007c> <char-0x007c> " VERTICAL LINE

View File

@@ -55,7 +55,6 @@ _ ? QUESTION MARK
Å Û LATIN CAPITAL LETTER U WITH CIRCUMFLEX Å Û LATIN CAPITAL LETTER U WITH CIRCUMFLEX
Í Î LATIN CAPITAL LETTER I WITH CIRCUMFLEX Í Î LATIN CAPITAL LETTER I WITH CIRCUMFLEX
Ï Â LATIN CAPITAL LETTER A WITH CIRCUMFLEX Ï Â LATIN CAPITAL LETTER A WITH CIRCUMFLEX
` » RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
f a LATIN SMALL LETTER A f a LATIN SMALL LETTER A
, b LATIN SMALL LETTER B , b LATIN SMALL LETTER B
@@ -100,7 +99,7 @@ n z LATIN SMALL LETTER Z
• [ LEFT SQUARE BRACKET • [ LEFT SQUARE BRACKET
ª ] RIGHT SQUARE BRACKET ª ] RIGHT SQUARE BRACKET
º } RIGHT CURLY BRACKET º } RIGHT CURLY BRACKET
\ REVERSE SOLIDUS \\ REVERSE SOLIDUS
| VERTICAL LINE | VERTICAL LINE
œ @ COMMERCIAL AT œ @ COMMERCIAL AT
~ TILDE ~ TILDE
@@ -111,4 +110,3 @@ n z LATIN SMALL LETTER Z
˙ ₺ TURKISH LIRA SIGN ˙ ₺ TURKISH LIRA SIGN
¬ £ POUND SIGN ¬ £ POUND SIGN
… ¥ YEN SIGN … ¥ YEN SIGN
` « LEFT-POINTING DOUBLE ANGLE QUOTATION MARK

View File

@@ -51,7 +51,7 @@ i ı LATIN SMALL LETTER DOTLESS I
• [ LEFT SQUARE BRACKET • [ LEFT SQUARE BRACKET
ª ] RIGHT SQUARE BRACKET ª ] RIGHT SQUARE BRACKET
º } RIGHT CURLY BRACKET º } RIGHT CURLY BRACKET
\ REVERSE SOLIDUS \\ REVERSE SOLIDUS
| VERTICAL LINE | VERTICAL LINE
œ @ COMMERCIAL AT œ @ COMMERCIAL AT
´EURO SIGN ´EURO SIGN

View File

@@ -1,7 +1,7 @@
" Vim syntax file " Vim syntax file
" Language: awk, nawk, gawk, mawk " Language: awk, nawk, gawk, mawk
" Maintainer: Antonio Colombo <azc100@gmail.com> " Maintainer: Antonio Colombo <azc100@gmail.com>
" Last Change: 2020 Mar 25 " Last Change: 2020 Aug 18
" AWK ref. is: Alfred V. Aho, Brian W. Kernighan, Peter J. Weinberger " AWK ref. is: Alfred V. Aho, Brian W. Kernighan, Peter J. Weinberger
" The AWK Programming Language, Addison-Wesley, 1988 " The AWK Programming Language, Addison-Wesley, 1988
@@ -27,6 +27,8 @@ endif
let s:cpo_save = &cpo let s:cpo_save = &cpo
set cpo&vim set cpo&vim
syn iskeyword @,48-57,_,192-255,@-@
" A bunch of useful Awk keywords " A bunch of useful Awk keywords
" AWK ref. p. 188 " AWK ref. p. 188
syn keyword awkStatement break continue delete exit syn keyword awkStatement break continue delete exit

View File

@@ -1,7 +1,7 @@
" Vim syntax file " Vim syntax file
" Language: C " Language: C
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2020 Aug 11 " Last Change: 2020 Aug 28
" Quit when a (custom) syntax file was already loaded " Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax") if exists("b:current_syntax")
@@ -346,6 +346,8 @@ if !exists("c_no_ansi") || exists("c_ansi_constants") || exists("c_gnu")
syn keyword cConstant SIGSTOP SIGTERM SIGTRAP SIGTSTP SIGTTIN SIGTTOU SIGUSR1 SIGUSR2 syn keyword cConstant SIGSTOP SIGTERM SIGTRAP SIGTSTP SIGTTIN SIGTTOU SIGUSR1 SIGUSR2
syn keyword cConstant _IOFBF _IOLBF _IONBF BUFSIZ EOF WEOF FOPEN_MAX FILENAME_MAX L_tmpnam syn keyword cConstant _IOFBF _IOLBF _IONBF BUFSIZ EOF WEOF FOPEN_MAX FILENAME_MAX L_tmpnam
syn keyword cConstant SEEK_CUR SEEK_END SEEK_SET TMP_MAX stderr stdin stdout EXIT_FAILURE EXIT_SUCCESS RAND_MAX syn keyword cConstant SEEK_CUR SEEK_END SEEK_SET TMP_MAX stderr stdin stdout EXIT_FAILURE EXIT_SUCCESS RAND_MAX
" used in assert.h
syn keyword cConstant NDEBUG
" POSIX 2001 " POSIX 2001
syn keyword cConstant SIGBUS SIGPOLL SIGPROF SIGSYS SIGURG SIGVTALRM SIGXCPU SIGXFSZ syn keyword cConstant SIGBUS SIGPOLL SIGPROF SIGSYS SIGURG SIGVTALRM SIGXCPU SIGXFSZ
" non-POSIX signals " non-POSIX signals

View File

@@ -0,0 +1,65 @@
" Vim syntax file
" Language: Russian Vim program help files *.rux
" Maintainer: Restorer (restorers@users.sourceforge.net)
" Last Change: 04 Aprl 2017
"
" Проверяем язык локали и установки опции 'helplang'
" Если не русский, то выходим из скрипта.
if ('ru' !~? v:lang || 'russian' !~? v:lang) && 'ru' !~? &helplang
finish
endif
" Подсветка русских гиперссылок
syntax match helpHyperTextJump "\\\@<!|[^"*~# |]\+|" contains=helpBar
syntax match helpHyperTextEntry "\*[^"*|]\+\*\s"he=e-1 contains=helpStar
syntax match helpHyperTextEntry "\*[^"*|]\+\*$" contains=helpStar
" Заголовок статьи, раздела и т. п.
syntax match helpHeadline "^[А-ЯЁ]\{2}[ .]\=[-,А-ЯЁA-Z0-9 .()]*"
" Наименование справочника
" новый заголовок
" syntax match helpVim "\<СПРАВОЧНИК ПО РЕДАКТОРУ VIM\>"
"старый заголовок
syntax match helpVim "\<СПРАВОЧНИК ПО .*"
" новый заголовок
"syntax match helpVim "\<РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ РЕДАКТОРОМ VIM\>"
"syntax match helpVim "\<автор\%[ы:] .*$"
"старый заголовок
syntax match helpVim "\<РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ .*"
" Подсветка примечаний в тексте, начала примеров и т.п.
syntax keyword helpNote Примечание. Совет. Пример. Примеры:
syntax keyword helpWarning Внимание!
" в старой версии документации
syntax keyword helpNote Замечание:
" в старой версии документации
syntax keyword helpWarning ВНИМАНИЕ! Предупреждение:
" Подсветка Ex-команд в документации Vim
syntax match helpCommand "\":[A-Za-z!]\+\""hs=s+1,he=e-1
" Подсветка специальных обозначений
syntax match helpSpecial "{[-а-яёА-ЯЁ0-9'":%#=[\]<>.,]\+}"
syntax match helpSpecial "{[-а-яёА-ЯЁ0-9'"*+/:%#=[\]<>.,]\+}"
syntax match helpSpecial "\s\[[-а-яё^А-ЯЁ0-9_]\{2,}]"ms=s+1
syntax match helpSpecial "<[-а-яёА-ЯЁ0-9_]\+>"
syntax match helpSpecial "\[диапазон]"
syntax match helpSpecial "\[счётчик]"
syntax match helpSpecial "\[число]"
syntax match helpSpecial "\[+число]"
syntax match helpSpecial "\[-число]"
syntax match helpSpecial "\[кол-во]"
syntax match helpSpecial "\[строка]"
syntax match helpSpecial "\[смещение]"
syntax match helpSpecial "\[параметр]"
syntax match helpSpecial "\[параметры]"
syntax match helpSpecial "CTRL-{символ}"
syntax region helpNotVi start="{Доступно только" start="{В редкторе Vim" start="{В редакторе Vi" end="}" contains=helpLeadBlank,helpHyperTextJump
" Подсветка примечаний переводчика
syntax region helpTrnsNote start="\[Прим. перевод." end="]" contains=helpComment
" Определение группы подсветки Ex-команд в документации Vim
"hi def link helpCommand vimCommand
" Определение группы подсветки примечаний переводчика
hi def link helpTrnsNote Comment
" hi def link helpTrnsNote Comment
"
" vim: ts=8 sw=2

View File

@@ -7,7 +7,7 @@
" Usage: Vim -S <this-file> " Usage: Vim -S <this-file>
" "
" Author: Bram Moolenaar " Author: Bram Moolenaar
" Last Update: 2010 Jan 12 " Last Update: 2020 Aug 24
" Parse lines of UnicodeData.txt. Creates a list of lists in s:dataprops. " Parse lines of UnicodeData.txt. Creates a list of lists in s:dataprops.
func! ParseDataToProps() func! ParseDataToProps()
@@ -262,85 +262,148 @@ func! BuildWidthTable(pattern, tableName)
wincmd p wincmd p
endfunc endfunc
" Build the amoji width table in a new buffer.
func! BuildEmojiTable(pattern, tableName) " Get characters from a list of lines in form "12ab .." or "12ab..56cd ..."
let alltokens = [] " and put them in dictionary "chardict"
let widthtokens = [] func AddLinesToCharDict(lines, chardict)
let lines = map(filter(filter(getline(1, '$'), 'v:val=~"^[1-9]"'), 'v:val=~a:pattern'), 'matchstr(v:val,"^\\S\\+")') for line in a:lines
for n in range(len(lines)) let tokens = split(line, '\.\.')
let line = lines[n] let first = str2nr(tokens[0], 16)
let token = split(line, '\.\.') if len(tokens) == 1
let first = ('0x' . token[0]) + 0
if len(token) == 1
let last = first let last = first
else else
let last = ('0x' . token[1]) + 0 let last = str2nr(tokens[1], 16)
endif endif
for nr in range(first, last)
let a:chardict[nr] = 1
endfor
endfor
endfunc
let token = [first, last] func Test_AddLinesToCharDict()
if len(alltokens) > 0 && (token[0] - 1 == alltokens[-1][1]) let dict = {}
let alltokens[-1][1] = token[1] call AddLinesToCharDict([
\ '1234 blah blah',
\ '1235 blah blah',
\ '12a0..12a2 blah blah',
\ '12a1 blah blah',
\ ], dict)
call assert_equal({0x1234: 1, 0x1235: 1,
\ 0x12a0: 1, 0x12a1: 1, 0x12a2: 1,
\ }, dict)
if v:errors != []
echoerr 'AddLinesToCharDict' v:errors
return 1
endif
return 0
endfunc
func CharDictToPairList(chardict)
let result = []
let keys = keys(a:chardict)->map('str2nr(v:val)')->sort('N')
let low = keys[0]
let high = keys[0]
for key in keys
if key > high + 1
call add(result, [low, high])
let low = key
let high = key
else else
call add(alltokens, token) let high = key
endif endif
endfor
call add(result, [low, high])
return result
endfunc
" Characters below 1F000 may be considered single width traditionally, func Test_CharDictToPairList()
" making them double width causes problems. let dict = {0x1020: 1, 0x1021: 1, 0x1022: 1,
if first < 0x1f000 \ 0x1024: 1,
continue \ 0x2022: 1,
\ 0x2024: 1, 0x2025: 1}
call assert_equal([
\ [0x1020, 0x1022],
\ [0x1024, 0x1024],
\ [0x2022, 0x2022],
\ [0x2024, 0x2025],
\ ], CharDictToPairList(dict))
if v:errors != []
echoerr 'CharDictToPairList' v:errors
return 1
endif endif
return 0
endfunc
" Build the amoji width table in a new buffer.
func BuildEmojiTable()
" First make the table for all emojis.
let pattern = '; Emoji\s\+#\s'
let lines = map(filter(filter(getline(1, '$'), 'v:val=~"^[1-9]"'), 'v:val=~pattern'), 'matchstr(v:val,"^\\S\\+")')
" Make a dictionary with an entry for each character.
let chardict = {}
call AddLinesToCharDict(lines, chardict)
let pairlist = CharDictToPairList(chardict)
let allranges = map(pairlist, 'printf(" {0x%04x, 0x%04x},", v:val[0], v:val[1])')
" New buffer to put the result in.
new
exe 'file emoji_all'
call setline(1, "static struct interval emoji_all[] =")
call setline(2, "{")
call append('$', allranges)
call setline('$', getline('$')[:-2]) " remove last comma
call setline(line('$') + 1, "};")
wincmd p
" Make the table for wide emojis.
let pattern = '; Emoji_\(Presentation\|Modifier_Base\)\s\+#\s'
let lines = map(filter(filter(getline(1, '$'), 'v:val=~"^[1-9]"'), 'v:val=~pattern'), 'matchstr(v:val,"^\\S\\+")')
" Make a dictionary with an entry for each character.
let chardict = {}
call AddLinesToCharDict(lines, chardict)
" exclude characters that are in the "ambiguous" or "doublewidth" table " exclude characters that are in the "ambiguous" or "doublewidth" table
for ambi in s:ambitable for ambi in s:ambitable
if first >= ambi[0] && first <= ambi[1] for nr in range(ambi[0], ambi[1])
let first = ambi[1] + 1 if has_key(chardict, nr)
endif call remove(chardict, nr)
if last >= ambi[0] && last <= ambi[1]
let last = ambi[0] - 1
endif endif
endfor endfor
for double in s:doubletable
if first >= double[0] && first <= double[1]
let first = double[1] + 1
endif
if last >= double[0] && last <= double[1]
let last = double[0] - 1
endif
endfor endfor
if first <= last for wide in s:doubletable
let token = [first, last] for nr in range(wide[0], wide[1])
if len(widthtokens) > 0 && (token[0] - 1 == widthtokens[-1][1]) if has_key(chardict, nr)
let widthtokens[-1][1] = token[1] call remove(chardict, nr)
else
call add(widthtokens, token)
endif
endif endif
endfor endfor
let allranges = map(alltokens, 'printf("\t{0x%04x, 0x%04x},", v:val[0], v:val[1])') endfor
let widthranges = map(widthtokens, 'printf("\t{0x%04x, 0x%04x},", v:val[0], v:val[1])')
let pairlist = CharDictToPairList(chardict)
let wide_ranges = map(pairlist, 'printf("\t{0x%04x, 0x%04x},", v:val[0], v:val[1])')
" New buffer to put the result in. " New buffer to put the result in.
new new
exe "file " . a:tableName . '_all' exe 'file emoji_wide'
call setline(1, " static struct interval " . a:tableName . "_all[] =") call setline(1, " static struct interval emoji_wide[] =")
call setline(2, " {") call setline(2, " {")
call append('$', allranges) call append('$', wide_ranges)
call setline('$', getline('$')[:-2]) " remove last comma
call setline(line('$') + 1, " };")
wincmd p
" New buffer to put the result in.
new
exe "file " . a:tableName . '_width'
call setline(1, " static struct interval " . a:tableName . "_width[] =")
call setline(2, " {")
call append('$', widthranges)
call setline('$', getline('$')[:-2]) " remove last comma call setline('$', getline('$')[:-2]) " remove last comma
call setline(line('$') + 1, " };") call setline(line('$') + 1, " };")
wincmd p wincmd p
endfunc endfunc
" First test a few things
let v:errors = []
if Test_AddLinesToCharDict() || Test_CharDictToPairList()
finish
endif
" Try to avoid hitting E36 " Try to avoid hitting E36
set equalalways set equalalways
@@ -383,9 +446,8 @@ let s:ambitable = []
call BuildWidthTable('A', 'ambiguous') call BuildWidthTable('A', 'ambiguous')
" Edit the emoji text file. Requires the netrw plugin. " Edit the emoji text file. Requires the netrw plugin.
edit https://www.unicode.org/Public/emoji/11.0/emoji-data.txt edit https://unicode.org/Public/emoji/12.1/emoji-data.txt
"edit http://www.unicode.org/Public/emoji/latest/emoji-data.txt
" Build the emoji table. Ver. 1.0 - 6.0 " Build the emoji table. Ver. 1.0 - 6.0
" Must come after the "ambiguous" table " Must come after the "ambiguous" and "doublewidth" tables
call BuildEmojiTable('; Emoji\s\+#\s\+\d\+\.\d', 'emoji') call BuildEmojiTable()

View File

@@ -5808,3 +5808,27 @@ msgstr "zoeken bereikte TOP, verder vanaf BODEM"
msgid "search hit BOTTOM, continuing at TOP" msgid "search hit BOTTOM, continuing at TOP"
msgstr "zoeken bereikte BODEM, verder vanaf TOP" msgstr "zoeken bereikte BODEM, verder vanaf TOP"
msgid ""
"\" Each \"set\" line shows the current value of an option (on the left)."
msgstr ""
"\" Elke \"set\" regel toont de huidige waarde van optie (aan de linkerkant)."
msgid "\" Hit <Enter> on a \"set\" line to execute it."
msgstr "\" Druk op <Enter> op een \"set\" regel om het uit te voeren."
msgid "\" A boolean option will be toggled."
msgstr "\" Een booleaanse optie wordt omgeschakeld."
msgid ""
"\" For other options you can edit the value before hitting <Enter>."
msgstr ""
"\" Voor andere opties kun je de waarde aanpassen voor op <Enter> te drukken."
msgid "\" Hit <Enter> on a help line to open a help window on this option."
msgstr "\" Druk op <Enter> op een help regel om help te openen voor deze optie."
msgid "\" Hit <Enter> on an index line to jump there."
msgstr "\" Druk op <Enter> op een index regel om daarheen te springen."
msgid "\" Hit <Space> on a \"set\" line to refresh it."
msgstr "\" Druk op <Spatie> op een \"set\" regel om te verversen."

File diff suppressed because it is too large Load Diff