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.

  • cloudyearningsOPB
    link
    fedilink
    English
    arrow-up
    1
    ·
    11 months ago

    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:

    (defun nconc-safe (ls1 ls2)
      (let ((tail ls1))
        (while (and (cdr tail) (not (eq tail ls2)))
          (setq tail (cdr tail)))
        (unless (eq tail ls2)
          (if (null tail)
              (setq ls1 ls2)
            (setcdr tail ls2)))
        ls1))
    
    (defun my-paredit-hook ()
      (enable-paredit-mode)
      (nconc-safe paredit-commands
                  '("Extreme Barfage & Slurpage"
                    (("C-M-)")
                     'paredit-slurp-all-the-way-forward
                     ("(foo (bar |baz) quux zot)"
                      "(foo (bar |baz quux zot))")
                     ("(a b ((c| d)) e f)"
                      "(a b ((c| d)) e f)")
                     )
                    (("C-M-}" "M-F")
                     'paredit-barf-all-the-way-forward
                     ("(foo (bar |baz quux) zot)"
                      "(foo (bar|) baz quux zot)")
                     )
                    (("C-M-(")
                     'paredit-slurp-all-the-way-backward
                     ("(foo bar (baz| quux) zot)"
                      "((foo bar baz| quux) zot)")
                     ("(a b ((c| d)) e f)"
                      "(a b ((c| d)) e f)")
                     )
                    (("C-M-{" "M-B")
                     'paredit-barf-all-the-way-backward
                     ("(foo (bar baz |quux) zot)"
                      "(foo bar baz (|quux) zot)")))))
    
    ;; Commenting out this line solved the issue
    ;;(add-hook 'eval-expression-minibuffer-setup-hook #'my-paredit-hook)
    

    I think it must have been that (enable-paredit-mode) overrode the RET binding.