From 9ac3b1fea809d761079e004a0c229881f67be3fc Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Mon, 15 May 2017 15:11:32 +0200 Subject: [PATCH] lang/emacs-lisp: refactor +emacs-lisp-eval --- modules/lang/emacs-lisp/autoload.el | 30 +++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/modules/lang/emacs-lisp/autoload.el b/modules/lang/emacs-lisp/autoload.el index b48cf075d..dec98e33a 100644 --- a/modules/lang/emacs-lisp/autoload.el +++ b/modules/lang/emacs-lisp/autoload.el @@ -17,19 +17,21 @@ to a pop up buffer." (require 'pp) (let ((result (eval (read (buffer-substring-no-properties beg end)))) - (buf (get-buffer-create "*eval*")) + (buf (get-buffer-create "*doom eval*")) (inhibit-read-only t) lines) - (with-current-buffer buf - (read-only-mode +1) - (setq-local scroll-margin 0) - (emacs-lisp-mode) - (prin1 result buf) - (pp-buffer) - (setq lines (count-lines (point-min) (point-max))) - (goto-char (point-min)) - (when (<= lines 1) - (message "%s" (buffer-substring (point-min) (point-max))) - (kill-buffer buf))) - (when (> lines 1) - (doom-popup-buffer buf)))) + (unwind-protect + (progn + (with-current-buffer buf + (read-only-mode +1) + (erase-buffer) + (setq-local scroll-margin 0) + (emacs-lisp-mode) + (prin1 result buf) + (pp-buffer) + (setq lines (count-lines (point-min) (point-max))) + (goto-char (point-min)) + (if (> lines 1) + (doom-popup-buffer buf) + (message "%s" (buffer-substring (point-min) (point-max))) + (kill-buffer buf)))))))