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
"
" 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
" faster.

View File

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

View File

@@ -1,7 +1,7 @@
" Vim compiler file
" Compiler: Standard for JavaScript
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
" Last Change: 2020 May 17
" Last Change: 2020 August 20
if exists("current_compiler")
finish
@@ -12,5 +12,5 @@ if exists(":CompilerSet") != 2
command -nargs=* CompilerSet setlocal <args>
endif
CompilerSet makeprg=standard
CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %m,%-G%.%#
CompilerSet makeprg=npx\ standard
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
@@ -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
only after a '.').
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
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
'textwidth' when the insert command started, Vim does not
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.
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.
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.
1 Don't break a line after a one-letter word. It's broken before it
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
@@ -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
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.
Doing on-the-fly conversion is not always possible (would require iconv
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
@@ -652,7 +652,7 @@ list of the current window.
:args ## x
< 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
{pattern}s. {pattern} is used like a file pattern,
see |file-pattern|. "%" can be used to delete the
@@ -662,7 +662,7 @@ list of the current window.
Example: >
: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: >
:10,$argdel
< 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
@@ -1135,7 +1135,7 @@ In legacy Vim script:
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
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
byte under the cursor: >
:let c = getline(".")[col(".") - 1]
@@ -1163,12 +1163,12 @@ error.
expr8[expr1a : expr1b] substring or sublist *expr-[:]*
If expr8 is a String this results in the substring with the bytes from expr1a
to and including expr1b. expr8 is used as a String, expr1a and expr1b are
used as a Number.
If expr8 is a String this results in the substring with the bytes or
characters from expr1a to and including expr1b. expr8 is used as a String,
expr1a and expr1b are used as a Number.
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.
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: >
: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 s = line(".")[4:] " from the fifth byte to the end
: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
assert_exception({error} [, {msg}])
Number assert {error} is in v:exception
assert_fails({cmd} [, {error} [, {msg}]])
assert_fails({cmd} [, {error} [, {msg} [, {lnum}]]])
Number assert {cmd} fails
assert_false({actual} [, {msg}])
Number assert {actual} is false
@@ -5722,6 +5723,7 @@ getreginfo([{regname}]) *getreginfo()*
If {regname} is invalid or not set, an empty Dictionary
will be returned.
If {regname} is not specified, |v:register| is used.
The returned Dictionary can be passed to |setreg()|.
Can also be used as a |method|: >
GetRegname()->getreginfo()
@@ -6029,7 +6031,7 @@ has({feature} [, {check}])
zero otherwise. This is useful to check for a typo in
{feature} and to detect dead code. Keep in mind that an older
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.
Also see |exists()|.
@@ -8971,7 +8973,7 @@ setcellwidths({list}) *setcellwidths()*
tells Vim how wide characters are, counted in screen cells.
This overrides 'ambiwidth'. Example: >
setcellwidths([[0xad, 0xad, 1],
\ [0x2194, 0x2199, 2]]
\ [0x2194, 0x2199, 2]])
< *E1109* *E1110* *E1111* *E1112* *E1113*
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: >
setcellwidths([]);
< You can use the script $VIMRUNTIME/tools/emoji_list.vim to see
the effect for known emoji characters.
setcharsearch({dict}) *setcharsearch()*
@@ -11443,7 +11447,7 @@ mouse_urxvt Compiled with support for urxvt mouse.
mouse_xterm Compiled with support for xterm mouse.
mouseshape Compiled with support for 'mouseshape'.
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_lang Compiled with support for multiple languages.
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
k
@@ -158,7 +158,7 @@ Programming language support ~
Language support ~
|digraph.txt| list of available digraphs
|mbyte.txt| multi-byte text support
|mbyte.txt| multibyte text support
|mlang.txt| non-English language support
|rileft.txt| right-to-left editing mode
|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
@@ -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
Tony Mechelynck answers many user questions
Paul Moore Python interface extensions, many patches
Katsuhito Nagano Work on multi-byte versions
Sung-Hyun Nam Work on multi-byte versions
Katsuhito Nagano Work on multibyte versions
Sung-Hyun Nam Work on multibyte versions
Vince Negri Win32 GUI and generic console enhancements
Steve Oualline Author of the first Vim book |frombook|
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)
<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
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
@@ -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
not wait for more characters to be typed. However, if the characters were
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*
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-0x7f> character 127
<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.
*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.
@@ -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
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
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
languages and it is quite complicated.
@@ -123,7 +123,7 @@ You can also set 'guifont' alone, Vim will try to find a matching
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 MS-Windows IME can be used. See |IME|.
- 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.
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
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
matter what language is used. Thus you might see the right text even when the
encoding was set wrong.
@@ -488,11 +488,11 @@ possible.
==============================================================================
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
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
(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*
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
its XLFD is not supported; see 'guifont' for an example of how to
@@ -610,7 +610,7 @@ written like:
X FONTSET
*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
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.
@@ -1436,7 +1436,7 @@ not everybody is able to type a composing character.
==============================================================================
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.
'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
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'.
'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>
SungHyun Nam <goweol@gmail.com>
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
@@ -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
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.
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
@@ -7,7 +7,7 @@
Multi-language features *multilang* *multi-lang*
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|.

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
@@ -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
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
useful to find the start or end of a function in a C program. Note that the
first character of the command determines the search direction and the
second character the type of brace found.
The "]]" and "[[" commands stop at the '{' in the first column. This is
useful to find the start of a function in a C program. To search for a '}' in
the first column, the end of a C function, use "][" (forward) or "[]"
(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 "[["
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
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
for multi-byte encodings).
for multibyte encodings).
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

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.
@@ -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.
The first byte has offset zero. Line breaks are counted for
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.
lnum/col Argument with a line number and column number position. The
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.
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
@@ -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.
- 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
with all path separators substituted to percent '%' signs. This will
ensure file name uniqueness in the preserve directory.
with all path separators replaced by percent '%' signs (including
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
separating comma is following, you must use "//", since "\\" will
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
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: >
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),
this option takes precedence over 'ruler' and 'rulerformat'
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,
separated with a dash.
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
@@ -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
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
for multi-byte characters).
for multibyte characters).
WARNING: When inserting or deleting text Vim does not automatically
update the matches. This means Syntax highlighting quickly becomes
wrong.
@@ -994,7 +994,7 @@ Character classes:
\p printable character (see 'isprint' option) */\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.
*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 '-', '.',
'/', alphabetic, numeric, '_' or '~'.
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
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:]].
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>
doesn't work there, it only works to match text in the buffer.
*pattern-multi-byte*
Patterns will also work with multi-byte characters, mostly as you would
*pattern-multi-byte* *pattern-multibyte*
Patterns will also work with multibyte characters, mostly as you would
expect. But invalid bytes may cause trouble, a pattern with an invalid byte
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
@@ -3054,7 +3054,7 @@ your browsing preferences. (see also: |netrw-settings|)
(see |netrw-c-tab|).
*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)
=0: uses Vim's built-in strlen()
=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
@@ -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
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
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.
@@ -269,7 +269,7 @@ Japanese text you would do the following; >
:set printmbcharset=JIS_X_1983
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
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: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
Courier to print codes in the ASCII code range but using the national
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
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
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.
==============================================================================
@@ -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
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
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',

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
@@ -696,7 +696,7 @@ Short explanation of each option: *option-list*
'eventignore' 'ei' autocommand events that are ignored
'expandtab' 'et' use spaces when <Tab> is inserted
'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
'fileformat' 'ff' file format used for file I/O
'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"
'guicursor' 'gcr' GUI: settings for cursor shape and blinking
'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
'guiheadroom' 'ghr' GUI: pixels room for window decorations
'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
fit in 'encoding' you will get an error message.
*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
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
@@ -4348,7 +4348,7 @@ Notes:
- 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.
- 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.
- 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

