diff --git a/core/core-eval.el b/core/core-eval.el index 864565df4..95620e85d 100644 --- a/core/core-eval.el +++ b/core/core-eval.el @@ -21,17 +21,16 @@ (defvar repl-p nil) (make-variable-buffer-local 'repl-p) - (defun narf|repl-init () + (add-hook! repl-toggle-mode (yascroll-bar-mode +1) (evil-initialize-state 'emacs) (setq mode-line-format nil repl-p t)) - (add-hook! repl-toggle-mode 'narf|repl-init) + :config (map! :map repl-toggle-mode-map :i "C-n" 'comint-next-input - :i "C-p" 'comint-previous-input) - ) + :i "C-p" 'comint-previous-input)) (provide 'core-eval) ;;; core-eval.el ends here diff --git a/core/core-popup.el b/core/core-popup.el index 78d0a888a..31d746b39 100644 --- a/core/core-popup.el +++ b/core/core-popup.el @@ -176,8 +176,7 @@ (cond ((and (derived-mode-p 'comint-mode) (featurep 'repl-toggle) repl-toggle-mode) - (setq rtog/--last-buffer nil - narf-repl-buffer nil)) + (setq rtog/--last-buffer nil)) ((eq major-mode 'messages-buffer-mode) (bury-buffer) (setq dont-kill t))) diff --git a/modules/module-lisp.el b/modules/module-lisp.el index 47f44f9a3..ef094f62e 100644 --- a/modules/module-lisp.el +++ b/modules/module-lisp.el @@ -1,9 +1,16 @@ ;;; module-lisp --- all things lisp ;; see lib/elisp-defuns.el -(define-repl! emacs-lisp-mode ielm) (add-hook! emacs-lisp-mode 'turn-on-eldoc-mode) +;; Pop-up REPL +(defun narf-inf-ielm () + (ielm) + (let ((buf (current-buffer))) + (bury-buffer) + (pop-to-buffer buf))) +(define-repl! emacs-lisp-mode narf-inf-ielm) + ;; [pedantry intensifies] (defadvice emacs-lisp-mode (after emacs-lisp-mode-rename-modeline activate) (setq mode-name "Elisp"))