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

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

[elpa] externals/ement 91f86323c9 1/2: Tidy


From: ELPA Syncer
Subject: [elpa] externals/ement 91f86323c9 1/2: Tidy
Date: Tue, 9 Jan 2024 03:57:56 -0500 (EST)

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

    Tidy
---
 ement-room.el | 77 ++++++++++++++++++++++++++++++-----------------------------
 1 file changed, 39 insertions(+), 38 deletions(-)

diff --git a/ement-room.el b/ement-room.el
index 81f2e5b4a2..0c2dc9f64f 100644
--- a/ement-room.el
+++ b/ement-room.el
@@ -3352,50 +3352,51 @@ Formats according to `ement-room-message-format-spec', 
which see."
 (defun ement-room--format-reactions (event room)
   "Return formatted reactions to EVENT in ROOM."
   ;; TODO: Like other events, pop to a buffer showing the raw reaction events 
when a key is pressed.
-  (if-let ((reactions (map-elt (ement-event-local event) 'reactions)))
-      (cl-labels ((format-reaction (ks)
-                    (pcase-let* ((`(,key . ,senders) ks)
-                                 (key (propertize key 'face 
'ement-room-reactions-key))
-                                 (count (propertize (format " (%s)"
-                                                            (if (length= 
senders 1)
-                                                                
(ement--user-displayname-in room (car senders))
-                                                              (length 
senders)))
-                                                    'face 
'ement-room-reactions))
-                                 (string
-                                  (propertize (concat key count)
-                                              'button '(t)
-                                              'category 'default-button
-                                              'action 
#'ement-room-reaction-button-action
-                                              'follow-link t
-                                              'help-echo (lambda (_window 
buffer _pos)
-                                                           ;; NOTE: If the 
reaction key string is a Unicode character composed
-                                                           ;; with, e.g. 
"VARIATION SELECTOR-16", `string-to-char' ignores the
-                                                           ;; composed 
modifier/variation-selector and just returns the first
-                                                           ;; character of the 
string.  This should be fine, since it's just
-                                                           ;; for the tooltip.
-                                                           (concat
-                                                            
(get-char-code-property (string-to-char key) 'name) ": "
-                                                            (senders-names 
senders (buffer-local-value 'ement-room buffer))))))
-                                 (local-user-p (cl-member (ement-user-id 
(ement-session-user ement-session)) senders
-                                                          :key #'ement-user-id 
:test #'equal)))
-                      (when local-user-p
-                        (add-face-text-property 0 (length string) '(:box 
(:style pressed-button) :inverse-video t)
-                                                nil string))
-                      (ement--remove-face-property string 'button)
-                      string))
-                  (senders-names (senders room)
-                    (cl-loop for sender in senders
-                             collect (ement--user-displayname-in room sender)
-                             into names
-                             finally return (string-join names ", "))))
+  (cl-labels
+      ((format-reaction (ks)
+         (pcase-let* ((`(,key . ,senders) ks)
+                      (key (propertize key 'face 'ement-room-reactions-key))
+                      (count (propertize (format " (%s)"
+                                                 (if (length= senders 1)
+                                                     
(ement--user-displayname-in room (car senders))
+                                                   (length senders)))
+                                         'face 'ement-room-reactions))
+                      (string
+                       (propertize (concat key count)
+                                   'button '(t)
+                                   'category 'default-button
+                                   'action #'ement-room-reaction-button-action
+                                   'follow-link t
+                                   'help-echo (lambda (_window buffer _pos)
+                                                ;; NOTE: If the reaction key 
string is a Unicode character composed
+                                                ;; with, e.g. "VARIATION 
SELECTOR-16", `string-to-char' ignores the
+                                                ;; composed 
modifier/variation-selector and just returns the first
+                                                ;; character of the string.  
This should be fine, since it's just
+                                                ;; for the tooltip.
+                                                (concat
+                                                 (get-char-code-property 
(string-to-char key) 'name) ": "
+                                                 (senders-names senders 
(buffer-local-value 'ement-room buffer))))))
+                      (local-user-p (cl-member (ement-user-id 
(ement-session-user ement-session)) senders
+                                               :key #'ement-user-id :test 
#'equal)))
+           (when local-user-p
+             (add-face-text-property 0 (length string) '(:box (:style 
pressed-button) :inverse-video t)
+                                     nil string))
+           (ement--remove-face-property string 'button)
+           string))
+       (senders-names (senders room)
+         (cl-loop for sender in senders
+                  collect (ement--user-displayname-in room sender)
+                  into names
+                  finally return (string-join names ", "))))
+    (if-let ((reactions (map-elt (ement-event-local event) 'reactions)))
         (cl-loop with keys-senders
                  for reaction in reactions
                  for key = (map-nested-elt (ement-event-content reaction) 
'(m.relates_to key))
                  for sender = (ement-event-sender reaction)
                  do (push sender (alist-get key keys-senders nil nil 
#'string=))
                  finally do (setf keys-senders (cl-sort keys-senders #'> :key 
(lambda (pair) (length (cdr pair)))))
-                 finally return (concat "\n  " (mapconcat #'format-reaction 
keys-senders "  "))))
-    ""))
+                 finally return (concat "\n  " (mapconcat #'format-reaction 
keys-senders "  ")))
+      "")))
 
 (cl-defun ement-room--format-message (event room session &optional (format 
ement-room-message-format-spec))
   "Return EVENT in ROOM on SESSION formatted according to FORMAT.



reply via email to

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