branch: elpa/pacmacs
commit d980f5dbe239e7bcb86eb20cc101e078f973e52e
Author: rexim <[email protected]>
Commit: rexim <[email protected]>
Introduce with-render-target macro (#203)
---
pacmacs-render.el | 6 ++++++
pacmacs.el | 19 +++++++++----------
2 files changed, 15 insertions(+), 10 deletions(-)
diff --git a/pacmacs-render.el b/pacmacs-render.el
index 34943ee468..0e16f49dd9 100644
--- a/pacmacs-render.el
+++ b/pacmacs-render.el
@@ -38,6 +38,12 @@
(defvar pacmacs--life-icon nil)
+(defmacro with-render-target (render-target-buffer &rest body)
+ (declare (indent 1) (debug (sexp &rest form)))
+ `(with-current-buffer ,render-target-buffer
+ (let ((inhibit-read-only t))
+ ,@body)))
+
(defun pacmacs--render-empty-cell ()
(pacmacs-insert-image (pacmacs--create-wall-tile
40 40
diff --git a/pacmacs.el b/pacmacs.el
index 3fa30d31d3..93ed5d1f4d 100644
--- a/pacmacs.el
+++ b/pacmacs.el
@@ -422,11 +422,10 @@
(pacmacs--switch-to-prepare-state)))))
(when (not (equal pacmacs-game-state 'game-over))
- (with-current-buffer pacmacs-buffer-name
- (let ((inhibit-read-only t))
- (erase-buffer)
- (pacmacs--render-state)
- (goto-char (point-min))))))
+ (with-render-target pacmacs-buffer-name
+ (erase-buffer)
+ (pacmacs--render-state)
+ (goto-char (point-min)))))
(defun pacmacs--step-ghosts ()
(dolist (ghost pacmacs--ghosts)
@@ -740,11 +739,11 @@
(pacmacs--load-map-sign "scores")
- (with-current-buffer pacmacs--score-buffer-name
- (let ((inhibit-read-only t))
- (erase-buffer)
- (pacmacs--render-score-page (-partial #'pacmacs--render-object-board
- pacmacs--object-board)))
+ (with-render-target pacmacs--score-buffer-name
+ (erase-buffer)
+ (pacmacs--render-score-page
+ (-partial #'pacmacs--render-object-board
+ pacmacs--object-board))
(goto-char (point-min))))
(defun pacmacs--wall-tile-at (row column)