bigfive / atom-sublime-select

Enable 'sublime style' multiline selection boxes to Atom editor http://atom.io
MIT License
233 stars 49 forks source link

Uncaught TypeError: Cannot read property 'length' of undefined #121

Open WaKeMaTTa opened 7 years ago

WaKeMaTTa commented 7 years ago

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 1.10.2 Electron Version: 0.37.8 System: Ubuntu 16.04.1 Thrown From: Sublime-Style-Column-Selection package, v1.7.2

Stack Trace

Uncaught TypeError: Cannot read property 'length' of undefined

At /opt/atom/resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:873

TypeError: Cannot read property 'length' of undefined
    at SublimeSelectEditorHandler.module.exports.SublimeSelectEditorHandler._selectBoxAroundCursors (/home/wakematta/.atom/packages/Sublime-Style-Column-Selection/lib/editor-handler.coffee:119:56)
    at SublimeSelectEditorHandler.module.exports.SublimeSelectEditorHandler.onRangeChange (/home/wakematta/.atom/packages/Sublime-Style-Column-Selection/lib/editor-handler.coffee:72:10)
    at /home/wakematta/.atom/packages/Sublime-Style-Column-Selection/lib/editor-handler.coffee:1:1
    at Function.module.exports.Emitter.simpleDispatch (/opt/atom/resources/app.asar/node_modules/event-kit/lib/emitter.js:25:14)
    at Emitter.module.exports.Emitter.emit (/opt/atom/resources/app.asar/node_modules/event-kit/lib/emitter.js:125:28)
    at TextEditor.module.exports.TextEditor.selectionRangeChanged (/opt/atom/resources/app.asar/src/text-editor.js:2464:27)
    at Selection.module.exports.Selection.markerDidChange (/opt/atom/resources/app.asar/src/selection.js:924:26)
    at /opt/atom/resources/app.asar/src/selection.js:41:24
    at Function.module.exports.Emitter.simpleDispatch (/opt/atom/resources/app.asar/node_modules/text-buffer/node_modules/event-kit/lib/emitter.js:25:14)
    at Emitter.module.exports.Emitter.emit (/opt/atom/resources/app.asar/node_modules/text-buffer/node_modules/event-kit/lib/emitter.js:129:28)
    at DisplayMarker.module.exports.DisplayMarker.notifyObservers (/opt/atom/resources/app.asar/node_modules/text-buffer/lib/display-marker.js:245:27)
    at /opt/atom/resources/app.asar/node_modules/text-buffer/lib/display-marker.js:53:26
    at Function.module.exports.Emitter.simpleDispatch (/opt/atom/resources/app.asar/node_modules/text-buffer/node_modules/event-kit/lib/emitter.js:25:14)
    at Emitter.module.exports.Emitter.emit (/opt/atom/resources/app.asar/node_modules/text-buffer/node_modules/event-kit/lib/emitter.js:129:28)
    at Marker.module.exports.Marker.emitChangeEvent (/opt/atom/resources/app.asar/node_modules/text-buffer/lib/marker.js:425:20)
    at Marker.module.exports.Marker.update (/opt/atom/resources/app.asar/node_modules/text-buffer/lib/marker.js:366:12)
    at Marker.module.exports.Marker.setHeadPosition (/opt/atom/resources/app.asar/node_modules/text-buffer/lib/marker.js:146:19)
    at DisplayMarker.module.exports.DisplayMarker.setHeadBufferPosition (/opt/atom/resources/app.asar/node_modules/text-buffer/lib/display-marker.js:146:32)
    at DisplayMarker.module.exports.DisplayMarker.setHeadScreenPosition (/opt/atom/resources/app.asar/node_modules/text-buffer/lib/display-marker.js:154:19)
    at /opt/atom/resources/app.asar/src/cursor.js:67:31
    at Cursor.module.exports.Cursor.changePosition (/opt/atom/resources/app.asar/src/cursor.js:671:7)
    at Cursor.module.exports.Cursor.setScreenPosition (/opt/atom/resources/app.asar/src/cursor.js:65:19)
    at Cursor.module.exports.Cursor.moveLeft (/opt/atom/resources/app.asar/src/cursor.js:257:21)
    at /opt/atom/resources/app.asar/src/selection.js:244:31
    at Selection.module.exports.Selection.modifySelection (/opt/atom/resources/app.asar/src/selection.js:972:7)
    at Selection.module.exports.Selection.selectLeft (/opt/atom/resources/app.asar/src/selection.js:242:19)
    at Selection.module.exports.Selection.backspace (/opt/atom/resources/app.asar/src/selection.js:509:14)
    at /opt/atom/resources/app.asar/src/text-editor.js:969:26
    at /opt/atom/resources/app.asar/src/text-editor.js:985:29
    at TextBuffer.module.exports.TextBuffer.transact (/opt/atom/resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:868:18)

