make copySelection more idiomatic
store current cursor information. bug fix: random crash when using variable cursor (too many calls for reflectCursor)