Merge remote-tracking branch 'vim/master'

This commit is contained in:
Kazuki Sakamoto
2016-01-07 21:29:36 -08:00
24 changed files with 3879 additions and 12481 deletions
+9
View File
@@ -1739,6 +1739,8 @@ USAGE RESULT DESCRIPTION ~
abs( {expr}) Float or Number absolute value of {expr}
acos( {expr}) Float arc cosine of {expr}
add( {list}, {item}) List append {item} to |List| {list}
alloc_fail( {countdown}, {when}, {repeat})
nothing make memory allocation fail
and( {expr}, {expr}) Number bitwise AND
append( {lnum}, {string}) Number append {string} below line {lnum}
append( {lnum}, {list}) Number append lines {list} below line {lnum}
@@ -2118,6 +2120,13 @@ add({list}, {expr}) *add()*
Use |insert()| to add an item at another position.
alloc_fail({id}, {countdown}, {repeat}) *alloc_fail()*
This is for testing: If the memory allocation with {id} is
called, then decrement {countdown}, and when it reaches zero
let memory allocation fail {repeat} times. When {repeat} is
smaller than one it fails one time.
and({expr}, {expr}) *and()*
Bitwise AND on the two arguments. The arguments are converted
to a number. A List, Dict or Float argument causes an error.
+2 -2
View File
@@ -809,7 +809,7 @@ call append("$", "infercase\tadjust case of a keyword completion match")
call append("$", "\t(local to buffer)")
call <SID>BinOptionL("inf")
if has("digraphs")
call append("$", "digraph\tenable entering digraps with c1 <BS> c2")
call append("$", "digraph\tenable entering digraphs with c1 <BS> c2")
call <SID>BinOptionG("dg", &dg)
endif
call append("$", "tildeop\tthe \"~\" command behaves like an operator")
@@ -1214,7 +1214,7 @@ if has("arabic")
call <SID>BinOptionG("tbidi", &tbidi)
endif
if has("keymap")
call append("$", "keymap\tname of a keyboard mappping")
call append("$", "keymap\tname of a keyboard mapping")
call <SID>OptionL("kmp")
endif
if has("langmap")
+140 -12167
View File
File diff suppressed because it is too large Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+332 -54
View File
@@ -1,40 +1,28 @@
*** en_CA.orig.aff 2015-12-30 18:18:20.076952127 +0100
--- en_CA.aff 2015-12-30 18:32:50.395546116 +0100
*** en_CA.orig.aff 2010-05-15 13:03:47.000000000 +0200
--- en_CA.aff 2010-05-15 13:03:47.000000000 +0200
***************
*** 2,7 ****
TRY esianrtolcdugmphbyfvkwzESIANRTOLCDUGMPHBYFVKWZ'
! ICONV 1
! ICONV '
NOSUGGEST !
*** 3,4 ****
--- 3,141 ----
# ordinal numbers
--- 2,146 ----
TRY esianrtolcdugmphbyfvkwzESIANRTOLCDUGMPHBYFVKWZ'
!
! # ICONV 1
! # ICONV '
!
NOSUGGEST !
+ FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
+ LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
+ UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
+ FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
+ LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
+ UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
+
+ MIDWORD '
+
+ RARE ?
+ BAD %
+ BAD !
+
+ MAP 9
+ MAP aàáâãäå
+ MAP eèéêë
+ MAP iìíîï
+ MAP oòóôõö
+ MAP uùúûü
+ MAP nñ
+ MAP cç
+ MAP yÿý
+ MAP sß
+ MAP aàáâãäå
+ MAP eèéêë
+ MAP iìíîï
+ MAP oòóôõö
+ MAP uùúûü
+ MAP nñ
+ MAP cç
+ MAP yÿý
+ MAP sß
+
+ # This comes from Aspell en_phonet.dat, version 1.1, 2000-01-07
+
@@ -45,8 +33,8 @@
+ SAL AH(AEIOUY)- H
+ SAL AR(AEIOUY)- R
+ SAL A(HR) _
+ SAL À^ *
+ SAL Å^ *
+ SAL À^ *
+ SAL Å^ *
+ SAL BB- _
+ SAL B B
+ SAL CQ- _
@@ -60,7 +48,7 @@
+ SAL DG(EIY) K
+ SAL DD- _
+ SAL D T
+ SAL É< E
+ SAL É< E
+ SAL EH(AEIOUY)-^ *H
+ SAL ER(AEIOUY)-^ *R
+ SAL E(HR)^ *
@@ -153,29 +141,319 @@
+ REPSAL ht @
+ REPSAL @ ht
+
# ordinal numbers
PFX A Y 1
***************
*** 16,18 ****
COMPOUNDRULE n*mp
! WORDCHARS 0123456789
*** 30,33 ****
SFX N e ion e
! SFX N y ication y
! SFX N 0 en [^ey]
--- 155,157 ----
COMPOUNDRULE n*mp
! # WORDCHARS 0123456789
--- 167,170 ----
SFX N e ion e
! SFX N y ication y
! SFX N 0 en [^ey]
*** en_CA.orig.dic 2015-12-30 18:20:47.803358258 +0100
--- en_CA.dic 2015-12-30 18:59:26.490267196 +0100
***************
*** 48930 ****
--- 48930,48940 ----
zymurgy/M
+ a a/%
+ a an/%
+ a the/%
+ an a/%
+ an an/%
+ an the/%
+ and and/%
+ the a/%
+ the an/%
+ the the/%
*** 40,42 ****
SFX H y ieth y
! SFX H 0 th [^y]
--- 177,179 ----
SFX H y ieth y
! SFX H 0 th [^y]
***************
*** 47,49 ****
SFX G e ing e
! SFX G 0 ing [^e]
--- 184,186 ----
SFX G e ing e
! SFX G 0 ing [^e]
*** en_CA.orig.dic 2010-05-15 13:03:47.000000000 +0200
--- en_CA.dic 2010-05-15 13:03:48.000000000 +0200
***************
*** 46,48 ****
R/G
- S
easternmost
--- 46,47 ----
***************
*** 59,66 ****
a
! b/KGDT
Emmey/M
baggagemen
! c/EAS
antimalarial/S
- d/AMV
enveloper/M
--- 58,65 ----
a
! probing
! probed
Emmey/M
baggagemen
! recs
antimalarial/S
enveloper/M
***************
*** 68,98 ****
Balearic/M
! e/FDSM
! f/BVXT
Karamazov/M
! g/VXB
! h/VEMS
! i
Braille/DSGM
- j/FTV
transceiver/MS
! k/FGISE
promising/YU
! l/XTJGV
Emmet/M
! m/XG
! n/FKT
! o
xviii
fitting/PSY
! p/KRT
! q
! r/GVTJ
! s/FK
fatting
! t/BGXTJ
Franciska/M
oedipal
! u
! v/VTK
! w/JXTGV
youths
--- 67,94 ----
Balearic/M
! fens
Karamazov/M
! gens
Braille/DSGM
transceiver/MS
! inking
! disking
! conking
! inks
! disks
! conks
promising/YU
! lings
Emmet/M
! ming
! pron
xviii
fitting/PSY
! cons
fatting
! tings
Franciska/M
oedipal
! vive
! wens
! wings
youths
***************
*** 100,103 ****
x
! y/F
! z/JGT
crumby/RT
--- 96,98 ----
x
! zings
crumby/RT
***************
*** 714,715 ****
--- 709,711 ----
silty/RT
+ conj.
conjectural/Y
***************
*** 3145,3146 ****
--- 3141,3143 ----
semester/MS
+ etc.
etch/GZSRDJ
***************
*** 6190,6191 ****
--- 6187,6190 ----
Paula/M
+ coned
+ cone/MS
coneflower/M
***************
*** 7022,7024 ****
DA
- DB
DC
--- 7021,7022 ----
***************
*** 7395,7397 ****
rec
! red/YPS
Eamon/M
--- 7393,7395 ----
rec
! red/YPSM
Eamon/M
***************
*** 8388,8390 ****
slotting
- ON
OR
--- 8386,8387 ----
***************
*** 9125,9127 ****
perchance
- rte
hastiness/MS
--- 9122,9123 ----
***************
*** 10603,10604 ****
--- 10599,10603 ----
dB/M
+ dBi
+ dBm
+ dBd
Hewet/M
***************
*** 10615,10617 ****
Garold/M
- db
tollhouse/M
--- 10614,10615 ----
***************
*** 11017,11019 ****
hr
- ht
MCI/M
--- 11015,11016 ----
***************
*** 11609,11611 ****
demureness/SM
! nd/A
MIA
--- 11606,11608 ----
demureness/SM
! nd
MIA
***************
*** 13669,13671 ****
engross/LDRSG
! hobbit
certainty/MUS
--- 13666,13668 ----
engross/LDRSG
! hobbit/MS
certainty/MUS
***************
*** 14434,14435 ****
--- 14431,14433 ----
pompom/MS
+ pompon/M
Devland/M
***************
*** 19265,19267 ****
bloodstone/M
! cetera/S
storm/SGZRDM
--- 19263,19265 ----
bloodstone/M
! et cetera/S
storm/SGZRDM
***************
*** 20162,20164 ****
Hansel/M
! ring/GZJDRM
Hansen/M
--- 20160,20162 ----
Hansel/M
! ring/GZJDRMS
Hansen/M
***************
*** 26960,26965 ****
Wisenheimer/M
! disc/GDM
horticulturist/SM
isotropically
! dish/DG
disburser/M
--- 26958,26963 ----
Wisenheimer/M
! disc/GDMS
horticulturist/SM
isotropically
! dish/DGMS
disburser/M
***************
*** 28157,28158 ****
--- 28155,28157 ----
pneumonia/MS
+ pneumonic
Socratic/S
***************
*** 34999,35001 ****
claque/MS
- etc
Chad/M
--- 34998,34999 ----
***************
*** 36707,36708 ****
--- 36705,36707 ----
Moody/M
+ Moolenaar/M
Bresenham/M
***************
*** 40455,40457 ****
proneness/MS
! transl
Conchita/M
--- 40454,40456 ----
proneness/MS
! transl.
Conchita/M
***************
*** 50272,50273 ****
--- 50271,50273 ----
Dutch/M
+ Farsi
Sharon/M
***************
*** 52565,52567 ****
hatchery/MS
! vim/SM
compatriot/MS
--- 52565,52568 ----
hatchery/MS
! Vim/SM
! vim/?
compatriot/MS
***************
*** 53490,53491 ****
--- 53491,53493 ----
unsearchable
+ searchable
felicitous/IY
***************
*** 62341 ****
--- 62343,62354 ----
data/M
+ et al.
+ the the/!
+ and and/!
+ a a/!
+ a an/!
+ an a/!
+ an an/!
+ PayPal
+ Google
+ e.g.
+ TCP\/IP
File diff suppressed because it is too large Load Diff
+607 -174
View File
@@ -1,177 +1,610 @@
*** en_US.orig.aff 2015-12-30 18:55:30.352821552 +0100
--- en_US.aff 2015-12-30 19:01:19.849041178 +0100
*** en_US.orig.aff 2010-05-15 13:03:47.000000000 +0200
--- en_US.aff 2015-12-30 18:35:12.218009361 +0100
***************
*** 2,5 ****
TRY esianrtolcdugmphbyfvkwzESIANRTOLCDUGMPHBYFVKWZ'
! ICONV 1
! ICONV '
NOSUGGEST !
--- 2,144 ----
TRY esianrtolcdugmphbyfvkwzESIANRTOLCDUGMPHBYFVKWZ'
!
! FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
! LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
! UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
!
! MIDWORD '
!
! RARE ?
! BAD %
!
! MAP 9
! MAP aàáâãäå
! MAP eèéêë
! MAP iìíîï
! MAP oòóôõö
! MAP uùúûü
! MAP nñ
! MAP cç
! MAP yÿý
! MAP sß
!
! # This comes from Aspell en_phonet.dat, version 1.1, 2000-01-07
!
! SAL AH(AEIOUY)-^ *H
! SAL AR(AEIOUY)-^ *R
! SAL A(HR)^ *
! SAL A^ *
! SAL AH(AEIOUY)- H
! SAL AR(AEIOUY)- R
! SAL A(HR) _
! SAL À^ *
! SAL Å^ *
! SAL BB- _
! SAL B B
! SAL CQ- _
! SAL CIA X
! SAL CH X
! SAL C(EIY)- S
! SAL CK K
! SAL COUGH^ KF
! SAL CC< C
! SAL C K
! SAL DG(EIY) K
! SAL DD- _
! SAL D T
! SAL É< E
! SAL EH(AEIOUY)-^ *H
! SAL ER(AEIOUY)-^ *R
! SAL E(HR)^ *
! SAL ENOUGH^$ *NF
! SAL E^ *
! SAL EH(AEIOUY)- H
! SAL ER(AEIOUY)- R
! SAL E(HR) _
! SAL FF- _
! SAL F F
! SAL GN^ N
! SAL GN$ N
! SAL GNS$ NS
! SAL GNED$ N
! SAL GH(AEIOUY)- K
! SAL GH _
! SAL GG9 K
! SAL G K
! SAL H H
! SAL IH(AEIOUY)-^ *H
! SAL IR(AEIOUY)-^ *R
! SAL I(HR)^ *
! SAL I^ *
! SAL ING6 N
! SAL IH(AEIOUY)- H
! SAL IR(AEIOUY)- R
! SAL I(HR) _
! SAL J K
! SAL KN^ N
! SAL KK- _
! SAL K K
! SAL LAUGH^ LF
! SAL LL- _
! SAL L L
! SAL MB$ M
! SAL MM M
! SAL M M
! SAL NN- _
! SAL N N
! SAL OH(AEIOUY)-^ *H
! SAL OR(AEIOUY)-^ *R
! SAL O(HR)^ *
! SAL O^ *
! SAL OH(AEIOUY)- H
! SAL OR(AEIOUY)- R
! SAL O(HR) _
! SAL PH F
! SAL PN^ N
! SAL PP- _
! SAL P P
! SAL Q K
! SAL RH^ R
! SAL ROUGH^ RF
! SAL RR- _
! SAL R R
! SAL SCH(EOU)- SK
! SAL SC(IEY)- S
! SAL SH X
! SAL SI(AO)- X
! SAL SS- _
! SAL S S
! SAL TI(AO)- X
! SAL TH @
! SAL TCH-- _
! SAL TOUGH^ TF
! SAL TT- _
! SAL T T
! SAL UH(AEIOUY)-^ *H
! SAL UR(AEIOUY)-^ *R
! SAL U(HR)^ *
! SAL U^ *
! SAL UH(AEIOUY)- H
! SAL UR(AEIOUY)- R
! SAL U(HR) _
! SAL V^ W
! SAL V F
! SAL WR^ R
! SAL WH^ W
! SAL W(AEIOU)- W
! SAL X^ S
! SAL X KS
! SAL Y(AEIOU)- Y
! SAL ZZ- _
! SAL Z S
!
! # When soundfolding "th" is turned into "@". When this is mistyped as "ht" it
! # soundfolds to "ht". This difference is too big, thus use REP items to lower
! # the score.
! REPSAL 2
! REPSAL ht @
! REPSAL @ ht
!
! # ICONV 1
! # ICONV '
!
NOSUGGEST !
***************
*** 16,18 ****
COMPOUNDRULE n*mp
! WORDCHARS 0123456789
*** 3,4 ****
--- 3,141 ----
--- 155,157 ----
COMPOUNDRULE n*mp
! # WORDCHARS 0123456789
*** en_US.orig.dic 2015-12-30 18:55:58.928512408 +0100
--- en_US.dic 2015-12-30 18:58:56.026596695 +0100
+ FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
+ LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
+ UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
+
+ MIDWORD '
+
+ RARE ?
+ BAD !
+
+ MAP 9
+ MAP aàáâãäå
+ MAP eèéêë
+ MAP iìíîï
+ MAP oòóôõö
+ MAP uùúûü
+ MAP nñ
+ MAP cç
+ MAP yÿý
+ MAP sß
+
+ # This comes from Aspell en_phonet.dat, version 1.1, 2000-01-07
+
+ SAL AH(AEIOUY)-^ *H
+ SAL AR(AEIOUY)-^ *R
+ SAL A(HR)^ *
+ SAL A^ *
+ SAL AH(AEIOUY)- H
+ SAL AR(AEIOUY)- R
+ SAL A(HR) _
+ SAL À^ *
+ SAL Å^ *
+ SAL BB- _
+ SAL B B
+ SAL CQ- _
+ SAL CIA X
+ SAL CH X
+ SAL C(EIY)- S
+ SAL CK K
+ SAL COUGH^ KF
+ SAL CC< C
+ SAL C K
+ SAL DG(EIY) K
+ SAL DD- _
+ SAL D T
+ SAL É< E
+ SAL EH(AEIOUY)-^ *H
+ SAL ER(AEIOUY)-^ *R
+ SAL E(HR)^ *
+ SAL ENOUGH^$ *NF
+ SAL E^ *
+ SAL EH(AEIOUY)- H
+ SAL ER(AEIOUY)- R
+ SAL E(HR) _
+ SAL FF- _
+ SAL F F
+ SAL GN^ N
+ SAL GN$ N
+ SAL GNS$ NS
+ SAL GNED$ N
+ SAL GH(AEIOUY)- K
+ SAL GH _
+ SAL GG9 K
+ SAL G K
+ SAL H H
+ SAL IH(AEIOUY)-^ *H
+ SAL IR(AEIOUY)-^ *R
+ SAL I(HR)^ *
+ SAL I^ *
+ SAL ING6 N
+ SAL IH(AEIOUY)- H
+ SAL IR(AEIOUY)- R
+ SAL I(HR) _
+ SAL J K
+ SAL KN^ N
+ SAL KK- _
+ SAL K K
+ SAL LAUGH^ LF
+ SAL LL- _
+ SAL L L
+ SAL MB$ M
+ SAL MM M
+ SAL M M
+ SAL NN- _
+ SAL N N
+ SAL OH(AEIOUY)-^ *H
+ SAL OR(AEIOUY)-^ *R
+ SAL O(HR)^ *
+ SAL O^ *
+ SAL OH(AEIOUY)- H
+ SAL OR(AEIOUY)- R
+ SAL O(HR) _
+ SAL PH F
+ SAL PN^ N
+ SAL PP- _
+ SAL P P
+ SAL Q K
+ SAL RH^ R
+ SAL ROUGH^ RF
+ SAL RR- _
+ SAL R R
+ SAL SCH(EOU)- SK
+ SAL SC(IEY)- S
+ SAL SH X
+ SAL SI(AO)- X
+ SAL SS- _
+ SAL S S
+ SAL TI(AO)- X
+ SAL TH @
+ SAL TCH-- _
+ SAL TOUGH^ TF
+ SAL TT- _
+ SAL T T
+ SAL UH(AEIOUY)-^ *H
+ SAL UR(AEIOUY)-^ *R
+ SAL U(HR)^ *
+ SAL U^ *
+ SAL UH(AEIOUY)- H
+ SAL UR(AEIOUY)- R
+ SAL U(HR) _
+ SAL V^ W
+ SAL V F
+ SAL WR^ R
+ SAL WH^ W
+ SAL W(AEIOU)- W
+ SAL X^ S
+ SAL X KS
+ SAL Y(AEIOU)- Y
+ SAL ZZ- _
+ SAL Z S
+
+ # When soundfolding "th" is turned into "@". When this is mistyped as "ht" it
+ # soundfolds to "ht". This difference is too big, thus use REP items to lower
+ # the score.
+ REPSAL 2
+ REPSAL ht @
+ REPSAL @ ht
+
PFX A Y 1
***************
*** 48757 ****
--- 48757,48767 ----
zymurgy/M
+ a a/%
+ a an/%
+ a the/%
+ an a/%
+ an an/%
+ an the/%
+ and and/%
+ the a/%
+ the an/%
+ the the/%
*** 30,33 ****
SFX N e ion e
! SFX N y ication y
! SFX N 0 en [^ey]
--- 167,170 ----
SFX N e ion e
! SFX N y ication y
! SFX N 0 en [^ey]
***************
*** 40,42 ****
SFX H y ieth y
! SFX H 0 th [^y]
--- 177,179 ----
SFX H y ieth y
! SFX H 0 th [^y]
***************
*** 47,49 ****
SFX G e ing e
! SFX G 0 ing [^e]
--- 184,186 ----
SFX G e ing e
! SFX G 0 ing [^e]
***************
*** 88,91 ****
! SFX M Y 1
SFX M 0 's .
--- 225,229 ----
! SFX M Y 2
SFX M 0 's .
+ SFX M 0 ¿s .
***************
*** 99,101 ****
! REP 88
REP a ei
--- 237,239 ----
! REP 91
REP a ei
***************
*** 137,138 ****
--- 275,278 ----
REP uy i
+ REP y ie
+ REP ie y
REP i ee
***************
*** 174,175 ****
--- 314,316 ----
REP ew ue
+ REP uf ough
REP uff ough
***************
*** 188 ****
--- 329,333 ----
REP shun cion
+ REP an_a a
+ REP an_a an
+ REP a_an a
+ REP a_an an
*** en_US.orig.dic 2010-05-15 13:03:48.000000000 +0200
--- en_US.dic 2010-05-15 13:03:47.000000000 +0200
***************
*** 1,2 ****
! 62076
a
--- 1,2 ----
! 62078
a
***************
*** 5944,5946 ****
bk
! b/KGD
Bk/M
--- 5944,5947 ----
bk
! probing
! probed
Bk/M
***************
*** 9007,9009 ****
Cazzie/M
- c/B
CB
--- 9008,9009 ----
***************
*** 9233,9235 ****
cetacean/S
- cetera/S
Cetus/M
--- 9233,9234 ----
***************
*** 11575,11576 ****
--- 11574,11577 ----
conduit/MS
+ coned
+ cone/MS
coneflower/M
***************
*** 11712,11713 ****
--- 11713,11715 ----
coniferous
+ conj.
conjectural/Y
***************
*** 14038,14043 ****
dazzling/Y
- db
- DB
dbl
dB/M
DBMS
--- 14040,14046 ----
dazzling/Y
dbl
dB/M
+ dBi
+ dBm
+ dBd
DBMS
***************
*** 15464,15466 ****
dingbat/MS
! ding/GD
dinghy/SM
--- 15467,15469 ----
dingbat/MS
! ding/GDS
dinghy/SM
***************
*** 15690,15692 ****
dishevelment/MS
! dish/GD
dishonest
--- 15693,15695 ----
dishevelment/MS
! dish/GDMS
dishonest
***************
*** 15973,15975 ****
djellaba/S
- d/JGVX
Djibouti/M
--- 15976,15977 ----
***************
*** 16911,16912 ****
--- 16913,16915 ----
dusty/RPT
+ Farsi
Dutch/M
***************
*** 17357,17359 ****
EFL
- e/FMDS
Efrain/M
--- 17360,17361 ----
***************
*** 18780,18782 ****
estuary/SM
! et
ET
--- 18782,18785 ----
estuary/SM
! et cetera/S
! et al.
ET
***************
*** 18785,18787 ****
eta/SM
! etc
etcetera/SM
--- 18788,18790 ----
eta/SM
! etc.
etcetera/SM
***************
*** 20559,20561 ****
Fiori/M
- f/IRAC
firearm/SM
--- 20562,20563 ----
***************
*** 24402,24404 ****
guzzler/M
! g/VBX
Gwalior/M
--- 24404,24406 ----
guzzler/M
! gens
Gwalior/M
***************
*** 25473,25475 ****
hemp/MNS
- h/EMS
hemstitch/DSMG
--- 25475,25476 ----
***************
*** 25963,25965 ****
hobbing
! hobbit
hobbler/M
--- 25964,25966 ----
hobbing
! hobbit/MS
hobbler/M
***************
*** 26524,26526 ****
HST
- ht
HTML
--- 26525,26526 ----
***************
*** 26942,26944 ****
Hz
- i
I
--- 26942,26943 ----
***************
*** 29627,29629 ****
Jezebel/MS
- j/F
JFK/M
--- 29626,29627 ----
***************
*** 30578,30580 ****
keyword/SM
! k/FGEIS
kg
--- 30576,30583 ----
keyword/SM
! inking
! disking
! conking
! inks
! disks
! conks
kg
***************
*** 32694,32696 ****
Lizzy/M
! l/JGVXT
Ljubljana/M
--- 32697,32699 ----
Lizzy/M
! lings
Ljubljana/M
***************
*** 34456,34458 ****
mash/JGZMSRD
! m/ASK
masked/U
--- 34459,34462 ----
mash/JGZMSRD
! rems
! prom/S
masked/U
***************
*** 34746,34747 ****
--- 34750,34753 ----
Mb
+ Mbyte
+ Mbit
MB
***************
*** 36605,36606 ****
--- 36611,36613 ----
Moog
+ Moolenaar/M
moo/GSD
***************
*** 38871,38873 ****
NSF
- n/T
NT
--- 38878,38879 ----
***************
*** 39011,39013 ****
NZ
- o
O
--- 39017,39018 ----
***************
*** 39532,39534 ****
om/XN
- ON
onanism/M
--- 39537,39538 ----
***************
*** 42508,42510 ****
pinfeather/SM
! ping/GDRM
pinheaded/P
--- 42512,42514 ----
pinfeather/SM
! ping/GDRMS
pinheaded/P
***************
*** 42983,42984 ****
--- 42987,42989 ----
pneumonia/MS
+ pneumonic
PO
***************
*** 43216,43218 ****
pompom/SM
! pompon's
pomposity/MS
--- 43221,43223 ----
pompom/SM
! pompon/M
pomposity/MS
***************
*** 44940,44942 ****
PX
- p/XTGJ
Pygmalion/M
--- 44945,44946 ----
***************
*** 44983,44985 ****
pyx/MDSG
- q
Q
--- 44987,44988 ----
***************
*** 46507,46509 ****
Renault/MS
- rend
renderer/M
--- 46510,46511 ----
***************
*** 47258,47260 ****
ringer/M
! ring/GZJDRM
ringing/Y
--- 47260,47262 ----
ringer/M
! ring/GZJDRMS
ringing/Y
***************
*** 47857,47862 ****
rt
- rte
Rte
RTFM
- r/TGVJ
Rubaiyat/M
--- 47859,47862 ----
***************
*** 48085,48087 ****
Ryun/M
- S
SA
--- 48085,48086 ----
***************
*** 54450,54452 ****
swung
! s/XJBG
sybarite/MS
--- 54449,54451 ----
swung
! sings
sybarite/MS
***************
*** 56906,56908 ****
transit/SGVMD
! transl
translatability/M
--- 56905,56907 ----
transit/SGVMD
! transl.
translatability/M
***************
*** 57728,57730 ****
TX
! t/XTJBG
Tybalt/M
--- 57727,57729 ----
TX
! tings
Tybalt/M
***************
*** 57809,57811 ****
Tzeltal/M
- u
U
--- 57808,57809 ----
***************
*** 58494,58495 ****
--- 58492,58494 ----
unsearchable
+ searchable
unseasonal
***************
*** 59072,59074 ****
vast/PTSYR
! v/ASV
VAT
--- 59071,59073 ----
vast/PTSYR
! revs
VAT
***************
*** 59538,59540 ****
vi/MDR
! vim/MS
vinaigrette/MS
--- 59537,59540 ----
vi/MDR
! Vim/MS
! vim/?
vinaigrette/MS
***************
*** 61534,61536 ****
WWW
! w/XTJGV
WY
--- 61534,61537 ----
WWW
! wens
! wings
WY
***************
*** 61750,61752 ****
yew/SM
- y/F
Yggdrasil/M
--- 61751,61752 ----
***************
*** 62058,62060 ****
Zsigmondy/M
! z/TGJ
Zubenelgenubi/M
--- 62058,62060 ----
Zsigmondy/M
! zings
Zubenelgenubi/M
***************
*** 62077 ****
--- 62077,62092 ----
zymurgy/S
+ nd
+ the the/!
+ and and/!
+ a a/!
+ an an/!
+ a an/!
+ an a/!
+ the a/!
+ the an/!
+ a the/!
+ an the/!
+ PayPal
+ Google
+ e.g.
+ TCP\/IP
+4 -2
View File
@@ -50,10 +50,12 @@ $SPELLDIR/en.ascii.spl : $FILES
# Fetching the files from OpenOffice.org.
# THIS URL NO LONGER WORKS.
#
# Files for en_US, en_CA and en_GB obtaind from
# Files for en_US, en_CA and en_GB can be obtained from:
# github.com/marcoagpinto/aoo-mozilla-en-dict
# Unfortunately, giving suggestions becomes terribly slow with these.
# TODO: find out why suggestions are slow and fix that.
#
# NOTE: en_AU and en_NZ use older libraries.
# For now we use the older libraries.
#
OODIR = http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries
:attr {fetch = $OODIR/%file%} en_US.zip en_CA.zip en_NZ.zip
+12 -3
View File
@@ -263,6 +263,8 @@ endif
# TCL=[Path to TCL directory] (Set inside Make_cyg.mak or Make_ming.mak)
# DYNAMIC_TCL=yes (to load the TCL DLL dynamically)
# TCL_VER=[TCL version, eg 83, 84] (default is 83)
# TCL_VER_LONG=[Tcl version, eg 8.3] (default is 8.3)
# You must set TCL_VER_LONG when you set TCL_VER.
ifdef TCL
ifndef DYNAMIC_TCL
DYNAMIC_TCL=yes
@@ -270,6 +272,9 @@ endif
ifndef TCL_VER
TCL_VER = 83
endif
ifndef TCL_VER_LONG
TCL_VER_LONG = 8.3
endif
TCLINC += -I$(TCL)/include
endif
@@ -319,10 +324,14 @@ ifndef RUBY_INSTALL_NAME
ifeq ($(RUBY_VER), 16)
RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_API_VER)
else
ifndef RUBY_MSVCRT_NAME
# Base name of msvcrXX.dll which is used by ruby's dll.
RUBY_MSVCRT_NAME = msvcrt
endif
ifeq ($(ARCH),x86-64)
RUBY_INSTALL_NAME = x64-msvcrt-ruby$(RUBY_API_VER)
RUBY_INSTALL_NAME = x64-$(RUBY_MSVCRT_NAME)-ruby$(RUBY_API_VER)
else
RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_API_VER)
RUBY_INSTALL_NAME = $(RUBY_MSVCRT_NAME)-ruby$(RUBY_API_VER)
endif
endif
endif
@@ -458,7 +467,7 @@ endif
ifdef TCL
CFLAGS += -DFEAT_TCL $(TCLINC)
ifeq (yes, $(DYNAMIC_TCL))
CFLAGS += -DDYNAMIC_TCL -DDYNAMIC_TCL_DLL=\"tcl$(TCL_VER).dll\"
CFLAGS += -DDYNAMIC_TCL -DDYNAMIC_TCL_DLL=\"tcl$(TCL_VER).dll\" -DDYNAMIC_TCL_VER=\"$(TCL_VER_LONG)\"
endif
endif
+40 -4
View File
@@ -394,8 +394,24 @@ OUTDIR=$(OBJDIR)
!if $(MSVCVER) < 1900
MSVC_MAJOR = ($(MSVCVER) / 100 - 6)
MSVCRT_VER = ($(MSVCVER) / 10 - 60)
!else
MSVC_MAJOR = ($(MSVCVER) / 100 - 5)
MSVCRT_VER = ($(MSVCVER) / 10 - 50)
!endif
# Calculate MSVCRT_VER
!if [(set /a MSVCRT_VER="$(MSVCRT_VER)" > nul) && set MSVCRT_VER > msvcrtver.~] == 0
!include msvcrtver.~
!if [del msvcrtver.~]
!endif
!endif
# Base name of the msvcrXX.dll
!if $(MSVCRT_VER) <= 60
MSVCRT_NAME = msvcrt
!else
MSVCRT_NAME = msvcr$(MSVCRT_VER)
!endif
!if $(MSVC_MAJOR) == 6
@@ -858,19 +874,39 @@ RUBY_API_VER = $(RUBY_VER_LONG:.=)
!endif
!if $(RUBY_VER) >= 18
!ifndef RUBY_PLATFORM
!if "$(CPU)" == "i386"
RUBY_PLATFORM = i386-mswin32
!endif
!else # CPU
RUBY_PLATFORM = x64-mswin64
!endif # CPU
!if $(MSVCRT_VER) >= 70
RUBY_PLATFORM = $(RUBY_PLATFORM)_$(MSVCRT_VER)
!endif # MSVCRT_VER
!endif # RUBY_PLATFORM
!ifndef RUBY_INSTALL_NAME
RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_API_VER)
!endif
!else
!ifndef RUBY_MSVCRT_NAME
# Base name of msvcrXX.dll which is used by ruby's dll.
RUBY_MSVCRT_NAME = $(MSVCRT_NAME)
!endif # RUBY_MSVCRT_NAME
!if "$(CPU)" == "i386"
RUBY_INSTALL_NAME = $(RUBY_MSVCRT_NAME)-ruby$(RUBY_API_VER)
!else # CPU
RUBY_INSTALL_NAME = x64-$(RUBY_MSVCRT_NAME)-ruby$(RUBY_API_VER)
!endif # CPU
!endif # RUBY_INSTALL_NAME
!else # $(RUBY_VER) >= 18
!ifndef RUBY_PLATFORM
RUBY_PLATFORM = i586-mswin32
!endif
!ifndef RUBY_INSTALL_NAME
RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_API_VER)
!endif
!endif # $(RUBY_VER) >= 18
!message Ruby requested (version $(RUBY_VER)) - root dir is "$(RUBY)"
+24
View File
@@ -467,6 +467,7 @@ static void f_abs __ARGS((typval_T *argvars, typval_T *rettv));
static void f_acos __ARGS((typval_T *argvars, typval_T *rettv));
#endif
static void f_add __ARGS((typval_T *argvars, typval_T *rettv));
static void f_alloc_fail __ARGS((typval_T *argvars, typval_T *rettv));
static void f_and __ARGS((typval_T *argvars, typval_T *rettv));
static void f_append __ARGS((typval_T *argvars, typval_T *rettv));
static void f_argc __ARGS((typval_T *argvars, typval_T *rettv));
@@ -8072,6 +8073,7 @@ static struct fst
{"acos", 1, 1, f_acos}, /* WJMc */
#endif
{"add", 2, 2, f_add},
{"alloc_fail", 3, 3, f_alloc_fail},
{"and", 2, 2, f_and},
{"append", 2, 2, f_append},
{"argc", 0, 0, f_argc},
@@ -8984,6 +8986,28 @@ f_add(argvars, rettv)
EMSG(_(e_listreq));
}
/*
* "alloc_fail(id, countdown, repeat)" function
*/
static void
f_alloc_fail(argvars, rettv)
typval_T *argvars;
typval_T *rettv UNUSED;
{
if (argvars[0].v_type != VAR_NUMBER
|| argvars[0].vval.v_number <= 0
|| argvars[1].v_type != VAR_NUMBER
|| argvars[1].vval.v_number < 0
|| argvars[2].v_type != VAR_NUMBER)
EMSG(_(e_invarg));
else
{
alloc_fail_id = argvars[0].vval.v_number;
alloc_fail_countdown = argvars[1].vval.v_number;
alloc_fail_repeat = argvars[2].vval.v_number;
}
}
/*
* "and(expr, expr)" function
*/
+9
View File
@@ -1623,6 +1623,15 @@ EXTERN FILE *time_fd INIT(= NULL); /* where to write startup timing */
EXTERN int ignored;
EXTERN char *ignoredp;
#ifdef FEAT_EVAL
/* set by alloc_fail(): ID */
EXTERN int alloc_fail_id INIT(= 0);
/* set by alloc_fail(), when zero alloc() returns NULL */
EXTERN int alloc_fail_countdown INIT(= -1);
/* set by alloc_fail(), number of times alloc() returns NULL */
EXTERN int alloc_fail_repeat INIT(= 0);
#endif
/*
* Optional Farsi support. Include it here, so EXTERN and INIT are defined.
*/
+51 -2
View File
@@ -797,6 +797,21 @@ vim_mem_profile_dump()
#endif /* MEM_PROFILE */
#ifdef FEAT_EVAL
static int
alloc_does_fail()
{
if (alloc_fail_countdown == 0)
{
if (--alloc_fail_repeat <= 0)
alloc_fail_id = 0;
return TRUE;
}
--alloc_fail_countdown;
return FALSE;
}
#endif
/*
* Some memory is reserved for error messages and for being able to
* call mf_release_all(), which needs some memory for mf_trans_add().
@@ -820,6 +835,22 @@ alloc(size)
return (lalloc((long_u)size, TRUE));
}
/*
* alloc() with an ID for alloc_fail().
* LAST_ID_USED: 5
*/
char_u *
alloc_id(size, id)
unsigned size;
int id;
{
#ifdef FEAT_EVAL
if (alloc_fail_id == id && alloc_does_fail())
return NULL;
#endif
return (lalloc((long_u)size, TRUE));
}
/*
* Allocate memory and set all bytes to zero.
*/
@@ -968,6 +999,23 @@ theend:
return p;
}
/*
* lalloc() with an ID for alloc_fail().
* See LAST_ID_USED above.
*/
char_u *
lalloc_id(size, message, id)
long_u size;
int message;
int id;
{
#ifdef FEAT_EVAL
if (alloc_fail_id == id && alloc_does_fail())
return NULL;
#endif
return (lalloc((long_u)size, message));
}
#if defined(MEM_PROFILE) || defined(PROTO)
/*
* realloc() with memory profiling.
@@ -6258,8 +6306,9 @@ put_bytes(fd, nr, len)
/*
* Write time_t to file "fd" in 8 bytes.
* Returns FAIL when the write failed.
*/
void
int
put_time(fd, the_time)
FILE *fd;
time_t the_time;
@@ -6267,7 +6316,7 @@ put_time(fd, the_time)
char_u buf[8];
time_to_bytes(the_time, buf);
(void)fwrite(buf, (size_t)8, (size_t)1, fd);
return fwrite(buf, (size_t)8, (size_t)1, fd) == 1 ? OK : FAIL;
}
/*
+3 -1
View File
@@ -20,10 +20,12 @@ void adjust_cursor_col __ARGS((void));
int leftcol_changed __ARGS((void));
void vim_mem_profile_dump __ARGS((void));
char_u *alloc __ARGS((unsigned size));
char_u *alloc_id __ARGS((unsigned size, int id));
char_u *alloc_clear __ARGS((unsigned size));
char_u *alloc_check __ARGS((unsigned size));
char_u *lalloc_clear __ARGS((long_u size, int message));
char_u *lalloc __ARGS((long_u size, int message));
char_u *lalloc_id __ARGS((long_u size, int message, int id));
void *mem_realloc __ARGS((void *ptr, size_t size));
void do_outofmem_msg __ARGS((long_u size));
void free_all_mem __ARGS((void));
@@ -103,7 +105,7 @@ int get4c __ARGS((FILE *fd));
time_t get8ctime __ARGS((FILE *fd));
char_u *read_string __ARGS((FILE *fd, int cnt));
int put_bytes __ARGS((FILE *fd, long_u nr, int len));
void put_time __ARGS((FILE *fd, time_t the_time));
int put_time __ARGS((FILE *fd, time_t the_time));
void time_to_bytes __ARGS((time_t the_time, char_u *buf));
int has_non_ascii __ARGS((char_u *s));
void parse_queued_messages __ARGS((void));
+5 -8
View File
@@ -162,9 +162,6 @@ qf_init(wp, efile, errorformat, newlist, qf_title)
{
qf_info_T *qi = &ql_info;
if (efile == NULL)
return FAIL;
if (wp != NULL)
{
qi = ll_get_or_alloc_list(wp);
@@ -253,9 +250,9 @@ qf_init_ext(qi, efile, buf, tv, errorformat, newlist, lnumfirst, lnumlast,
{'s', ".\\+"}
};
namebuf = alloc(CMDBUFFSIZE + 1);
errmsg = alloc(CMDBUFFSIZE + 1);
pattern = alloc(CMDBUFFSIZE + 1);
namebuf = alloc_id(CMDBUFFSIZE + 1, 3);
errmsg = alloc_id(CMDBUFFSIZE + 1, 4);
pattern = alloc_id(CMDBUFFSIZE + 1, 5);
if (namebuf == NULL || errmsg == NULL || pattern == NULL)
goto qf_init_end;
@@ -3465,8 +3462,8 @@ ex_vimgrep(eap)
goto theend;
}
dirname_start = alloc(MAXPATHL);
dirname_now = alloc(MAXPATHL);
dirname_start = alloc_id(MAXPATHL, 1);
dirname_now = alloc_id(MAXPATHL, 2);
if (dirname_start == NULL || dirname_now == NULL)
goto theend;
+106
View File
@@ -11278,6 +11278,56 @@ suggest_try_special(su)
}
}
/*
* Change the 0 to 1 to measure how much time is spent in each state.
* Output is dumped in "suggestprof".
*/
#if 0
# define SUGGEST_PROFILE
proftime_T current;
proftime_T total;
proftime_T times[STATE_FINAL + 1];
long counts[STATE_FINAL + 1];
static void
prof_init(void)
{
for (int i = 0; i <= STATE_FINAL; ++i)
{
profile_zero(&times[i]);
counts[i] = 0;
}
profile_start(&current);
profile_start(&total);
}
/* call before changing state */
static void
prof_store(state_T state)
{
profile_end(&current);
profile_add(&times[state], &current);
++counts[state];
profile_start(&current);
}
# define PROF_STORE(state) prof_store(state);
static void
prof_report(char *name)
{
FILE *fd = fopen("suggestprof", "a");
profile_end(&total);
fprintf(fd, "-----------------------\n");
fprintf(fd, "%s: %s\n", name, profile_msg(&total));
for (int i = 0; i <= STATE_FINAL; ++i)
fprintf(fd, "%d: %s (%ld)\n", i, profile_msg(&times[i]), counts[i]);
fclose(fd);
}
#else
# define PROF_STORE(state)
#endif
/*
* Try finding suggestions by adding/removing/swapping letters.
*/
@@ -11309,7 +11359,13 @@ suggest_try_change(su)
continue;
/* Try it for this language. Will add possible suggestions. */
#ifdef SUGGEST_PROFILE
prof_init();
#endif
suggest_trie_walk(su, lp, fword, FALSE);
#ifdef SUGGEST_PROFILE
prof_report("try_change");
#endif
}
}
@@ -11467,6 +11523,7 @@ suggest_trie_walk(su, lp, fword, soundfold)
/* Always past NUL bytes now. */
n = (int)sp->ts_state;
PROF_STORE(sp->ts_state)
sp->ts_state = STATE_ENDNUL;
sp->ts_save_badflags = su->su_badflags;
@@ -11510,6 +11567,7 @@ suggest_trie_walk(su, lp, fword, soundfold)
if (sp->ts_curi > len || byts[arridx] != 0)
{
/* Past bytes in node and/or past NUL bytes. */
PROF_STORE(sp->ts_state)
sp->ts_state = STATE_ENDNUL;
sp->ts_save_badflags = su->su_badflags;
break;
@@ -11909,6 +11967,7 @@ suggest_trie_walk(su, lp, fword, soundfold)
#endif
/* Save things to be restored at STATE_SPLITUNDO. */
sp->ts_save_badflags = su->su_badflags;
PROF_STORE(sp->ts_state)
sp->ts_state = STATE_SPLITUNDO;
++depth;
@@ -11983,6 +12042,7 @@ suggest_trie_walk(su, lp, fword, soundfold)
byts = pbyts;
idxs = pidxs;
sp->ts_prefixdepth = PFD_PREFIXTREE;
PROF_STORE(sp->ts_state)
sp->ts_state = STATE_NOPREFIX;
}
}
@@ -11995,6 +12055,7 @@ suggest_trie_walk(su, lp, fword, soundfold)
su->su_badflags = sp->ts_save_badflags;
/* Continue looking for NUL bytes. */
PROF_STORE(sp->ts_state)
sp->ts_state = STATE_START;
/* In case we went into the prefix tree. */
@@ -12012,9 +12073,11 @@ suggest_trie_walk(su, lp, fword, soundfold)
)
{
/* The badword ends, can't use STATE_PLAIN. */
PROF_STORE(sp->ts_state)
sp->ts_state = STATE_DEL;
break;
}
PROF_STORE(sp->ts_state)
sp->ts_state = STATE_PLAIN;
/*FALLTHROUGH*/
@@ -12028,6 +12091,7 @@ suggest_trie_walk(su, lp, fword, soundfold)
{
/* Done all bytes at this node, do next state. When still at
* already changed bytes skip the other tricks. */
PROF_STORE(sp->ts_state)
if (sp->ts_fidx >= sp->ts_fidxtry)
sp->ts_state = STATE_DEL;
else
@@ -12184,6 +12248,7 @@ suggest_trie_walk(su, lp, fword, soundfold)
* delete/insert/swap a character. */
if (has_mbyte && sp->ts_tcharlen > 0)
{
PROF_STORE(sp->ts_state)
sp->ts_state = STATE_FINAL;
break;
}
@@ -12191,6 +12256,7 @@ suggest_trie_walk(su, lp, fword, soundfold)
/*
* Try skipping one character in the bad word (delete it).
*/
PROF_STORE(sp->ts_state)
sp->ts_state = STATE_INS_PREP;
sp->ts_curi = 1;
if (soundfold && sp->ts_fidx == 0 && fword[sp->ts_fidx] == '*')
@@ -12245,6 +12311,7 @@ suggest_trie_walk(su, lp, fword, soundfold)
{
/* If we just deleted a byte then inserting won't make sense,
* a substitute is always cheaper. */
PROF_STORE(sp->ts_state)
sp->ts_state = STATE_SWAP;
break;
}
@@ -12256,12 +12323,14 @@ suggest_trie_walk(su, lp, fword, soundfold)
if (sp->ts_curi > byts[n])
{
/* Only NUL bytes at this node, go to next state. */
PROF_STORE(sp->ts_state)
sp->ts_state = STATE_SWAP;
break;
}
if (byts[n + sp->ts_curi] != NUL)
{
/* Found a byte to insert. */
PROF_STORE(sp->ts_state)
sp->ts_state = STATE_INS;
break;
}
@@ -12278,6 +12347,7 @@ suggest_trie_walk(su, lp, fword, soundfold)
if (sp->ts_curi > byts[n])
{
/* Done all bytes at this node, go to next state. */
PROF_STORE(sp->ts_state)
sp->ts_state = STATE_SWAP;
break;
}
@@ -12349,6 +12419,7 @@ suggest_trie_walk(su, lp, fword, soundfold)
if (c == NUL)
{
/* End of word, can't swap or replace. */
PROF_STORE(sp->ts_state)
sp->ts_state = STATE_FINAL;
break;
}
@@ -12357,6 +12428,7 @@ suggest_trie_walk(su, lp, fword, soundfold)
* SWAP3 etc. also don't make sense then. */
if (!soundfold && !spell_iswordp(p, curwin))
{
PROF_STORE(sp->ts_state)
sp->ts_state = STATE_REP_INI;
break;
}
@@ -12387,6 +12459,7 @@ suggest_trie_walk(su, lp, fword, soundfold)
/* When the second character is NUL we can't swap. */
if (c2 == NUL)
{
PROF_STORE(sp->ts_state)
sp->ts_state = STATE_REP_INI;
break;
}
@@ -12395,6 +12468,7 @@ suggest_trie_walk(su, lp, fword, soundfold)
* Also get here if the second char is not a word character. */
if (c == c2)
{
PROF_STORE(sp->ts_state)
sp->ts_state = STATE_SWAP3;
break;
}
@@ -12406,6 +12480,7 @@ suggest_trie_walk(su, lp, fword, soundfold)
sp->ts_twordlen, tword, fword + sp->ts_fidx,
c, c2);
#endif
PROF_STORE(sp->ts_state)
sp->ts_state = STATE_UNSWAP;
++depth;
#ifdef FEAT_MBYTE
@@ -12425,8 +12500,11 @@ suggest_trie_walk(su, lp, fword, soundfold)
}
}
else
{
/* If this swap doesn't work then SWAP3 won't either. */
PROF_STORE(sp->ts_state)
sp->ts_state = STATE_REP_INI;
}
break;
case STATE_UNSWAP:
@@ -12484,6 +12562,7 @@ suggest_trie_walk(su, lp, fword, soundfold)
* Second character may any char: "a.b" -> "b.a" */
if (c == c3 || c3 == NUL)
{
PROF_STORE(sp->ts_state)
sp->ts_state = STATE_REP_INI;
break;
}
@@ -12495,6 +12574,7 @@ suggest_trie_walk(su, lp, fword, soundfold)
sp->ts_twordlen, tword, fword + sp->ts_fidx,
c, c3);
#endif
PROF_STORE(sp->ts_state)
sp->ts_state = STATE_UNSWAP3;
++depth;
#ifdef FEAT_MBYTE
@@ -12515,7 +12595,10 @@ suggest_trie_walk(su, lp, fword, soundfold)
}
}
else
{
PROF_STORE(sp->ts_state)
sp->ts_state = STATE_REP_INI;
}
break;
case STATE_UNSWAP3:
@@ -12547,6 +12630,7 @@ suggest_trie_walk(su, lp, fword, soundfold)
{
/* Middle char is not a word char, skip the rotate. First and
* third char were already checked at swap and swap3. */
PROF_STORE(sp->ts_state)
sp->ts_state = STATE_REP_INI;
break;
}
@@ -12562,6 +12646,7 @@ suggest_trie_walk(su, lp, fword, soundfold)
sp->ts_twordlen, tword, fword + sp->ts_fidx,
p[0], p[1], p[2]);
#endif
PROF_STORE(sp->ts_state)
sp->ts_state = STATE_UNROT3L;
++depth;
p = fword + sp->ts_fidx;
@@ -12587,7 +12672,10 @@ suggest_trie_walk(su, lp, fword, soundfold)
}
}
else
{
PROF_STORE(sp->ts_state)
sp->ts_state = STATE_REP_INI;
}
break;
case STATE_UNROT3L:
@@ -12623,6 +12711,7 @@ suggest_trie_walk(su, lp, fword, soundfold)
sp->ts_twordlen, tword, fword + sp->ts_fidx,
p[0], p[1], p[2]);
#endif
PROF_STORE(sp->ts_state)
sp->ts_state = STATE_UNROT3R;
++depth;
p = fword + sp->ts_fidx;
@@ -12648,7 +12737,10 @@ suggest_trie_walk(su, lp, fword, soundfold)
}
}
else
{
PROF_STORE(sp->ts_state)
sp->ts_state = STATE_REP_INI;
}
break;
case STATE_UNROT3R:
@@ -12684,6 +12776,7 @@ suggest_trie_walk(su, lp, fword, soundfold)
|| sp->ts_score + SCORE_REP >= su->su_maxscore
|| sp->ts_fidx < sp->ts_fidxtry)
{
PROF_STORE(sp->ts_state)
sp->ts_state = STATE_FINAL;
break;
}
@@ -12697,10 +12790,12 @@ suggest_trie_walk(su, lp, fword, soundfold)
if (sp->ts_curi < 0)
{
PROF_STORE(sp->ts_state)
sp->ts_state = STATE_FINAL;
break;
}
PROF_STORE(sp->ts_state)
sp->ts_state = STATE_REP;
/*FALLTHROUGH*/
@@ -12733,6 +12828,7 @@ suggest_trie_walk(su, lp, fword, soundfold)
ftp->ft_from, ftp->ft_to);
#endif
/* Need to undo this afterwards. */
PROF_STORE(sp->ts_state)
sp->ts_state = STATE_REP_UNDO;
/* Change the "from" to the "to" string. */
@@ -12754,8 +12850,11 @@ suggest_trie_walk(su, lp, fword, soundfold)
}
if (sp->ts_curi >= gap->ga_len && sp->ts_state == STATE_REP)
{
/* No (more) matches. */
PROF_STORE(sp->ts_state)
sp->ts_state = STATE_FINAL;
}
break;
@@ -12775,6 +12874,7 @@ suggest_trie_walk(su, lp, fword, soundfold)
repextra -= tl - fl;
}
mch_memmove(p, ftp->ft_from, fl);
PROF_STORE(sp->ts_state)
sp->ts_state = STATE_REP;
break;
@@ -13287,7 +13387,13 @@ suggest_try_soundalike(su)
/* try all kinds of inserts/deletes/swaps/etc. */
/* TODO: also soundfold the next words, so that we can try joining
* and splitting */
#ifdef SUGGEST_PROFILE
prof_init();
#endif
suggest_trie_walk(su, lp, salword, TRUE);
#ifdef SUGGEST_PROFILE
prof_report("soundalike");
#endif
}
}
}
+34 -13
View File
@@ -1,20 +1,41 @@
This directory contains tests for various Vim features.
If it makes sense, try to add a new test to an already existing file. You may
want to separate it from other tests in that file using :" (that's an Ex
command comment).
If it makes sense, add a new test method to an already existing file. You may
want to separate it from other tests with comment lines.
The numbered tests are older, we have switched to named tests.
And the newest way of testing is to use assert functions, see test_assert.vim
for an example.
To add a new test:
1) Create test_<subject>.in and test_<subject>.ok files.
2) Add them to all Makefiles (Make*) in alphabetical order (search for an
existing test_file.out to see where to add the new one).
3) Use make test_<subject>.out to run a single test file in src/testdir/.
And then you can chose between a new style test, which is a Vim script, or an
old style test, which uses Normal mode commands. Use a new style test if you
can.
TO ADD A NEW STYLE TEST:
1) Create a test_<subject>.vim file.
2) Add test_<subject>.vim to NEW_TESTS in Make_all.mak in alphabetical order.
3) Use make test_<subject>.res to run a single test in src/testdir/.
Use make test_<subject> to run a single test in src/.
4) Also add an entry in src/Makefile.
Keep in mind that the files are used as if everything was typed.
A line break is like pressing Enter. If that happens on the last line you'll
hear a beep.
What you can use (see test_assert.vim for an example):
- Call assert_equal(), assert_true() and assert_false().
- Use try/catch to check for exceptions.
- Use alloc_fail() to have memory allocation fail. This makes it possible to
to check memory allocation failures are handled gracefully. You need to
change the source code to add an ID to the allocation. Update LAST_ID_USED
above alloc_id() to the highest ID used.
TO ADD AN OLD STYLE TEST:
1) Create test_<subject>.in and test_<subject>.ok files.
2) Add test_<subject>.out to SCRIPTS_ALL in Make_all.mak in alphabetical order.
3) Use make test_<subject>.out to run a single test in src/testdir/.
Use make test_<subject> to run a single test in src/.
4) Also add an entry in src/Makefile.
Keep in mind that the files are used as if everything was typed:
- To add comments use: :" (that's an Ex command comment)
- A line break is like pressing Enter. If that happens on the last line
you'll hear a beep!
+39
View File
@@ -273,3 +273,42 @@ function Test_cbuffer()
call XbufferTests('l')
endfunction
function Test_nomem()
call alloc_fail(1, 0, 0)
try
vimgrep vim runtest.vim
catch
call assert_true(v:exception =~ 'E342')
endtry
call alloc_fail(2, 0, 0)
try
vimgrep vim runtest.vim
catch
call assert_true(v:exception =~ 'E342')
endtry
call alloc_fail(3, 0, 0)
try
cfile runtest.vim
catch
call assert_true(v:exception =~ 'E342')
endtry
call alloc_fail(4, 0, 0)
try
cfile runtest.vim
catch
call assert_true(v:exception =~ 'E342')
endtry
call alloc_fail(5, 0, 0)
try
cfile runtest.vim
catch
call assert_true(v:exception =~ 'E342')
endtry
endfunc
+16
View File
@@ -756,6 +756,22 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1063,
/**/
1062,
/**/
1061,
/**/
1060,
/**/
1059,
/**/
1058,
/**/
1057,
/**/
1056,
/**/
1055,
/**/