[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/ement cacc1ef79e 2/6: Change: (ement-with-room-and-sess
From: |
ELPA Syncer |
Subject: |
[elpa] externals/ement cacc1ef79e 2/6: Change: (ement-with-room-and-session) Room-list support and argument |
Date: |
Tue, 14 Mar 2023 16:57:59 -0400 (EDT) |
branch: externals/ement
commit cacc1ef79eecd9ee31a76c3c140ccc19d43051db
Author: Adam Porter <adam@alphapapa.net>
Commit: Adam Porter <adam@alphapapa.net>
Change: (ement-with-room-and-session) Room-list support and argument
---
ement-macros.el | 27 ++++++++++++++++-----------
ement-room.el | 4 ++--
2 files changed, 18 insertions(+), 13 deletions(-)
diff --git a/ement-macros.el b/ement-macros.el
index 0b6c9acd6b..cac6b71f3f 100644
--- a/ement-macros.el
+++ b/ement-macros.el
@@ -198,25 +198,30 @@ reporter's min-value to its max-value."
(cl-defmacro ement-with-room-and-session (&rest body)
"Eval BODY with `ement-room' and `ement-session' bound.
-If in an `ement-room' buffer and `current-prefix-arg' is nil, use
-buffer-local value of `ement-room' and `ement-session';
-otherwise, prompt for them with `ement-complete-room'.
+If in an `ement-room-list-mode' buffer and `current-prefix-arg'
+is nil, use the room and session at point. If in an `ement-room'
+buffer and `current-prefix-arg' is nil, use buffer-local value of
+`ement-room' and `ement-session'. Otherwise, prompt for them
+with `ement-complete-room' or that given with :prompt-form.
BODY may begin with property list arguments, including:
- :room-form A Lisp form evaluated for the binding of
- `ement-room'."
+ :prompt-form A Lisp form evaluated for the binding of
+ `ement-room'."
(declare (indent defun))
(pcase-let* ((plist (cl-loop while (keywordp (car body))
append (list (car body) (cadr body))
and do (setf body (cddr body))))
- ((map :room-form) plist)
- (room-form (or room-form
- '(ement-complete-room :suggest t))))
- `(let ((ement-room ement-room)
- (ement-session ement-session))
+ ((map :prompt-form) plist)
+ (prompt-form (or prompt-form
+ '(ement-complete-room :suggest t))))
+ `(pcase-let* ((`[,list-room ,list-session] (if (eq 'ement-room-list-mode
major-mode)
+ (oref
(magit-current-section) value)
+ [nil nil]))
+ (ement-room (or list-room ement-room))
+ (ement-session (or list-session ement-session)))
(when (or current-prefix-arg (not ement-room))
- (pcase-let ((`(,room ,session) ,room-form))
+ (pcase-let ((`(,room ,session) ,prompt-form))
(setf ement-room room
ement-session session)))
,@body)))
diff --git a/ement-room.el b/ement-room.el
index 17a8efeea4..13d9fd2d9d 100644
--- a/ement-room.el
+++ b/ement-room.el
@@ -1820,8 +1820,8 @@ reaction string, e.g. \"👍\"."
"Toggle ROOM's membership in SPACE on SESSION."
(interactive
(ement-with-room-and-session
- :room-form (ement-complete-room :session ement-session
- :predicate (lambda (room) (not (ement--room-space-p room))) )
+ :prompt-form (ement-complete-room :session ement-session
+ :predicate (lambda (room) (not (ement--room-space-p
room))) )
(pcase-let* ((prompt (format "Toggle room %S's membership in space: "
(ement--format-room ement-room)))
;; TODO: Use different face for spaces the room is already
in.
- [elpa] externals/ement updated (fac4b82947 -> 29b15fcae9), ELPA Syncer, 2023/03/14
- [elpa] externals/ement 77e08950a8 4/6: Add: (ement-room-list-kill-buffer), ELPA Syncer, 2023/03/14
- [elpa] externals/ement cacc1ef79e 2/6: Change: (ement-with-room-and-session) Room-list support and argument,
ELPA Syncer <=
- [elpa] externals/ement c687051957 5/6: Change: (ement-room-list) Sort "Buffers" and "Low-priority" groups, ELPA Syncer, 2023/03/14
- [elpa] externals/ement 49f0efc1a3 1/6: Docs: Clarify, ELPA Syncer, 2023/03/14
- [elpa] externals/ement acc5f7fb22 3/6: Change: (ement-room-list-side-window) Make args optional, ELPA Syncer, 2023/03/14
- [elpa] externals/ement 29b15fcae9 6/6: Tidy: Compiler warnings, ELPA Syncer, 2023/03/14