patch 9.1.1640: Unicode has deprecated some code-points Commit: https://github.com/vim/vim/commit/c08b94b072588d69e0fe76bc93dcd1d8c46be469 Author: David Friant <fri...@hpenvyx360.friant.dev> Date: Sat Aug 16 18:30:55 2025 +0200
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 <fri...@hpenvyx360.friant.dev> Signed-off-by: Christian Brabandt <c...@256bit.org> diff --git a/runtime/doc/digraph.txt b/runtime/doc/digraph.txt index 2a96812bf..313b58ed4 100644 --- a/runtime/doc/digraph.txt +++ b/runtime/doc/digraph.txt @@ -1,4 +1,4 @@ -*digraph.txt* For Vim version 9.1. Last change: 2025 Feb 02 +*digraph.txt* For Vim version 9.1. Last change: 2025 Aug 16 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1105,8 +1105,8 @@ char digraph hex dec official name ~ ⌕ TR 2315 8981 TELEPHONE RECORDER ⌠ Iu 2320 8992 TOP HALF INTEGRAL ⌡ Il 2321 8993 BOTTOM HALF INTEGRAL -〈 </ 2329 9001 LEFT-POINTING ANGLE BRACKET -〉 /> 232A 9002 RIGHT-POINTING ANGLE BRACKET +⟨ <[ 27E8 10040 LEFT MATHEMATICAL ANGLE BRACKET +⟩ ]> 27E9 10041 RIGHT MATHEMATICAL ANGLE BRACKET ␣ Vs 2423 9251 OPEN BOX ⑀ 1h 2440 9280 OCR HOOK ⑁ 3h 2441 9281 OCR CHAIR @@ -1246,6 +1246,8 @@ char digraph hex dec official name ~ 々 *_ 3005 12293 IDEOGRAPHIC ITERATION MARK 〆 ;_ 3006 12294 IDEOGRAPHIC CLOSING MARK 〇 0_ 3007 12295 IDEOGRAPHIC NUMBER ZERO +〈 </ 3008 12296 LEFT ANGLE BRACKET +〉 /> 3009 12297 RIGHT ANGLE BRACKET 《 <+ 300A 12298 LEFT DOUBLE ANGLE BRACKET 》 >+ 300B 12299 RIGHT DOUBLE ANGLE BRACKET 「 <' 300C 12300 LEFT CORNER BRACKET diff --git a/runtime/doc/version9.txt b/runtime/doc/version9.txt index aa7a57ded..17be46d03 100644 --- a/runtime/doc/version9.txt +++ b/runtime/doc/version9.txt @@ -1,4 +1,4 @@ -*version9.txt* For Vim version 9.1. Last change: 2025 Aug 12 +*version9.txt* For Vim version 9.1. Last change: 2025 Aug 16 VIM REFERENCE MANUAL by Bram Moolenaar @@ -41739,6 +41739,12 @@ Others: ~ - The close button shown in the non-GUI 'tabline' will only be visible if the 'mouse' option contains either "a" or any of the flags "n", "v", or "i". - |C-indenting| handles compound literals. +- The digraphs "</" (LEFT-POINTING ANGLE BRACKET) and ">/" (RIGHT-POINTING + ANGLE BRACKET) have been changed to represent LEFT ANGLE BRACKET and RIGHT + ANGLE BRACKET to match the Unicode Miscellaneous Technical code chart from + Unicode 16. +- Two additional digraphs have been added: LEFT ANGLE BRACKET "<[" and RIGHT + ANGLE BRACKET "]>". *added-9.2* Added ~ diff --git a/src/digraph.c b/src/digraph.c index a5dff00d1..8af2dc2e1 100644 --- a/src/digraph.c +++ b/src/digraph.c @@ -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}, diff --git a/src/testdir/test_digraph.vim b/src/testdir/test_digraph.vim index c53b1bcc0..96b2b63ba 100644 --- a/src/testdir/test_digraph.vim +++ b/src/testdir/test_digraph.vim @@ -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 diff --git a/src/version.c b/src/version.c index cc08bffa8..f890e8a68 100644 --- a/src/version.c +++ b/src/version.c @@ -719,6 +719,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1640, /**/ 1639, /**/ -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscr...@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/vim_dev/E1unK1f-001BVg-Ju%40256bit.org.