{"action":"created","issue":{"url":"https://api.github.com/repos/donkirkby/live-py-plugin/issues/124","repository_url":"https://api.github.com/repos/donkirkby/live-py-plugin","labels_url":"https://api.github.com/repos/donkirkby/live-py-plugin/issues/124/labels{/name}","comments_url":"https://api.github.com/repos/donkirkby/live-py-plugin/issues/124/comments","events_url":"https://api.github.com/repos/donkirkby/live-py-plugin/issues/124/events","html_url":"https://github.com/donkirkby/live-py-plugin/issues/124","id":236015723,"number":124,"title":"PyCharm complains about changes during undo","user":{"login":"donkirkby","id":1639148,"avatar_url":"https://avatars1.githubusercontent.com/u/1639148?v=4","gravatar_id":"","url":"https://api.github.com/users/donkirkby","html_url":"https://github.com/donkirkby","followers_url":"https://api.github.com/users/donkirkby/followers","following_url":"https://api.github.com/users/donkirkby/following{/other_user}","gists_url":"https://api.github.com/users/donkirkby/gists{/gist_id}","starred_url":"https://api.github.com/users/donkirkby/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/donkirkby/subscriptions","organizations_url":"https://api.github.com/users/donkirkby/orgs","repos_url":"https://api.github.com/users/donkirkby/repos","events_url":"https://api.github.com/users/donkirkby/events{/privacy}","received_events_url":"https://api.github.com/users/donkirkby/received_events","type":"User","site_admin":false},"labels":[{"id":5041111,"url":"https://api.github.com/repos/donkirkby/live-py-plugin/labels/bug","name":"bug","color":"fc2929","default":true},{"id":215583310,"url":"https://api.github.com/repos/donkirkby/live-py-plugin/labels/ready","name":"ready","color":"ededed","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/donkirkby/live-py-plugin/milestones/21","html_url":"https://github.com/donkirkby/live-py-plugin/milestone/21","labels_url":"https://api.github.com/repos/donkirkby/live-py-plugin/milestones/21/labels","id":2734966,"number":21,"title":"2.17 - PyCharm launch","description":"","creator":{"login":"donkirkby","id":1639148,"avatar_url":"https://avatars1.githubusercontent.com/u/1639148?v=4","gravatar_id":"","url":"https://api.github.com/users/donkirkby","html_url":"https://github.com/donkirkby","followers_url":"https://api.github.com/users/donkirkby/followers","following_url":"https://api.github.com/users/donkirkby/following{/other_user}","gists_url":"https://api.github.com/users/donkirkby/gists{/gist_id}","starred_url":"https://api.github.com/users/donkirkby/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/donkirkby/subscriptions","organizations_url":"https://api.github.com/users/donkirkby/orgs","repos_url":"https://api.github.com/users/donkirkby/repos","events_url":"https://api.github.com/users/donkirkby/events{/privacy}","received_events_url":"https://api.github.com/users/donkirkby/received_events","type":"User","site_admin":false},"open_issues":5,"closed_issues":5,"state":"open","created_at":"2017-08-31T06:09:09Z","updated_at":"2017-09-09T23:22:54Z","due_on":"2017-09-30T07:00:00Z","closed_at":null},"comments":0,"created_at":"2017-06-14T21:31:07Z","updated_at":"2017-09-10T02:04:35Z","closed_at":null,"author_association":"OWNER","body":"Steps to reproduce:\r\n\r\n1. Add a new Python file to your project.\r\n2. Start live coding.\r\n3. Type a single line: `s = 'hello world'`\r\n4. Delete the word \"world\".\r\n5. Type <kbd>Ctrl</kbd>+<kbd>Z</kbd>.\r\n\r\nExpected result: the word \"world\" reappears.\r\nActual result: the word reappears, as well as an error notice:\r\n\r\n```\r\nDo not change documents during undo as it will break undo sequence.\r\njava.lang.IllegalStateException: Do not change documents during undo as it will break undo sequence.\r\n\tat com.intellij.openapi.command.impl.DocumentUndoProvider$MyEditorDocumentListener.beforeDocumentChange(DocumentUndoProvider.java:70)\r\n\tat sun.reflect.GeneratedMethodAccessor121.invoke(Unknown Source)\r\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n\tat java.lang.reflect.Method.invoke(Method.java:498)\r\n\tat com.intellij.util.EventDispatcher.dispatch(EventDispatcher.java:99)\r\n\tat com.intellij.util.EventDispatcher.access$200(EventDispatcher.java:35)\r\n\tat com.intellij.util.EventDispatcher$2.invoke(EventDispatcher.java:79)\r\n\tat com.sun.proxy.$Proxy22.beforeDocumentChange(Unknown Source)\r\n\tat com.intellij.openapi.editor.impl.DocumentImpl.a(DocumentImpl.java:756)\r\n\tat com.intellij.openapi.editor.impl.DocumentImpl.a(DocumentImpl.java:722)\r\n\tat com.intellij.openapi.editor.impl.DocumentImpl.a(DocumentImpl.java:595)\r\n\tat com.intellij.openapi.editor.impl.DocumentImpl.access$500(DocumentImpl.java:60)\r\n\tat com.intellij.openapi.editor.impl.DocumentImpl$6.run(DocumentImpl.java:1010)\r\n\tat com.intellij.openapi.command.impl.CoreCommandProcessor.a(CoreCommandProcessor.java:141)\r\n\tat com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:109)\r\n\tat com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:99)\r\n\tat com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:85)\r\n\tat com.intellij.openapi.editor.impl.DocumentImpl.setText(DocumentImpl.java:1017)\r\n\tat io.github.donkirkby.livepycharm.LiveCodingAnalyst.lambda$documentChanged$0(LiveCodingAnalyst.java:82)\r\n\tat com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:934)\r\n\tat io.github.donkirkby.livepycharm.LiveCodingAnalyst.documentChanged(LiveCodingAnalyst.java:81)\r\n\tat com.intellij.openapi.editor.impl.DocumentImpl.a(DocumentImpl.java:791)\r\n\tat com.intellij.openapi.editor.impl.DocumentImpl.a(DocumentImpl.java:727)\r\n\tat com.intellij.openapi.editor.impl.DocumentImpl.insertString(DocumentImpl.java:485)\r\n\tat com.intellij.openapi.command.impl.EditorChangeAction.a(EditorChangeAction.java:104)\r\n\tat com.intellij.openapi.command.impl.EditorChangeAction.performUndo(EditorChangeAction.java:78)\r\n\tat com.intellij.openapi.command.impl.EditorChangeAction.undo(EditorChangeAction.java:65)\r\n\tat com.intellij.openapi.command.impl.UndoableGroup.a(UndoableGroup.java:142)\r\n\tat com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:934)\r\n\tat com.intellij.openapi.command.impl.UndoableGroup.a(UndoableGroup.java:124)\r\n\tat com.intellij.openapi.command.impl.UndoableGroup.c(UndoableGroup.java:112)\r\n\tat com.intellij.openapi.command.impl.UndoableGroup.undo(UndoableGroup.java:94)\r\n\tat com.intellij.openapi.command.impl.Undo.performAction(Undo.java:46)\r\n\tat com.intellij.openapi.command.impl.UndoRedo.execute(UndoRedo.java:143)\r\n\tat com.intellij.openapi.command.impl.CommandMerger.undoOrRedo(CommandMerger.java:217)\r\n\tat com.intellij.openapi.command.impl.UndoManagerImpl.a(UndoManagerImpl.java:412)\r\n\tat com.intellij.openapi.command.impl.CoreCommandProcessor.a(CoreCommandProcessor.java:149)\r\n\tat com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:109)\r\n\tat com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:99)\r\n\tat com.intellij.openapi.command.impl.UndoManagerImpl.b(UndoManagerImpl.java:424)\r\n\tat com.intellij.openapi.command.impl.UndoManagerImpl.undo(UndoManagerImpl.java:392)\r\n\tat com.intellij.ide.actions.UndoAction.perform(UndoAction.java:30)\r\n\tat com.intellij.ide.actions.UndoRedoAction.actionPerformed(UndoRedoAction.java:39)\r\n\tat com.intellij.openapi.actionSystem.ex.ActionUtil$1.run(ActionUtil.java:199)\r\n\tat com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:215)\r\n\tat com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher$1.performAction(IdeKeyEventDispatcher.java:587)\r\n\tat com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.a(IdeKeyEventDispatcher.java:634)\r\n\tat com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:204)\r\n\tat com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction(IdeKeyEventDispatcher.java:633)\r\n\tat com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.c(IdeKeyEventDispatcher.java:477)\r\n\tat com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.dispatchKeyEvent(IdeKeyEventDispatcher.java:211)\r\n\tat com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:657)\r\n\tat com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:391)\r\n\tat java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)\r\n\tat java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)\r\n\tat java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)\r\n\tat java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)\r\n\tat java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)\r\n\tat java.awt.EventDispatchThread.run(EventDispatchThread.java:82)\r\n\r\n```"},"comment":{"url":"https://api.github.com/repos/donkirkby/live-py-plugin/issues/comments/328314678","html_url":"https://github.com/donkirkby/live-py-plugin/issues/124#issuecomment-328314678","issue_url":"https://api.github.com/repos/donkirkby/live-py-plugin/issues/124","id":328314678,"user":{"login":"donkirkby","id":1639148,"avatar_url":"https://avatars1.githubusercontent.com/u/1639148?v=4","gravatar_id":"","url":"https://api.github.com/users/donkirkby","html_url":"https://github.com/donkirkby","followers_url":"https://api.github.com/users/donkirkby/followers","following_url":"https://api.github.com/users/donkirkby/following{/other_user}","gists_url":"https://api.github.com/users/donkirkby/gists{/gist_id}","starred_url":"https://api.github.com/users/donkirkby/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/donkirkby/subscriptions","organizations_url":"https://api.github.com/users/donkirkby/orgs","repos_url":"https://api.github.com/users/donkirkby/repos","events_url":"https://api.github.com/users/donkirkby/events{/privacy}","received_events_url":"https://api.github.com/users/donkirkby/received_events","type":"User","site_admin":false},"created_at":"2017-09-10T02:04:35Z","updated_at":"2017-09-10T02:04:35Z","author_association":"OWNER","body":"I think this might get fixed if I move the analysis to a timer, as it's done in the Eclipse version. That might also fix #133."}}
{"actor":{"display_login":"donkirkby"}}