summaryrefslogtreecommitdiff
path: root/elisp/geiser-popup.el
diff options
context:
space:
mode:
Diffstat (limited to 'elisp/geiser-popup.el')
-rw-r--r--elisp/geiser-popup.el10
1 files changed, 4 insertions, 6 deletions
diff --git a/elisp/geiser-popup.el b/elisp/geiser-popup.el
index a9a7b5f..582d5a3 100644
--- a/elisp/geiser-popup.el
+++ b/elisp/geiser-popup.el
@@ -42,20 +42,18 @@
(defun ,get-buff ()
(or (get-buffer ,name)
(with-current-buffer (get-buffer-create ,name)
- (,mode)
+ (funcall ',mode)
(geiser-popup--setup-view-mode)
(current-buffer))))
(defun ,pop-buff (&optional ,method)
- (let ((,buffer (,get-buff)))
+ (let ((,buffer (funcall ',get-buff)))
(unless (eq ,buffer (current-buffer))
(cond ((eq ,method 'buffer) (view-buffer ,buffer))
((eq ,method 'frame) (view-buffer-other-frame ,buffer))
(t (view-buffer-other-window ,buffer))))))
(defmacro ,with-macro (&rest body)
- (let ((buff ',get-buff))
- `(with-current-buffer (funcall ',buff)
- (let ((inhibit-read-only t))
- ,@body))))
+ (list 'with-current-buffer (list ',get-buff)
+ (cons 'let (cons '((inhibit-read-only t)) body))))
(put ',with-macro 'lisp-indent-function 'defun))))
(put 'geiser-popup--define 'lisp-indent-function 1)