patch 9.1.1640: Unicode has deprecated some code-points

Problem:  Unicode has deprecated some code-points
Solution: Update the digraph tables to align with the Unicode v16
          release (David Friant)

This commit updates the digraphs Left-Pointing Angle Bracket '</'
and Right-Pointing Angle Bracket '/>' to account for the fact that
the old Unicode codepoints for them (2329 and 232A, respectively)
have been deprecated. As per the Miscellaneous Technical code chart
(https://www.unicode.org/charts/PDF/U2300.pdf), the old digraphs
have been reassigned to the CJK Left Angle Bracket and Right Angle
Bracket (3008 and 3009) with their declaration moved to the
appropriate block.

This commit also introduces the new digraphs '<[' and ']>' to
represent the Mathematical Left Angle Bracket and Mathematical
Right Angle Bracket (27E8 and 27E9) to replace the deprecated code
points in the Technical block.

Tests have been added and, I believe, the documentation has been
updated accordingly.

closes: #17990

Signed-off-by: David Friant <friant@HPEnvyx360.friant.dev>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
David Friant
2025-08-16 18:30:55 +02:00
committed by Christian Brabandt
parent 1e38198a41
commit c08b94b072
5 changed files with 29 additions and 6 deletions

View File

@ -1028,8 +1028,8 @@ static digr_T digraphdefault[] = {
{'T', 'R', 0x2315},
{'I', 'u', 0x2320},
{'I', 'l', 0x2321},
{'<', '/', 0x2329},
{'/', '>', 0x232a},
{'<', '[', 0x27e8},
{']', '>', 0x27e9},
# define DG_START_OTHER2 0x2423
{'V', 's', 0x2423},
{'1', 'h', 0x2440},
@ -1176,6 +1176,8 @@ static digr_T digraphdefault[] = {
{'*', '_', 0x3005},
{';', '_', 0x3006},
{'0', '_', 0x3007},
{'<', '/', 0x3008},
{'/', '>', 0x3009},
{'<', '+', 0x300a},
{'>', '+', 0x300b},
{'<', '\'', 0x300c},

View File

@ -612,5 +612,16 @@ func Test_digraph_getlist_function()
call assert_fails('call digraph_getlist(0z12)', 'E1212: Bool required for argument 1')
endfunc
func Test_digraph_angle_bracket_patch()
" Ensure that the deprecated angle brackets 2329/232A ('</','/>') are not used
call assert_notequal('〈', digraph_get('</'))
call assert_notequal('〉', digraph_get('/>'))
" Ensure that the CJK angle brackets 3008/3009 ('</','/>') are used
call assert_equal('〈', digraph_get('</'))
call assert_equal('〉', digraph_get('/>'))
" Ensure that the mathematical angle brackets 27E8/27E9 ('<[',']>') are defined
call assert_equal('⟨', digraph_get('<['))
call assert_equal('⟩', digraph_get(']>'))
endfunc
" vim: shiftwidth=2 sts=2 expandtab

View File

@ -719,6 +719,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1640,
/**/
1639,
/**/