View File

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

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
@@ -38,25 +38,25 @@ browser use: https://github.com/vim/vim/issues/1234
*known-bugs*
-------------------- Known bugs and current work -----------------------
What is the way to get the character under the cursor? With or without
composing characters. getline(".") and then use col(".") somehow?
Add charidx() perhaps?
Why does Test_invalid_sid() not work in the GUI?
Making everything work:
- Slice of list: [1, 2, 3][1:2].
- Slice of string: "abc"[1:2]. (#6709)
- Check :const works the same as in legacy script.
- 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
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
when leaving the block.
- 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?
- need to check type when a declaration specifies a type: #6507
let nr: number = 'asdf'
- Make sure that in vim9script a function call without namespace only finds
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.
Add mapnew() to create a new List/Dict for the result, which can have a
different value type.
@@ -261,23 +261,24 @@ Terminal emulator window:
- When 'encoding' is not utf-8, or the job is using another encoding, setup
conversions.
Error numbers available:
E610, E611, E653
Error numbers available: 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.
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
with 'termguicolors'. #1740
Patch for blockwise paste reporting changes: #6660.
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.
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)
Is this the right solution? Need to cleanup langmap behavior:
- 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)
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
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
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.
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)@<!\.$'
(Lech Lorens, 2014 Feb 3)
- 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)
- Using \@> and \?. (Brett Stahlman, 2013 Dec 21) Remark from Marcin
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
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)
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)
"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)
@@ -2636,7 +2638,7 @@ work, the backslash is removed, assuming that it escapes the (. (Valery
Kondakoff, 2009 May 13)
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)
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
before "Quit". Patch by Robert Webb, 2004 May 3.
- 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.
- Patch to add highlighting for whitespace. (Tom Schumm, 2003 Jul 5)
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 Using ":s" in a function changes the previous replacement string. Save
"old_sub" in save_search_patterns()?
8 Should allow multi-byte characters for the delimiter: ":s+a+b+" where "+"
is a multi-byte character.
8 Should allow multibyte characters for the delimiter: ":s+a+b+" where "+"
is a multibyte character.
8 When appending to a file and 'patchmode' isn't empty, a backup file is
always written, even when the original file already exists.
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
- if it can be undone (u/CTRL-R) and redone (.)
- 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
work too.
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
Schweigert)
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 'infercase' doesn't work with multi-byte characters.
8 Should add test for using various commands with multibyte characters.
8 'infercase' doesn't work with multibyte characters.
8 toupper() function doesn't handle byte count changes.
7 Searching and composing characters:
When searching, should order of composing characters be ignored?
@@ -4242,7 +4244,7 @@ Multi-byte characters:
characters can be manipulated.
8 Should implement 'delcombine' for command line editing.
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.
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
@@ -4266,14 +4268,14 @@ Multi-byte characters:
convert_input() for Mac GUI.
- Add mnemonics from RFC1345 longer than two characters.
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[]).
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
could be entered. E.g., for "f" command. But not in Normal mode. Sort
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:
ftp://ftp.ilog.fr/pub/Users/haible/gnu/linebreak-0.1.tar.gz
But it's very complicated...
@@ -5338,11 +5340,11 @@ Text objects:
8 Add test script for text object commands "aw", "iW", etc.
8 Add text object for part of a CamelHumpedWord and under_scored_word.
(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)
use "aq" and "iq". Use 'quotepairs' to define pairs of quotes, like
'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
changing the starting position in oap->start.
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).
":set autoformat=\\s$".
- 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
end of a sentence. (Servatius Brandt)
- 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
@@ -2069,7 +2069,7 @@ with this mechanism: >
22 map <unique> <Leader>a <Plug>TypecorrAdd;
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
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
@@ -92,7 +92,7 @@ g8 Print the hex values of the bytes used in the
encoding because it contains illegal bytes.
Does not wrap around the end of the file.
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.
*: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
specified with {range}, or around the current line
if there is no {range}. If there is a {count}, that's
how many lines you'll see; if there is only one window
then twice the value of the 'scroll' option is used,
otherwise the current window height minus 3 is used.
how many lines you'll see; if there is no {count} and
only one window then twice the value of the 'scroll'
option is used, otherwise the current window height
minus 3 is used.
If there is a {count} the 'window' option is set to
its value.
:z can be used either alone or followed by any of
several punctuation marks. These have the following
effect:
several marks. These have the following effect:
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
@@ -2133,12 +2133,12 @@ it is invoked.
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)
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)
Needs to be enabled in feature.h.
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).
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)
- 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.
- Changed check for GTK_KEYBOARD to HANGUL_KEYBOARD_TYPE. (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)
- When a double-byte character doesn't fit at the end of the line, put a "~"
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: 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)
- Selection reply for XA_TEXT as XA_STRING. (Nagano)
@@ -3720,7 +3720,7 @@ X11:
with the VisualNOS group to show this. (Madsen)
- Support for requesting the type of clipboard support. Used for AIX and
dtterm. (Wittig)
- Support compound_text selection (even when compiled without multi-byte).
- Support compound_text selection (even when compiled without multibyte).
Swap file:
- 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.
Various XIM and multi-byte fixes:
Various XIM and multibyte fixes:
- Fix user cannot see his language while he is typing his language with
off-the-spot method. (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
string was longer than 256 bytes. IM's geometry control is fixed. (Nam,
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)
- When there is no GUI, selecting XIM caused compilation problems.
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
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.
Solution: Assume that a leading-byte character is a file name character in
vim_isfilec().
@@ -5945,7 +5945,7 @@ __TIME__. (John Card II)
BeOS: Adjust computing the char_height and char_ascent. Round them up
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)
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
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.
Solution: Adjust nCopyAnsiToWideChar() to handle multi-byte characters
Solution: Adjust nCopyAnsiToWideChar() to handle multibyte characters
correctly.
Files: src/gui_w32.c
@@ -6727,9 +6727,9 @@ Many fixes to Macintosh specific parts: (mostly by Dany StAmant)
- Add digraphs table. (Axel Kielhorn)
- Multi-byte support: (Kenichi Asai)
Switch keyscript when going in/out of Insert mode.
Draw multi-byte character correctly.
Don't use mblen() but highest bit of char to detect multi-byte char.
Display value of multi-byte in statusline (also for other systems).
Draw multibyte character correctly.
Don't use mblen() but highest bit of char to detect multibyte char.
Display value of multibyte in statusline (also for other systems).
- mouse button was not initialized properly to MOUSE_LEFT when
USE_CTRLCLICKMENU not defined.
- 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
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)
Files: src/gui_gtk_x11.c, src/multbyte.c
@@ -7094,7 +7094,7 @@ Files: src/fileio.c, src/tag.c
Patch 5.6.052
Problem: Multi-byte: When an Ex command has a '|' or '"' as a second byte,
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)
Files: src/ex_docmd.c
@@ -7246,7 +7246,7 @@ Files: src/Makefile.bor, src/dosinst.c
Patch 5.6.074 (extra)
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.
Solution: Use K_CSI for a typed CSI character. Use <CSI> for a normal CSI,
<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
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.
Solution: Detect double-byte characters. (Yasuhiro Matsumoto)
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
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)
Also make do_echo() aware of multi-byte characters.
Also make do_echo() aware of multibyte characters.
Files: src/eval.c, src/message.c
Patch 5.6.095
@@ -7417,9 +7417,9 @@ Files: src/misc1.c
Patch 5.7a.003
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.
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)
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
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
backslash.
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
@@ -623,7 +623,7 @@ For syntax items:
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)
@@ -664,10 +664,10 @@ Many new items for Multi-byte support:
- Added 'guifontwide' to specify a font for double-wide characters.
- Added Korean support for character class detection. Also fix cls() in
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 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)
- Added 'delcombine' option: Delete combining character separately. (Ron
Aaron)
@@ -680,19 +680,19 @@ Many new items for Multi-byte support:
- Support "CursorIM" for XIM. (Nam SungHyun)
- Added 'm' flag to 'formatoptions': When wrapping words, allow splitting at
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
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)
Allow defining digraphs for multi-byte characters.
Allow defining digraphs for multibyte characters.
Added RFC1345 digraphs for Unicode.
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
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
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.
@@ -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
under the cursor in Insert mode and Command-line mode. Looks good for dead
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.
- Use a different cursor for when ":lmap" mappings are active. Can specify
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
composing character.
Other multi-byte character additions:
Other multibyte character additions:
- Support double-byte single-width characters for euc-jp: Characters starting
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
Mike Williams)
Made ":hardcopy" work with multi-byte characters. (Muraoka Taro, Yasuhiro
Made ":hardcopy" work with multibyte characters. (Muraoka Taro, Yasuhiro
Matsumoto)
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
Khodush)
- 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
or deleted. The Win32 dialog allows deleting and renaming files.
- Motif and Athena: Added support for "editres". (Marcin Dalecki)
@@ -2025,8 +2025,8 @@ Timestamps:
file that steadily grows.
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
hard to find problems. Disallow mapping part of a multi-byte character.
"utf-8" causes the first byte of a multibyte to be mapped. Can cause very
hard to find problems. Disallow mapping part of a multibyte character.
For ":python" and ":tcl" accept an in-line script. (Johannes Zellner)
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.
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
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.
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
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
both work the same.
@@ -2673,7 +2673,7 @@ path.
Multi-byte:
- Using an any-but character range [^x] in a regexp didn't work for UTF-8.
(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)
- Search commands "#" and "*" didn't work with multibyte characters. (Muraoka
Taro)
@@ -2701,8 +2701,8 @@ Multi-byte:
- When a multibyte character contained a 0x80 byte, it didn't work (was using
a CSI byte instead). (Muraoka Taro)
- Wordwise selection with the mouse didn't work.
- Yanking a modeless selection of multi-byte characters didn't work.
- When 'selection' is "exclusive", selecting a word that ends in a multi-byte
- Yanking a modeless selection of multibyte characters didn't work.
- When 'selection' is "exclusive", selecting a word that ends in a multibyte
character used wrong highlighting for the following character.
Win32 with Make_mvc.mak: Didn't compile for debugging. (Craig Barkhouse)
@@ -2801,7 +2801,7 @@ Multi-byte:
included the character after the word.
- 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.
- "gf" didn't include multi-byte characters before the cursor properly.
- "gf" didn't include multibyte characters before the cursor properly.
(Muraoka Taro)
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
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)
Using a multibyte character in the substitute string where a trail byte is a
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
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)
Using a filename in Big5 encoding for autocommands didn't work (backslash in
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
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)
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
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.
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)
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
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.
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
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)
Patch 6.0ax.001
@@ -3784,7 +3784,7 @@ Solution: Check for a NULL pointer.
Files: src/mbyte.c
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)
Solution: Correctly compute the length of the result in transstr().
Files: src/charset.c
@@ -4148,9 +4148,9 @@ Solution: Position the system cursor before starting the shell.
Files: src/os_msdos.c
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.
Solution: Recognize multi-byte characters inside the "&" part. (Muraoka Taro)
Solution: Recognize multibyte characters inside the "&" part. (Muraoka Taro)
Files: src/regexp.c
Patch 6.0.075
@@ -4311,7 +4311,7 @@ Files: src/ex_cmds.c
Patch 6.0.097
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
Vlasov)
Files: src/edit.c
@@ -4669,14 +4669,14 @@ Solution: Correctly report "operand could be empty" when using "\{-}".
Files: src/regexp.c
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)
Solution: Compute the byte length of a multi-byte character.
Solution: Compute the byte length of a multibyte character.
Files: src/ops.c
Patch 6.0.151
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)
Files: src/screen.c
@@ -4878,7 +4878,7 @@ Solution: Free the allocated memory. Also avoid an uninitialized memory
Files: src/misc2.c
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.
Solution: Don't decrement a pointer to before the start of the line.
Files: src/regexp.c
@@ -5060,7 +5060,7 @@ Files: src/edit.c
Patch 6.0.209
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
that "*" is used to find wide and bold fonts.
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
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)
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.
Solution: Check for multi-byte character before and after the breakpoint.
Don't insert a space before or after a multi-byte character when
Solution: Check for multibyte character before and after the breakpoint.
Don't insert a space before or after a multibyte character when
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'.
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
starts with a backslash, an extra backslash is inserted.
Solution: Only insert backslashes where needed.
Also handle multi-byte characters properly when removing
Also handle multibyte characters properly when removing
backslashes.
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).
Solution: Correctly handle unprintable characters. Catch illegal UTF-8
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)
Added correct_cmdspos() and transchar_byte().
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
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)
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
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.
Solution: Force resetting the title. (Yasuhiro Matsumoto)
Files: src/option.c
@@ -5654,7 +5654,7 @@ Files: src/globals.h, src/mbyte.c, src/screen.c
Patch 6.1a.029
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)
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
Patch 6.1a.035
Problem: multi-byte: When using ":sh" in the GUI, typed and displayed
multi-byte characters are not handled correctly.
Solution: Deal with multi-byte characters to and from the shell. (Yasuhiro
Problem: multibyte: When using ":sh" in the GUI, typed and displayed
multibyte characters are not handled correctly.
Solution: Deal with multibyte characters to and from the shell. (Yasuhiro
Matsumoto) Also handle UTF-8 composing characters.
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)
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.
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,
src/os_unix.c
@@ -5894,7 +5894,7 @@ Files: src/move.c
Patch 6.1b.023
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.
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)
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
typeahead buffer instead of the input buffer.
@@ -6438,7 +6438,7 @@ library version of fgets() to work correctly for Metrowerks 2.2. (Axel
Kielhorn)
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)
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
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.
Solution: Properly skip multi-byte characters in regtilde() (Muraoka Taro)
Solution: Properly skip multibyte characters in regtilde() (Muraoka Taro)
Files: src/regexp.c
Patch 6.1.039
@@ -7105,7 +7105,7 @@ Solution: Use ":setlocal" instead of ":set". Change "aw" to "awa".
Files: runtime/optwin.vim
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)
Solution: Count the width of characters instead of the number of bytes.
Files: src/buffer.c
@@ -7480,7 +7480,7 @@ Solution: Take 'siso' into account when computing the horizontal scroll
Files: src/normal.c
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)
Solution: Delete the abbreviation counting characters instead of bytes.
Files: src/getchar.c
@@ -7964,10 +7964,10 @@ Files: src/gui_w48.c
Patch 6.1.231
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'
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.
Files: src/normal.c
@@ -8056,7 +8056,7 @@ Files: src/vim.h
Patch 6.1.245
Problem: Comparing with ignored case does not work properly for Unicode
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.
Files: src/mbyte.c
@@ -8081,8 +8081,8 @@ Files: src/eval.c
Patch 6.1.249
Problem: Can't expand a path on the command line if it includes a "|" as a
trail byte of a multi-byte character.
Solution: Check for multi-byte characters. (Yasuhiro Matsumoto)
trail byte of a multibyte character.
Solution: Check for multibyte characters. (Yasuhiro Matsumoto)
Files: src/ex_docmd.c
Patch 6.1.250
@@ -8177,9 +8177,9 @@ Solution: Set the previous context mark before jumping.
Files: src/fold.c
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.
Solution: Handle adding the typed multi-byte character. (Yasuhiro Matsumoto)
Solution: Handle adding the typed multibyte character. (Yasuhiro Matsumoto)
Files: src/getchar.c
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
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
abbreviation. (Taro Muraoka)
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
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'.
Files: src/charset.c, src/move.c, src/option.c
@@ -8343,9 +8343,9 @@ Solution: Add a typecast for " ".
Files: src/screen.c
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.
Solution: Adjust to start of multi-byte character. (Yasuhiro Matsumoto)
Solution: Adjust to start of multibyte character. (Yasuhiro Matsumoto)
Files: src/os_mswin.c
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
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)
Solution: Add "\u....": a character specified with up to four hex numbers
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
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)
Solution: Save all bytes of a character when displaying a character
temporarily.
@@ -8962,7 +8962,7 @@ Files: src/gui_w32.c
Patch 6.1.383
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.
Solution: Properly distinguish characters and bytes. Properly check for
running out of buffer space.
@@ -8976,7 +8976,7 @@ Files: runtime/doc/eval.txt, src/eval.c, src/proto/version.pro,
src/version.c
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)
Files: src/buffer.c
@@ -9201,10 +9201,10 @@ Solution: Respect the GUARDEDOFFSET for sign IDs when checking for a guarded
Files: src/netbeans.c
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
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
BOM words as unprintable. (Daniel Elstner)
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
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)
Also fix a pointer type mistake. (Walter Briscoe)
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
Patch 6.1.469
Problem: 'listchars' cannot contain multi-byte characters.
Solution: Handle multi-byte UTF-8 list characters. (Matthew Samsonoff)
Problem: 'listchars' cannot contain multibyte characters.
Solution: Handle multibyte UTF-8 list characters. (Matthew Samsonoff)
Files: src/message.c, src/option.c, src/screen.c
Patch 6.1.470 (lang)
@@ -10009,7 +10009,7 @@ Files: nsis/gvim.nsi
Patch 6.2.010
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
Muraoka)
Files: src/charset.c
@@ -10109,7 +10109,7 @@ Files: src/fileio.c
Patch 6.2.027
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
Patch 6.2.028
@@ -10271,15 +10271,15 @@ Files: src/osdef1.h.in
Patch 6.2.054
Problem: A double-byte character with a second byte that is a backslash
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)
Files: src/eval.c
Patch 6.2.055
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
first byte of a multi-byte character. (Yasuhiro Matsumoto)
first byte of a multibyte character. (Yasuhiro Matsumoto)
Files: src/edit.c
Patch 6.2.056 (extra)
@@ -10851,7 +10851,7 @@ Files: Makefile, src/Makefile, src/auto/configure, src/configure.in,
Patch 6.2.143
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)
Files: src/normal.c
@@ -11269,12 +11269,12 @@ Files: src/gui_w32.c, src/gui_w48.c
Patch 6.2.206
Problem: Multi-byte characters cannot be used as hotkeys in a console
dialog. (Mattias Erkisson)
Solution: Handle multi-byte characters properly. Also put () or [] around
Solution: Handle multibyte characters properly. Also put () or [] around
default hotkeys.
Files: src/message.c, src/macros.h
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
characters before the insertion to be deleted. (Xiangjiang Ma)
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)
Problem: Multi-byte characters still cannot be used as hotkeys in a console
dialog. (Mattias Erkisson)
Solution: Make get_keystroke() handle multi-byte characters.
Solution: Make get_keystroke() handle multibyte characters.
Files: src/misc1.c
Patch 6.2.217
@@ -11710,7 +11710,7 @@ Files: src/gui.c
Patch 6.2.269
Problem: Diff mode does not highlight a change in a combining character.
(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.
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
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)
Solution: Correct the cursor position after replacing each character.
Files: src/ops.c
@@ -12745,7 +12745,7 @@ Solution: Also use the line number of the position where the region
Files: src/syntax.c
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.
(Kuang-che Wu)
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
Problem: Finding a matching parenthesis does not correctly handle a
backslash in a trailing byte.
Solution: Handle multi-byte characters correctly. (Taro Muraoka)
Solution: Handle multibyte characters correctly. (Taro Muraoka)
Files: src/search.c
Patch 6.2.463 (extra)
@@ -13015,7 +13015,7 @@ Solution: Redefine wcsicmp() to wcscmpi() and add type casts. (Yasuhiro
Files: src/os_win32.c
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.
Files: src/os_win32.c
@@ -13183,8 +13183,8 @@ Solution: Allow using " " (two spaces) in 'paragraph' to match ".$" or
Files: src/search.c
Patch 6.2.491
Problem: Decrementing a position doesn't take care of multi-byte chars.
Solution: Adjust the column for multi-byte characters. Remove mb_dec().
Problem: Decrementing a position doesn't take care of multibyte chars.
Solution: Adjust the column for multibyte characters. Remove mb_dec().
(Yasuhiro Matsumoto)
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
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
multi-byte character doesn't work.
multibyte character doesn't work.
Solution: Adjust the operator end for the difference in byte length of the
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
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)
Also change NetBeans debugging to append to the log file.
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
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
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)
Solution: Advance the column by text width instead of number of bytes. Add
the vim_strnsize() function.
@@ -14040,19 +14040,19 @@ Solution: Correctly check that one character is being deleted.
Files: src/misc1.c
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.
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)
Files: src/fileio.c
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
be written. A trail byte that is a space makes that a file cannot
be opened from 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)
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
Patch 6.3.046
Problem: ":registers" doesn't show multi-byte characters properly.
Problem: ":registers" doesn't show multibyte characters properly.
(Valery Kondakoff)
Solution: Get the length of each character before displaying it.
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
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.
Solution: Reserve room for multi-byte characters. (Yasuhiro Matsumoto)
Solution: Reserve room for multibyte characters. (Yasuhiro Matsumoto)
Files: src/screen.c
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
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.
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)
Files: src/buffer.c, src/ex_getln.c
@@ -14319,9 +14319,9 @@ Files: src/edit.c
Patch 6.3.061
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)
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
Patch 6.3.062
@@ -14384,7 +14384,7 @@ Files: src/edit.c
Patch 6.3.072
Problem: Crash in giving substitute message when language is Chinese and
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
Patch 6.3.073
@@ -14508,7 +14508,7 @@ Solution: Change "a" to "b". (Tony Mechelynck)
Files: src/version.h
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.
Solution: Make sure "gP" leaves the cursor in the right place when
'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
@@ -22,7 +22,7 @@ Vim script enhancements |new-vim-script|
Spell checking |new-spell|
Omni completion |new-omni-completion|
MzScheme interface |new-MzScheme|
Printing multi-byte text |new-print-multi-byte|
Printing multibyte text |new-print-multibyte|
Tab pages |new-tab-pages|
Undo branches |new-undo-branches|
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.
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.
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: 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
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"
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
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|.
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
'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
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
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.
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)
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.
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)
":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.
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)
":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
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.
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)
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
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.
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
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
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.
@@ -2867,7 +2867,7 @@ a crash.
GTK: The tab pages line menu was not converted from 'encoding' to utf-8.
Typing a multi-byte character or a special key at the hit-enter prompt did not
Typing a multibyte character or a special key at the hit-enter prompt did not
work.
When 'virtualedit' contains "onemore" CTRL-O in Insert mode still moved the
@@ -3387,7 +3387,7 @@ Solution: When running Vim as root don't become a Vim server without an
Files: src/main.c
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.
Solution: Copy the correct bytes. (Titov Anatoly)
Files: src/misc1.c
@@ -3621,7 +3621,7 @@ Solution: Remove the "-pipe" argument from PERL_CFLAGS.
Files: src/auto/configure, src/configure.in
Patch 7.0.089
Problem: "ga" does not work properly for a non-Unicode multi-byte encoding.
Problem: "ga" does not work properly for a non-Unicode multibyte encoding.
Solution: Only check for composing chars for utf-8. (Taro Muraoka)
Files: src/ex_cmds.c
@@ -4224,7 +4224,7 @@ Files: src/if_cscope.c
Patch 7.0.185
Problem: Multi-byte characters in a message are displayed with attributes
from what comes before it.
Solution: Don't use the attributes for a multi-byte character. Do use
Solution: Don't use the attributes for a multibyte character. Do use
attributes for special characters. (Yukihiro Nakadaira)
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
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.
Solution: Don't decrement the cursor column, use dec_cursor(). (Yukihiro
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
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
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().
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
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.
Solution: Add the adjust_cursor() function.
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
not changed to SS there.
Solution: Make sure all the characters are operated upon. Detect the sharp
s in latin2. Also fixes that changing case of a multi-byte
s in latin2. Also fixes that changing case of a multibyte
character that changes the byte count doesn't always work.
Files: src/ops.c
@@ -6771,7 +6771,7 @@ Files: src/misc1.c
Warning for missing sentinel in gui_xmldlg.c. (Dominique Pelle)
A search offset from the end of a match didn't work properly for multi-byte
A search offset from the end of a match didn't work properly for multibyte
characters. (Yukihiro Nakadaira)
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.
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.
Solution: Remove #ifdef.
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
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').
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
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)
Solution: Undo replacement of K_SPECIAL and CSI characters when executing
the command.
@@ -7967,7 +7967,7 @@ Files: src/eval.c
Patch 7.2.093 (extra)
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
Jia)
Files: src/gui_w32.c, src/gui_w48.c
@@ -8062,8 +8062,8 @@ Solution: Add #ifdef.
Files: src/option.c
Patch 7.2.109
Problem: 'langmap' does not work for multi-byte characters.
Solution: Add a list of mapped multi-byte characters. (based on work by
Problem: 'langmap' does not work for multibyte characters.
Solution: Add a list of mapped multibyte characters. (based on work by
Konstantin Korikov, Agathoklis Hatzimanikas)
Files: runtime/doc/options.txt, src/edit.c, src/getchar.c, src/macros.h,
src/normal.c, src/option.c, src/proto/option.pro, src/window.c
@@ -8908,7 +8908,7 @@ Solution: Remove _FORTIFY_SOURCE=2 from CFLAGS. (Dominique Pelle)
Files: src/auto/configure, src/configure.in
Patch 7.2.252
Problem: When using a multi-byte 'enc' the 'iskeyword' option cannot
Problem: When using a multibyte 'enc' the 'iskeyword' option cannot
contain characters above 128.
Solution: Use mb_ptr2char_adv().
Files: src/charset.c
@@ -9053,7 +9053,7 @@ Files: src/memline.c
Patch 7.2.276
Problem: Crash when setting 'isprint' to a small bullet. (Raul Coronado)
Solution: Check for the character to be < 256. Also make it possible to
specify a range of multi-byte characters. (Lech Lorens)
specify a range of multibyte characters. (Lech Lorens)
Files: src/charset.c
Patch 7.2.277
@@ -9144,7 +9144,7 @@ Solution: Use utfc_ptr2char_len() rather than utfc_ptr2char(). (Dominique
Files: src/screen.c
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.
Solution: Add the missing "else". (Lech Lorens)
Files: src/ops.c
@@ -9430,7 +9430,7 @@ Files: src/screen.c
Patch 7.2.342
Problem: Popup menu displayed wrong in 'rightleft' mode when there are
multi-byte characters.
multibyte characters.
Solution: Adjust the column computations. (Dominique Pelle)
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
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)
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.
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.
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
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)
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
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)
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
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)
Solution: Advance over whole character instead of one byte.
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
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)
Solution: Unescape the expression before evaluating it (Yukihiro Nakadaira)
Files: src/getchar.c
Patch 7.3.284
Problem: The str2special() function doesn't handle multi-byte characters
Problem: The str2special() function doesn't handle multibyte characters
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
Patch 7.3.285 (after 7.3.284)
@@ -12112,7 +12112,7 @@ Solution: Adjust the style. (Elias Diem)
Files: src/gui_photon.c
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)
Files: src/if_py_both.h
@@ -12270,7 +12270,7 @@ Files: src/ex_cmds.c
Patch 7.3.328
Problem: When command line wraps the cursor may be displayed wrong when
there are multi-byte characters.
there are multibyte characters.
Solution: Position the cursor before drawing the text. (Yasuhiro Matsumoto)
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
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.
Files: src/spell.c
@@ -13475,7 +13475,7 @@ Files: src/quickfix.c, src/testdir/test10.in, src/testdir/test10.ok
Patch 7.3.539
Problem: Redrawing a character on the command line does not work properly
for multi-byte characters.
for multibyte characters.
Solution: Count the number of bytes in a character. (Yukihiro Nakadaira)
Files: src/ex_getln.c
@@ -13854,7 +13854,7 @@ Solution: Add #ifdef for MEMORYSTATUSEX.
Files: src/os_win32.c
Patch 7.3.606
Problem: CTRL-P completion has a problem with multi-byte characters.
Problem: CTRL-P completion has a problem with multibyte characters.
Solution: Check for next character being NUL properly. (Yasuhiro Matsumoto)
Files: src/search.c, src/macros.h
@@ -14190,7 +14190,7 @@ Files: src/ex_docmd.c
Patch 7.3.664
Problem: Buffer overflow in unescaping text. (Raymond Ko)
Solution: Limit check for multi-byte character to 4 bytes.
Solution: Limit check for multibyte character to 4 bytes.
Files: src/mbyte.c
Patch 7.3.665
@@ -14357,8 +14357,8 @@ Solution: Add the shiftwidth() function. (so8res)
Files: runtime/doc/eval.txt, src/eval.c
Patch 7.3.695
Problem: Balloon cannot show multi-byte text.
Solution: Properly deal with multi-byte characters. (Dominique Pelle)
Problem: Balloon cannot show multibyte text.
Solution: Properly deal with multibyte characters. (Dominique Pelle)
Files: src/gui_beval.c, src/ui.c
Patch 7.3.696
@@ -14656,7 +14656,7 @@ Files: runtime/doc/eval.txt, src/eval.c, src/proto/screen.pro,
src/testdir/test88.ok,
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)
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
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)
Files: src/misc1.c, src/option.c, src/proto/option.pro, src/search.c,
src/testdir/test69.in, src/testdir/test69.ok
@@ -15182,9 +15182,9 @@ Solution: Add lines for new files.
Files: Filelist
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.
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
Patch 7.3.841
@@ -15254,7 +15254,7 @@ Solution: Use Xutf8TextPropertyToTextList(). (Christian Brabandt)
Files: src/ui.c, src/ops.c
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.
Solution: Adjust the end column only in the last line. (Yasuhiro Matsumoto)
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
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)
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
@@ -15379,9 +15379,9 @@ Files: src/regexp.c, src/testdir/test79.in, src/testdir/test79.ok,
src/testdir/test80.in, src/testdir/test80.ok
Patch 7.3.874
Problem: Comparing file names does not handle multi-byte characters
Problem: Comparing file names does not handle multibyte characters
properly.
Solution: Implement multi-byte handling.
Solution: Implement multibyte handling.
Files: src/misc1.c, src/misc2.c
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
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)
Files: src/ui.c
@@ -15457,7 +15457,7 @@ Files: src/testdir/test94.in, src/testdir/test94.ok,
Patch 7.3.888
Problem: Filename completion with 'fileignorecase' does not work for
multi-byte characters.
multibyte characters.
Solution: Make 'fileignorecase' work properly. (Hirohito Higashi)
Files: src/misc2.c
@@ -15933,7 +15933,7 @@ Files: src/if_py_both.h
Patch 7.3.968
Problem: Multi-byte support is only available when compiled with "big"
features.
Solution: Include multi-byte by default, with "normal" features.
Solution: Include multibyte by default, with "normal" features.
Files: src/feature.h
Patch 7.3.969
@@ -16009,19 +16009,19 @@ Files: src/regexp_nfa.c
Patch 7.3.980
Problem: Regexp logs may contain garbage. Character classes don't work
correctly for multi-byte characters.
correctly for multibyte characters.
Solution: Check for end of post list. Only use "is" functions for
characters up to 255. (Ken Takata)
Files: src/regexp_nfa.c
Patch 7.3.981
Problem: In the old regexp engine \i, \I, \f and \F don't work on
multi-byte characters.
multibyte characters.
Solution: Dereference pointer properly.
Files: src/regexp.c, src/testdir/test64.in, src/testdir/test64.ok
Patch 7.3.982
Problem: In the new regexp engine \p does not work on multi-byte
Problem: In the new regexp engine \p does not work on multibyte
characters.
Solution: Don't point to an integer but the characters.
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
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)
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
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
make \Z partly work.
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
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.
Files: src/regexp_nfa.c

