(defun jabber-chat-normal-body (xml-data who mode) "Print body for received message in XML-DATA." (let ((body (car (jabber-xml-node-children (car (jabber-xml-get-children xml-data 'body)))))) (when body (when (eql mode :insert) (if (and (> (length body) 4) (string= (substring body 0 4) "/me ")) (let ((action (substring body 4)) (nick (cond ((eq who :local) (plist-get (fsm-get-state-data jabber-buffer-connection) :username)) ((jabber-muc-message-p xml-data) (jabber-jid-resource (jabber-xml-get-attribute xml-data 'from))) (t (jabber-jid-displayname (jabber-xml-get-attribute xml-data 'from)))))) (insert (jabber-propertize (concat nick " " action) 'face 'jabber-chat-prompt-system))) (insert (jabber-propertize body 'face (case who ((:foreign :muc-foreign) 'jabber-chat-text-foreign) ((:local :muc-local) 'jabber-chat-text-local)))))) t)))