mirror of
https://github.com/vim/vim.git
synced 2025-09-26 04:04:07 -04:00
updated for version 7.3.750
Problem: The justify macro does not always work correctly. Solution: Fix off-by-one error (James McCoy)
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
" Function to left and rigt align text.
|
" Function to left and right align text.
|
||||||
"
|
"
|
||||||
" Written by: Preben "Peppe" Guldberg <c928400@student.dtu.dk>
|
" Written by: Preben "Peppe" Guldberg <c928400@student.dtu.dk>
|
||||||
" Created: 980806 14:13 (or around that time anyway)
|
" Created: 980806 14:13 (or around that time anyway)
|
||||||
@@ -256,18 +256,17 @@ function! Justify(...) range
|
|||||||
let str = substitute(str, '\s\+$', '', '')
|
let str = substitute(str, '\s\+$', '', '')
|
||||||
let str = substitute(str, '^\s\+', '', '')
|
let str = substitute(str, '^\s\+', '', '')
|
||||||
let str = substitute(str, '\s\+', ' ', 'g')
|
let str = substitute(str, '\s\+', ' ', 'g')
|
||||||
" Use substitute() hack to get strlen in characters instead of bytes
|
let str_n = strdisplaywidth(str)
|
||||||
let str_n = strlen(substitute(str, '.', 'x', 'g'))
|
|
||||||
|
|
||||||
" Possible addition of space after punctuation
|
" Possible addition of space after punctuation
|
||||||
if exists("join_str")
|
if exists("join_str")
|
||||||
let str = substitute(str, join_str, '\1 ', 'g')
|
let str = substitute(str, join_str, '\1 ', 'g')
|
||||||
endif
|
endif
|
||||||
let join_n = strlen(substitute(str, '.', 'x', 'g')) - str_n
|
let join_n = strdisplaywidth(str) - str_n
|
||||||
|
|
||||||
" Can extraspaces be added?
|
" Can extraspaces be added?
|
||||||
" Note that str_n may be less than strlen(str) [joinspaces above]
|
" Note that str_n may be less than strlen(str) [joinspaces above]
|
||||||
if strlen(substitute(str, '.', 'x', 'g')) < tw - indent_n && str_n > 0
|
if strdisplaywidth(str) <= tw - indent_n && str_n > 0
|
||||||
" How many spaces should be added
|
" How many spaces should be added
|
||||||
let s_add = tw - str_n - indent_n - join_n
|
let s_add = tw - str_n - indent_n - join_n
|
||||||
let s_nr = strlen(substitute(str, '\S', '', 'g') ) - join_n
|
let s_nr = strlen(substitute(str, '\S', '', 'g') ) - join_n
|
||||||
|
@@ -725,6 +725,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
750,
|
||||||
/**/
|
/**/
|
||||||
749,
|
749,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user