emacs-jabber/jabber-chatbuffer.el

138 lines
4.8 KiB
EmacsLisp
Raw Normal View History

Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-26 Creator: Magnus Henoch <mange@freemail.hu> Merge message-attachments branch Patches applied: * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-6 Merge from CVS HEAD * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-7 Start reworking chat functions * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-8 Hacking on chat * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-9 More hacking * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-10 Make jabber-chatting-with buffer-local * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-11 Merge with CVS * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-12 Reintroduce message alert hooks * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-13 Update jabber-activity for textless alert hooks * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-14 Hack MUC into shape * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-15 Create and switch to MUC buffer in jabber-groupchat-join * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-16 Make more MUC things work * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-17 Remove history from jabber-message-hooks * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-18 Add jabber-muc-send * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-19 Reimplement formatted chat prompts * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-20 Readd header line in chat buffers * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-21 Reimplement groupchat prompt formatting * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-22 Reimplement MUC notifications * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-23 Reactivate history * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-24 Reactivate backlog * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-25 Special prompt-data argument to jabber-chat-buffer-display * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-26 Interpret timestamps in backlog and incoming messages * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-27 Record timestamps in incoming messages for history * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-28 Handle everything not MUC in jabber-process-chat * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-29 Start hacking message attachments and body printers * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-30 Add jabber-send-message. Readd chat menu. * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-31 Add subject support * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-32 Add jabber-chat-text-{local,foreign} * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-33 Merge from CVS * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-34 Don't log MUC messages * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-35 Hooks on sent chat messages * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-36 Really declare jabber-chat-mode-hook * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-37 Add id to outgoing messages, and argument to jabber-chat-send-hooks * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-38 Separate backlog insertion * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-39 jabber-history-query has two time limits * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-40 Remove obsolete comment * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-41 Implement time limits for backlogs * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-42 Add jabber-chat-buffer-display-at-point * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-43 Allow unlimited number of days in backlog * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-44 Add jabber-chat-display-more-backlog * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-45 Don't try to use nonexistent backlog * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-46 Fix backlog insertion * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-47 _Really_ fix jabber-chat-buffer-display-at-point * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-48 Remove old jabber-chat.el * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-49 Ensure newline between each part of a chat message * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-50 Add URl (jabber:x:oob) printing capability
2005-02-20 12:21:45 +00:00
;; jabber-chatbuffer.el - functions common to all chat buffers
;; Copyright (C) 2005, 2007, 2008 - Magnus Henoch - mange@freemail.hu
Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-26 Creator: Magnus Henoch <mange@freemail.hu> Merge message-attachments branch Patches applied: * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-6 Merge from CVS HEAD * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-7 Start reworking chat functions * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-8 Hacking on chat * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-9 More hacking * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-10 Make jabber-chatting-with buffer-local * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-11 Merge with CVS * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-12 Reintroduce message alert hooks * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-13 Update jabber-activity for textless alert hooks * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-14 Hack MUC into shape * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-15 Create and switch to MUC buffer in jabber-groupchat-join * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-16 Make more MUC things work * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-17 Remove history from jabber-message-hooks * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-18 Add jabber-muc-send * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-19 Reimplement formatted chat prompts * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-20 Readd header line in chat buffers * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-21 Reimplement groupchat prompt formatting * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-22 Reimplement MUC notifications * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-23 Reactivate history * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-24 Reactivate backlog * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-25 Special prompt-data argument to jabber-chat-buffer-display * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-26 Interpret timestamps in backlog and incoming messages * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-27 Record timestamps in incoming messages for history * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-28 Handle everything not MUC in jabber-process-chat * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-29 Start hacking message attachments and body printers * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-30 Add jabber-send-message. Readd chat menu. * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-31 Add subject support * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-32 Add jabber-chat-text-{local,foreign} * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-33 Merge from CVS * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-34 Don't log MUC messages * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-35 Hooks on sent chat messages * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-36 Really declare jabber-chat-mode-hook * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-37 Add id to outgoing messages, and argument to jabber-chat-send-hooks * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-38 Separate backlog insertion * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-39 jabber-history-query has two time limits * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-40 Remove obsolete comment * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-41 Implement time limits for backlogs * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-42 Add jabber-chat-buffer-display-at-point * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-43 Allow unlimited number of days in backlog * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-44 Add jabber-chat-display-more-backlog * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-45 Don't try to use nonexistent backlog * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-46 Fix backlog insertion * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-47 _Really_ fix jabber-chat-buffer-display-at-point * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-48 Remove old jabber-chat.el * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-49 Ensure newline between each part of a chat message * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-50 Add URl (jabber:x:oob) printing capability
2005-02-20 12:21:45 +00:00
;; This file is a part of jabber.el.
;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2 of the License, or
;; (at your option) any later version.
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with this program; if not, write to the Free Software
;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
(require 'jabber-keymap)
Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-26 Creator: Magnus Henoch <mange@freemail.hu> Merge message-attachments branch Patches applied: * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-6 Merge from CVS HEAD * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-7 Start reworking chat functions * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-8 Hacking on chat * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-9 More hacking * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-10 Make jabber-chatting-with buffer-local * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-11 Merge with CVS * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-12 Reintroduce message alert hooks * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-13 Update jabber-activity for textless alert hooks * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-14 Hack MUC into shape * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-15 Create and switch to MUC buffer in jabber-groupchat-join * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-16 Make more MUC things work * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-17 Remove history from jabber-message-hooks * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-18 Add jabber-muc-send * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-19 Reimplement formatted chat prompts * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-20 Readd header line in chat buffers * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-21 Reimplement groupchat prompt formatting * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-22 Reimplement MUC notifications * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-23 Reactivate history * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-24 Reactivate backlog * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-25 Special prompt-data argument to jabber-chat-buffer-display * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-26 Interpret timestamps in backlog and incoming messages * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-27 Record timestamps in incoming messages for history * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-28 Handle everything not MUC in jabber-process-chat * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-29 Start hacking message attachments and body printers * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-30 Add jabber-send-message. Readd chat menu. * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-31 Add subject support * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-32 Add jabber-chat-text-{local,foreign} * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-33 Merge from CVS * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-34 Don't log MUC messages * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-35 Hooks on sent chat messages * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-36 Really declare jabber-chat-mode-hook * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-37 Add id to outgoing messages, and argument to jabber-chat-send-hooks * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-38 Separate backlog insertion * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-39 jabber-history-query has two time limits * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-40 Remove obsolete comment * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-41 Implement time limits for backlogs * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-42 Add jabber-chat-buffer-display-at-point * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-43 Allow unlimited number of days in backlog * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-44 Add jabber-chat-display-more-backlog * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-45 Don't try to use nonexistent backlog * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-46 Fix backlog insertion * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-47 _Really_ fix jabber-chat-buffer-display-at-point * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-48 Remove old jabber-chat.el * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-49 Ensure newline between each part of a chat message * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-50 Add URl (jabber:x:oob) printing capability
2005-02-20 12:21:45 +00:00
(defvar jabber-point-insert nil
"Position where the message being composed starts")
(defvar jabber-send-function nil
"Function for sending a message from a chat buffer.")
(defvar jabber-chat-mode-hook nil
"Hook called at the end of `jabber-chat-mode'.
Note that functions in this hook have no way of knowing
what kind of chat buffer is being created.")
(defcustom jabber-chat-fill-long-lines t
"If non-nil, fill long lines in chat buffers.
Lines are broken at word boundaries at the width of the
window or at `fill-column', whichever is shorter."
:group 'jabber-chat
:type 'boolean)
(defvar jabber-chat-ewoc nil
"The ewoc showing the messages of this chat buffer.")
;;;###autoload
Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-289 Creator: Magnus Henoch <mange@freemail.hu> Merge multi-account work Patches applied: * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-2 Only output car of events in fsm.el, to avoid overflowing debug buffers * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-3 Apply 0.1ttn4 patch from Thien-Thi Nguyen * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-4 Don't eval state-name in define-state and define-enter-state * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-5 Fix previous change * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-6 Apply patches I forgot about * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-7 Add fsm-get-state * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-8 fsm-get-state should really be fsm-get-state-data * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-9 Add edebug declarations * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-10 Catch and report errors in enter functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--base-0 tag of mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-3 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-1 Start ewocizing roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-2 Use jabber-roster-update in jabber-process-roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-3 Merge from CVS * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-4 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-5 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-6 Use jabber-roster-update in jabber-presence-update-roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-7 Remove unused *xmlq* variable * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-8 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-9 Start converting jabber-core and jabber-conn to fsm style * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-10 Further hacking * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-11 Rough hacking at legacy authentication and IQ handling * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-12 Rough hacking at SASL authentication * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-13 Remove some obsolete variables and functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-14 Resource binding, session establishing; refactor roster retrieval * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-15 Remove some jabber-conn global variables. Fix or comment out dependent code. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-16 Add missing parenthesis * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-17 Add fsm-get-state-data * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-18 Add :connection to state-data in proper time * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-19 Fix remaining references to global variables * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-20 Fix filter events * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-21 Fix various mismatched argument lists * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-22 Surface fixes to jabber-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-23 Merge FSM changes * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-24 Rename jabber-post-connect-hook to jabber-post-connect-hooks * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-25 Merge from CVS (except patch-266) * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-26 Support STARTTLS (almost) * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-27 Fix SASL authentication * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-28 Typo: s/hook/hooks/ * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-29 Forget SASL data when not needed * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-30 Store username, server and resource in state data * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-31 Remember which account to use in each chat buffer * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-32 Update signature of jabber-muc-process-message * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-33 Update signature of jabber-vcard-avatars-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-34 Handle roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-35 Add missing parenthesis in jabber-read-account * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-36 Use header for roster ewoc * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-37 Remove trailing newline in jabber-resource-line-format * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-38 Properly update roster display * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-39 Fix double-connect check in jabber-connect * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-40 Fix jabber-disconnect * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-41 Ignore resource when checking whether already connected * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-42 Set jabber-account text proporty, and use it in jabber-read-account * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-43 Add connection argument to commands in jabber-disco * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-44 Adapt jabber-process-data, jabber-process-disco-{info,items} * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-45 Adapt jabber-version * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-46 Adapt jabber-browse * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-47 Adapt various jabber-presence functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-48 Use separate process buffers for different accounts * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-49 Include account property in roster. Fix jabber-chat-with-jid-at-point. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-50 Add jabber-concat-rosters. Use it in jabber-read-jid-completing. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-51 Adapt jabber-report-success * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-52 Adapt jabber-vcard * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-53 Adapt jabber-newdisco * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-54 Start adapting MUC * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-55 Adapt jabber-muc-process-presence and caller * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-56 Fix interactive use of jabber-send-default-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-57 Handle sentinel events in :session-established state * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-58 Support selecting account interactively in jabber-connect. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-59 Adapt jabber-events * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-60 Adapt jabber-history
2007-02-05 21:59:02 +00:00
(defvar jabber-buffer-connection nil
"The connection used by this buffer.")
;;;###autoload
(make-variable-buffer-local 'jabber-buffer-connection)
Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-289 Creator: Magnus Henoch <mange@freemail.hu> Merge multi-account work Patches applied: * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-2 Only output car of events in fsm.el, to avoid overflowing debug buffers * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-3 Apply 0.1ttn4 patch from Thien-Thi Nguyen * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-4 Don't eval state-name in define-state and define-enter-state * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-5 Fix previous change * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-6 Apply patches I forgot about * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-7 Add fsm-get-state * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-8 fsm-get-state should really be fsm-get-state-data * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-9 Add edebug declarations * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-10 Catch and report errors in enter functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--base-0 tag of mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-3 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-1 Start ewocizing roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-2 Use jabber-roster-update in jabber-process-roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-3 Merge from CVS * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-4 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-5 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-6 Use jabber-roster-update in jabber-presence-update-roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-7 Remove unused *xmlq* variable * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-8 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-9 Start converting jabber-core and jabber-conn to fsm style * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-10 Further hacking * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-11 Rough hacking at legacy authentication and IQ handling * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-12 Rough hacking at SASL authentication * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-13 Remove some obsolete variables and functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-14 Resource binding, session establishing; refactor roster retrieval * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-15 Remove some jabber-conn global variables. Fix or comment out dependent code. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-16 Add missing parenthesis * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-17 Add fsm-get-state-data * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-18 Add :connection to state-data in proper time * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-19 Fix remaining references to global variables * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-20 Fix filter events * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-21 Fix various mismatched argument lists * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-22 Surface fixes to jabber-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-23 Merge FSM changes * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-24 Rename jabber-post-connect-hook to jabber-post-connect-hooks * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-25 Merge from CVS (except patch-266) * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-26 Support STARTTLS (almost) * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-27 Fix SASL authentication * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-28 Typo: s/hook/hooks/ * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-29 Forget SASL data when not needed * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-30 Store username, server and resource in state data * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-31 Remember which account to use in each chat buffer * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-32 Update signature of jabber-muc-process-message * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-33 Update signature of jabber-vcard-avatars-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-34 Handle roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-35 Add missing parenthesis in jabber-read-account * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-36 Use header for roster ewoc * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-37 Remove trailing newline in jabber-resource-line-format * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-38 Properly update roster display * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-39 Fix double-connect check in jabber-connect * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-40 Fix jabber-disconnect * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-41 Ignore resource when checking whether already connected * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-42 Set jabber-account text proporty, and use it in jabber-read-account * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-43 Add connection argument to commands in jabber-disco * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-44 Adapt jabber-process-data, jabber-process-disco-{info,items} * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-45 Adapt jabber-version * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-46 Adapt jabber-browse * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-47 Adapt various jabber-presence functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-48 Use separate process buffers for different accounts * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-49 Include account property in roster. Fix jabber-chat-with-jid-at-point. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-50 Add jabber-concat-rosters. Use it in jabber-read-jid-completing. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-51 Adapt jabber-report-success * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-52 Adapt jabber-vcard * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-53 Adapt jabber-newdisco * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-54 Start adapting MUC * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-55 Adapt jabber-muc-process-presence and caller * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-56 Fix interactive use of jabber-send-default-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-57 Handle sentinel events in :session-established state * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-58 Support selecting account interactively in jabber-connect. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-59 Adapt jabber-events * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-60 Adapt jabber-history
2007-02-05 21:59:02 +00:00
(defun jabber-chat-mode (jc ewoc-pp)
Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-26 Creator: Magnus Henoch <mange@freemail.hu> Merge message-attachments branch Patches applied: * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-6 Merge from CVS HEAD * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-7 Start reworking chat functions * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-8 Hacking on chat * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-9 More hacking * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-10 Make jabber-chatting-with buffer-local * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-11 Merge with CVS * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-12 Reintroduce message alert hooks * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-13 Update jabber-activity for textless alert hooks * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-14 Hack MUC into shape * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-15 Create and switch to MUC buffer in jabber-groupchat-join * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-16 Make more MUC things work * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-17 Remove history from jabber-message-hooks * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-18 Add jabber-muc-send * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-19 Reimplement formatted chat prompts * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-20 Readd header line in chat buffers * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-21 Reimplement groupchat prompt formatting * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-22 Reimplement MUC notifications * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-23 Reactivate history * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-24 Reactivate backlog * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-25 Special prompt-data argument to jabber-chat-buffer-display * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-26 Interpret timestamps in backlog and incoming messages * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-27 Record timestamps in incoming messages for history * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-28 Handle everything not MUC in jabber-process-chat * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-29 Start hacking message attachments and body printers * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-30 Add jabber-send-message. Readd chat menu. * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-31 Add subject support * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-32 Add jabber-chat-text-{local,foreign} * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-33 Merge from CVS * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-34 Don't log MUC messages * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-35 Hooks on sent chat messages * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-36 Really declare jabber-chat-mode-hook * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-37 Add id to outgoing messages, and argument to jabber-chat-send-hooks * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-38 Separate backlog insertion * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-39 jabber-history-query has two time limits * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-40 Remove obsolete comment * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-41 Implement time limits for backlogs * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-42 Add jabber-chat-buffer-display-at-point * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-43 Allow unlimited number of days in backlog * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-44 Add jabber-chat-display-more-backlog * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-45 Don't try to use nonexistent backlog * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-46 Fix backlog insertion * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-47 _Really_ fix jabber-chat-buffer-display-at-point * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-48 Remove old jabber-chat.el * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-49 Ensure newline between each part of a chat message * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-50 Add URl (jabber:x:oob) printing capability
2005-02-20 12:21:45 +00:00
"\\{jabber-chat-mode-map}"
(kill-all-local-variables)
;; Make sure to set this variable somewhere
(make-local-variable 'jabber-send-function)
(make-local-variable 'scroll-conservatively)
(make-local-variable 'jabber-point-insert)
(make-local-variable 'jabber-chat-ewoc)
(make-local-variable 'buffer-undo-list)
(setq jabber-buffer-connection jc
scroll-conservatively 5
buffer-undo-list t) ;dont keep undo list for chatbuffer
(unless jabber-chat-ewoc
(setq jabber-chat-ewoc
(ewoc-create ewoc-pp nil "---"))
(goto-char (point-max))
(put-text-property (point-min) (point) 'read-only t)
(let ((inhibit-read-only t))
(put-text-property (point-min) (point) 'front-sticky t)
(put-text-property (point-min) (point) 'rear-nonsticky t))
(setq jabber-point-insert (point-marker)))
Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-26 Creator: Magnus Henoch <mange@freemail.hu> Merge message-attachments branch Patches applied: * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-6 Merge from CVS HEAD * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-7 Start reworking chat functions * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-8 Hacking on chat * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-9 More hacking * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-10 Make jabber-chatting-with buffer-local * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-11 Merge with CVS * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-12 Reintroduce message alert hooks * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-13 Update jabber-activity for textless alert hooks * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-14 Hack MUC into shape * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-15 Create and switch to MUC buffer in jabber-groupchat-join * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-16 Make more MUC things work * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-17 Remove history from jabber-message-hooks * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-18 Add jabber-muc-send * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-19 Reimplement formatted chat prompts * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-20 Readd header line in chat buffers * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-21 Reimplement groupchat prompt formatting * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-22 Reimplement MUC notifications * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-23 Reactivate history * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-24 Reactivate backlog * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-25 Special prompt-data argument to jabber-chat-buffer-display * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-26 Interpret timestamps in backlog and incoming messages * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-27 Record timestamps in incoming messages for history * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-28 Handle everything not MUC in jabber-process-chat * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-29 Start hacking message attachments and body printers * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-30 Add jabber-send-message. Readd chat menu. * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-31 Add subject support * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-32 Add jabber-chat-text-{local,foreign} * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-33 Merge from CVS * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-34 Don't log MUC messages * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-35 Hooks on sent chat messages * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-36 Really declare jabber-chat-mode-hook * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-37 Add id to outgoing messages, and argument to jabber-chat-send-hooks * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-38 Separate backlog insertion * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-39 jabber-history-query has two time limits * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-40 Remove obsolete comment * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-41 Implement time limits for backlogs * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-42 Add jabber-chat-buffer-display-at-point * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-43 Allow unlimited number of days in backlog * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-44 Add jabber-chat-display-more-backlog * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-45 Don't try to use nonexistent backlog * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-46 Fix backlog insertion * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-47 _Really_ fix jabber-chat-buffer-display-at-point * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-48 Remove old jabber-chat.el * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-49 Ensure newline between each part of a chat message * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-50 Add URl (jabber:x:oob) printing capability
2005-02-20 12:21:45 +00:00
;;(setq header-line-format jabber-chat-header-line-format)
(setq major-mode 'jabber-chat-mode
mode-name "jabber-chat")
(use-local-map jabber-chat-mode-map)
(if (fboundp 'run-mode-hooks)
(run-mode-hooks 'jabber-chat-mode-hook)
(run-hooks 'jabber-chat-mode-hook)))
(put 'jabber-chat-mode 'mode-class 'special)
;; Spell check only what you're currently writing
(defun jabber-chat-mode-flyspell-verify ()
(>= (point) jabber-point-insert))
(put 'jabber-chat-mode 'flyspell-mode-predicate
'jabber-chat-mode-flyspell-verify)
(defvar jabber-chat-mode-map
(let ((map (make-sparse-keymap)))
(set-keymap-parent map jabber-common-keymap)
(define-key map "\r" 'jabber-chat-buffer-send)
map))
Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-26 Creator: Magnus Henoch <mange@freemail.hu> Merge message-attachments branch Patches applied: * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-6 Merge from CVS HEAD * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-7 Start reworking chat functions * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-8 Hacking on chat * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-9 More hacking * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-10 Make jabber-chatting-with buffer-local * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-11 Merge with CVS * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-12 Reintroduce message alert hooks * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-13 Update jabber-activity for textless alert hooks * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-14 Hack MUC into shape * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-15 Create and switch to MUC buffer in jabber-groupchat-join * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-16 Make more MUC things work * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-17 Remove history from jabber-message-hooks * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-18 Add jabber-muc-send * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-19 Reimplement formatted chat prompts * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-20 Readd header line in chat buffers * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-21 Reimplement groupchat prompt formatting * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-22 Reimplement MUC notifications * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-23 Reactivate history * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-24 Reactivate backlog * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-25 Special prompt-data argument to jabber-chat-buffer-display * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-26 Interpret timestamps in backlog and incoming messages * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-27 Record timestamps in incoming messages for history * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-28 Handle everything not MUC in jabber-process-chat * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-29 Start hacking message attachments and body printers * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-30 Add jabber-send-message. Readd chat menu. * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-31 Add subject support * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-32 Add jabber-chat-text-{local,foreign} * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-33 Merge from CVS * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-34 Don't log MUC messages * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-35 Hooks on sent chat messages * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-36 Really declare jabber-chat-mode-hook * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-37 Add id to outgoing messages, and argument to jabber-chat-send-hooks * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-38 Separate backlog insertion * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-39 jabber-history-query has two time limits * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-40 Remove obsolete comment * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-41 Implement time limits for backlogs * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-42 Add jabber-chat-buffer-display-at-point * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-43 Allow unlimited number of days in backlog * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-44 Add jabber-chat-display-more-backlog * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-45 Don't try to use nonexistent backlog * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-46 Fix backlog insertion * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-47 _Really_ fix jabber-chat-buffer-display-at-point * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-48 Remove old jabber-chat.el * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-49 Ensure newline between each part of a chat message * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-50 Add URl (jabber:x:oob) printing capability
2005-02-20 12:21:45 +00:00
(defun jabber-chat-buffer-send ()
(interactive)
;; If user accidentally hits RET without writing anything, just
;; ignore it.
(when (plusp (- (point-max) jabber-point-insert))
;; If connection was lost...
(unless (memq jabber-buffer-connection jabber-connections)
;; ...maybe there is a new connection to the same account.
(let ((new-jc (jabber-find-active-connection jabber-buffer-connection)))
(if new-jc
;; If so, just use it.
(setq jabber-buffer-connection new-jc)
;; Otherwise, ask for a new account.
(setq jabber-buffer-connection (jabber-read-account t)))))
(let ((body (delete-and-extract-region jabber-point-insert (point-max))))
Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-289 Creator: Magnus Henoch <mange@freemail.hu> Merge multi-account work Patches applied: * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-2 Only output car of events in fsm.el, to avoid overflowing debug buffers * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-3 Apply 0.1ttn4 patch from Thien-Thi Nguyen * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-4 Don't eval state-name in define-state and define-enter-state * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-5 Fix previous change * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-6 Apply patches I forgot about * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-7 Add fsm-get-state * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-8 fsm-get-state should really be fsm-get-state-data * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-9 Add edebug declarations * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-10 Catch and report errors in enter functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--base-0 tag of mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-3 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-1 Start ewocizing roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-2 Use jabber-roster-update in jabber-process-roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-3 Merge from CVS * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-4 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-5 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-6 Use jabber-roster-update in jabber-presence-update-roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-7 Remove unused *xmlq* variable * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-8 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-9 Start converting jabber-core and jabber-conn to fsm style * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-10 Further hacking * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-11 Rough hacking at legacy authentication and IQ handling * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-12 Rough hacking at SASL authentication * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-13 Remove some obsolete variables and functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-14 Resource binding, session establishing; refactor roster retrieval * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-15 Remove some jabber-conn global variables. Fix or comment out dependent code. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-16 Add missing parenthesis * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-17 Add fsm-get-state-data * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-18 Add :connection to state-data in proper time * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-19 Fix remaining references to global variables * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-20 Fix filter events * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-21 Fix various mismatched argument lists * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-22 Surface fixes to jabber-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-23 Merge FSM changes * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-24 Rename jabber-post-connect-hook to jabber-post-connect-hooks * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-25 Merge from CVS (except patch-266) * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-26 Support STARTTLS (almost) * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-27 Fix SASL authentication * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-28 Typo: s/hook/hooks/ * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-29 Forget SASL data when not needed * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-30 Store username, server and resource in state data * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-31 Remember which account to use in each chat buffer * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-32 Update signature of jabber-muc-process-message * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-33 Update signature of jabber-vcard-avatars-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-34 Handle roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-35 Add missing parenthesis in jabber-read-account * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-36 Use header for roster ewoc * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-37 Remove trailing newline in jabber-resource-line-format * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-38 Properly update roster display * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-39 Fix double-connect check in jabber-connect * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-40 Fix jabber-disconnect * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-41 Ignore resource when checking whether already connected * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-42 Set jabber-account text proporty, and use it in jabber-read-account * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-43 Add connection argument to commands in jabber-disco * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-44 Adapt jabber-process-data, jabber-process-disco-{info,items} * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-45 Adapt jabber-version * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-46 Adapt jabber-browse * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-47 Adapt various jabber-presence functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-48 Use separate process buffers for different accounts * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-49 Include account property in roster. Fix jabber-chat-with-jid-at-point. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-50 Add jabber-concat-rosters. Use it in jabber-read-jid-completing. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-51 Adapt jabber-report-success * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-52 Adapt jabber-vcard * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-53 Adapt jabber-newdisco * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-54 Start adapting MUC * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-55 Adapt jabber-muc-process-presence and caller * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-56 Fix interactive use of jabber-send-default-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-57 Handle sentinel events in :session-established state * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-58 Support selecting account interactively in jabber-connect. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-59 Adapt jabber-events * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-60 Adapt jabber-history
2007-02-05 21:59:02 +00:00
(funcall jabber-send-function jabber-buffer-connection body))))
Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-26 Creator: Magnus Henoch <mange@freemail.hu> Merge message-attachments branch Patches applied: * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-6 Merge from CVS HEAD * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-7 Start reworking chat functions * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-8 Hacking on chat * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-9 More hacking * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-10 Make jabber-chatting-with buffer-local * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-11 Merge with CVS * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-12 Reintroduce message alert hooks * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-13 Update jabber-activity for textless alert hooks * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-14 Hack MUC into shape * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-15 Create and switch to MUC buffer in jabber-groupchat-join * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-16 Make more MUC things work * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-17 Remove history from jabber-message-hooks * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-18 Add jabber-muc-send * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-19 Reimplement formatted chat prompts * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-20 Readd header line in chat buffers * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-21 Reimplement groupchat prompt formatting * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-22 Reimplement MUC notifications * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-23 Reactivate history * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-24 Reactivate backlog * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-25 Special prompt-data argument to jabber-chat-buffer-display * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-26 Interpret timestamps in backlog and incoming messages * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-27 Record timestamps in incoming messages for history * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-28 Handle everything not MUC in jabber-process-chat * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-29 Start hacking message attachments and body printers * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-30 Add jabber-send-message. Readd chat menu. * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-31 Add subject support * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-32 Add jabber-chat-text-{local,foreign} * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-33 Merge from CVS * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-34 Don't log MUC messages * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-35 Hooks on sent chat messages * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-36 Really declare jabber-chat-mode-hook * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-37 Add id to outgoing messages, and argument to jabber-chat-send-hooks * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-38 Separate backlog insertion * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-39 jabber-history-query has two time limits * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-40 Remove obsolete comment * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-41 Implement time limits for backlogs * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-42 Add jabber-chat-buffer-display-at-point * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-43 Allow unlimited number of days in backlog * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-44 Add jabber-chat-display-more-backlog * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-45 Don't try to use nonexistent backlog * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-46 Fix backlog insertion * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-47 _Really_ fix jabber-chat-buffer-display-at-point * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-48 Remove old jabber-chat.el * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-49 Ensure newline between each part of a chat message * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-50 Add URl (jabber:x:oob) printing capability
2005-02-20 12:21:45 +00:00
(defun jabber-chat-buffer-fill-long-lines ()
"Fill lines that are wider than the window width."
;; This was mostly stolen from article-fill-long-lines
(interactive)
(save-excursion
(let ((inhibit-read-only t)
(width (window-width (get-buffer-window (current-buffer)))))
(goto-char (point-min))
(let ((adaptive-fill-mode nil)) ;Why? -sm
(while (not (eobp))
(end-of-line)
(when (>= (current-column) (min fill-column width))
(save-restriction
(narrow-to-region (min (1+ (point)) (point-max))
(point-at-bol))
(let ((goback (point-marker)))
(fill-paragraph nil)
(goto-char (marker-position goback)))))
(forward-line 1))))))
Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-26 Creator: Magnus Henoch <mange@freemail.hu> Merge message-attachments branch Patches applied: * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-6 Merge from CVS HEAD * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-7 Start reworking chat functions * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-8 Hacking on chat * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-9 More hacking * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-10 Make jabber-chatting-with buffer-local * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-11 Merge with CVS * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-12 Reintroduce message alert hooks * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-13 Update jabber-activity for textless alert hooks * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-14 Hack MUC into shape * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-15 Create and switch to MUC buffer in jabber-groupchat-join * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-16 Make more MUC things work * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-17 Remove history from jabber-message-hooks * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-18 Add jabber-muc-send * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-19 Reimplement formatted chat prompts * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-20 Readd header line in chat buffers * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-21 Reimplement groupchat prompt formatting * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-22 Reimplement MUC notifications * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-23 Reactivate history * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-24 Reactivate backlog * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-25 Special prompt-data argument to jabber-chat-buffer-display * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-26 Interpret timestamps in backlog and incoming messages * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-27 Record timestamps in incoming messages for history * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-28 Handle everything not MUC in jabber-process-chat * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-29 Start hacking message attachments and body printers * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-30 Add jabber-send-message. Readd chat menu. * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-31 Add subject support * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-32 Add jabber-chat-text-{local,foreign} * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-33 Merge from CVS * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-34 Don't log MUC messages * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-35 Hooks on sent chat messages * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-36 Really declare jabber-chat-mode-hook * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-37 Add id to outgoing messages, and argument to jabber-chat-send-hooks * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-38 Separate backlog insertion * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-39 jabber-history-query has two time limits * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-40 Remove obsolete comment * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-41 Implement time limits for backlogs * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-42 Add jabber-chat-buffer-display-at-point * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-43 Allow unlimited number of days in backlog * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-44 Add jabber-chat-display-more-backlog * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-45 Don't try to use nonexistent backlog * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-46 Fix backlog insertion * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-47 _Really_ fix jabber-chat-buffer-display-at-point * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-48 Remove old jabber-chat.el * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-49 Ensure newline between each part of a chat message * mange@freemail.hu--2005/emacs-jabber--message-attachments--0--patch-50 Add URl (jabber:x:oob) printing capability
2005-02-20 12:21:45 +00:00
(provide 'jabber-chatbuffer)
;; arch-tag: 917e5b60-5894-4c49-b3bc-12e1f97ffdc6