view src/libvterm/t/61screen_unicode.test @ 33311:1f3bcb7f3bd0 v9.0.1921

patch 9.0.1921: not possible to use the jumplist like a stack Commit: https://github.com/vim/vim/commit/87018255e3ad0f4dfa03e20318836d24af721caf Author: Yegappan Lakshmanan <yegappan@yahoo.com> Date: Wed Sep 20 20:20:04 2023 +0200 patch 9.0.1921: not possible to use the jumplist like a stack Problem: not possible to use the jumplist like a stack Solution: Add the 'jumpoptions' setting to make the jumplist a stack. Add an option for using jumplist like tag stack related: #7738 closes: #13134 ported from NeoVim: - https://neovim.io/doc/user/motion.html#jumplist-stack - neovim/neovim@39094b3 - neovim/neovim#11530 - https://vi.stackexchange.com/questions/18344/how-to-change-jumplist-behavior Based on the feedback in the previous PR, it looks like many people like this option. Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com> Co-authored-by: butwerenotthereyet <58348703+butwerenotthereyet@users.noreply.github.com>
author Christian Brabandt <cb@256bit.org>
date Wed, 20 Sep 2023 20:30:06 +0200
parents 2d2758ffd959
children
line wrap: on
line source

INIT
UTF8 1
WANTSCREEN

!Single width UTF-8
# U+00C1 = 0xC3 0x81  name: LATIN CAPITAL LETTER A WITH ACUTE
# U+00E9 = 0xC3 0xA9  name: LATIN SMALL LETTER E WITH ACUTE
RESET
PUSH "\xC3\x81\xC3\xA9"
  ?screen_row 0 = 0xc1,0xe9
  ?screen_text 0,0,1,80 = 0xc3,0x81,0xc3,0xa9
  ?screen_cell 0,0 = {0xc1} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)

!Wide char
# U+FF10 = 0xEF 0xBC 0x90  name: FULLWIDTH DIGIT ZERO
RESET
PUSH "0123\e[H"
PUSH "\xEF\xBC\x90"
  ?screen_row 0 = 0xff10,0x32,0x33
  ?screen_text 0,0,1,80 = 0xef,0xbc,0x90,0x32,0x33
  ?screen_cell 0,0 = {0xff10} width=2 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)

!Combining char
# U+0301 = 0xCC 0x81  name: COMBINING ACUTE
RESET
PUSH "0123\e[H"
PUSH "e\xCC\x81"
  ?screen_row 0 = 0x65,0x301,0x31,0x32,0x33
  ?screen_text 0,0,1,80 = 0x65,0xcc,0x81,0x31,0x32,0x33
  ?screen_cell 0,0 = {0x65,0x301} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)

!10 combining accents should not crash
RESET
PUSH "e\xCC\x81\xCC\x82\xCC\x83\xCC\x84\xCC\x85\xCC\x86\xCC\x87\xCC\x88\xCC\x89\xCC\x8A"
  ?screen_cell 0,0 = {0x65,0x301,0x302,0x303,0x304,0x305} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)

!40 combining accents in two split writes of 20 should not crash
RESET
PUSH "e\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81"
PUSH  "\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81"
  ?screen_cell 0,0 = {0x65,0x301,0x301,0x301,0x301,0x301} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)

!Outputting CJK doublewidth in 80th column should wraparound to next line and not crash"
RESET
PUSH "\e[80G\xEF\xBC\x90"
  ?screen_cell 0,79 = {} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)
  ?screen_cell 1,0 = {0xff10} width=2 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)