When I hit the “enter” key, it just goes to the next line and doesn’t evaluate the expression.
I tried searching to see if anyone else had experienced this, but I can’t find anything. My bad if this is a simple question, but I just haven’t been able to figure it out.
It’s inconvenient, because oftentimes, there is no M-x equivalent of an S-expression, so I have no way to do something that requires a call to an Emacs Lisp function.
We’re expecting RET to perform
minibuffer-exit
. That’s the default keybinding fromminibuffer-mode-map
. Perhaps another keybinding (from another minor-mode keymap, say) is overriding the minibuffer’s RET binding.Hmmm, this sounds familiar. I had this problem last year.
Do you have Paredit mode enabled in the minibuffer? (You might look at the value of
eval-expression-minibuffer-setup-hook
.)The
paredit-mode-map
has theparedit-RET
command bound to RET instead. This command usually puts a new line in place.It was exactly this. I had a setup hook that was messing it up. Disabling it fixed the issue. Thanks for this post! This was the hook:
I think it must have been that
(enable-paredit-mode)
overrode the RET binding.