From 7ce58c208a79d4209f0bb036b7c0a2ea6695a867 Mon Sep 17 00:00:00 2001 From: defanor Date: Thu, 16 Sep 2021 23:49:33 +0300 Subject: Print full presence string in xmpp.el's MUC buffers --- emacs/xmpp.el | 50 +++++++++++++++++++++----------------------------- 1 file changed, 21 insertions(+), 29 deletions(-) diff --git a/emacs/xmpp.el b/emacs/xmpp.el index 0eb98c6..6966b36 100644 --- a/emacs/xmpp.el +++ b/emacs/xmpp.el @@ -201,39 +201,32 @@ (presence-type (or (xml-get-attribute-or-nil xml 'type) "available")) (presence-show (car (xml-node-children (xmpp-xml-child xml 'show)))) (presence-status (car (xml-node-children (xmpp-xml-child xml 'status)))) + (presence-string + (concat + presence-from " is " + presence-type + (when presence-show + (concat " (" presence-show ")")) + (when presence-status + (concat ": " presence-status)))) (bare-jid (xmpp-jid-to-bare presence-from)) (resourcepart (xmpp-jid-resource presence-from))) + (add-face-text-property + 0 + (length presence-string) + 'xmpp-presence + nil + presence-string) (when (assoc bare-jid xmpp-query-buffers) (with-current-buffer (cdr (assoc bare-jid xmpp-query-buffers)) - (let ((presence-string - (concat - presence-from " is " - presence-type - (when presence-show - (concat " (" presence-show ")")) - (when presence-status - (concat ": " presence-status))))) - (add-face-text-property - 0 - (length presence-string) - 'xmpp-presence - nil - presence-string) - (xmpp-insert (concat - (xmpp-timestamp-string) ", " - presence-string "\n"))))) + (xmpp-insert (concat + (xmpp-timestamp-string) ", " + presence-string "\n")))) (when (assoc bare-jid xmpp-muc-buffers) (with-current-buffer (cdr (assoc bare-jid xmpp-muc-buffers)) - (let ((presence-string (concat resourcepart " is " presence-type))) - (add-face-text-property - 0 - (length presence-string) - 'xmpp-presence - nil - presence-string) - (xmpp-insert - (concat (xmpp-timestamp-string) ", " - presence-string "\n")))))))) + (xmpp-insert + (concat (xmpp-timestamp-string) ", " + presence-string "\n"))))))) (when (eq (xml-node-name xml) 'message) (xmpp-with-message-body proc xml @@ -465,8 +458,7 @@ (goto-char xmpp-prompt-start-marker) (funcall 'insert args) (set-marker xmpp-prompt-start-marker (point)) - (set-marker xmpp-prompt-end-marker (+ 2 (point)))) - (goto-char (point-max))) + (set-marker xmpp-prompt-end-marker (+ 2 (point))))) (defun xmpp-insert-xml (xml) (save-excursion -- cgit v1.2.3