emmet-atom icon indicating copy to clipboard operation
emmet-atom copied to clipboard

Uncaught Error: Endless loop detected

Open ThatGuyCND opened this issue 9 years ago • 8 comments

[Enter steps to reproduce below:]

  1. ... accidentally typed "control" + "e" instead of "control" + "w" to wrap my selected markup
  2. ... received this error.

Atom Version: 0.189.0 System: Mac OS X 10.9.5 Thrown From: emmet package, v2.3.7

Stack Trace

Uncaught Error: Endless loop detected

At /Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/history.js:128

Error: Endless loop detected
  at parseAbbreviation (/Users/erik.baldwin/.atom/packages/emmet/node_modules/emmet/lib/parser/abbreviation.js:566:10)
  at Object.parse (/Users/erik.baldwin/.atom/packages/emmet/node_modules/emmet/lib/parser/abbreviation.js:890:15)
  at Object.expand (/Users/erik.baldwin/.atom/packages/emmet/node_modules/emmet/lib/parser/abbreviation.js:957:26)
  at Object.handlers.add.order [as fn] (/Users/erik.baldwin/.atom/packages/emmet/node_modules/emmet/lib/action/expandAbbreviation.js:65:25)
  at /Users/erik.baldwin/.atom/packages/emmet/node_modules/emmet/lib/assets/handlerList.js:93:19
  at /Users/erik.baldwin/.atom/packages/emmet/node_modules/emmet/lib/utils/common.js:600:10
  at Array.some (native)
  at Object.find (/Users/erik.baldwin/.atom/packages/emmet/node_modules/emmet/lib/utils/common.js:599:9)
  at Object.HandlerList.exec (/Users/erik.baldwin/.atom/packages/emmet/node_modules/emmet/lib/assets/handlerList.js:92:10)
  at Object.expandAbbreviationAction (/Users/erik.baldwin/.atom/packages/emmet/node_modules/emmet/lib/action/expandAbbreviation.js:110:20)
  at Object.run (/Users/erik.baldwin/.atom/packages/emmet/node_modules/emmet/lib/action/main.js:150:21)
  at Object.run (/Users/erik.baldwin/.atom/packages/emmet/node_modules/emmet/lib/emmet.js:81:23)
  at runAction (/Users/erik.baldwin/.atom/packages/emmet/lib/emmet.coffee:91:9)
  at /Users/erik.baldwin/.atom/packages/emmet/lib/emmet.coffee:59:9
  at Object.module.exports.exec (/Users/erik.baldwin/.atom/packages/emmet/lib/editor-proxy.coffee:80:10)
  at /Users/erik.baldwin/.atom/packages/emmet/lib/emmet.coffee:58:19
  at History.module.exports.History.transact (/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/history.js:119:18)
  at TextBuffer.module.exports.TextBuffer.transact (/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/text-buffer.js:697:27)
  at TextEditor.module.exports.TextEditor.transact (/Applications/Atom.app/Contents/Resources/app/src/text-editor.js:1211:26)
  at atom-text-editor.<anonymous> (/Users/erik.baldwin/.atom/packages/emmet/lib/emmet.coffee:57:24)
  at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app/src/command-registry.js:242:29)
  at /Applications/Atom.app/Contents/Resources/app/src/command-registry.js:3:61
  at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app/node_modules/atom-keymap/lib/keymap-manager.js:552:16)
  at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app/node_modules/atom-keymap/lib/keymap-manager.js:392:22)
  at HTMLDocument.module.exports.WindowEventHandler.onKeydown (/Applications/Atom.app/Contents/Resources/app/src/window-event-handler.js:180:20)

Commands

     -1:32.1 core:move-left (atom-text-editor.editor)
     -1:30.3 core:save (atom-text-editor.editor)
  6x -1:22.3 core:undo (atom-text-editor.editor)
  2x -1:18.5 core:move-down (atom-text-editor.editor)
  5x -1:17.3 core:move-up (atom-text-editor.editor)
     -1:15.0 editor:move-to-end-of-screen-line (atom-text-editor.editor)
     -1:11.9 emmet:insert-formatted-line-break-only (atom-text-editor.editor)
     -1:11.7 editor:newline (atom-text-editor.editor)
  9x -1:07.8 core:backspace (atom-text-editor.editor)
     -0:58.8 emmet:expand-abbreviation (atom-text-editor.editor)
     -0:43.3 core:save (atom-text-editor.editor)
     -0:06.9 editor:move-to-first-character-of-line (atom-text-editor.editor)
  3x -0:06.3 core:select-down (atom-text-editor.editor)
     -0:05.5 editor:select-to-end-of-line (atom-text-editor.editor)
     -0:03.6 emmet:expand-abbreviation (atom-text-editor.editor)
     -0:02.1 emmet:wrap-with-abbreviation (atom-text-editor.editor)

