view src/libvterm/t/22state_save.test @ 30333:fc0830246f49 v9.0.0502

patch 9.0.0502: a closure in a nested loop in a :def function does not work Commit: https://github.com/vim/vim/commit/cc34181f9994d64f8c8fa2f5845eaf0cc963067f Author: Bram Moolenaar <Bram@vim.org> Date: Mon Sep 19 15:54:34 2022 +0100 patch 9.0.0502: a closure in a nested loop in a :def function does not work Problem: A closure in a nested loop in a :def function does not work. Solution: Use an array of loopvars, one per loop level.
author Bram Moolenaar <Bram@vim.org>
date Mon, 19 Sep 2022 17:00:07 +0200
parents b8299e742f41
children
line wrap: on
line source

INIT
WANTSTATE p

RESET
  settermprop 1 true
  settermprop 2 true
  settermprop 7 1

!Set up state
PUSH "\e[2;2H"
  ?cursor = 1,1
PUSH "\e[1m"
  ?pen bold = on

!Save
PUSH "\e[?1048h"

!Change state
PUSH "\e[5;5H"
  ?cursor = 4,4
PUSH "\e[4 q"
  settermprop 2 false
  settermprop 7 2
PUSH "\e[22;4m"
  ?pen bold = off
  ?pen underline = 1

!Restore
PUSH "\e[?1048l"
  settermprop 1 true
  settermprop 2 true
  settermprop 7 1
  ?cursor = 1,1
  ?pen bold = on
  ?pen underline = 0

!Save/restore using DECSC/DECRC
PUSH "\e[2;2H\e7"
  ?cursor = 1,1

PUSH "\e[5;5H"
  ?cursor = 4,4
PUSH "\e8"
  settermprop 1 true
  settermprop 2 true
  settermprop 7 1
  ?cursor = 1,1

!Save twice, restore twice happens on both edge transitions
PUSH "\e[2;10H\e[?1048h\e[6;10H\e[?1048h"
PUSH "\e[H"
  ?cursor = 0,0
PUSH "\e[?1048l"
  settermprop 1 true
  settermprop 2 true
  settermprop 7 1
  ?cursor = 5,9
PUSH "\e[H"
  ?cursor = 0,0
PUSH "\e[?1048l"
  settermprop 1 true
  settermprop 2 true
  settermprop 7 1
  ?cursor = 5,9