emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/ement 96bc0f638e 5/8: Add: (ement-room-leave) FORCE-P a


From: ELPA Syncer
Subject: [elpa] externals/ement 96bc0f638e 5/8: Add: (ement-room-leave) FORCE-P argument
Date: Fri, 23 Sep 2022 14:57:37 -0400 (EDT)

branch: externals/ement
commit 96bc0f638eeaee5aef94b3101df72ec5fa795145
Author: Adam Porter <adam@alphapapa.net>
Commit: Adam Porter <adam@alphapapa.net>

    Add: (ement-room-leave) FORCE-P argument
---
 README.org    | 1 +
 ement-room.el | 8 ++++----
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/README.org b/README.org
index 7fb4664211..9d3a0b991e 100644
--- a/README.org
+++ b/README.org
@@ -286,6 +286,7 @@ Note that, while ~matrix-client~ remains usable, and 
probably will for some time
 *Additions*
 + Command ~ement-directory~ shows a server's room directory.
 + Command ~ement-directory-search~ searches a server's room directory.
++ Command ~ement-leave-room~ accepts a ~FORCE-P~ argument (interactively, with 
prefix) to leave a room without prompting.
 
 *Fixes*
 + Command ~ement-describe-room~ for rooms without topics.
diff --git a/ement-room.el b/ement-room.el
index 81504275e0..89fb45106f 100644
--- a/ement-room.el
+++ b/ement-room.el
@@ -1289,10 +1289,10 @@ buffer).  It receives two arguments, the room and the 
session."
                   (_ (error "Unable to join room %s: %s %S" id-or-alias status 
plz-error))))))))
 (defalias 'ement-join-room #'ement-room-join)
 
-(defun ement-room-leave (room session)
+(defun ement-room-leave (room session &optional force-p)
   "Leave ROOM on SESSION.
-ROOM may be an `ement-room' struct, or a room ID or alias
-string."
+If FORCE-P, leave without prompting.  ROOM may be an `ement-room'
+struct, or a room ID or alias string."
   ;; TODO: Rename `room' argument to `room-or-id'.
   (interactive (ement-complete-room :session (ement-complete-session)))
   (cl-assert room) (cl-assert session)
@@ -1301,7 +1301,7 @@ string."
     (string (setf room (ement-afirst (or (equal room 
(ement-room-canonical-alias it))
                                          (equal room (ement-room-id it)))
                          (ement-session-rooms session)))))
-  (when (yes-or-no-p (format "Leave room %s? " (ement--format-room room)))
+  (when (or force-p (yes-or-no-p (format "Leave room %s? " (ement--format-room 
room))))
     (pcase-let* (((cl-struct ement-room id) room)
                  (endpoint (format "rooms/%s/leave" (url-hexify-string id))))
       (ement-api session endpoint :method 'post :data ""



reply via email to

[Prev in Thread] Current Thread [Next in Thread]