View File

@@ -550,7 +550,7 @@ Files: src/eval.c, src/version.c
Patch 7.4.012
Problem: MS-Windows: resolving shortcut does not work properly with
multi-byte characters.
multibyte characters.
Solution: Use wide system functions. (Ken Takata)
Files: src/os_mswin.c
@@ -565,7 +565,7 @@ Solution: Fix #ifdefs. (Ken Takata)
Files: src/fileio.c
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.
Solution: Use wide character function when needed. (Ken Takata)
Files: src/os_win32.c
@@ -590,7 +590,7 @@ Files: src/edit.c
Patch 7.4.019
Problem: MS-Windows: File name completion doesn't work properly with
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)
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
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
to check both engines.
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
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.
Solution: (Yasuhiro Matsumoto)
Files: src/os_win32.c
@@ -1222,7 +1222,7 @@ Solution: Use GetComputerNameW() if possible. (Ken Takata)
Files: src/os_win32.c
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)
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
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)
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
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)
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
Patch 7.4.323
Problem: substitute() with zero width pattern breaks multi-byte character.
Solution: Take multi-byte character size into account. (Yukihiro Nakadaira)
Problem: substitute() with zero width pattern breaks multibyte character.
Solution: Take multibyte character size into account. (Yukihiro Nakadaira)
Files: src/eval.c src/testdir/test69.in, src/testdir/test69.ok
Patch 7.4.324
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
Patch 7.4.325
@@ -2810,7 +2810,7 @@ Files: src/eval.c
Patch 7.4.393
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)
Solution: Add the 'renderoptions' option to enable DirectX drawing. (Taro
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
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)
Files: src/ops.c, src/testdir/test_utf8.in, src/testdir/test_utf8.ok,
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
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 ???.
Solution: Convert the printer name from the active codepage to 'encoding'.
(Yasuhiro Matsumoto)
@@ -3737,9 +3737,9 @@ Solution: Move these vim_snprintf() calls into a function.
Files: src/window.c
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.
Solution: Advance the cursor over the multi-byte character. (Christian
Solution: Advance the cursor over the multibyte character. (Christian
Brabandt)
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
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
character. (Yasuhiro Matsumoto)
Files: src/regexp_nfa.c
@@ -4424,7 +4424,7 @@ Solution: Check if 'numberwidth' changed. (Christian Brabandt)
Files: src/screen.c, src/structs.h
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
Matsumoto)
Files: src/screen.c
@@ -4512,7 +4512,7 @@ Solution: Truncate to 255 colors. (Yasuhiro Matsumoto)
Files: src/os_win32.c
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.
Solution: Use mb_get_class(). (Yasuhiro Matsumoto)
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
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.
Solution: Take byte size of character into account. (Yukihiro Nakadaira)
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
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.
Files: src/eval.c
@@ -5399,7 +5399,7 @@ Files: src/syntax.c
Patch 7.4.826
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
Patch 7.4.827
@@ -5477,7 +5477,7 @@ Solution: Send a WM_CLOSE message. (Jurgen Kramer)
Files: src/gui_w32.c
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.
Files: src/option.c
@@ -5512,7 +5512,7 @@ Files: Filelist, CONTRIBUTING.md
Patch 7.4.847
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
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
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.
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)
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
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
Patch 7.4.1435
@@ -9092,7 +9092,7 @@ Solution: Use gtk_widget_get_window(). Fix typos. (Dominique Pelle)
Files: src/gui_gtk_x11.c
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.
Files: src/json.c
@@ -9351,7 +9351,7 @@ Solution: Add #ifdef. (Dominique Pelle)
Files: src/gui_gtk_x11.c
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.
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
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)
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
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,
src/testdir/test_alot_latin.vim, src/testdir/test_alot_utf8.vim,
src/testdir/test_regexp_latin.vim,
@@ -11027,7 +11027,7 @@ Solution: Change the condition for the mode. (Christian Brabandt)
Files: src/eval.c
Patch 7.4.1782
Problem: strcharpart() does not work properly with some multi-byte
Problem: strcharpart() does not work properly with some multibyte
characters.
Solution: Use mb_cptr2len() instead of mb_char2len(). (Hirohito Higashi)
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
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.
Files: src/misc1.c
@@ -15960,7 +15960,7 @@ Solution: Remove the check for PROTO. (Hirohito Higashi)
Files: src/misc1.c
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.
Solution: Use int instead of char for the character under the cursor.
(Luchr, closes #1403) Add a test.
@@ -16132,9 +16132,9 @@ Files: .travis.yml
Patch 8.0.0250
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)
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.
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,
@@ -16321,7 +16321,7 @@ Solution: Check the MSVC version and use the right dll name. (Ken Takata)
Files: src/Make_mvc.mak
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.
Solution: Use wputenv when possible. (Taro Muraoka, Ken Takata)
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
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.
Solution: Avoid putting zero in ScreenLines. (Christian Brabandt,
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
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.
Files: src/search.c, src/testdir/test_normal.vim
Patch 8.0.0524 (after 8.0.0518)
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
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
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.
Solution: Set the unused screen characters. (Yasuhiro Matsumoto, closes
#1857)
@@ -19380,7 +19380,7 @@ Solution: Use OUTDIR. (Ken Takata)
Files: src/Make_cyg_ming.mak, src/Make_mvc.mak, src/libvterm/Makefile.msc
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)
Files: src/term.c
@@ -19526,7 +19526,7 @@ Files: src/terminal.c
Patch 8.0.0800
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)
Files: src/terminal.c
@@ -20139,7 +20139,7 @@ Files: runtime/doc/eval.txt, src/quickfix.c,
src/testdir/test_quickfix.vim
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)
Files: src/os_win32.c
@@ -20574,7 +20574,7 @@ Solution: Do not use a blinking cursor by default.
Files: src/terminal.c
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.
Solution: Convert displayed text from utf-8 to 'encoding' for MS-Windows.
(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
Patch 8.0.0986
Problem: Terminal feature always requires multi-byte feature.
Solution: Remove #ifdef FEAT_MBYTE, disable terminal without multi-byte.
Problem: Terminal feature always requires multibyte feature.
Solution: Remove #ifdef FEAT_MBYTE, disable terminal without multibyte.
Files: src/terminal.c, src/feature.h
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
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.
Solution: Remove #ifdefs. (John Marriott)
Files: src/diff.c
@@ -22781,7 +22781,7 @@ Solution: Skip the text.
Files: src/testdir/test_iminsert.vim, runtime/doc/options.txt
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)
Files: src/mbyte.c
@@ -24713,7 +24713,7 @@ Solution: Add the file name in the separator line.
Files: src/terminal.c
Patch 8.0.1663 (after 8.0.1660)
Problem: Cannot build without multi-byte feature.
Problem: Cannot build without multibyte feature.
Solution: Add #ifdef.
Files: src/ex_docmd.c
@@ -25710,7 +25710,7 @@ Solution: Escape '?' when needed. Always escape backslash. (closes #2418,
Files: src/gui.c
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)
Files: src/os_mswin.c
@@ -26735,7 +26735,7 @@ Solution: Check the terminal type. (Nobuhiro Takasaki, closes #3106)
Files: src/evalfunc.c
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)
Solution: use ins_char() to add the character. (Christian Brabandt,
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
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)
Solution: Get more bytes from the text line.
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
Patch 8.1.0733
Problem: Too many #ifdefs for the multi-byte feature.
Solution: Tentatively always enable the multi-byte feature. If you have a
Problem: Too many #ifdefs for the multibyte feature.
Solution: Tentatively always enable the multibyte feature. If you have a
problem with this, please discuss on the Vim maillist.
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
@@ -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
Patch 8.1.0859
Problem: "%v" in 'errorformat' does not handle multi-byte characters.
Solution: Handle multi-byte characters. (Yegappan Lakshmanan, closes #3700)
Problem: "%v" in 'errorformat' does not handle multibyte characters.
Solution: Handle multibyte characters. (Yegappan Lakshmanan, closes #3700)
Files: src/quickfix.c, src/testdir/test_quickfix.vim
Patch 8.1.0860
@@ -32563,7 +32563,7 @@ Solution: Use GetLongPathNameW() instead of GetLongPathName(). (Ken Takata,
Files: src/eval.c
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)
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
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)
Solution: Correct check in mb_fix_col(). (closes #4635)
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
Patch 8.1.1857
Problem: Cannot use modifier with multi-byte character.
Solution: Allow using a multi-byte character, although it doesn't work
Problem: Cannot use modifier with multibyte character.
Solution: Allow using a multibyte character, although it doesn't work
everywhere.
Files: src/misc2.c, src/testdir/test_mapping.vim
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.
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
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
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
Patch 8.1.2235
Problem: "C" with 'virtualedit' set does not include multi-byte char.
Solution: Include the whole multi-byte char. (Nobuhiro Takasaki,
Problem: "C" with 'virtualedit' set does not include multibyte char.
Solution: Include the whole multibyte char. (Nobuhiro Takasaki,
closes #5152)
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
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
Patch 8.2.0019
@@ -41337,7 +41337,7 @@ Files: src/channel.c, src/testdir/test_channel.vim
Patch 8.2.0033
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
Patch 8.2.0034
@@ -41502,7 +41502,7 @@ Files: src/message_test.c, src/message.c
Patch 8.2.0061
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
Patch 8.2.0062
@@ -41517,7 +41517,7 @@ Files: src/ops.c
Patch 8.2.0064
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
Patch 8.2.0065
@@ -42066,7 +42066,7 @@ Files: src/vim9script.c, src/vim9compile.c, src/vim9execute.c,
Patch 8.2.0156
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,
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,
@@ -42263,7 +42263,7 @@ Solution: Check for features. (Dominique Pellé, closes #5561)
Files: src/testdir/test_functions.vim, src/testdir/test_highlight.vim
Patch 8.2.0187
Problem: Reduntant code.
Problem: Redundant code.
Solution: Remove unused assignments. (Dominique Pellé, closes #5557)
Files: src/vim9compile.c
@@ -42557,7 +42557,7 @@ Files: src/buffer.c, src/testdir/test_statusline.vim,
src/testdir/dumps/Test_statusline_1.dump
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)
Files: src/uninstall.c
@@ -42583,7 +42583,7 @@ Files: src/os_win32.c, src/testdir/test_channel.vim
Patch 8.2.0240
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
Patch 8.2.0241
@@ -42795,7 +42795,7 @@ Files: src/testdir/test_autocmd.vim, src/testdir/test_buffer.vim,
Patch 8.2.0271
Problem: The "num64" feature is available everywhere and building without
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,
src/testdir/test_expr.vim, src/testdir/test_largefile.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
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)
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,
@@ -43093,7 +43093,7 @@ Files: Filelist, src/evalvars.c, src/register.c, src/if_python3.c
Patch 8.2.0320
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,
runtime/doc/gui.txt, runtime/doc/help.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
Patch 8.2.0365
Problem: Tag kind can't be a multi-byte character. (Marcin Szamotulski)
Solution: Recognize multi-byte character. (closes #5724)
Problem: Tag kind can't be a multibyte character. (Marcin Szamotulski)
Solution: Recognize multibyte character. (closes #5724)
Files: src/tag.c, src/testdir/test_taglist.vim
Patch 8.2.0366
@@ -43467,7 +43467,7 @@ Files: src/textprop.c
Patch 8.2.0380
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,
src/testdir/dumps/Test_terminal_popup_m1.dump
@@ -44040,7 +44040,7 @@ Files: src/terminal.c
Patch 8.2.0473
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
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
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
Patch 8.2.0476
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
Patch 8.2.0477
@@ -44225,7 +44225,7 @@ Solution: Cleanup the scope list.
Files: src/vim9compile.c
Patch 8.2.0505
Problem: term_getty() not sufficiently tested.
Problem: term_gettty() not sufficiently tested.
Solution: Add more asserts. (Dominique Pellé, closes #5877)
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
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,
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
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.
(Yegappan Lakshmanan, closes #5963)
Files: src/evalbuffer.c, src/testdir/Make_dos.mak,
@@ -44982,7 +44982,7 @@ Files: src/testdir/Makefile, src/Makefile
Patch 8.2.0622
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,
runtime/doc/os_haiku.txt, src/Makefile, src/beval.h,
src/gui_haiku.cc, src/proto/gui_haiku.pro
@@ -45021,7 +45021,7 @@ Files: src/userfunc.c
Patch 8.2.0628
Problem: Error in menu translations.
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,
runtime/lang/menu_ca_es.latin1.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
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,
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
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)
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
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
Patch 8.2.0715
@@ -45680,7 +45680,7 @@ Solution: Do not check for next line in third pass.
Files: src/scriptfile.c
Patch 8.2.0735
Problem: Vim9: using unitialized memory.
Problem: Vim9: using uninitialized memory.
Solution: Clear the arg_lvar field.
Files: src/vim9compile.c
@@ -45801,7 +45801,7 @@ Files: src/testdir/test_vim9_script.vim
Patch 8.2.0755
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
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
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
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)
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
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)
Files: .travis.yml, ci/config.mk.clang.sed, ci/config.mk.gcc.sed,
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
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,
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,
@@ -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
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)
Files: runtime/doc/eval.txt, src/os_win32.c,
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
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)
Files: runtime/doc/indent.txt, src/cindent.c, src/structs.h,
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
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,
closes #6177)
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
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
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
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,
closes #5527, closes #6216)
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
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)
Files: READMEdir/README_extra.txt, runtime/doc/options.txt,
runtime/doc/os_beos.txt, runtime/doc/os_vms.txt,
runtime/doc/vi_diff.txt, src/INSTALL
Patch 8.2.0932
Problem: Missspelling spelllang.
Problem: Misspelling spelllang.
Solution: Add an "l". (Dominique Pellé)
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
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.
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
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)
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
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.
Files: src/eval.c, src/testdir/test_vim9_expr.vim
@@ -47839,7 +47839,7 @@ Files: src/filepath.c
Patch 8.2.1088
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
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
Patch 8.2.1117
Problem: Coverity warns for unsing unitialized field.
Problem: Coverity warns for using uninitialized field.
Solution: Initialize v_lock.
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.
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.
Solution: Put back the decrement.
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
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.
(closes #6497)
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
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)
Files: src/testdir/test_search.vim
@@ -49334,7 +49334,7 @@ Files: src/testdir/test_vim9_func.vim
Patch 8.2.1345
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,
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
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
Patch 8.2.1377
@@ -49558,7 +49558,7 @@ Solution: Add a test on Travis for ARM. (Ozaki Kiichi, closes #6615)
Files: .travis.yml
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'.
Solution: Do remove backslash before space, also when it is in 'isfname'.
(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
@@ -467,7 +467,7 @@ Editing binary files. |edit-binary|
last line in the file.
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,
without switching fonts. |UTF-8|
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
@@ -49,6 +49,7 @@ errors are handled.
The Vim9 script syntax and semantics are used in:
- a function defined with the `:def` command
- 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.
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.
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
`:defcompile` command is encountered in the script where the function was
defined. `:disassemble` also compiles the function.
Compilation is done when:
- the function is first called
- 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
"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
enddef
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
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:"
prefix.
prefix and they do not need to exist (they can be deleted any time).
*:defc* *:defcompile*
: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>
[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
@@ -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
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 ~
*:vim9script* *:vim9*

View File

@@ -1,8 +1,8 @@
" Vim filetype plugin file
" Language: Javascript
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Last Change: 2008 Jun 15
" URL: http://gus.gscit.monash.edu.au/~djkea2/vim/ftplugin/javascript.vim
" Last Change: 2020 Jun 23
" Contributor: Romain Lafourcade <romainlafourcade@gmail.com>
if exists("b:did_ftplugin")
finish
@@ -13,7 +13,7 @@ let s:cpo_save = &cpo
set cpo-=C
" 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
" 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
" Change the :browse e filter to primarily show Java-related files.
if has("gui_win32")
let b:browsefilter="Javascript Files (*.js)\t*.js\n" .
\ "All Files (*.*)\t*.*\n"
" Change the :browse e filter to primarily show JavaScript-related files.
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
let b:browsefilter =
\ "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
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
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.
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 I WITH CIRCUMFLEX
Ï Â LATIN CAPITAL LETTER A WITH CIRCUMFLEX
` » RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
f a LATIN SMALL LETTER A
, b LATIN SMALL LETTER B
@@ -100,7 +99,7 @@ n z LATIN SMALL LETTER Z
• [ LEFT SQUARE BRACKET
ª ] RIGHT SQUARE BRACKET
º } RIGHT CURLY BRACKET
\ REVERSE SOLIDUS
\\ REVERSE SOLIDUS
| VERTICAL LINE
œ @ COMMERCIAL AT
~ TILDE
@@ -111,4 +110,3 @@ n z LATIN SMALL LETTER Z
˙ ₺ TURKISH LIRA SIGN
¬ £ POUND SIGN
… ¥ YEN SIGN
` « LEFT-POINTING DOUBLE ANGLE QUOTATION MARK

View File

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

View File

@@ -1,7 +1,7 @@
" Vim syntax file
" Language: awk, nawk, gawk, mawk
" 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
" The AWK Programming Language, Addison-Wesley, 1988
@@ -27,6 +27,8 @@ endif
let s:cpo_save = &cpo
set cpo&vim
syn iskeyword @,48-57,_,192-255,@-@
" A bunch of useful Awk keywords
" AWK ref. p. 188
syn keyword awkStatement break continue delete exit

View File

@@ -1,7 +1,7 @@
" Vim syntax file
" Language: C
" 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
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 _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
" used in assert.h
syn keyword cConstant NDEBUG
" POSIX 2001
syn keyword cConstant SIGBUS SIGPOLL SIGPROF SIGSYS SIGURG SIGVTALRM SIGXCPU SIGXFSZ
" 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>
"
" 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.
func! ParseDataToProps()
@@ -262,85 +262,148 @@ func! BuildWidthTable(pattern, tableName)
wincmd p
endfunc
" Build the amoji width table in a new buffer.
func! BuildEmojiTable(pattern, tableName)
let alltokens = []
let widthtokens = []
let lines = map(filter(filter(getline(1, '$'), 'v:val=~"^[1-9]"'), 'v:val=~a:pattern'), 'matchstr(v:val,"^\\S\\+")')
for n in range(len(lines))
let line = lines[n]
let token = split(line, '\.\.')
let first = ('0x' . token[0]) + 0
if len(token) == 1
" Get characters from a list of lines in form "12ab .." or "12ab..56cd ..."
" and put them in dictionary "chardict"
func AddLinesToCharDict(lines, chardict)
for line in a:lines
let tokens = split(line, '\.\.')
let first = str2nr(tokens[0], 16)
if len(tokens) == 1
let last = first
else
let last = ('0x' . token[1]) + 0
let last = str2nr(tokens[1], 16)
endif
for nr in range(first, last)
let a:chardict[nr] = 1
endfor
endfor
endfunc
let token = [first, last]
if len(alltokens) > 0 && (token[0] - 1 == alltokens[-1][1])
let alltokens[-1][1] = token[1]
func Test_AddLinesToCharDict()
let dict = {}
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
call add(alltokens, token)
let high = key
endif
endfor
call add(result, [low, high])
return result
endfunc
" Characters below 1F000 may be considered single width traditionally,
" making them double width causes problems.
if first < 0x1f000
continue
func Test_CharDictToPairList()
let dict = {0x1020: 1, 0x1021: 1, 0x1022: 1,
\ 0x1024: 1,
\ 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
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
for ambi in s:ambitable
if first >= ambi[0] && first <= ambi[1]
let first = ambi[1] + 1
endif
if last >= ambi[0] && last <= ambi[1]
let last = ambi[0] - 1
for nr in range(ambi[0], ambi[1])
if has_key(chardict, nr)
call remove(chardict, nr)
endif
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
if first <= last
let token = [first, last]
if len(widthtokens) > 0 && (token[0] - 1 == widthtokens[-1][1])
let widthtokens[-1][1] = token[1]
else
call add(widthtokens, token)
endif
for wide in s:doubletable
for nr in range(wide[0], wide[1])
if has_key(chardict, nr)
call remove(chardict, nr)
endif
endfor
let allranges = map(alltokens, 'printf("\t{0x%04x, 0x%04x},", v:val[0], v:val[1])')
let widthranges = map(widthtokens, 'printf("\t{0x%04x, 0x%04x},", v:val[0], v:val[1])')
endfor
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
exe "file " . a:tableName . '_all'
call setline(1, " static struct interval " . a:tableName . "_all[] =")
exe 'file emoji_wide'
call setline(1, " static struct interval emoji_wide[] =")
call setline(2, " {")
call append('$', allranges)
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 append('$', wide_ranges)
call setline('$', getline('$')[:-2]) " remove last comma
call setline(line('$') + 1, " };")
wincmd p
endfunc
" First test a few things
let v:errors = []
if Test_AddLinesToCharDict() || Test_CharDictToPairList()
finish
endif
" Try to avoid hitting E36
set equalalways
@@ -383,9 +446,8 @@ let s:ambitable = []
call BuildWidthTable('A', 'ambiguous')
" Edit the emoji text file. Requires the netrw plugin.
edit https://www.unicode.org/Public/emoji/11.0/emoji-data.txt
"edit http://www.unicode.org/Public/emoji/latest/emoji-data.txt
edit https://unicode.org/Public/emoji/12.1/emoji-data.txt
" Build the emoji table. Ver. 1.0 - 6.0
" Must come after the "ambiguous" table
call BuildEmojiTable('; Emoji\s\+#\s\+\d\+\.\d', 'emoji')
" Must come after the "ambiguous" and "doublewidth" tables
call BuildEmojiTable()

View File

@@ -5808,3 +5808,27 @@ msgstr "zoeken bereikte TOP, verder vanaf BODEM"
msgid "search hit BOTTOM, continuing at 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