Commands

     -0:33 editor:move-to-end-of-screen-line (atom-text-editor.editor.is-focused)
     -0:32.8.0 core:paste (atom-text-editor.editor.is-focused)
     -0:32.2.0 editor:move-to-first-character-of-line (atom-text-editor.editor.is-focused)
     -0:31.8.0 core:move-right (atom-text-editor.editor.is-focused)
     -0:27.6.0 core:save (atom-text-editor.editor.is-focused)
     -0:11.7.0 editor:newline (atom-text-editor.editor.is-focused)
     -0:11.6.0 snippets:next-tab-stop (atom-text-editor.editor.is-focused)
     -0:11.6.0 snippets:expand (atom-text-editor.editor.is-focused)
     -0:11.6.0 editor:indent (atom-text-editor.editor.is-focused)
     -0:10.7.0 core:paste (atom-text-editor.editor.is-focused)
     -0:09.8.0 core:move-down (atom-text-editor.editor.is-focused)
 10x -0:09.6.0 core:move-left (atom-text-editor.editor.is-focused)
     -0:08.6.0 core:move-right (atom-text-editor.editor.is-focused)
     -0:08.1.0 editor:select-to-end-of-line (atom-text-editor.editor.is-focused)
  2x -0:03.6.0 core:save (atom-text-editor.editor.is-focused)
  2x -0:00.6.0 core:backspace (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "autoHideMenuBar": true,
    "disabledPackages": [
      "language-gradle"
    ],
    "themes": [
      "one-light-ui",
      "one-light-syntax"
    ]
  }
}

Installed Packages

