t9md / atom-vim-mode-plus

vim-mode improved
https://atom.io/packages/vim-mode-plus
MIT License
1.4k stars 111 forks source link

Uncaught TypeError: Cannot read property 'isEmpty' of undefined #1103

Open mcastrigno opened 5 years ago

mcastrigno commented 5 years ago

I yanked two lines (2yy) from one file and attempted to put (p)

them in another. At least that is what I thought I was doing. I have done this before without error.

  1. ...
  2. ...

Atom: 1.32.1 x64 Electron: 2.0.9 OS: Microsoft Windows 10 Pro Thrown From: vim-mode-plus package 1.35.0

Stack Trace

Uncaught TypeError: Cannot read property 'isEmpty' of undefined

At C:\Users\Matthew Castrigno\.atom\packages\vim-mode-plus\lib\operation-stack.js:164

TypeError: Cannot read property 'isEmpty' of undefined
    at isEmpty (/packages/vim-mode-plus/lib/utils.js:784:34)
    at args (/packages/vim-mode-plus/lib/utils.js:782:44)
    at Array.filter (<anonymous>)
    at FlashManager.flash (/packages/vim-mode-plus/lib/flash-manager.js:61:58)
    at VimState.flash (/packages/vim-mode-plus/lib/vim-state.js:22:39)
    at /packages/vim-mode-plus/lib/operator.js:720:23
    at Function.simpleDispatch (~/AppData/Local/atom/app-1.32.1/resources/app/static/<embedded>:11:1186953)
    at Emitter.emit (~/AppData/Local/atom/app-1.32.1/resources/app/static/<embedded>:11:1188394)
    at VimState.emitDidFinishOperation (/packages/vim-mode-plus/lib/vim-state.js:182:44)
    at OperationStack.finish (/packages/vim-mode-plus/lib/operation-stack.js:219:19)
    at OperationStack.execute (/packages/vim-mode-plus/lib/operation-stack.js:206:12)
    at OperationStack.process (/packages/vim-mode-plus/lib/operation-stack.js:193:12)
    at OperationStack.run (/packages/vim-mode-plus/lib/operation-stack.js:105:14)
    at /packages/vim-mode-plus/lib/vim-state.js:70:33)
    at CommandRegistry.handleCommandEvent (~/AppData/Local/atom/app-1.32.1/resources/app/static/<embedded>:11:347327)
    at KeymapManager.t.exports.KeymapManager.dispatchCommandEvent (~/AppData/Local/atom/app-1.32.1/resources/app/static/<embedded>:11:1227580)
    at KeymapManager.t.exports.KeymapManager.handleKeyboardEvent (~/AppData/Local/atom/app-1.32.1/resources/app/static/<embedded>:11:1223714)
    at WindowEventHandler.handleDocumentKeyEvent (~/AppData/Local/atom/app-1.32.1/resources/app/static/<embedded>:11:282763)

Commands

     -1:54.4.0 vim-mode-plus:put-after (input.hidden-input)
     -1:43.7.0 core:save (input.hidden-input)
     -1:41.4.0 vim-mode-plus:move-right (input.hidden-input)
     -1:40.4.0 vim-mode-plus:move-left (input.hidden-input)
     -1:38.9.0 vim-mode-plus:delete-right (input.hidden-input)
 17x -1:37.7.0 vim-mode-plus:move-down (input.hidden-input)
     -1:34.4.0 vim-mode-plus:delete-right (input.hidden-input)
     -1:33.9.0 vim-mode-plus:move-down (input.hidden-input)
     -1:33.6.0 vim-mode-plus:delete-right (input.hidden-input)
     -1:33.4.0 vim-mode-plus:move-down (input.hidden-input)
     -1:33 vim-mode-plus:delete-right (input.hidden-input)
     -1:29.1.0 core:save (input.hidden-input)
     -0:47.1.0 vim-mode-plus:set-count-2 (input.hidden-input)
  2x -0:46.4.0 vim-mode-plus:yank (input.hidden-input)
     -0:34.3.0 vim-mode-plus:activate-blockwise-visual-mode (input.hidden-input)
     -0:32.4.0 vim-mode-plus:put-after (input.hidden-input)

Non-Core Packages

vim-mode-plus 1.35.0 
keevan commented 2 years ago

Note: I was able to trigger this error consistently by doing the following. (Tried on non-OSX systems)

  1. Copy some text into the clipboard using CTRL+C (so probably not within atom itself)
  2. Proceed to forget you're using Vim mode and press CTRL + V to paste the content (which will put VMP into blockwise visual mode)
  3. Realize your mistake and press p to paste the content, and viola the error appears. (though, you can press p again afterwards and it will paste correctly)