aboutsummaryrefslogtreecommitdiff
path: root/lisp/mastodon.el
diff options
context:
space:
mode:
authormarty hiatt <martianhiatus [a t] riseup [d o t] net>2023-05-04 09:12:23 +0200
committermarty hiatt <martianhiatus [a t] riseup [d o t] net>2023-05-04 09:18:16 +0200
commit59e5e3ece54bcac36d9debad392bff25a31438b5 (patch)
tree8db6eb8de522a0d56c75b1bcb1f482a1fa4b93cb /lisp/mastodon.el
parent51f8b782ac6721939e20eca459fe88eb4304857c (diff)
updates to with-mastodon-buffer macro
Diffstat (limited to 'lisp/mastodon.el')
-rw-r--r--lisp/mastodon.el13
1 files changed, 9 insertions, 4 deletions
diff --git a/lisp/mastodon.el b/lisp/mastodon.el
index fca376d..f52579c 100644
--- a/lisp/mastodon.el
+++ b/lisp/mastodon.el
@@ -255,14 +255,19 @@ mastodon.el needs to be re-loaded for this to be correctly set.")
"Face used for reply text in toot compose buffer.
See `mastodon-toot-display-orig-in-reply-buffer'.")
-(defmacro with-mastodon-buffer (buffer &rest body)
- "Evaluate BODY in a new `mastodon-mode' buffer called BUFFER."
+(defmacro with-mastodon-buffer (buffer mode-fun other-window &rest body)
+ "Evaluate BODY in a new or existing buffer called BUFFER.
+MODE-FUN is called to set the major mode.
+OTHER-WINDOW means call `switch-to-buffer-other-window' rather
+than `switch-to-buffer'."
(declare (debug 'body))
`(with-current-buffer (get-buffer-create ,buffer)
(let ((inhibit-read-only t))
(erase-buffer)
- (switch-to-buffer ,buffer)
- (mastodon-mode)
+ (if ,other-window
+ (switch-to-buffer-other-window ,buffer)
+ (switch-to-buffer ,buffer))
+ (funcall ,mode-fun)
,@body)))
;;;###autoload