Config

{
  "core": {
    "followSymlinks": true,
    "disabledPackages": [
      "welcome",
      "function-name-in-status-bar",
      "tabs-to-spaces",
      "language-css"
    ],
    "themes": [
      "atom-dark-ui-slim",
      "monokai"
    ]
  },
  "emmet": {}
}

Installed Packages

# User
Atom-Syntax-highlighting-for-Sass, v0.5.0
assign-align, v0.1.0
atom-beautify, v0.23.4
atom-color-highlight, v3.0.8
atom-dark-ui-slim, v0.47.1
atom-jshint, v1.5.0
auto-update-packages, v0.2.2
autocomplete-paths, v1.0.2
autocomplete-plus, v2.9.0
emmet, v2.3.7
file-icons, v1.5.4
highlight-column, v0.3.2
highlight-line, v0.10.1
language-css-plus, v0.3.0
language-html-swig, v1.4.0
linter, v0.12.0
linter-php, v0.0.12
minifier, v0.2.0
minimap, v4.7.6
minimap-git-diff, v4.1.2
monokai, v0.13.0
php-twig, v3.0.0
raml, v0.1.0
trailing-spaces, v0.2.4

# Dev
No dev packages

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

ThatGuyCND avatar Apr 09 '15 04:04 ThatGuyCND

Hi!

I get the same error with the following steps:

  1. In a CSS file, add the rule "box-sizing: border-box;"
  2. Select the whole line
  3. Choose Packages > Emmet > Expand abbreviation

Atom Version: 1.0.2 System: Windows 7 Professional 64bits Thrown From: emmet package, v2.3.12

Stack Trace

Uncaught Error: Endless loop detected

At C:\Users\whooot\AppData\Local\atom\app-1.0.2\resources\app.asar\node_modules\text-buffer\lib\text-buffer.js:745

Error: Endless loop detected
  at parseAbbreviation (C:\Users\whooot\.atom\packages\emmet\node_modules\emmet\lib\parser\abbreviation.js:566:10)
  at Object.parse (C:\Users\whooot\.atom\packages\emmet\node_modules\emmet\lib\parser\abbreviation.js:890:15)
  at Object.expand (C:\Users\whooot\.atom\packages\emmet\node_modules\emmet\lib\parser\abbreviation.js:957:26)
  at Object.handlers.add.order [as fn] (C:\Users\whooot\.atom\packages\emmet\node_modules\emmet\lib\action\expandAbbreviation.js:65:25)
  at C:\Users\whooot\.atom\packages\emmet\node_modules\emmet\lib\assets\handlerList.js:93:19
  at C:\Users\whooot\.atom\packages\emmet\node_modules\emmet\lib\utils\common.js:600:10
  at Array.some (native)
  at Object.find (C:\Users\whooot\.atom\packages\emmet\node_modules\emmet\lib\utils\common.js:599:9)
  at Object.HandlerList.exec (C:\Users\whooot\.atom\packages\emmet\node_modules\emmet\lib\assets\handlerList.js:92:10)
  at Object.expandAbbreviationAction (C:\Users\whooot\.atom\packages\emmet\node_modules\emmet\lib\action\expandAbbreviation.js:110:20)
  at Object.run (C:\Users\whooot\.atom\packages\emmet\node_modules\emmet\lib\action\main.js:150:21)
  at Object.run (C:\Users\whooot\.atom\packages\emmet\node_modules\emmet\lib\emmet.js:81:23)
  at runAction (C:\Users\whooot\.atom\packages\emmet\lib\emmet.coffee:91:9)
  at C:\Users\whooot\.atom\packages\emmet\lib\emmet.coffee:59:9
  at Object.module.exports.exec (C:\Users\whooot\.atom\packages\emmet\lib\editor-proxy.coffee:80:10)
  at C:\Users\whooot\.atom\packages\emmet\lib\emmet.coffee:58:19
  at TextBuffer.module.exports.TextBuffer.transact (C:\Users\whooot\AppData\Local\atom\app-1.0.2\resources\app.asar\node_modules\text-buffer\lib\text-buffer.js:740:18)
  at TextEditor.module.exports.TextEditor.transact (C:\Users\whooot\AppData\Local\atom\app-1.0.2\resources\app.asar\src\text-editor.js:1151:26)
  at atom-text-editor.<anonymous> (C:\Users\whooot\.atom\packages\emmet\lib\emmet.coffee:57:24)
  at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (C:\Users\w.hiver\AppData\Local\atom\app-1.0.2\resources\app.asar\src\command-registry.js:241:29)
  at CommandRegistry.handleCommandEvent (C:\Users\whooot\AppData\Local\atom\app-1.0.2\resources\app.asar\src\command-registry.js:3:61)
  at CommandRegistry.module.exports.CommandRegistry.dispatch (C:\Users\whooot\AppData\Local\atom\app-1.0.2\resources\app.asar\src\command-registry.js:156:19)
  at EventEmitter.<anonymous> (C:\Users\whooot\AppData\Local\atom\app-1.0.2\resources\app.asar\src\window-event-handler.js:70:30)
  at emitOne (events.js:77:13)
  at EventEmitter.emit (events.js:166:7)

