emacs-plus
emacs-plus copied to clipboard
Exception when clicking Ctrl+G , IntelliJ IDEA 2022.3.2 (Community Edition, Mac), Cursive 1.12.7-2022.3
com.intellij.diagnostic.PluginException: Cannot create class com.mulgasoft.emacsplus.actions.wrapper.KeyboardQuit (classloader=PluginClassLoader(plugin=PluginDescriptor(name=Emacs+ Patched, id=com.cursive-ide.emacsplus, descriptorPath=plugin.xml, path=~/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/223.8617.56/IntelliJ IDEA CE.app.plugins/emacs-plus, version=0.3.900, package=null, isBundled=false), packagePrefix=null, instanceId=8, state=active))
at com.intellij.serviceContainer.ComponentManagerImpl.instantiateClass(ComponentManagerImpl.kt:989)
at com.intellij.serviceContainer.ComponentManagerImpl.instantiateClass(ComponentManagerImpl.kt:1006)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.instantiate(ActionManagerImpl.java:202)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.convertStub(ActionManagerImpl.java:187)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.getActionImpl(ActionManagerImpl.java:534)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.getAction(ActionManagerImpl.java:523)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.addActionsFromActiveKeymap(IdeKeyEventDispatcher.java:822)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.updateCurrentContext(IdeKeyEventDispatcher.java:781)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.inInitState(IdeKeyEventDispatcher.java:454)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.dispatchKeyEvent(IdeKeyEventDispatcher.java:225)
at com.intellij.ide.IdeEventQueue.dispatchKeyEvent(IdeEventQueue.java:815)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:750)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$5(IdeEventQueue.java:437)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:787)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:436)
at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:113)
at com.intellij.ide.IdeEventQueue.performActivity(IdeEventQueue.java:615)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:434)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:838)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:480)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)
Caused by: java.lang.UnsupportedOperationException: TextComponentEditorAction is updated on EDT only and must not work in injected context
at com.intellij.openapi.editor.actions.TextComponentEditorAction.setInjectedContext(TextComponentEditorAction.java:39)
at com.mulgasoft.emacsplus.actions.wrapper.KeyboardQuit.
As result Ctrl+G doesn't work and KeyMap preference is reset to standard in the next starting. I think removing QuitKeyboard Action can help. Ctrl+G can be mapped to Escape action.
I believe I fixed this in https://github.com/aiguofer/emacs-plus. You can clone it, run ./gradlew build, and install the jar in build/libs/emacs-plus-0.3.901.jar