# User
language-gradle, v0.0.3 (inactive)
language-haml, v0.24.0 (active)
linter, v1.11.16 (active)
linter-erb, v1.0.2 (active)
linter-eslint, v7.3.2 (active)
linter-rubocop, v0.5.0 (active)
linter-ruby, v1.2.2 (active)
linter-sass-lint, v1.7.1 (active)
merge-conflicts, v1.4.4 (active)
minimap, v4.25.0 (active)
minimap-bookmarks, v0.4.2 (active)
minimap-cursorline, v0.2.0 (active)
minimap-find-and-replace, v4.5.1 (active)
minimap-git-diff, v4.3.1 (active)
minimap-highlight-selected, v4.4.0 (active)
minimap-pigments, v0.2.1 (active)
pigments, v0.36.0 (active)
platformio-ide-terminal, v2.2.0 (active)
Sublime-Style-Column-Selection, v1.7.2 (active)
atom-dark-syntax, v0.27.0 (inactive)
atom-dark-ui, v0.52.0 (inactive)
atom-light-syntax, v0.28.0 (inactive)
atom-light-ui, v0.44.0 (inactive)
base16-tomorrow-dark-theme, v1.1.0 (inactive)
base16-tomorrow-light-theme, v1.1.1 (inactive)
one-dark-ui, v1.5.0 (inactive)
one-light-ui, v1.5.0 (active)
one-dark-syntax, v1.3.0 (inactive)
one-light-syntax, v1.3.0 (active)
solarized-dark-syntax, v1.0.2 (inactive)
solarized-light-syntax, v1.0.2 (inactive)
about, v1.5.3 (active)
archive-view, v0.61.1 (active)
autocomplete-atom-api, v0.10.0 (active)
autocomplete-css, v0.11.2 (active)
autocomplete-html, v0.7.2 (active)
autocomplete-plus, v2.31.1 (active)
autocomplete-snippets, v1.11.0 (active)
autoflow, v0.27.0 (inactive)
autosave, v0.23.1 (active)
background-tips, v0.26.1 (active)
bookmarks, v0.41.0 (active)
bracket-matcher, v0.82.1 (active)
command-palette, v0.38.0 (inactive)
deprecation-cop, v0.54.1 (active)
dev-live-reload, v0.47.0 (active)
encoding-selector, v0.22.0 (active)
find-and-replace, v0.201.0 (active)
fuzzy-finder, v1.3.0 (active)
git-diff, v1.1.0 (active)
go-to-line, v0.31.0 (inactive)
grammar-selector, v0.48.1 (active)
image-view, v0.58.2 (active)
incompatible-packages, v0.26.1 (active)
keybinding-resolver, v0.35.0 (active)
line-ending-selector, v0.5.0 (active)
link, v0.31.1 (inactive)
markdown-preview, v0.158.0 (active)
notifications, v0.65.0 (active)
open-on-github, v1.2.0 (inactive)
package-generator, v1.0.0 (inactive)
settings-view, v0.242.2 (active)
snippets, v1.0.2 (active)
spell-check, v0.67.1 (active)
status-bar, v1.4.1 (active)
styleguide, v0.47.0 (active)
symbols-view, v0.113.0 (inactive)
tabs, v0.100.2 (active)
timecop, v0.33.2 (active)
tree-view, v0.208.2 (active)
update-package-dependencies, v0.10.0 (active)
welcome, v0.34.0 (active)
whitespace, v0.33.0 (active)
wrap-guide, v0.38.1 (active)
language-c, v0.52.1 (active)
language-clojure, v0.21.0 (active)
language-coffee-script, v0.47.2 (active)
language-csharp, v0.12.1 (active)
language-css, v0.37.1 (active)
language-gfm, v0.88.0 (active)
language-git, v0.15.0 (active)
language-go, v0.42.1 (active)
language-html, v0.45.1 (active)
language-hyperlink, v0.16.0 (active)
language-java, v0.23.0 (active)
language-javascript, v0.119.0 (active)
language-json, v0.18.2 (active)
language-less, v0.29.5 (active)
language-make, v0.22.2 (active)
language-mustache, v0.13.0 (active)
language-objective-c, v0.15.1 (active)
language-perl, v0.35.0 (active)
language-php, v0.37.2 (active)
language-property-list, v0.8.0 (active)
language-python, v0.45.0 (active)
language-ruby, v0.69.0 (active)
language-ruby-on-rails, v0.25.0 (active)
language-sass, v0.56.0 (active)
language-shellscript, v0.22.4 (active)
language-source, v0.9.0 (active)
language-sql, v0.23.0 (active)
language-text, v0.7.1 (active)
language-todo, v0.28.0 (active)
language-toml, v0.18.0 (active)
language-xml, v0.34.9 (active)
language-yaml, v0.26.0 (active)

# Dev
No dev packages
maksimu commented 7 years ago

Same happened to me as well. Here is how I reproduced it:

typed number in column, selected all lines in the beginning and then hit Backspace button (delete button on Mac).

Expected behavior was that all numbers on separate lines will be on a one line

bigfive commented 7 years ago

Confirmed as bug, can reproduce. I'll fix this in the next release, thanks for the report. Sorry about the delay

bigfive commented 7 years ago

Duplicate of https://github.com/bigfive/atom-sublime-select/issues/118