akermu / emacs-libvterm

Emacs libvterm integration
GNU General Public License v3.0
1.72k stars 137 forks source link

Possible infinite recursion when copying keymap #512

Open tsoernes opened 3 years ago

tsoernes commented 3 years ago

I use doom emacs. When M-x vterm I get Possible infinite recursion when copying keymap. I have reduced the entirety of my config.el and init.el down to this: config.el:

;;; .doom.d/config.el -*- lexical-binding: t; -*-
(load! "bindings/+bindings")

+bindings:

;;; ~/.doom.d/+bindings.el -*- lexical-binding: t; -*-

;;; config/default/+bindings.el -*- lexical-binding: t; -*-
(map! :leader
      (:desc "help" :prefix "h"
       :n "h" help-map
      )
Sbozzolo commented 3 years ago

This is likely due to something in your configuration/Doom. First, I would suggest to start from a clean installation, maybe there's you are loading something that you shouldn't.

tsoernes commented 3 years ago

That is the entirety of my configuration, in addition to: packages.el:

;; -*- no-byte-compile: t; -*-
;;; .doom.d/packages.el
(package! winum)
(package! evil-matchit)
(package! ripgrep)
(package! deadgrep)
(package! color-theme-modern)
(package! webpaste)
(package! treemacs-persp)
(package! eterm-256color)
(package! imenu-list)
(package! yapfify)
(package! zeal-at-point)
(package! company-tabnine)
(package! elisp-format)
(package! solaire-mode :disable t)

init.el:

``` ;;; init.el -*- lexical-binding: t; -*- ;; Copy this file to ~/.doom.d/init.el or ~/.config/doom/init.el ('doom install' ;; will do this for you). The `doom!' block below controls what modules are ;; enabled and in what order they will be loaded. Remember to run 'doom refresh' ;; after modifying it. ;; ;; More information about these modules (and what flags they support) can be ;; found in modules/README.org. ;; (add-to-list 'load-path "~/progs/emacs-libvterm") ;; (require 'vterm) (doom! :input ;;chinese ;;japanese :completion company ; the ultimate code completion backend helm ; the *other* search engine for love and life ;;ido ; the other *other* search engine... ;;ivy ; a search engine for love and life :ui ;;deft ; notational velocity for Emacs doom ; what makes DOOM look the way it does doom-dashboard ; a nifty splash screen for Emacs ;; doom-quit ; DOOM quit-message prompts when you quit Emacs ;;fill-column ; a `fill-column' indicator hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW ;;hydra ;;indent-guides ; highlighted indent columns modeline ; snazzy, Atom-inspired modeline, plus API nav-flash ; blink the current line after jumping ;;neotree ; a project drawer, like NERDTree for vim ophints ; highlight the region an operation acts on (popup ; tame sudden yet inevitable temporary windows +all ; catch all popups that start with an asterix +defaults) ; default popup rules ;;pretty-code ; replace bits of code with pretty symbols ;;tabs ; an tab bar for Emacs treemacs ; a project drawer, like neotree but cooler ;;unicode ; extended unicode support for various languages vc-gutter ; vcs diff in the fringe vi-tilde-fringe ; fringe tildes to mark beyond EOB (window-select +numbers) ; visually switch windows workspaces ; tab emulation, persistence & separate workspaces :editor (evil +everywhere); come to the dark side, we have cookies file-templates ; auto-snippets for empty files fold ; (nigh) universal code folding (format +onsave) ; automated prettiness ;;god ; run Emacs commands without modifier keys ;;lispy ; vim for lisp, for people who don't like vim multiple-cursors ; editing in many places at once ;;objed ; text object editing for the innocent ;;parinfer ; turn lisp into python, sort of rotate-text ; cycle region at point between text candidates snippets ; my elves. They type so I don't have to word-wrap ; soft wrapping with language-aware indent :emacs dired ; making dired pretty [functional] electric ; smarter, keyword-based electric-indent ibuffer ; interactive buffer management undo vc ; version-control and Emacs, sitting in a tree :term ;;eshell ; a consistent, cross-platform shell (WIP) ;;shell ; a terminal REPL for Emacs ;;term ; terminals in Emacs vterm ; another terminals in Emacs :tools ;;ansible ;;debugger ; FIXME stepping through code, to help you add bugs ;;direnv ;;docker ;;editorconfig ; let someone else argue about tabs vs spaces ;;ein ; tame Jupyter notebooks with emacs (eval +overlay) ; run code, run (also, repls) ;;flyspell ; tasing you for misspelling mispelling ;;gist ; interacting with github gists (lookup ; helps you navigate your code and documentation +docsets) ; ...or in Dash docsets locally lsp ;;macos ; MacOS-specific commands magit ; a git porcelain for Emacs ;;make ; run make tasks from Emacs ;;pass ; password manager for nerds ;;pdf ; pdf enhancements ;;prodigy ; FIXME managing external services & code builders ;;rgb ; creating color strings ;;terraform ; infrastructure as code ;;tmux ; an API for interacting with tmux ;;upload ; map local to remote projects via ssh/ftp :checkers syntax :lang ;;agda ; types of types of types of types... ;;assembly ; assembly for fun or debugging ;;cc ; C/C++/Obj-C madness ;;clojure ; java with a lisp ;;common-lisp ; if you've seen one lisp, you've seen them all ;;coq ; proofs-as-programs ;;crystal ; ruby at the speed of c ;;csharp ; unity, .NET, and mono shenanigans data ; config/data formats ;;elixir ; erlang done right ;;elm ; care for a cup of TEA? emacs-lisp ; drown in parentheses ;;erlang ; an elegant language for a more civilized age ;;ess ; emacs speaks statistics ;;faust ; dsp, but you get to keep your soul ;;fsharp ; ML stands for Microsoft's Language ;;go ; the hipster dialect ;;(haskell +dante) ; a language that's lazier than I am ;;hy ; readability of scheme w/ speed of python ;;idris ; ;;(java +meghanada) ; the poster child for carpal tunnel syndrome javascript ; all(hope(abandon(ye(who(enter(here)))))) ;;julia ; a better, faster MATLAB ;;kotlin ; a better, slicker Java(Script) ;;latex ; writing papers in Emacs has never been so fun ;;lean ;;factor ;;ledger ; an accounting system in Emacs ;;lua ; one-based indices? one-based indices markdown ; writing docs for people to ignore ;;nim ; python + lisp at the speed of c ;;nix ; I hereby declare "nix geht mehr!" ;;ocaml ; an objective camel (org ; organize your plain life in plain text +dragndrop ; drag & drop files/images into org buffers ;;+hugo ; use Emacs for hugo blogging +ipython ; ipython/jupyter support for babel +pandoc ; export-with-pandoc support ;;+pomodoro ; be fruitful with the tomato technique +present) ; using org-mode for presentations ;;perl ; write code no one else can comprehend ;;php ; perl's insecure younger brother ;;plantuml ; diagrams for confusing people more ;;purescript ; javascript, but functional (python ; beautiful is better than ugly +lsp ;; +pyright ;; +pyenv ) ;;qt ; the 'cutest' gui framework ever ;;racket ; a DSL for DSLs ;;rest ; Emacs as a REST client ;;rst ; ReST in peace ;;ruby ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"} rust ; Fe2O3.unwrap().unwrap().unwrap().unwrap() ;;scala ; java, but good ;;scheme ; a fully conniving family of lisps sh ; she sells {ba,z,fi}sh shells on the C xor ;;solidity ; do you need a blockchain? No. ;;swift ; who asked for emoji variables? ;;terra ; Earth and Moon in alignment for performance. ;;web ; the tubes :email ;;(mu4e +gmail) ;;notmuch ;;(wanderlust +gmail) :app ;;calendar ;;irc ; how neckbeards socialize ;;(rss +org) ; emacs as an RSS reader ;;twitter ; twitter client https://twitter.com/vnought ;;write ; emacs for writers (fiction, notes, papers, etc.) :config ;;literate (default +bindings +smartparens) ) ;;(default +smartparens)) (custom-set-variables '(custom-safe-themes (quote ("a455366c5cdacebd8adaa99d50e37430b0170326e7640a688e9d9ad406e2edfd" "8e7044bfad5a2e70dfc4671337a4f772ee1b41c5677b8318f17f046faa42b16b" "335ad769bcd7949d372879ec10105245255beec6e62213213835651e2eb0b8e0" default)))) (custom-set-faces '(vterm-color-blue ((t (:inherit term-color-blue :foreground "deep sky blue"))))) ```
Sbozzolo commented 3 years ago

Can you reproduce the problem with a completely clean setup with your configuration (that is, installing again Doom)? If not, then your problem is solved. If yes, can you reproduce with a barebone Doom installation? If not, then you should bisect your configuration to find the offending package. If yes, can you reproduce without Doom? If not, then it is a Doom problem, if yes, then we will try to understand what is the issue and fix it.