Commands

  3x -1:02.7.0 core:move-up (atom-text-editor.editor.is-focused)
     -1:01.3.0 emmet:insert-formatted-line-break-only (atom-text-editor.editor.is-focused)
     -1:01.3.0 docblockr:parse-enter (atom-text-editor.editor.is-focused)
     -1:01.3.0 editor:newline (atom-text-editor.editor.is-focused)
     -0:59.4.0 emmet:expand-abbreviation-with-tab (atom-text-editor.editor.is-focused.autocomplete-active)
     -0:53.1.0 core:move-right (atom-text-editor.editor.is-focused)
  4x -0:52.6.0 core:delete (atom-text-editor.editor.is-focused)
     -0:41.9.0 core:move-up (atom-text-editor.editor.is-focused)
     -0:41.4.0 core:move-left (atom-text-editor.editor.is-focused)
     -0:40.6.0 editor:consolidate-selections (atom-text-editor.editor.is-focused)
  2x -0:40.2.0 core:move-up (atom-text-editor.editor.is-focused)
 12x -0:38.6.0 core:move-left (atom-text-editor.editor.is-focused)
     -0:30.6.0 emmet:expand-abbreviation (atom-text-editor.editor.is-focused)
  2x -0:28.9.0 core:backspace (atom-text-editor.editor.is-focused)
     -0:27.9.0 core:delete (atom-text-editor.editor.is-focused)
     -0:14.7.0 emmet:expand-abbreviation (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "disabledPackages": [
      "javascript-snippets",
      "save-session",
      "language-mustache",
      "feedback",
      "language-clojure",
      "language-go",
      "language-less",
      "language-make",
      "language-objective-c",
      "language-perl",
      "language-python",
      "language-ruby",
      "language-ruby-on-rails",
      "language-sass",
      "language-sql",
      "language-toml",
      "release-notes",
      "styleguide",
      "welcome",
      "line-count",
      "open-on-github",
      "linter-csslint",
      "auto-detect-indentation"
    ],
    "themes": [
      "one-light-ui",
      "one-light-syntax"
    ],
    "audioBeep": false
  },
  "emmet": {}
}

Installed Packages

# User
atom-ternjs, v0.7.0
compare-files, v0.6.2
docblockr, v0.7.3
emmet, v2.3.12
language-smarty, v1.2.0
linter, v1.2.4
linter-jshint, v1.1.4
linter-php, v1.0.2
symbols-tree-view, v0.9.3

# Dev
No dev packages

whiver avatar Jul 29 '15 06:07 whiver

So, how to solve this? I got this Error also when typed "SHIFT" + "TAB" :confused:

nmfzone avatar Oct 10 '15 11:10 nmfzone

I changed my emmet expand abbreviation from CTRL-E to TAB and now I cannot indent my code plus I keep getting the error above

PhillipMwaniki avatar Nov 16 '15 05:11 PhillipMwaniki

I hit ctrl E with this selected: 4096+ 4096+ 4096+ 131342+ 4096+ 20480+ 12288+ 12288+ 20480+ 12288+ 4096 and got this error..

nqthqn avatar Dec 29 '15 00:12 nqthqn

@PhillipMwaniki i think because another keymap used TAB already. You may choose another.

nmfzone avatar Dec 29 '15 09:12 nmfzone

I had this issue and it's now fixed. It was because I had two emmet expand abbreviation commands assigned to the tab key.

I had this in my custom keymap:

'atom-text-editor:not([mini])': 'tab': 'emmet:expand-abbreviation'

Then I found this in the Keybindings tab in settings:

emmet-keybinding

I removed my keymap entry and I no longer get the error. I may have added the keymap for an earlier version of the plugin.

kh82 avatar Jul 29 '16 00:07 kh82

I receive the same error when a vertical block of 5 inputs is selected, and then I press control-e to expand in Emmet.

jm3 avatar Jun 03 '17 00:06 jm3

I receive the same error when a vertical block of 5 inputs is selected, and then I press control-e to expand in Emmet.

Shouldn't this be done using input*5?

brndto avatar Mar 25 '19 05:03 brndto