2016-09-14  Noam Postavsky  <npostavs@users.sourceforge.net>

	* rudel.el: Bump version.

2016-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	Use cl-generic

2016-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	Use lexical-binding:t everywhere

2016-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	Use cl-lib instead of cl

2016-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	Use lexical-binding instead of lexical-let

2016-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	Move all Elisp files to top-level directory

2016-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* obby/rudel-obby-util.el: Really don't use rudel-compat

2016-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* obby/rudel-obby-util.el (with-parsed-arguments): Don't use
	rudel-compat

2016-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* rudel-compat.el: Remove file

2016-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* rudel-backend.el: Try and fix compilation problem

	* rudel-backend.el (rudel--with-memoization): New macro.
	(rudel-get-factory): Use it.  Use eieio-oref-default to access the 
	class's slots.
	(rudel-backend-get-factory): Use the rudel-backend-factory class name 
	directly rather than the var holding the class name.
	(rudel-backend-dump): Use oref-default to access the class's slots.
	(rudel-backend--format-backend-normal): Use slot names rather than 
	initarg names when accessing slots.

2014-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	Add missing new files.

2014-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	Fix up headers and compilation

2011-07-21  scymtym  <scymtym@users.sourceforge.net>

	Made rudel icon directory configurable at runtime
	 Patch by ulm; can be found here:
	
	https://overlays.gentoo.org/proj/emacs/browser/emacs-overlay/app-emacs/rudel/files/rudel-0.3_pre20110405-icons-dir.patch?rev=1661
	* rudel-icons.el (header): updated copyright
	 (rudel-icons-directory): use `defvar' instead of `defconst'
	 (rudel-defimage): dynamically bind `image-load-path' to the value
	 `rudel-icons-directory'

2011-04-05  scymtym  <scymtym@gmx.net>

	Handle encryption a little better in obby/rudel-obby-client.el
	* obby/rudel-obby-client.el (header): updated copyright
	 (rudel-obby/net6_encryption_begin): display a warning message if an
	 encrypted connection has been requested but the selected transport
	 does not support encryption

2010-11-14  scymtym  <scymtym@users.sourceforge.net>

	Reenabled byte-compilation in rudel-compile.el
	* rudel-compile.el (top-level): reenabled byte-compilation

2010-10-09  scymtym  <scymtym@users.sourceforge.net>

	Better info callback in rudel-host-session in rudel.el
	* rudel.el (rudel-host-session): use `rudel-ask-listen-info' instead
	 of `ignore' as info-callback

2010-10-05  scymtym  <scymtym@users.sourceforge.net>

	Added persistent sessions task in TODO
	* TODO (Future): added task "Persistent Sessions"

2010-10-04  scymtym  <scymtym@users.sourceforge.net>

	Added telepathy tasks to rudel-0.3 in TODO
	* TODO (Milestone rudel-0.3): added task "Telepathy session
	 initiation"; changed priority of task "Telepathy transport" to major

2010-10-04  scymtym  <scymtym@users.sourceforge.net>

	Rescheduled telepathy and infinote tasks in TODO
	* TODO (Milestone rudel-0.4): task "Infinote client functionality"
	 moved between milestones rudel-0.3 -> rudel-0.4; task "Support for
	 trees of documents" moved between milestones rudel-0.3 -> rudel-0.4
	 (Milestone rudel-0.3): task "Telepathy transport" moved between
	 milestones rudel-0.4 -> rudel-0.3;

2010-10-04  scymtym  <scymtym@users.sourceforge.net>

	Updated tasks in TODO
	* TODO (Future): changed state of "Remember inputs and use as default
	 ..." TODO -> STARTED; new task "Advice buffer-list to show ...";
	 minor fixes in other tasks

2010-08-18  scymtym  <scymtym@users.sourceforge.net>

	Fixed remaining references to rudel-end-session
	* rudel-mode.el (rudel-minor-keymap): fixed reference to function
	 `rudel-end-session' -> `rudel-leave-session'

2010-08-18  scymtym  <scymtym@users.sourceforge.net>

	Fixed remaining references to rudel-unpublish-buffer
	* rudel-mode.el (rudel-minor-keymap): fixed reference to function
	 `rudel-unpublish-buffer' -> `rudel-unsubscribe-buffer'
	 (rudel-minor-menu): likewise

2010-08-07  scymtym  <scymtym@users.sourceforge.net>

	More related work and fixes in development.org
	* doc/development.org (Related Work): mention XML Sync Islands and
	 Google Wave
	 (Obby Backend): fixed caption text
	 (Infinote Backend): likewise
	 (Settings): new section; contains settings; not exported

2010-08-02  scymtym  <scymtym@users.sourceforge.net>

	Added color choice issue and generic read function task to TODO
	* TODO (Future): added task "Generic read functions instead of ones in
	 each backend"
	 (Milestone rudel-0.3): added issue "Choosing an already taken color
	 can lead to missing update"

2010-08-01  scymtym  <scymtym@users.sourceforge.net>

	Improved histories and default values of TLS read functions
	* tls/rudel-tls.el (rudel-tls-ask-connect-info-host-history): new
	 variable; history of hosts read
	 (rudel-tls-ask-connect-info-port-last): new variable; last prompt
	 read
	 (rudel-ask-connect-info): use
	 `rudel-tls-ask-connect-info-host-history' and
	 `rudel-tls-ask-connect-info-port-last' to provide default inputs and
	 histories for host and port reading

2010-08-01  scymtym  <scymtym@users.sourceforge.net>

	Improved histories and default values of socket read functions
	* socket/rudel-socket.el
	 (rudel-tcp-ask-connect-info-host-history): new variable; history of
	 hosts read
	 (rudel-tcp-ask-connect-info-port-last): new variable; last prompt
	 read
	 (rudel-ask-connect-info): use
	 `rudel-tcp-ask-connect-info-host-history' and
	 `rudel-tcp-ask-connect-info-port-last' to provide default inputs and
	 histories for host and port reading

2010-08-01  scymtym  <scymtym@users.sourceforge.net>

	Improved histories and default values of read functions
	* rudel-interactive.el (header): added version 0.3 to history section
	 (rudel-read-backend): added category argument; construct history
	 symbol using `rudel-interactive--make-history-symbol'; construct the
	 prompt using `rudel-interactive--make-prompt'
	 (rudel-read-user-name-history): new variable; history of inputs read
	 by `rudel-read-user-name'
	 (rudel-read-user): add a default value from the history if possible,
	 use the history and add the default value to the prompt
	 (rudel-interactive--make-read-backend-history-symbol): new function;
	 make a symbol for a read history
	 (rudel-interactive--make-prompt): new function; make a prompt
	 possibly including a default value

2010-07-31  scymtym  <scymtym@users.sourceforge.net>

	Revised architecture overview diagram
	* doc/architecture.svg: added operations and handlers
	* doc/architecture.png: regenerated

2010-07-27  scymtym  <scymtym@users.sourceforge.net>

	Marked tasks as done and moved to 0.3 milestone in TODO
	* TODO (Milestone rudel-0.3): moved tasks "Rename rudel-end-session"
	 and "Rename rudel-unpublish-buffer" to this milestone from Future;
	 marked these tasks as done

2010-07-25  scymtym  <scymtym@users.sourceforge.net>

	merged Joe's changes

2010-07-25  Joe Corneli	 <holtzermann17@gmail.com>

	Extensive documentation changes, new README sections
	* README: Extensive documentation changes, including
	 documentation for renamed functions and also:
	 (LISTING BACKENDS): new section
	 (SAVING AND REUSING CONFIGURED SESSIONS): new section
	 (WORKING WITHIN A CONNECTED SESSION): new section
	 (EXTRA MINOR MODES): new section

2010-07-25  Joe Corneli	 <holtzermann17@gmail.com>

	Renamed rudel-end-session to rudel-leave-session
	* rudel.el (rudel-end-session): changed rudel-end-session to
	rudel-leave-session
	* rudel-mode.el (rudel-minor-keymap): likewise

2010-07-25  Joe Corneli	 <holtzermann17@gmail.com>

	Renamed rudel-unpublish-buffer to rudel-unsubscribe
	* rudel.el (rudel-attach-to-buffer): changed
	 rudel-unpublish-buffer to rudel-unsubscribe
	 (rudel-detach-from-buffer): likewise
	 (rudel-unsubscribe): likewise
	* rudel-mode.el (rudel-minor-keymap): likewise
	* rudel-interactive.el (rudel-allocate-buffer-clear-existing):
	 likewise

2010-07-25  scymtym  <scymtym@users.sourceforge.net>

	Added some tasks concerning user friendliness to TODO
	* TODO (Future): added new tasks "Remember inputs", "rename
	 rudel-unpublish-buffer", "terminate server" and "rename
	 rudel-end-session"

2010-07-25  scymtym  <scymtym@users.sourceforge.net>

	Added load-path setup to injected code in rudel-compile.el
	* rudel-compile.el (top-level): moved load-path setup fragment with
	 auto-load cookie into code fragment that is added textually in
	 post-processing step

2010-07-25  scymtym  <scymtym@users.sourceforge.net>

	Added a menu entry for rudel-backend-dump in rudel-mode.el
	* rudel-mode.el (rudel-minor-menu): added an entry for
	 rudel-backend-dump

2010-07-25  Joseph Corneli  <jac2349@mckm219335.local>

	Added .gitignore which contains the same contents as .bzrignore

2010-07-25  Joseph Corneli  <jac2349@mckm219335.local>

	Updates to INSTALL file.
	* INSTALL: Rearranged and updated instructions so they make more sense.

2010-07-21  scymtym  <scymtym@users.sourceforge.net>

	Added task transmit text properties in TODO
	* TODO (Transmit text properties): new task

2010-07-21  scymtym  <scymtym@users.sourceforge.net>

	Update state of some tasks in TODO
	* TODO (Allow users to insert comments): state changed TODO -> STARTED
	 (Transmit interactive function calls to peers): renamed and
	 rewritten; state changed TODO -> STARTED
	 (Use auth-source or secrets.el for passwords): state changed TODO ->
	 STARTED

2010-07-21  scymtym  <scymtym@users.sourceforge.net>

	Cosmetic fixes in TODO
	* TODO (Track last modification of chunks): added missing fields
	 (Backend factory hooks): likewise
	 (Histories for read functions): likewise
	 (Terminating sessions does not work): likewise
	 (Global mode-line publish state does not work): fixed typo

2010-07-21  scymtym  <scymtym@users.sourceforge.net>

	Fix subscribe-hook for self in rudel-publish-buffer in rudel.el
	* rudel.el (rudel-publish-buffer): use `rudel-add-user' instead of
	 `object-add-to-list' to add the self user to the new document; this
	 fixes a problem with the subscribe-hook not being run for the self
	 user

2010-07-15  scymtym  <scymtym@users.sourceforge.net>

	Return new buffer in rudel-backend-dump in rudel-backend.el
	* rudel-backend.el (rudel-backend-dump): return the created buffer

2010-07-10  scymtym  <scymtym@users.sourceforge.net>

	Represent missing self user as nil, not unbound in rudel.el
	* rudel.el (rudel-client-session::self): changed type to allow null
	 value; added writer method `rudel-set-self'
	 (rudel-client-session::rudel-unsubscribed-documents): check for self
	 being nil instead of the slot :self being bound

2010-07-10  scymtym  <scymtym@users.sourceforge.net>

	Removed duplicate comment in rudel-join-session in rudel.el
	* rudel.el (rudel-join-session): removed duplicate comment

2010-07-10  scymtym  <scymtym@users.sourceforge.net>

	Handle failed slot delegation differently in rudel-impersonator
	* rudel-util.el (rudel-impersonator::slot-missing): if something goes
	 wrong when accessing the slot of the target object signal the error
	 from here

2010-07-10  scymtym  <scymtym@users.sourceforge.net>

	Use automatic delegation of methods and slots for obby states
	* obby/rudel-obby-state.el (rudel-obby-state): added superclasses
	 rudel-impersonator and rudel-delegator
	 (rudel-obby-state::impersonation-target-slot): new slot; target
	 object for slot delegation
	 (rudel-obby-state::delegation-target-slot): new slot; target object
	 for method delegation
	 (rudel-obby-state::rudel-send): removed; now delegated to delegation
	 target object
	* obby/rudel-obby-server.el (rudel-obby-server-state-new): changed
	 method-resolution-order to :c3
	 (rudel-obby-server-state-encryption-negotiate): likewise
	 (rudel-obby-server-state-before-join): likewise
	 (rudel-obby-server-state-idle): likewise
	* obby/rudel-obby-client.el (rudel-obby-client-state-new): changed
	 method-resolution-order to :c3
	 (rudel-obby-client-state-encryption-negotiate): likewise
	 (rudel-obby-client-state-encryption-start): likewise
	 (rudel-obby-client-state-waiting-for-join-info): likewise
	 (rudel-obby-client-state-joining): likewise
	 (rudel-obby-client-state-join-failed): likewise
	 (rudel-obby-client-state-idle): likewise
	 (rudel-obby-client-state-session-synching): likewise
	 (rudel-obby-client-state-subscribing): likewise
	 (rudel-obby-client-state-document-synching): likewise
	 (rudel-obby-client-state-we-finalized): likewise
	 (rudel-obby-client-state-they-finalized): likewise
	 (rudel-obby-client-state-disconnected): likewise

2010-07-10  scymtym  <scymtym@users.sourceforge.net>

	Do ask for unrelated info in obby backend's rudel-ask-connect-info
	* rudel-obby.el (rudel-obby-backend::rudel-ask-connect-info): do not
	 ask for transport backend, protocol backend, host or port; these are
	 obtained by the session initiation backend and the transport backend
	 respectively

2010-07-06  scymtym  <scymtym@users.sourceforge.net>

	Use document handler in idle state in obby/rudel-obby-server.el
	* obby/rudel-obby-server.el (rudel-obby-server-state-idle): added
	 superclass rudel-obby-document-handler
	 (rudel-obby-server-state-idle::document-container-slot): set initarg
	 to 'server
	 (rudel-obby-server-state-idle::rudel-obby/obby_document): removed;
	 handled by superclass

2010-07-06  scymtym  <scymtym@users.sourceforge.net>

	Access, parsing in with-tag-attrs more flexible in rudel-xml.el
	* rudel-xml.el (rudel-xml--node-component): new function; generate
	 code to access specific components of a node
	 (rudel-xml--parse-value): new function; parse extracted components
	 as a specified type
	 (with-tag-attrs): use `rudel-xml--node-component' and
	 `rudel-xml--parse-value' to generate access and parsing code

2010-07-02  scymtym  <scymtym@users.sourceforge.net>

	Proper comments for local variables in README, INSTALL
	* README: added proper comments to local variables
	* INSTALL: added proper comments to local variables

2010-07-17  scymtym  <scymtym@users.sourceforge.net>

	Added autoload cookie for class rudel-telepathy-backend
	* rudel-telepathy.el (rudel-telepathy-backend): added autoload cookie
	 for the class

2010-06-16  scymtym  <scymtym@users.sourceforge.net>

	Only positive integers in rudel-obby-server::next-{client,user}-id
	* obby/rudel-obby-server.el (rudel-obby-server::next-client-id):
	 restrict values to positive numbers
	 (rudel-obby-server::next-user-id): restrict values to positive
	 numbers

2010-06-16  scymtym  <scymtym@users.sourceforge.net>

	Minor fixes and improvements in rudel-overlay.el
	* rudel-overlay.el (header): updated copyright; minor fix in history
	 section
	 (require eieio): new require; for `with-slots'
	 (rudel-author-overlay-face): removed leading * from documentation
	 string
	 (rudel-overlay-options-changed): only map
	 `rudel-overlay-author-update' over author overlays

2010-06-16  scymtym  <scymtym@users.sourceforge.net>

	Added require for rudel-util to rudel-hooks.el
	* rudel-hooks.el (header): updated copyright; minor fixes in history
	 section
	 (require rudel-util): new require; for `object-add-hook' and
	 `object-remove-hook'

2010-06-16  scymtym  <scymtym@users.sourceforge.net>

	Signal error if gnutls-cli cannot be found in rudel-tls.el
	* tls/rudel-tls.el (rudel-tls-client-program): use `executable-find'
	 to set the default value of the option
	 (rudel-start-tls-backend::initialize-instance): signal an error
	 unless `rudel-tls-client-program' has a usable value

2010-06-15  scymtym  <scymtym@users.sourceforge.net>

	Require rudel-util.el in rudel-mode.el
	* rudel-mode.el (header): minor fix in history section
	 (require rudel-util): new require; for object-{add,remove}-hook

2010-06-15  scymtym  <scymtym@users.sourceforge.net>

	New milestones and tags, reassigned items in TODO
	* TODO (Future): reassigned and updated some items
	 (Milestone rudel-0.5): new milestone
	 (Milestone rudel-0.4): added tag 0.4; scheduled tasks "show cursor
	 positions of other users", "integrate unit tests", "only read color
	 hue"; minor fixes
	 (Milestone rudel-0.3): added tag 0.3
	 (Milestone rudel-0.2): added tags 0.2 and released
	 (Milestone rudel-0.1): added tags 0.1 and released

2010-06-15  scymtym  <scymtym@users.sourceforge.net>

	Hopefully fixed some notorious problems in rudel-compile.el
	* rudel-compile.el (require cl): new require; for flet
	 (toplevel compilation): let-bind filename since there have been some
	 compilation problems related to `filename' being void; inject
	 requires for cl and rudel-backend into rudel-loaddefs.el

2010-06-15  scymtym  <scymtym@users.sourceforge.net>

	Mention Debian/Ubuntu packages in INSTALL
	* INSTALL (REQUIREMENTS): mention Debian/Ubuntu packages for
	 gnutls-cli and Avahi
	 (footer): added settings startup, title and author

2010-06-15  scymtym  <scymtym@users.sourceforge.net>

	Removed redundant checks in -backend-factory::-suitable-backends
	* rudel-backend.el (rudel-backend-factory::rudel-suitable-backends):
	 do not check the cdr being an object twice

2010-06-15  scymtym  <scymtym@users.sourceforge.net>

	Better handling of loading errors in rudel-backend.el
	* rudel-backend.el (header): minor fix in history
	 (rudel-backend-factory::rudel-all-backends): added optional
	 argument only-loaded; only return unloaded backends if requested
	 (rudel-backend-factory::rudel-suitable-backends): only consider
	 loaded backends
	 (rudel-backend-factory::rudel-load-backends): if the loading fails,
	 install the error message as a symbol property of the backend name
	 symbol
	 (rudel-backend-dump): format backends differently depending on
	 whether they have been loaded successfully or not
	 (rudel-backend--format-backend-normal): new function; format a
	 loaded or unloaded backend
	 (rudel-backend--format-backend-error): new function; format a
	 backend for which loading has failed

2010-06-14  scymtym  <scymtym@users.sourceforge.net>

	Added some docstrings in rudel-infinote-group.el
	* infinote/rudel-infinote-group.el (rudel-infinote-group::connection):
	 added documentation string
	 (rudel-infinote-group::rudel-register-state): added documentation
	 string
	 (rudel-infinote-group::rudel-send): added documentation string

2010-06-14  scymtym  <scymtym@users.sourceforge.net>

	Improved session startup in infinote/rudel-infinote{,client}.el
	* infinote/rudel-infinote.el (rudel-infinote-backend::rudel-connect):
	 use `rudel-wait' to ensure the connection is ready for use; handle
	 missing :host property
	 (rudel-infinote-backend::rudel-make-node): do not set the :group
	 slot when creating nodes
	* infinote/rudel-infinote-client.el
	 (rudel-infinote-client-connection::initialize-instance): cosmetic
	 changes
	 (rudel-infinote-client-connection::rudel-make-and-add-group): added
	 a comment
	 (rudel-infinote-client-connection::rudel-make-and-add-node): added a
	 comment
	 (rudel-infinote-client-connection::rudel-receive): added comments
	 (rudel-infinote-client-connection::rudel-wait): new method; block
	 until the connection is ready for use; this is determined by
	 monitoring the state of the directory group

2010-06-13  scymtym  <scymtym@users.sourceforge.net>

	Improved docstring of rudel-xmpp-backend::rudel-make-connection
	* rudel-xmpp.el (rudel-xmpp-backend::rudel-make-connection): improved
	 documentation string

2010-06-13  scymtym  <scymtym@users.sourceforge.net>

	Removed temporary slots id and status from rudel-infinote-user
	* infinote/rudel-infinote-user.el (rudel-infinote-user::id): removed;
	 was temporary
	 (rudel-infinote-user::status): removed; was temporary

2010-06-13  scymtym  <scymtym@users.sourceforge.net>

	* doc/development.org (header): cosmetic changes
	 (Rudel's Architecture): added architecture overview image
	 (Backends): fixed markup

2010-06-13  scymtym  <scymtym@users.sourceforge.net>

	Added new class rudel-hook-state-machine to rudel-state-machine.el
	* rudel-state-machine.el (header): fixed keyword; added version 0.2 to
	 history section
	 (require rudel-util): new require; used by the hook state machine
	 (rudel-state-machine::state): added writer method `rudel-set-state'
	 (rudel-state-machine::initialize-instance): use `rudel-set-state'
	 (rudel-state-machine::rudel-switch): use `rudel-set-state'
	 (rudel-hook-state-machine): new class; a state machine that runs
	 hooks when it accepts input or when it switches states

2010-06-12  scymtym  <scymtym@users.sourceforge.net>

	Initial version of the manual in doc/manual.org
	* doc/manual.org: new file; initial version of the manual

2010-06-12  scymtym  <scymtym@users.sourceforge.net>

	Added reporting bugs and getting help section to README
	* README (REPORTING BUGS AND GETTING HELP): new section; explain how
	 to get help

2010-06-12  scymtym  <scymtym@users.sourceforge.net>

	Renamed doc/notes-for-developers.org -> doc/development.org
	* doc/development.org: renamed doc/notes-for-developers.org ->
	 doc/development.org

2010-06-12  scymtym  <scymtym@users.sourceforge.net>

	Handle document users in rudel-infinote-group-document.el
	* infinote/rudel-infinote-group-document.el
	 (rudel-infinote-group-document-state-idle::rudel-infinote/user-join):
	 display a warning if the user is already subscribed; do not use the
	 document slot explicitly
	 (rudel-infinote-group-document-state-idle::rudel-infinote/user-rejoin):
	 use writer methods to update user's slots; do not use the document
	 slot explicitly
	
	(rudel-infinote-group-document-state-idle::rudel-infinote/user-status-change):
	 use writer methods to update user's slots; do not use the document
	 slot explicitly
	
	(rudel-infinote-group-document-state-idle::rudel-infinote/user-color-change):
	 use writer methods to update user's slots; do not use the document
	 slot explicitly
	 (rudel-infinote-group-document-state-idle::rudel-infinote/request):
	 do not use the document slot explicitly
	
	(rudel-infinote-group-document-state-synchronizing::rudel-infinote/sync-user):
	 construct an instance of `rudel-infinote-document-user', not
	 `rudel-infinote-user'
	 (rudel-infinote-group-document-state-joining::rudel-enter): the
	 session user does not have a status, send "active" instead; no dot
	 explicitly use the :document slot
	
	(rudel-infinote-group-document-state-joining::rudel-infinote/user-join):
	 add a document user object to the document; set the self user of the
	 document
	
	(rudel-infinote-group-document-state-joining::rudel-infinote/user-rejoin):
	 use writer methods to update user's slots; do not use the document
	 slot explicitly
	 (rudel-infinote-group-document): added superclasses
	 `rudel-impersonator' and `rudel-delegator'

2010-06-12  scymtym  <scymtym@users.sourceforge.net>

	Specialize rudel-display-string on rudel-infinote-document-user
	* rudel-infinote-display.el
	 (rudel-infinote-document-user::rudel-display-string): specialize for
	 `rudel-infinote-document-user' instead of `rudel-infinote-user'

2010-06-12  scymtym  <scymtym@users.sourceforge.net>

	Handle document users in infinote/rudel-infinote-group-document.el
	* infinote/rudel-infinote-group-document.el
	 (rudel-infinote-group-document-state-idle::rudel-infinote/user-join):
	 display a warning if the user is already subscribed; do not use the
	 document slot explicitly
	 (rudel-infinote-group-document-state-idle::rudel-infinote/user-rejoin):
	 use writer methods to update user's slots; do not use the document
	 slot explicitly
	
	(rudel-infinote-group-document-state-idle::rudel-infinote/user-status-change):
	 use writer methods to update user's slots; do not use the document
	 slot explicitly
	
	(rudel-infinote-group-document-state-idle::rudel-infinote/user-color-change):
	 use writer methods to update user's slots; do not use the document
	 slot explicitly
	 (rudel-infinote-group-document-state-idle::rudel-infinote/request):
	 do not use the document slot explicitly
	
	(rudel-infinote-group-document-state-synchronizing::rudel-infinote/sync-user):
	 construct an instance of `rudel-infinote-document-user', not
	 `rudel-infinote-user'
	 (rudel-infinote-group-document-state-joining::rudel-enter): the
	 session user does not have a status, send "active" instead; no dot
	 explicitly use the :document slot
	
	(rudel-infinote-group-document-state-joining::rudel-infinote/user-join):
	 add a document user object to the document; set the self user of the
	 document
	
	(rudel-infinote-group-document-state-joining::rudel-infinote/user-rejoin):
	 use writer methods to update user's slots; do not use the document
	 slot explicitly
	 (rudel-infinote-group-document): added superclasses
	 `rudel-impersonator' and `rudel-delegator'

2010-06-12  scymtym  <scymtym@users.sourceforge.net>

	Only set :session-user if unset in rudel-infinote-document
	* infinote/rudel-infinote-document.el
	 (rudel-infinote-document::rudel-add-user): only set the value of the
	 :session-user slot if it unset

2010-06-11  scymtym  <scymtym@users.sourceforge.net>

	Added handling of self user to rudel-infinote-document.el
	* infinote/rudel-infinote-document.el (rudel-infinote-document::self):
	 new slot; the self user of the document
	 (rudel-infinote-document::rudel-add-user): new method; add a user to
	 the document, also adding it to the session if necessary
	 (rudel-infinote-document::rudel-set-self): set the self user of the
	 document also setting the self user of the session if possible

2010-06-11  scymtym  <scymtym@users.sourceforge.net>

	Split accessor of rudel-user::color into reader and writer
	* rudel.el (rudel-user::color): split accessor into reader and writer

2010-06-11  scymtym  <scymtym@users.sourceforge.net>

	Added reader rudel-set-id to rudel-infinote-document-user::id
	* rudel-infinote-user.el (rudel-infinote-document-user::id): added
	 reader `rudel-set-id'

2010-06-11  scymtym  <scymtym@users.sourceforge.net>

	Added class rudel-infinote-document-user to infinote backend
	* rudel-infinote-user.el (require rudel-util): new require; for
	 `rudel-impersonator' and `rudel-delegator'
	 (rudel-infinote-document-user): new class; specialized infinote user
	 class for documents; in infinote, user properties can vary on a
	 per-session basis

2010-06-11  scymtym  <scymtym@users.sourceforge.net>

	Added args to infinote-client-connection::rudel-make-and-add-group
	* rudel-infinote-client.el
	 (rudel-infinote-client-connection::initialize-instance): cosmetic
	 changes
	 (rudel-infinote-client-connection::rudel-make-and-add-group): accept
	 additional arguments name, method and node

2010-06-11  scymtym  <scymtym@users.sourceforge.net>

	Removed unused require in rudel-infinote-user.el
	* infinote/rudel-infinote-user.el (require rudel-icons): remove;
	 unused

2010-06-10  scymtym  <scymtym@users.sourceforge.net>

	* README (INTRODUCTION): mention header line
	 (GETTING STARTED): link to INSTALL and .emacs files; fixed typo
	 (LICENSE): spell out licensing terms
	 (file local settings): added show everything, author and title

2010-06-07  scymtym  <scymtym@users.sourceforge.net>

	Moved display functions of infinote backend into separate file
	* infinote/Project.ede (target infinote): added
	 infinote/rudel-infinote-display.el
	* infinote/rudel-infinote-user.el
	 (rudel-infinote-user::rudel-display-string): moved to file
	 infinote/rudel-infinote-display.el
	* infinote/rudel-infinote-display.el: new file; display functions
	 for infinote objects

2010-06-06  scymtym  <scymtym@users.sourceforge.net>

	Fixed incorrect parenthesis in rudel-infinote-user.el
	* infinote/rudel-infinote-user.el
	 (rudel-infinote-user::rudel-display-string): fixed incorrect
	 parenthesis

2010-06-06  scymtym  <scymtym@users.sourceforge.net>

	Added rudel-make-{node, group} to rudel-infinote-backend
	* infinote/rudel-infinote.el
	 (rudel-infinote-backend::rudel-make-node): new method; create node
	 object according to specified type and properties
	 (rudel-infinote-backend::rudel-make-group): new method; create group
	 object according to specified type and properties

2010-06-06  scymtym  <scymtym@users.sourceforge.net>

	Changed initarg of rudel-infinote-user::id to :id
	* infinote/rudel-infinote-user.el (rudel-infinote-user::id): changed
	 initarg to :id
	 (rudel-infinote-user::rudel-display-string): minor cosmetic changes

2010-06-06  scymtym  <scymtym@users.sourceforge.net>

	Added some docs in infinote/rudel-infinote-text-document.el
	* infinote/rudel-infinote-text-document.el (header): added commentary
	 section
	 (rudel-infinote-text-document): added documentation string

2010-06-06  scymtym  <scymtym@users.sourceforge.net>

	Use correct users in requests of infinote-group-text-document
	* infinote/rudel-infinote-group-text-document.el
	
	(rudel-infinote-group-text-document-state-idle::rudel-infinote/request/insert):
	 accept user argument; use passed in user object instead of dummy
	 user object
	
	(rudel-infinote-group-text-document-state-idle::rudel-infinote/request/insert-caret):
	 use passed in user object instead of dummy user object
	
	(rudel-infinote-group-text-document-state-idle::rudel-infinote/request/delete):
	 use passed in user object instead of dummy user object
	
	(rudel-infinote-group-text-document-state-idle::rudel-infinote/request/delete-caret):
	 use passed in user object instead of dummy user object
	
	(rudel-infinote-group-text-document-state-idle::rudel-infinote/request/delete-caret):
	 accept user argument; use passed in user object instead of dummy
	 user object
	
	(rudel-infinote-group-text-document-state-idle::rudel-infinote/request/no-op):
	 accept user argument
	
	(rudel-infinote-group-text-document-state-idle::rudel-infinote/request/move):
	 use passed in user object instead of dummy user object
	
	(rudel-infinote-group-text-document-state-synchronizing::rudel-infinote/sync-segment):
	 find user object in document and use it instead of the dummy user
	 object
	 (rudel-infinote-group-text-document::parent): restrict type to
	 rudel-infinote-node-directory-child
	 (rudel-infinote-group-text-document::initialize-instance): reset
	 state list before adding rudel-infinote-group-text-document-states

2010-06-06  scymtym  <scymtym@users.sourceforge.net>

	Use correct users in infinote document group states idle, joining
	* infinote/rudel-infinote-group-document.el
	 (rudel-infinote-group-document-state-idle::rudel-infinote/request):
	 retrieve user object from document object and use it in request
	 processing
	 (rudel-infinote-group-document-state-joining::rudel-enter): do not
	 use a dummy user object, but the self object from the session

2010-06-03  scymtym  <scymtym@users.sourceforge.net>

	Added rudel-color.el and use it in infinote backend
	* rudel-color.el: new file; utility functions for color manipulation;
	 currently RGB <-> HSV conversion
	* Project.ede (target rudel): added rudel-color.el
	* infinote/rudel-infinote-group-document.el (require rudel-color): new
	 require; used to convert hue values to RGB colors
	 (rudel-infinote-group-document-state-idle::rudel-infinote/user-join):
	 (rudel-infinote-group-document-state-idle::rudel-infinote/user-rejoin):
	
	(rudel-infinote-group-document-state-idle::rudel-infinote/user-color-change):
	
	(rudel-infinote-group-document-state-synchronizing::rudel-infinote/sync-user):
	
	(rudel-infinote-group-document-state-joining::rudel-infinote/user-join):
	
	(rudel-infinote-group-document-state-joining::rudel-infinote/user-rejoin):
	 use `rudel-hsv->string' and `rudel-color-background-value'

2010-06-03  scymtym  <scymtym@users.sourceforge.net>

	New method rudel-document::rudel-clear-users for infinote backend
	* rudel.el (rudel-document::rudel-clear-users): new method; clear list
	 of subscribed users
	* infinote/rudel-infinote-group-document.el
	 (rudel-infinote-group-document-state-synchronizing::rudel-enter):
	 use `rudel-clear-users'; users are added by the synchronization
	 process

2010-06-03  scymtym  <scymtym@users.sourceforge.net>

	Fixed state superclasses in rudel-infinote-group-text-document.el
	* rudel-infinote-group-text-document.el
	 (rudel-infinote-group-text-document-state-idle): fixed superclass
	 rudel-infinote-document-state-idle ->
	 rudel-infinote-group-document-state-idle
	 (rudel-infinote-group-text-document-state-synchronizing): fixed
	 superclass rudel-infinote-document-state-synchronizing ->
	 rudel-infinote-group-document-state-synchronizing

2010-06-03  scymtym  <scymtym@users.sourceforge.net>

	Better updates of user status in rudel-infinote-group-document.el
	* rudel-infinote-group-document.el
	 (rudel-infinote-group-document-state-idle::rudel-infinote/user-join):
	 update the status slot of the user
	
	(rudel-infinote-group-document-state-joining::rudel-infinote/user-join):
	 warn if the self user cannot be found

2010-06-03  scymtym  <scymtym@users.sourceforge.net>

	Updated user state handlers in rudel-infinote-group-document.el
	* rudel-infinote-group-document.el
	
	(rudel-infinote-group-document-state-idle::rudel-infinote/user-status-change):
	 try to find the user in the list of subscribed user of the document
	 and update its status
	
	(rudel-infinote-group-document-state-idle::rudel-infinote/user-color-change):
	 new method; handle 'user-color-change' message

2010-06-03  scymtym  <scymtym@users.sourceforge.net>

	Added comments,	 docs to rudel-infinote-group-document.el
	* infinote/rudel-infinote-group-document.el
	
	(rudel-infinote-group-document-state-synchronizing::rudel-infinote/sync-end):
	 added comments and display a warning when the number of received
	 synchronization items differs from the expected number
	 (rudel-infinote-group-document-state-joining): added documentation
	 string

2010-06-03  scymtym  <scymtym@users.sourceforge.net>

	Added a 'closed' state to infinote group classes
	* infinote/rudel-infinote-group-text-document.el
	 (rudel-infinote-group-text-document-states): added closed state
	* infinote/rudel-infinote-group-document.el
	 (rudel-infinote-group-document-states): added closed state
	* infinote/rudel-infinote-group-directory.el
	 (rudel-infinote-directory-state-new): added a comment
	 (rudel-infinote-group-directory-states): added closed state

2010-06-03  scymtym  <scymtym@users.sourceforge.net>

	Added new class rudel-infinote-group-state-closed
	* rudel-infinote-group.el (rudel-infinote-group-state-closed): new
	 closed; groups enter this state when a close message is received
	 (this rudel-infinote-group-state-closed::rudel-accept): new method;
	 ignore all messages

2010-06-02  scymtym  <scymtym@users.sourceforge.net>

	Handle user joining in rudel-infinote-group-document.el
	* infinote/rudel-infinote-group-document.el (require warnings): new
	 require; required for displaying warnings
	 (rudel-infinote-group-document-state-idle::rudel-infinote/user-join):
	 create a user object and add it to the document
	 (rudel-infinote-group-document-state-idle::rudel-infinote/user-rejoin):
	 find the user in the document and update its slots; warn if the user
	 cannot be found
	
	(rudel-infinote-group-document-state-synchronizing::rudel-infinote/sync-user):
	 create a user object and add it to the document
	
	(rudel-infinote-group-document-state-joining::rudel-infinote/user-join):
	 find the self user and update its slots; then add it to the document
	
	(rudel-infinote-group-document-state-joining::rudel-infinote/user-rejoin):
	 find the self user and update its slots; make the self user and the
	 document user agree; warn if one is not found or they do not agree

2010-06-02  scymtym  <scymtym@users.sourceforge.net>

	Renamed group states in rudel-infinote-group-document.el
	* infinote/rudel-infinote-group-document.el
	 (rudel-infinote-group-document-state-idle): renamed
	 rudel-infinote-document-state-idle ->
	 rudel-infinote-group-document-state-idle
	 (rudel-infinote-group-document-state-synchronizing):
	 rudel-infinote-document-state-synchronizing ->
	 rudel-infinote-group-document-state-synchronizing
	 (rudel-infinote-group-document-states): changed names of group
	 states

2010-06-02  scymtym  <scymtym@users.sourceforge.net>

	Store and use id in rudel-infinote-group-directory.el
	* infinote/rudel-infinote-group-directory.el
	 (rudel-infinote-directory-state-subscribing::id): new slot; stores
	 the id ob the target node of the subscription
	 (rudel-infinote-directory-state-subscribing::rudel-enter): store id;
	 added documentation string
	
	(rudel-infinote-directory-state-subscribing::rudel-infinote/subscribe-session):
	 check the received id against the stored id; send message through
	 group

2010-06-02  scymtym  <scymtym@users.sourceforge.net>

	Subscription ack in rudel-infinote-group-directory.el
	* infinote/rudel-infinote-group-directory.el
	 (rudel-infinote-directory-state-subscribing;:rudel-leave): new
	 method; send subscription acknowledgment

2010-06-02  scymtym  <scymtym@users.sourceforge.net>

	Reversed order of superclasses of rudel-infinote-document
	* rudel-infinote-document.el (rudel-infinote-document): reversed order
	 of superclasses; added documentation string

2010-06-01  scymtym  <scymtym@users.sourceforge.net>

	Fixed parens in rudel-infinote-embed-in-request
	* rudel-infinote-util.el (rudel-infinote-parse-sequence-number):
	 validate input
	 (rudel-infinote-embed-in-request): fixed parens

2010-06-01  scymtym  <scymtym@users.sourceforge.net>

	Exploit auto sequence numbers in rudel-infinote-group-directory
	* rudel-infinote-group-directory.el
	 (rudel-infinote-directory-state-exploring::rudel-enter): do not add
	 sequence number to message since the super class of the group does
	 that automatically
	 (rudel-infinote-group-directory): changed superclass to
	 `rudel-infinote-sequence-number-group' to get automatic sequence
	 number injection

2010-06-01  scymtym  <scymtym@users.sourceforge.net>

	New rudel-make-and-add-group in rudel-infinote-group-directory.el
	* infinote/rudel-infinote-group-directory.el
	 (rudel-infinote-group-directory::rudel-add-node): changed call
	 `rudel-add-new-node' -> `rudel-make-and-add-node'
	* infinote/rudel-infinote-client.el
	 (rudel-infinote-client-connection::rudel-make-and-add-group): new
	 method; create a new group object and add it to the list of groups
	 (rudel-infinote-client-connection::rudel-make-and-add-node): renamed
	 `rudel-add-new-node' -> `rudel-make-and-add-node'

2010-06-01  scymtym  <scymtym@users.sourceforge.net>

	Use self user in rudel-local-operation in rudel-infinote-client.el
	* rudel-infinote-client.el
	 (rudel-infinote-client-connection::rudel-local-operation): obtain
	 self user from session object

2010-06-01  scymtym  <scymtym@users.sourceforge.net>

	Added methods rudel-self and rudel-find-user in rudel.el
	* rudel.el (rudel-client-session::rudel-self): new reader method;
	 returns the self user
	 (rudel-document::rudel-find-user): new method; finds ands returns a
	 specified user

2010-06-01  scymtym  <scymtym@users.sourceforge.net>

	Removed obsolete method from rudel-infinote-client.el
	* infinote/rudel-infinote-client.el
	 (rudel-infinote-client-connection::rudel-register-state): removed
	 obsolete method

2010-06-01  scymtym  <scymtym@users.sourceforge.net>

	Added slot plugins to class rudel-infinote-client-connection
	* rudel-infinote-client.el
	 (rudel-infinote-client-connection::plugins): new slot; list of
	 plugins advertised by the remote side
	 (rudel-infinote-client-connection::initialize-instance): minor
	 cleanup

2010-05-30  scymtym  <scymtym@users.sourceforge.net>

	Store remote side id in rudel-infinote-group.el
	* infinote/rudel-infinote-group.el
	 (rudel-infinote-sequence-number-group::remote-id): new slot; stores
	 id assigned by remote side

2010-05-30  scymtym  <scymtym@users.sourceforge.net>

	Store sequence number and plugins in rudel-infinote/welcome
	* rudel-infinote-group-directory.el
	 (rudel-infinote-directory-state-new::sequence-number): new slot;
	 stores the sequence number transmitted by the remote side
	 (rudel-infinote-directory-state-new::plugins): new slot; stores the
	 plugin list transmitted by the remote side
	 (rudel-infinote-directory-state-new::rudel-infinote/welcome): store
	 sequence number and plugin list received form remote side

2010-05-30  scymtym  <scymtym@users.sourceforge.net>

	Warning severity in rudel-infinote-group-directory.el
	* infinote/rudel-infinote-group-directory.el
	 (rudel-infinote-directory-state-exploring::rudel-infinote/explore-end):
	 specify warning severity in call to `display-warning'

2010-05-30  scymtym  <scymtym@users.sourceforge.net>

	Improved commentary section in rudel-infinote-group.el
	* infinote/rudel-infinote-group.el (header): extended commentary
	 section; added 0.2 to version section

2010-05-30  scymtym  <scymtym@users.sourceforge.net>

	Added documentation strings in rudel-infinote-group.el
	* infinote/rudel-infinote-group.el (rudel-infinote-group): made
	 abstract; added documentation string
	 (rudel-infinote-embed-in-group): added documentation string

2010-05-30  scymtym  <scymtym@users.sourceforge.net>

	More data in warnings in rudel-infinote-group-state::rudel-accept
	* rudel-infinote-group.el (rudel-infinote-group-state::rudel-accept):
	 include more data in warning messages for failed requests

2010-05-30  scymtym  <scymtym@users.sourceforge.net>

	Added class rudel-infinote-sequence-number-group
	* rudel-infinote-group.el (rudel-infinote-group-state::rudel-send):
	 removed; get delegated automatically
	 (rudel-infinote-sequence-number-group): new class; added
	 automatically incrementing sequence numbers to messages sent through
	 the group

2010-05-30  scymtym  <scymtym@users.sourceforge.net>

	Improved docstring of method rudel-obby/obby_document/sync_init
	* obby/rudel-obby-client.el
	
	(rudel-obby-client-state-subscribing::rudel-obby/obby_document/sync_init):
	 improved documentation string

2010-05-30  scymtym  <scymtym@users.sourceforge.net>

	New function rudel-obtain-password, used in XMPP SASL mechanism
	* rudel-interactive.el (rudel-obtain-password): new function; try to
	 obtain from different sources, falling back to prompting the user
	* xmpp/rudel-xmpp-sasl.el
	 (rudel-xmpp-state-sasl-mechanism-step::rudel-accept): bind
	 `sasl-read-passphrase' to `rudel-obtain-sasl-password' to make it
	 overridable
	 (rudel-xmpp-state-sasl-mechanism-step::rudel-obtain-sasl-password):
	 call `rudel-obtain-password'
	* obby/rudel-obby.el (rudel-obby-backend::rudel-ask-connect-info): use
	 `rudel-obtain-password' instead of `read-string'

2010-05-30  scymtym  <scymtym@users.sourceforge.net>

	Added contents of header commentary section in rudel-xmpp-sasl.el
	* xmpp/rudel-xmpp-sasl.el (header): added contents of commentary
	 section

2010-05-30  scymtym  <scymtym@users.sourceforge.net>

	Match response types with case in rudel-xmpp-sasl.el
	* xmpp/rudel-xmpp-sasl.el
	 (rudel-xmpp-state-sasl-mechanism-step::rudel-accept): use `case'
	 instead of `cond' when matching response types

2010-05-30  scymtym  <scymtym@users.sourceforge.net>

	Improved customization group definition in rudel.el
	* rudel.el (defgroup rudel): added group communication and :link s to
	 the library, the Sourceforge project page and the Emacs Wiki page

2010-05-28  scymtym  <scymtym@users.sourceforge.net>

	Make xml->string not pretty-print unless requested
	* rudel-xml.el (xml->string): use new utility function
	 rudel-xml-print-node when not pretty-printing
	 (rudel-xml-print-node): new utility function; print XML node
	 (rudel-xml-print-attr): new utility function; print XML attribute

2010-05-28  scymtym  <scymtym@users.sourceforge.net>

	Added documentation and comments in rudel-xml.el
	* rudel-xml.el (do-tag-children): added documentation string
	 (rudel-xml-toplevel-tag-positions): Improved documentation string;
	 added some comments

2010-05-28  scymtym  <scymtym@users.sourceforge.net>

	Allow access to text child nodes in with-tag-attrs
	* rudel-xml.el (with-tag-attrs): allow second position in binding
	 specification to text; look up child text node

2010-05-27  scymtym  <scymtym@users.sourceforge.net>

	Added some branch tags in TODO
	* TODO (Future): added branch tags; multiple listeners task is started
	 (Milestone 0.4): added branch tags

2010-05-27  scymtym  <scymtym@users.sourceforge.net>

	Associated rudel-unsubscribed-documents to rudel-client-session
	* rudel.el (rudel-client-session::rudel-unsubscribed-documents):
	 changed specializer rudel-session -> rudel-client-session
	 (rudel-document::rudel-chunks): write functions with #' syntax
	 (rudel-mode-changed-buffers): reflowed documentation string

2010-05-25  scymtym  <scymtym@users.sourceforge.net>

	Warn if document does not exist when handling obby_document msg
	* obby/rudel-obby-server.el (require warnings): new require; used to
	 display warning messages
	 (rudel-obby-server-state-idle::rudel-obby/obby_document): check
	 whether the document does exist; display a warning if it does not

2010-05-25  scymtym  <scymtym@users.sourceforge.net>

	Pass new session to session initiation in rudel-host-session
	* rudel.el (rudel-host-session): call
	 rudel-session-initiation-advertise when the new session object has
	 been constructed

2010-05-25  scymtym  <scymtym@users.sourceforge.net>

	Cosmetic changes and doc improvements in obby/rudel-obby-client.el
	* obby/rudel-obby-client.el
	
	(rudel-obby-client-state-session-synching::rudel-obby/net6_client_join):
	 improved comment; cosmetic changes
	 (rudel-obby/obby_document/sync_chunk): improved documentation
	 string; changed let* -> let; use zerop instead of = ... 0; added a
	 comment
	 (rudel-obby-connection::rudel-publish): added a documentation string

2010-05-24  scymtym  <scymtym@users.sourceforge.net>

	Removed &rest from slots arg of init-inst of rudel-obby-connection
	* obby/rudel-obby-client.el
	 (rudel-obby-connection::initialize-instance): removed &rest from
	 slots argument

2010-05-24  scymtym  <scymtym@users.sourceforge.net>

	Minor fixes and improvements in obby/rudel-obby-client.el
	* obby/rudel-obby-client.el
	 (rudel-obby-client-state-idle::rudel-obby/net6_client_join): use
	 test = when locating user; improved comment
	 (rudel-obby-client-state-idle::rudel-obby/obby_document_create):
	 added TODO item regarding not displaying messages from the backend
	 (rudel-obby-client-state-idle::rudel-obby/obby_document/rename):
	 improved documentation string
	 (rudel-obby-client-state-session-synching): reflowed documentation
	 strings of slots
	
	(rudel-obby-client-state-subscribing::rudel-obby/obby_document/sync_init):
	 fixed name of document slot

2010-05-24  scymtym  <scymtym@users.sourceforge.net>

	Added version to header in rudel.el and update rule to Project.ede
	* rudel.el (header): added Version field
	* Project.ede (target rudel): added rudel.el to :versionsource

2010-05-24  scymtym  <scymtym@users.sourceforge.net>

	Small improvements and updates in doc/card.tex
	* doc/card.tex (macros): removed metabox macro; renamed \ccc ->
	 \prefix
	 (Backends): improved wording; added infinote and IRC backends
	 (Examples): reorganized; added prompts for transport and protocol
	 backends
	 (Debugging): new section; explain dumping backends and loading the
	 debug library
	* doc/card.pdf: regenerated

2010-05-23  scymtym  <scymtym@users.sourceforge.net>

	Added clickable status icon task to milestone Future in TODO
	* TODO (Future): added status icon should be clickable task; document
	 history is in irc branch

2010-05-23  scymtym  <scymtym@users.sourceforge.net>

	Improved arg handling rudel-find-{user, document} in rudel.el
	* rudel.el (rudel-session::rudel-find-user):
	 (rudel-session::rudel-find-document): handle optional arguments more
	 efficiently
	 (rudel-user): added a comment

2010-05-23  scymtym  <scymtym@users.sourceforge.net>

	Wait for idle state in rudel-infinote-backend::rudel-connect
	* infinote/rudel-infinote.el (rudel-infinote-backend::rudel-connect):
	 wait for the infinote connection object to enter its idle state

2010-05-23  scymtym  <scymtym@users.sourceforge.net>

	Improved documentation string of class rudel-infinote-node
	* infinote/rudel-infinote-node.el (rudel-infinote-node): improved
	 documentation string

2010-05-23  scymtym  <scymtym@users.sourceforge.net>

	Added some related work to doc/notes-for-developers.org
	* doc/notes-for-developers.org (Related Work): new section; some links
	 to related work

2010-05-23  scymtym  <scymtym@users.sourceforge.net>

	Disabled query on exit for TLS and socket transport processes
	* tls/rudel-tls.el (rudel-tls-make-process): set query on exit flag of
	 the process to nil
	* socket/rudel-socket.el (rudel-tcp-backend::rudel-make-connection):
	 (rudel-tcp-backend::rudel-wait-for-connections): set :noquery flag
	 of the new process

2010-05-23  scymtym  <scymtym@users.sourceforge.net>

	Improved docstring of global-rudel-minor-mode in rudel-mode.el
	* rudel-mode.el (header): updated copyright
	 (rudel-header-subscriptions--add-user): renamed lexical-let binding
	 for clarity
	 (global-rudel-minor-mode): Added key bindings to documentation
	 string

2010-05-23  scymtym  <scymtym@users.sourceforge.net>

	Small fixes and improvements in README
	* README (INTRODUCTION): fixed a typo
	 (GETTING STARTED): added comment about enabling
	 global-rudel-minor-mode in .emacs; added markup to example

2010-05-23  scymtym  <scymtym@users.sourceforge.net>

	Added branches as tags and other updates in TODO
	* TODO (Future): added tasks typing notification, document history,
	 session log, activity indicator, tracking of chunk modifications,
	 peer view indication; added branch tags
	 (Milestone 0.4): added branch tags

2010-05-21  scymtym  <scymtym@users.sourceforge.net>

	Fixed header sections in rudel-operators.el
	* rudel-operators.el (header): updated copyright; minor improvements
	 in commentary section; minor improvements in history section

2010-05-21  scymtym  <scymtym@users.sourceforge.net>

	Fixed XMPP TLS state name in xmpp/rudel-xmpp-tls.el
	* xmpp/rudel-xmpp-tls.el (rudel-xmpp-tls-states): fixed class name for
	 start-tls state rudel-xmpp-start-tls-start ->
	 rudel-xmpp-state-tls-start

2010-05-21  scymtym  <scymtym@users.sourceforge.net>

	Fixed class name in methods in xmpp/rudel-xmpp-tunnel.el
	* xmpp/rudel-xmpp-tunnel.el (rudel-xmpp-tunnel-transport::rudel-send):
	 (rudel-xmpp-tunnel-transport::rudel-message): fixed class name in
	 method definition rudel-xmpp-transport ->
	 rudel-xmpp-tunnel-transport

2010-05-16  scymtym  <scymtym@users.sourceforge.net>

	Updated IRC, TLS and infinote related issues in TODO
	* TODO (Future): added task for IRC backend
	 (Milestone 0.3): marked TLS start state problem as fixed; marked
	 document tree-related tasks as started

2010-05-16  scymtym  <scymtym@users.sourceforge.net>

	Add new nodes to list in infinote/rudel-infinote-client.el
	* infinote/rudel-infinote-client.el
	 (rudel-infinote-client-connection::rudel-add-new-node): call
	 rudel-add-node to add the new nodes to the node list of the client
	 connection

2010-05-16  scymtym  <scymtym@users.sourceforge.net>

	Moved rudel-unique-name from infinote-document to infinote-node
	* infinote/rudel-infinote-node.el
	 (rudel-infinote-node::rudel-unique-name): new method; move to
	 rudel-infinote-note from rudel-infinote-document
	* infinote/rudel-infinote-document.el
	 (rudel-infinote-document::rudel-unique-name): removed; moved to
	 rudel-infinote-node

2010-05-16  scymtym  <scymtym@users.sourceforge.net>

	Fixed slot in rudel-infinote-client-connection::rudel-find-node
	* infinote/rudel-infinote-client.el
	 (rudel-infinote-client-connection::rudel-find-node): fixed name of
	 slot documents -> nodes

2010-05-16  scymtym  <scymtym@users.sourceforge.net>

	Renamed r-add-document -> r-add-new-node in -infinote-client.el	
	* infinote/rudel-infinote-client.el
	 (rudel-infinote-client-connection::rudel-add-new-node): renamed
	 rudel-add-document -> rudel-add-new-node; added comments

2010-05-16  scymtym  <scymtym@users.sourceforge.net>

	Renamed -document to -node in rudel-infinote-group-directory.el
	* infinote/rudel-infinote-group-directory.el
	 (rudel-infinote-directory-state-idle::rudel-infinote/add-node): call
	 rudel-add-node instead of rudel-add-document
	 (rudel-infinote-directory-state-exploring::rudel-infinote/add-node):
	 call rudel-add-node instead of rudel-add-document
	 (rudel-infinote-group-directory::rudel-add-node): renamed
	 rudel-add-document -> rudel-add-node
	 (rudel-infinote-group-directory::rudel-remove-node): renamed
	 rudel-remove-document -> rudel-remove-node

2010-05-16  scymtym  <scymtym@users.sourceforge.net>

	Improved creation of root node in rudel-infinote-client-connection
	* infinote/rudel-infinote-client.el
	 (rudel-infinote-client-connection::initialize-instance): add the
	 root directory as a node, not as a document

2010-05-16  scymtym  <scymtym@users.sourceforge.net>

	Docstrings of groups and nodes of rudel-infinote-client-connection
	* infinote/rudel-infinote-client.el
	 (rudel-infinote-client-connection::groups): added documentation
	 string
	 (rudel-infinote-client-connection::nodes): added documentation
	 string

2010-05-16  scymtym  <scymtym@users.sourceforge.net>

	Extended rudel-remove-group infinote/in rudel-infinote-client.el
	* infinote/rudel-infinote-client.el
	 (rudel-infinote-client-connection::rudel-remove-group): changed
	 argument to allow for group name or group object; added
	 documentation string

2010-05-16  scymtym  <scymtym@users.sourceforge.net>

	Methods of rudel-infinote-client to find, add, remove nodes
	* infinote/rudel-infinote-client.el
	 (rudel-infinote-client-connection::rudel-find-node): new method;
	 find node by its id or by other criteria
	 (rudel-infinote-client-connection::rudel-add-node): added
	 documentation string
	 (rudel-infinote-client-connection::rudel-remove-node): new method;
	 remove a node

2010-05-16  scymtym  <scymtym@users.sourceforge.net>

	Signal proper errors in infinote/rudel-infinote-client.el
	* infinote/rudel-infinote-client.el (require cl): new require; we use
	 cl functions
	 (require rudel-infinote-errors): new require; for specialized
	 infinote errors
	 (rudel-infinote-client-connection::rudel-add-document): when we
	 cannot find a parent node, signal rudel-infinote-no-such-node; added
	 a comment

2010-05-16  scymtym  <scymtym@users.sourceforge.net>

	Added error conditions for the infinote backend
	* infinote/rudel-infinote-errors.el: new file; contains definitions of
	 error conditions for the infinote backend
	* infinote/Project.ede (target infinote): added
	 rudel-infinote-errors.el

2010-05-15  scymtym  <scymtym@users.sourceforge.net>

	Fixed invalid state switch in xmpp/rudel-xmpp.el
	* xmpp/rudel-xmpp.el (rudel-xmpp-backend::rudel-make-connection): call
	 `rudel-start' of the TCP transport, not the XMPP transport
	 (rudel-xmpp-state-negotiate-stream::rudel-enter): removed whitespace
	 in stream template string

2010-05-15  scymtym  <scymtym@users.sourceforge.net>

	Sequence numbers start at 1 in infinote/rudel-infinote-client.el
	* infinote/rudel-infinote-client.el
	 (rudel-infinote-client-connection::sequence-number): start at 1, not
	 0

2010-05-02  scymtym  <scymtym@users.sourceforge.net>

	Improved comment in rudel-infinote-group-state::rudel-accept
	* infinote/rudel-infinote-group.el
	 (rudel-infinote-group-state::rudel-accept): improved a comment

2010-05-02  scymtym  <scymtym@users.sourceforge.net>

	Removed class rudel-infinote-group-state in rudel-infinote-state.el
	* infinote/rudel-infinote-state.el (header): added file commentary
	 (rudel-infinote-group-state): removed class; this is now handled in
	 rudel-infinote-group.el

2010-05-02  scymtym  <scymtym@users.sourceforge.net>

	Silence the byte-compiler in obby/rudel-obby-server.el
	* obby/rudel-obby-server.el (require rudel-obby): required to silence
	 the byte-compiler

2010-05-02  scymtym  <scymtym@users.sourceforge.net>

	Fixed state list in rudel-infinote-backend::rudel-connect
	* infinote/rudel-infinote.el (rudel-infinote-backend::rudel-connect):
	 wait for transport to go to idle state, instead of established;
	 expect disconnected error state

2010-05-02  scymtym  <scymtym@users.sourceforge.net>

	Fixed parentheses in infinote/rudel-infinote-group.el
	* infinote/rudel-infinote-group.el (rudel-infinote-embed-in-group):
	 fixed parentheses

2010-05-02  scymtym  <scymtym@users.sourceforge.net>

	Cleanup in infinote/rudel-infinote-group-text-document.el
	* infinote/rudel-infinote-group-text-document.el
	 (rudel-infinote-group-text-document-states): fixed comment
	 (rudel-infinote-group-text-document::initialize-instance): leave
	 initialization of state list to state-machine class

2010-05-02  scymtym  <scymtym@users.sourceforge.net>

	Use `display-warning' in infinote/rudel-infinote-group-directory.el
	* infinote/rudel-infinote-group-directory.el
	 (rudel-infinote-directory-state-exploring::rudel-infinote/explore-end):
	 use `display-warning' instead of `warn'

2010-04-17  scymtym  <scymtym@users.sourceforge.net>

	Require warnings library where display-warning is used
	* rudel-backend.el (header): updated copyright
	 (require warnings):
	* obby/rudel-obby-state.el (require warnings):
	* obby/rudel-obby-client.el (require warnings):
	* infinote/rudel-infinote-group.el (require warnings):
	* infinote/rudel-infinote-group-directory.el (require warnings):
	* infinote/rudel-infinote-client.el (require warnings): new require;
	 this is needed since display-warning is used

2010-04-10  scymtym  <scymtym@users.sourceforge.net>

	Warn for dispatch errors in infinote/rudel-infinote-group.el
	* infinote/rudel-infinote-group.el
	 (rudel-infinote-group-state::rudel-accept): handle dispatch errors
	 by displaying a warning

2010-04-10  scymtym  <scymtym@users.sourceforge.net>

	New state in infinote/rudel-infinote-group-directory.el
	* infinote/rudel-infinote-group-directory.el (require xml):
	 (require rudel-xml): new require; used for XML processing
	 (rudel-infinote-directory-state-new): new class; initial state of
	 the infinote directory group
	 (rudel-infinote-directory-state-new::rudel-infinote/welcome): new
	 method; handle infinote welcome message
	 (rudel-infinote-directory-state-exploring::rudel-enter): use
	 sequence number of group object instead of local fake binding
	 (rudel-infinote-group-directory-states): added new state to state
	 list; added documentation string
	 (rudel-infinote-group-directory): added documentation string
	 (rudel-infinote-group-directory::sequence-number): new slot;
	 sequence number used when sending requests

2010-04-10  scymtym  <scymtym@users.sourceforge.net>

	Delegation for group states in infinote/rudel-infinote-group.el
	* infinote/rudel-infinote-group.el (require rudel-util): new require;
	 for rudel-impersonator and rudel-delegator
	 (rudel-infinote-group-state): added superclasses
	 `rudel-impersonator' and `rudel-delegator'
	 (rudel-infinote-group-state::impersonation-target-slot): new slot
	 specification; specify group as impersonation target
	 (rudel-infinote-group-state::delegation-target-slot): new slot
	 specification; specify group as delegation target

2010-04-10  scymtym  <scymtym@users.sourceforge.net>

	Check color on entering joining state in obby/rudel-obby-client.el
	* obby/rudel-obby-client.el
	 (rudel-obby-client-state-joining::rudel-enter): check color before
	 trying to login; switch to failure state if the color is invalid

2010-04-10  scymtym  <scymtym@users.sourceforge.net>

	Seq. number parsing/generation in infinote/rudel-infinote-util.el
	* infinote/rudel-infinote-util.el
	 (rudel-infinote-parse-sequence-number): new function; parse infinote
	 sequence number
	 (rudel-infinote-generate-sequence-number): new function; generate
	 infinote sequence number

2010-04-10  scymtym  <scymtym@users.sourceforge.net>

	Quote in rudel-operation->xml in infinote/rudel-infinote-util.el
	* infinote/rudel-infinote-util.el
	 (adopted-compound::rudel-operation->xml): fixed missing quote of
	 split element in XML generation

2010-04-10  scymtym  <scymtym@users.sourceforge.net>

	Added idea enable modes by default? in TODO
	* TODO (Milestone 0.3): new task; enable modes by default?

2010-04-10  scymtym  <scymtym@users.sourceforge.net>

	Minor whitespace cleanup in rudel.el
	* rudel.el (rudel-allocate-buffer-function): whitespace cleanup

2010-04-10  scymtym  <scymtym@users.sourceforge.net>

	Added docstrings to rudel-obby-server in obby/rudel-obby-server.el
	* obby/rudel-obby-server.el (rudel-obby-server::clients):
	 (rudel-obby-server::next-client-id):
	 (rudel-obby-server::next-user-id):
	 (rudel-obby-server::contexts): added documentation strings

2010-04-03  scymtym  <scymtym@users.sourceforge.net>

	Updated fragment assembling and looping functions
	* rudel-util.el (rudel-assemble-line-fragments): removed; replaced by
	 generic `rudel-assemble-fragments'
	 (rudel-assemble-fragments): simplified; call function with two
	 arguments instead of a list
	 (rudel-assemble-lines): take two arguments, data and storage
	 (rudel-loop-lines): removed; replaced by generic
	 `rudel-loop-fragments'
	* rudel-xml.el (rudel-xml-assemble-tags): take two arguments, data and
	 storage; extended documentation string
	* xmpp/rudel-xmpp-util.el (rudel-xmpp-assemble-stream): take two
	 arguments, data and storage; handle cases in which the initial chuck
	 contains other elements than stream and features; added some
	 comments

2010-03-31  scymtym  <scymtym@users.sourceforge.net>

	Added idea consolidate operations before sending to TODO
	* TODO (Future): new task; delay and consolidate operations before
	 sending in order to conserve bandwidth

2010-03-26  scymtym  <scymtym@users.sourceforge.net>

	Added idle state and shelving of data to XMPP transport
	* xmpp/rudel-xmpp.el (rudel-xmpp-state-established::rudel-enter):
	 removed; handled by method specialized on base class
	 (rudel-xmpp-state-established::rudel-accept): new method; store
	 received data for later processing in successor states
	 (rudel-xmpp-state-idle): new class; idle state; the transport enters
	 this state after establishing the connection
	 (rudel-xmpp-state-idle::rudel-enter): new method; process stored
	 data
	 (rudel-xmpp-state-idle::rudel-accept): new method; pass received
	 data to filter function
	 (rudel-xmpp-states): added idle state
	 (rudel-xmpp-transport::shelve-buffer): new slot; used to store data
	 that cannot be processing in current state for later processing
	 (rudel-xmpp-transport::rudel-start): new method; put the transport
	 into idle state; this can trigger processing of shelved data

2010-03-26  scymtym  <scymtym@users.sourceforge.net>

	Added &rest args to rudel-xmpp-state::rudel-enter
	* xmpp/rudel-xmpp-state.el (rudel-xmpp-state::rudel-enter): added
	 &rest args

2010-03-26  scymtym  <scymtym@users.sourceforge.net>

	Fixed typo in a docstring in xmpp/rudel-xmpp.el
	* xmpp/rudel-xmpp.el (rudel-xmpp-backend::rudel-ask-connect-info):
	 fixed typo in documentation string

2010-03-26  scymtym  <scymtym@users.sourceforge.net>

	Fixed spelling error in docstring in rudel-util.el
	* rudel-util.el (rudel-dispatch): fixed spelling error in
	 documentation string

2010-03-26  scymtym  <scymtym@users.sourceforge.net>

	Escaped parens in a docstring in rudel-util.el
	* rudel-util.el (header): updated copyright
	 (rudel-assemble-lines): Escaped top-level-looking parenthesis in
	 documentation string

2010-03-24  scymtym  <scymtym@users.sourceforge.net>

	Removed &rest from initialize-instance in wave/rudel-wave.el
	* wave/rudel-wave.el (header): updated copyright
	 (rudel-wave-backend::initialize-instance): remove &rest from
	 arguments

2010-03-24  scymtym  <scymtym@users.sourceforge.net>

	Added rudel-adebug-discover to rudel-debug.el
	* rudel-debug.el (rudel-adebug-discover): new function; analyze
	 discoverable session in a data debug buffer

2010-03-22  scymtym  <scymtym@users.sourceforge.net>

	Added idea multiple listeners to Future milestone in TODO
	* TODO (Future): new task; allow multiple transport listeners to be
	 associated with a server session

2010-03-20  scymtym  <scymtym@users.sourceforge.net>

	Escaped parentheses in docstring in rudel-session-initiation.el
	* rudel-session-initiation.el (rudel-configured-sessions): escaped
	 parentheses in documentation string

2010-03-20  scymtym  <scymtym@users.sourceforge.net>

	Fixed error in rudel-session-initiation-adjust-info
	* rudel-session-initiation.el (rudel-session-initiation-adjust-info):
	 push elements onto intermediate result in reverse order, then
	 reverse the whole list

2010-03-19  scymtym  <scymtym@users.sourceforge.net>

	Added ideas (passwords, buffer names) to Future milestone in TODO
	* TODO (Future): new task; obtain password from auth-source.el or
	 secrets.el; new task; when subscribing to a document set the buffer
	 filename

2010-03-18  scymtym  <scymtym@users.sourceforge.net>

	Added node base class rudel-infinote-node to infinote backend
	* infinote/Project.ede (target infinote): added
	 rudel-infinote-node.el; renamed rudel-infinote-directory-document.el
	 to rudel-infinote-node-directory.el
	* infinote/rudel-infinote-node.el: new file; contains
	 `rudel-infinote-node' class which is the base class for all node
	 classes
	* infinote/rudel-infinote-node-directory.el: renamed
	 `rudel-infinote-directory-document.el' ->
	 `rudel-infinote-node-directory.el'
	 (header): bumped version to 0.2
	 (rudel-infinote-directory-node): renamed
	 `rudel-infinote-directory-document' ->
	 `rudel-infinote-node'-directory; added documentation string
	 (rudel-infinote-node-directory::child-cache): added documentation
	 string
	 (provide rudel-infinote-node-directory): changed
	 rudel-infinote-directory-document -> rudel-infinote-node-directory
	* infinote/rudel-infinote-document.el (rudel-infinote-document): now
	 derived from `rudel-document' and `rudel-infinote-node'
	 (rudel-infinote-document::id):
	 (rudel-infinote-document::parent):
	 (rudel-infinote-document::group): moved into `rudel-infinote-node'
	 (rudel-infinote-document::rudel-unique-name): added documentation
	 string
	* infinote/rudel-infinote-client.el
	 (require rudel-infinote-node-directory): changed
	 rudel-infinote-directory-document -> rudel-infinote-node-directory
	 (rudel-infinote-client-connection::initialize-instance):
	 (rudel-infinote-client-connection::rudel-add-document): instantiate
	 `rudel-infinote-node-directory' instead of
	 `rudel-infinote-directory-document'

2010-03-18  scymtym  <scymtym@users.sourceforge.net>

	Removed invalid files from infinote/Project.ede
	* infinote/Project.ede (target infinote): removed invalid files
	 rudel-infinote-server.el and rudel-infinote-document-group.el

2010-03-14  scymtym  <scymtym@users.sourceforge.net>

	Project files for telepathy backend
	* Project.ede (target autoloads): added telepathy
	* telepathy/Project.ede: new file; project file for telepathy
	 sub-directory
	* telepathy/rudel-telepathy.el (header): updated copyright; updated
	 version
	 (rudel-telepathy-backend::initialize-instance): removed &rest from
	 slots argument
	* rudel-compile.el (top level autoloads): 
	 (top level): added telepathy sub-directory

2010-03-14  scymtym  <scymtym@users.sourceforge.net>

	Removed &rest from initialize-instance in obby/rudel-obby.el
	* obby/rudel-obby.el (rudel-obby-backend::initialize-instance):
	 removed &rest from slots arguments

2010-03-12  scymtym  <scymtym@users.sourceforge.net>

	Ensure self user is present in after sync in obby backend
	* obby/rudel-obby-client.el (rudel-obby/obby_sync_final): switch to
	 we-finalized when the self user is missing

2010-03-12  scymtym  <scymtym@users.sourceforge.net>

	Updated copyright, year and version in reference card
	* doc/card.tex (header): updated version and copyright
	 (constants): updated version and copyright
	* doc/card.pdf: regenerated

2010-03-10  scymtym  <scymtym@users.sourceforge.net>

	Improved some error messages in infinote backend
	* infinote/rudel-infinote-client.el
	 (rudel-infinote-client-connection::rudel-receive):
	 (rudel-infinote-client-connection::rudel-add-document): improved
	 error messages

2010-03-10  scymtym  <scymtym@users.sourceforge.net>

	Added tasks concerning data queuing and new hooks to TODO
	* TODO (Future): new task, provide additional hooks; new task, always
	 queue outgoing data first; new task, display queued data

2010-03-10  scymtym  <scymtym@users.sourceforge.net>

	Added draft of package diagram describing Rudel's architecture
	* doc/architecture.svg: new draft of a package diagram; architectural
	 overview
	* doc/architecture.png: generated

2010-03-10  scymtym  <scymtym@users.sourceforge.net>

	Improved some error messages in obby backend
	* obby/rudel-obby-state.el (header): updated copyright
	 (rudel-obby-document-handler::rudel-obby/obby_document): improved
	 error message
	* obby/rudel-obby-client.el (header): updated copyright
	 (rudel-obby-client-state-idle::rudel-obby/net6_client_part):
	 (rudel-obby-client-state-idle::rudel-obby/obby_document_remove):
	 (rudel-obby-client-state-idle::rudel-obby/obby_document/record):
	 improved error messages

2010-03-10  scymtym  <scymtym@users.sourceforge.net>

	Handle all object types when writing to debug streams
	* rudel-debug.el (rudel-debug-write-to-stream): handle object types
	 other than string and object by calling `prin1-to-string'

2010-03-01  scymtym  <scymtym@users.sourceforge.net>

	Require rudel-infinote-state, not rudel-infinote-states
	* infinote/rudel-infinote-group.el (require rudel-infinote-state):
	 fixed require rudel-infinote-states -> rudel-infinote-state

2010-03-01  scymtym  <scymtym@users.sourceforge.net>

	Infinote mock user has to be of class rudel-infinote-user
	* infinote/rudel-infinote-client.el (require rudel-infinote-user):
	 required for mock user creation
	 (rudel-infinote-client-connection::initialize-instance): mock user
	 has to be an object of class rudel-infinote-user

2010-03-01  scymtym  <scymtym@users.sourceforge.net>

	Extended capability list of infinote backend
	* infinote/rudel-infinote.el (rudel-infinote-backend::capabilities):
	 added group-undo capability
	 (rudel-infinote-backend::rudel-connect): better object name for the
	 created connection object

2010-03-01  scymtym  <scymtym@users.sourceforge.net>

	Added "Commentary" comment to infinote/rudel-infinote-group.el
	* infinote/rudel-infinote-group.el (header): added a "Commentary"
	 comment

2010-03-01  scymtym  <scymtym@users.sourceforge.net>

	Added task to investigate XEP 0047 for xmpp tunnel to TODO
	* TODO (Future): added task to investigate XEP 0047 for xmpp tunnel

2010-03-01  scymtym  <scymtym@users.sourceforge.net>

	Added standard draft for XEP-0047: In-Band Bytestreams to xmpp/doc
	* xmpp/doc/xep-0047.html: new file; standard draft for XEP-0047:
	 In-Band Bytestreams

2010-03-01  scymtym  <scymtym@users.sourceforge.net>

	Fixed docstring typo in infinote/rudel-infinote.el
	* infinote/rudel-infinote.el (rudel-connect): fixed typo in docstring
	 obby -> infinote

2010-03-01  scymtym  <scymtym@users.sourceforge.net>

	Provide customization to append chat messages at top or bottom
	* rudel-chat.el (header): updated copyright
	 (rudel-chat-handler-function): split "log into buffer" behavior into
	 "append at bottom" and "appending at top"
	 (rudel-chat-handle-buffer-top): renamed `rudel-chat-handle-buffer ->
	 `rudel-chat-handle-buffer-top
	 (rudel-chat-handle-buffer-bottom): new function; append chat
	 messages at bottom of target buffer

2010-02-06  scymtym  <scymtym@users.sourceforge.net>

	Fixed use of rudel-state-wait in infinote/rudel-infinote-client.el
	* infinote/rudel-infinote-client.el
	 (rudel-infinote-client-connection::rudel-publish): added a comment
	 (rudel-infinote-client-connection::rudel-subscribe-to): fixed use of
	 `rudel-state-wait'; added more comments

2010-02-06  scymtym  <scymtym@users.sourceforge.net>

	Fixed some comments in infinote/rudel-infinote-client.el
	* infinote/rudel-infinote-client.el
	 (rudel-infinote-client-connection::rudel-publish):
	 (rudel-infinote-client-connection::rudel-subscribe-to): fixed
	 some comments

2010-02-04  scymtym  <scymtym@users.sourceforge.net>

	Extended rudel-infinote-client-connection::rudel-receive
	* infinote/rudel-infinote-client.el (header): fixed X-RCS field
	 (rudel-receive): enabled handler code; use `display-warning' instead
	 of `warn'

2010-02-04  scymtym  <scymtym@users.sourceforge.net>

	Added docstrings in infinote/rudel-infinote-group-directory.el
	* infinote/rudel-infinote-group-directory.el
	 (rudel-infinote-directory-state-idle): added documentation string
	 (rudel-infinote-directory-state-idle::rudel-infinote/sync-in):
	 return nil to avoid state switch
	 (rudel-infinote-directory-state-exploring): added documentation
	 string
	 (rudel-infinote-directory-state-subscribing): added documentation
	 string

2010-02-02  scymtym  <scymtym@users.sourceforge.net>

	Initial import of infinote backend
	* Project.ede (target autoloads): added infinote directory
	* rudel-compile.el (top level autoload):
	 (top level): added infinote directory
	* infinote/Project.ede: mew file; project file for
	* infinote/rudel-infinote.el: new file; infinote backend main file
	* infinote/rudel-infinote-util.el: new file; infinote backend
	 miscellaneous functions
	* infinote/rudel-infinote-user.el: new file; infinote user class
	* infinote/rudel-infinote-text-document.el: new file; infinote
	 text document class
	* infinote/rudel-infinote-state.el: new file; infinote state base
	 classes
	* infinote/rudel-infinote-group.el: new file; infinote
	 communication group base class
	* infinote/rudel-infinote-group-text-document.el: new file; text
	 document communication group class
	* infinote/rudel-infinote-group-document.el: new file; document
	 communication group class
	* infinote/rudel-infinote-group-directory.el: new file; directory
	 communication group class
	* infinote/rudel-infinote-document.el: new file; infinote document
	 class
	* infinote/rudel-infinote-directory-document.el: new file;
	 infinote directory document class
	* infinote/rudel-infinote-client.el: new file; infinote client
	 functionality

2010-02-02  scymtym  <scymtym@users.sourceforge.net>

	Added operation classes for point, range, cursor and selection
	* rudel-operations.el (header): updated copyright; fixed and extended
	 commentary section; bumped version to 0.2
	 (rudel-point-operation): new abstract class; base class for
	 point-type operations
	 (rudel-range-operation): new abstract class; base class for
	 range-type operations
	 (rudel-insert-op): now subclass of rudel-point-operation
	 (rudel-delete-op): now subclass of rudel-range-operation
	 (rudel-delete-op::slot-missing): moved to `rudel-range-op'
	 (rudel-move-cursor-op): new class; objects represent cursor
	 movements
	 (rudel-move-selection-op): new class; objects represent movements of
	 the selection

2010-01-31  scymtym  <scymtym@users.sourceforge.net>

	Initial import of Adopted algorithm
	* Project.ede (autoloads): added adopted directory
	* rudel-compile.el (header): updated copyright
	 (top level autoload):
	 (top level): added adopted directory
	* adopted/Project.ede: new file; project file adopted subdirectory
	* adopted/adopted.el: new file; Adopted algorithm entry point
	* adopted/adopted-operation.el: new file; Adopted operation base class
	* adopted/adopted-nop.el: new file; Adopted no operation class
	* adopted/adopted-insert.el: new file; Adopted insert operation
	* adopted/adopted-delete.el: new file; Adopted delete operation
	* adopted/adopted-compound.el: new file Adapted compound operation

2010-01-27  scymtym  <scymtym@users.sourceforge.net>

	Integrated new debugging framework
	* rudel-debug.el (header): updated copyright; fixed keywords; extended
	 commentary section; added 0.2 to history section
	 (require rudel-transport-util):
	 (require rudel-socket): now required, since we install methods
	 (rudel-debug-tag-faces): changed from constant to variable
	 (rudel-state-change :before):
	 (rudel-debug-stream-name):
	 (rudel-debug-stream-insert): removed; replaced by
	 `rudel-debug-write-to-stream' and `rudel-debug-write'
	 (rudel-debug-target): new generic function; determine debug stream
	 for an object
	 (rudel-debug-write-to-stream): new function; write information to
	 debug stream
	 (rudel-debug-write): new function; write information to debug stream
	 for a specific object
	 (rudel-debug-old-state):
	 (rudel-state-machine::rudel-switch :before):
	 (rudel-state-machine::rudel-switch :after): new variable/methods;
	 state machine debugging
	 (rudel-assembling-transport-filter::rudel-set-assembly-function
	:before):
	 (rudel-assembling-transport-filter::rudel-set-filter):
	 (rudel-assembling-transport-filter::rudel-send :before): new
	 methods; debugging for `rudel-assembling-transport-filter'
	 (rudel-parsing-transport-filter::rudel-set-parse-function :before):
	 (rudel-parsing-transport-filter::rudel-set-generate-function :before):
	 (rudel-parsing-transport-filter::rudel-set-filter):
	 (rudel-parsing-transport-filter::rudel-send :before): new methods;
	 debugging for `rudel-parsing-transport-filter'
	 (rudel-socket-transport::rudel-set-filter):
	 (rudel-socket-transport::rudel-send :before): new methods; debugging
	 for `rudel-socket-transport'
	* xmpp/rudel-xmpp-debug.el (header): fixed keywords; added 0.2 to
	 history section
	 (require rudel-xmpp-state): now required, since we install methods
	 (rudel-xmpp-debug-old-state):
	 (rudel-xmpp-transport::rudel-send :before):
	 (rudel-xmpp-transport::rudel-accept :before): 
	 (rudel-xmpp-transport::rudel-switch :before):
	 (rudel-xmpp-transport::rudel-switch :after): removed; handled by
	 generic stuff in rudel-debug.el now
	 (rudel-xmpp-state::rudel-debug-target): new method; debug target for
	 XMPP states
	 (rudel-xmpp-state-sasl-mechanism-step::rudel-send):
	 (rudel-xmpp-state-sasl-mechanism-step::rudel-send :after):
	 (rudel-xmpp-state-sasl-mechanism-step::rudel-accept :before):
	 rewritten for new debugging framework
	* obby/rudel-obby-debug.el (header): updated copyright; added 0.2 to
	 history section
	 (require eieio):
	 (require rudel-obby-util): removed; no longer needed
	 (require rudel-obby-server): now required, since we install methods
	 on server classes
	 (rudel-obby-debug-old-state):
	 (rudel-obby-connection::rudel-send :before):
	 (rudel-obby-connection::rudel-accept :before):
	 (rudel-obby-connection::rudel-switch :before):
	 (rudel-obby-connection::rudel-switch :after): removed; handled by
	 generic stuff in rudel-debug.el now
	 (rudel-obby-connection::rudel-debug-target): new method; debug
	 target for `rudel-obby-connection'
	 (rudel-obby-client::rudel-debug-target): new method; debug target
	 for `rudel-obby-client'
	* TODO (Milestone 0.3): integrate new debugging framework is DONE

2010-01-27  scymtym  <scymtym@users.sourceforge.net>

	Updated TODO
	* TODO (Future):
	 (Milestone 0.4): minor adjustments
	 (Milestone 0.3): new task, integrate new debugging framework; new
	 task, add XMPP transport backend; minor adjustments

2010-01-27  scymtym  <scymtym@users.sourceforge.net>

	Better error and response data handling in xmpp/rudel-xmpp-sasl.el
	* xmpp/rudel-xmpp-sasl.el
	 (rudel-xmpp-state-sasl-mechanism-start::rudel-enter): send "initial
	 response" in auth element, if the mechanism wants that
	 (rudel-xmpp-state-sasl-mechanism-step::rudel-accept): handle
	 invalid-authzid; use `xml-node-name' instead of `xml-tag-name'

2010-01-27  scymtym  <scymtym@users.sourceforge.net>

	Fix use of XML library in rudel-xmpp-state::rudel-accept
	* xmpp/rudel-xmpp-state.el (rudel-xmpp-state::rudel-accept): use
	 `xml-node-name' instead of `xml-tag-name'; tag name is
	 'stream:error, not "stream:error"

2010-01-26  scymtym  <scymtym@users.sourceforge.net>

	Switch stream to string mode in rudel-xmpp-state-we-finalize
	* xmpp/rudel-xmpp.el
	 (rudel-xmpp-state-negotiate-stream::rudel-accept): fixed a comment 
	 (rudel-xmpp-state-we-finalize::rudel-enter): set generate function
	 to identity before trying to send a string

2010-01-26  scymtym  <scymtym@users.sourceforge.net>

	Repair filter in rudel-start-tls-transport::initialize-instance
	* tls/rudel-tls.el (rudel-start-tls-transport::initialize-instance):
	 reinstall `rudel-tls-wait-init' which get overwritten by the
	 superclass

2010-01-26  scymtym  <scymtym@users.sourceforge.net>

	Prevent byte-compilation of xmpp/rudel-xmpp-debug.el
	* xmpp/rudel-xmpp-debug.el (local variables): prevent byte-compilation

2010-01-24  scymtym  <scymtym@users.sourceforge.net>

	Fixed require for rudel-socket in xmpp/rudel-xmpp.el
	* xmpp/rudel-xmpp.el (require rudel-socket): changed rudel-tcp ->
	 rudel-socket

2010-01-24  scymtym  <scymtym@users.sourceforge.net>

	Removed require base64 from xmpp/rudel-xmpp-tunnel.el
	* xmpp/rudel-xmpp-tunnel.el (require base64): removed; fantasy library
	 does not exist

2010-01-23  scymtym  <scymtym@users.sourceforge.net>

	Add SASL XMPP states when rudel-xmpp gets loaded
	* xmpp/rudel-xmpp-sasl.el (state registration): add SASL states to
	 state list after loading of rudel-xmpp

2010-01-23  scymtym  <scymtym@users.sourceforge.net>

	Minor improvement in xmpp/rudel-xmpp.el
	* xmpp/rudel-xmpp.el (rudel-xmpp-backend::rudel-make-connection):
	 better object name for transport object
	 (rudel-xmpp-state-established): added documentation string
	 (rudel-xmpp-state-established::rudel-accept): use filter slot of the
	 transport object

2010-01-23  scymtym  <scymtym@users.sourceforge.net>

	Removed require base64 from xmpp/rudel-xmpp-debug.el
	* xmpp/rudel-xmpp-debug.el (require base64): removed; fantasy library
	 does not exist

2010-01-23  scymtym  <scymtym@users.sourceforge.net>

	Updated header of xmpp/rudel-xmpp-debug.el
	* xmpp/rudel-xmpp-debug.el (header): added xmpp keyword; fixed
	 commentary

2010-01-23  scymtym  <scymtym@users.sourceforge.net>

	Added connect capability to XMPP backend
	* xmpp/rudel-xmpp.el (rudel-xmpp-backend::capabilities): added
	 capability connect

2010-01-22  scymtym  <scymtym@users.sourceforge.net>

	Analyze XMPP failures in rudel-xmpp-state-sasl-mechanism-step
	* xmpp/rudel-xmpp-sasl.el (require base64):removed; nonsense
	 (rudel-xmpp-state-sasl-mechanism-step::rudel-accept): analyze
	 failure responses more thoroughly

2010-01-22  scymtym  <scymtym@users.sourceforge.net>

	Improved rudel-xmpp-backend::rudel-make-connection
	* xmpp/rudel-xmpp.el (rudel-xmpp-backend::rudel-make-connection): call
	 info-callback when info elements are missing; improved documentation
	 string; added comments

2010-01-22  scymtym  <scymtym@users.sourceforge.net>

	XMPP backend improvements
	* xmpp/rudel-xmpp.el (header): added commentary section (require
	 rudel-state-machine): required for the state classes
	 (require rudel-tcp): required since the TCP transport underlies the
	 XMPP transport
	 (rudel-xmpp-transport-version): bumped to 0.2
	 (rudel-xmpp-backend): added documentation string
	 (rudel-xmpp-backend::initialize-instance): removed &rest from slots;
	 added documentation string
	 (rudel-xmpp-backend::rudel-make-connection): improved documentation
	 string; cosmetic changes
	 (rudel-xmpp-state-new::rudel-enter): pass jid and server name to
	 successor state; added documentation string
	 (rudel-xmpp-state-negotiate-stream::success-state): changed type to
	 include list
	 (rudel-xmpp-state-negotiate-stream::rudel-enter): some cleanup
	 (rudel-xmpp-state-negotiate-stream::rudel-leave): added
	 documentation string; improved comment
	 (rudel-xmpp-state-negotiate-stream::rudel-accept): handle symbol and
	 list successor state specification
	 (rudel-xmpp-state-authenticated::rudel-enter): pass server- and
	 username to successor state; hack
	 (rudel-xmpp-state-authentication-failed::rudel-enter): new method;
	 switch to we-finalize
	 (rudel-xmpp-states): added documentation string
	 (rudel-xmpp-transport::initialize-instance): some cleanup
	 (rudel-xmpp-transport::rudel-register-state): call next method in a
	 safe manner
	 (rudel-xmpp-transport::rudel-close): switch to closing state; added
	 documentation string
	 (rudel-xmpp-transport::rudel-disconnect): removed; obsolete

2010-01-22  scymtym  <scymtym@users.sourceforge.net>

	Removed function rudel-xmpp-state::rudel-set-assembly-function
	* xmpp/rudel-xmpp-state.el
	 (rudel-xmpp-state::rudel-set-assembly-function): obsolete; removed

2010-01-22  scymtym  <scymtym@users.sourceforge.net>

	Improved XMPP SASL implementation
	* xmpp/rudel-xmpp-sasl.el (rudel-xmpp-state-sasl-start::rudel-enter):
	 accept additional arguments and pass them to sasl-try-one successor
	 (rudel-xmpp-state-sasl-try-one::rudel-enter): accept additional
	 arguments name and server and pass them to sasl-try-one when
	 self-transitioning
	 (rudel-xmpp-state-sasl-mechanism-start::rudel-enter): accept
	 additional arguments name and server and use them when calling
	 `sasl-make-client'; also pass them to sasl-mechanism-step
	 (rudel-xmpp-state-sasl-mechanism-step::name): new slot; stores
	 username
	 (rudel-xmpp-state-sasl-mechanism-step::server): new slot; stores
	 server name
	 (rudel-xmpp-state-sasl-mechanism-step::schema): added documentation
	 string
	 (rudel-xmpp-state-sasl-mechanism-step::client): added documentation
	 string
	 (rudel-xmpp-state-sasl-mechanism-step::step): added documentation
	 string
	 (rudel-xmpp-state-sasl-mechanism-step::rest): added documentation
	 string
	 (this rudel-xmpp-state-sasl-mechanism-step::rudel-enter): accept
	 arguments name and server and store them
	 (rudel-xmpp-state-sasl-mechanism-step::rudel-accept): pass name and
	 server to sasl-try-one and to sasl-mechanism-step when
	 self-transitioning

2010-01-21  scymtym  <scymtym@users.sourceforge.net>

	Support specifying a host and JID in the XMPP transport
	* xmpp/rudel-xmpp.el (rudel-xmpp-backend::rudel-ask-connect-info): ask
	 for JID and return it
	 (rudel-xmpp-backend::rudel-make-connection): extract jid property;
	 pass host, jid and start state to transport constructor
	 (rudel-xmpp-state-new::rudel-enter): accept arguments to and jid;
	 pass to negotiate-stream state
	 (rudel-xmpp-state-negotiate-stream::rudel-enter): accept to and jid
	 arguments; use to and jid when constructing opening stream tag;
	 added documentation string; cleanup
	 (rudel-xmpp-state-negotiate-stream::rudel-accept): added comment
	 (rudel-xmpp-state-authenticated::rudel-enter): added comment
	 (rudel-xmpp-transport::initialize-instance): removed &rest from
	 slots argument

2010-01-21  scymtym  <scymtym@users.sourceforge.net>

	Fixed license of xmpp/rudel-xmpp.el
	* xmpp/rudel-xmpp.el (header): fixed license

2010-01-21  scymtym  <scymtym@users.sourceforge.net>

	Added notes file to xmpp documentation
	* xmpp/doc/notes.org: new file; notes concerning the XMPP backend

2010-01-21  scymtym  <scymtym@users.sourceforge.net>

	Minor cleanup in xmpp/rudel-xmpp-sasl.el
	* xmpp/rudel-xmpp-sasl.el
	 (rudel-xmpp-state-sasl-mechanism-step::rudel-accept): minor cleanup

2010-01-21  scymtym  <scymtym@users.sourceforge.net>

	Added RFC 3921 to xmpp documentation
	* xmpp/doc/rfc3921: new file; XMPP messaging and presence RFC

2010-01-21  scymtym  <scymtym@users.sourceforge.net>

	Fixed error in rudel-xmpp-state-sasl-start::rudel-enter
	* xmpp/rudel-xmpp-sasl.el (rudel-xmpp-state-sasl-start::rudel-enter):
	 use `let*' instead of	`let'
	 (rudel-xmpp-sasl-states): added documentation string

2010-01-21  scymtym  <scymtym@users.sourceforge.net>

	New class rudel-xmpp-state-tls-start
	* xmpp/rudel-xmpp-tls.el (header): added commentary
	 (require rudel-tls): removed; require it when needed
	 (rudel-xmpp-state-tls-start): new class; state used to enable TLS
	  encryption for a connection
	 (rudel-xmpp-state-tls-start::rudel-enter): new method; enable TLS
	 encryption for the associated connection and switch to authenticated
	 state
	 (add-to-list rudel-xmpp-states): fixed typo

2010-01-20  scymtym  <scymtym@users.sourceforge.net>

	Handle invalid color on the obby protocol level
	* obby/rudel-obby.el (rudel-connect): check for
	 `rudel-obby-invalid-color' and reset the color value in that case
	* obby/rudel-obby-server.el (header): updated copyright
	 (rudel-check-username-and-color): send value of
	 `rudel-obby-error-color' when the color is invalid
	* obby/rudel-obby-errors.el (header): updated copyright
	 (rudel-obby-invalid-color): new condition symbol; used to indicated
	 an invalid color
	 (rudel-obby-error-color-invalid): new constant; proposed obby
	 protocol error code for invalid color
	 * obby/rudel-obby-client.el (rudel-obby/net6_login_failed): check
	 for reason rudel-obby-error-color-invalid and return appropriate
	 error

2010-01-20  scymtym  <scymtym@users.sourceforge.net>

	Fixed error symbol rudel-obby-username-invalid in obby client
	* obby/rudel-obby.el (header): updated copyright
	 (rudel-obby-backend::rudel-connect): fixed error symbol
	 rudel-obby-username-invalid -> rudel-obby-invalid-username
	* obby/rudel-obby-client.el (header): updated copyright
	 (rudel-obby-client-state-joining::rudel-obby/net6_login_failed):
	 fixed error symbol rudel-obby-username-invalid ->
	 rudel-obby-invalid-username

2010-01-17  scymtym  <scymtym@users.sourceforge.net>

	Fixed a typo in documentation string of rudel-make-connection
	* rudel-transport.el (rudel-transport-backend::rudel-make-connection):
	 fixed a typo in the documentation string

2010-01-17  scymtym  <scymtym@users.sourceforge.net>

	Fixed problems in rudel-after-major-mode-change
	* rudel.el (rudel-after-major-mode-change): when repairing document
	 <-> buffer relations, ignore deleted buffers; reset
	 `rudel-mode-changed-buffers' after all buffers have been processed

2010-01-17  scymtym  <scymtym@users.sourceforge.net>

	Fixed typo in rudel-collecting-transport-filter::delay
	* rudel-transport-util.el (rudel-collecting-transport-filter::delay):
	 fixed typo in :initform

2010-01-16  scymtym  <scymtym@users.sourceforge.net>

	New collecting transport filter
	* rudel-transport-util.el (header): mention collecting transport
	 filter in commentary and history section
	 (rudel-collecting-transport-filter): new class; queue data until a
	 certain amount is available for transmission

2010-01-15  scymtym  <scymtym@users.sourceforge.net>

	Fixed call to object-run-hook... in rudel-detach-from-buffer
	* rudel.el (rudel-document::rudel-detach-from-buffer): pass the saved
	 buffer to `object-run-hook-with-args' properly

2010-01-15  scymtym  <scymtym@users.sourceforge.net>

	Let transport ask for connect info in rudel-join-session
	* rudel.el (rudel-join-session): use `rudel-ask-connect-info' as
	 info-callback when calling `rudel-make-connection'

2010-01-14  scymtym  <scymtym@users.sourceforge.net>

	Improved robustness of rudel-session-initiation-discover
	* rudel-session-initiation.el (rudel-session-initiation-discover): try
	 to find specified backend in primary and fallback backend lists

2010-01-14  scymtym  <scymtym@users.sourceforge.net>

	Let transport ask for connect info in rudel-ask-protocol-backend
	* rudel-session-initiation.el
	 (rudel-ask-protocol-backend::rudel-discover): call
	 `rudel-ask-connect-info' of the transport backend in addition to the
	 protocol backend

2010-01-14  scymtym  <scymtym@users.sourceforge.net>

	Added rudel-ask-connect-info for transport backends
	* rudel-transport.el (rudel-ask-connect-info): new generic function;
	 obtain required information for making a connection
	* socket/rudel-socket.el (rudel-tcp-backend::rudel-ask-connect-info): 
	* tls/rudel-tls.el (rudel-start-tls-backend::rudel-ask-connect-info): 
	* xmpp/rudel-xmpp.el (rudel-xmpp-backend::rudel-ask-connect-info): new
	 method; ask for hostname and port

2010-01-10  scymtym  <scymtym@users.sourceforge.net>

	Added writer for rudel-set-dispatcher in socket/rudel-socket.el
	* socket/rudel-socket.el (header): updated copyright
	 (rudel-socket-listener::dispatch): added writer
	 `rudel-set-dispatcher'
	 (rudel-socket-listener::rudel-set-dispatcher): removed; replaced by
	 automatic writer

2010-01-10  scymtym  <scymtym@users.sourceforge.net>

	Fix rudel-progress-reporting-transport-filter
	* rudel-transport-util.el (header): updated copyright; updated
	 commentary section
	 (rudel-progress-reporting-transport-filter::initialize-instance):
	 install a handler in the underlying transport

2010-01-10  scymtym  <scymtym@users.sourceforge.net>

	Added autoload cookie to rudel-xmpp-backend
	* xmpp/rudel-xmpp.el (rudel-xmpp-backend): added autoload cookie

2010-01-10  scymtym  <scymtym@users.sourceforge.net>

	Minor fixes in rudel-session-initiation.el
	* rudel-session-initiation.el (header): updated copyright
	 (rudel-session-initiation-discover): fixed documentation string
	 (rudel-ask-protocol-backend::initialize-instance):
	 (rudel-configured-sessions-backend::initialize-instance): removed
	 &rest from slots argument

2010-01-10  scymtym  <scymtym@users.sourceforge.net>

	Added sanity check to rudel-{join, host}-session
	* rudel-errors.el (rudel-incomplete-info): new error symbol
	* rudel.el (rudel-join-session): added sanity checks for info argument
	 (rudel-host-session): added sanity checks for info argument

2010-01-06  scymtym  <scymtym@users.sourceforge.net>

	Added state list to xmpp/rudel-xmpp-tls.el
	* xmpp/rudel-xmpp-tls.el (rudel-xmpp-tls-states): new variable; list
	 of TLS-related states
	 (rudel-xmpp-states): use `add-to-list' to add the states

2010-01-06  scymtym  <scymtym@users.sourceforge.net>

	Added documentation string in xmpp/rudel-xmpp-tunnel.el
	* xmpp/rudel-xmpp-tunnel.el (rudel-xmpp-tunnel-transport): added
	 documentation string

2010-01-06  scymtym  <scymtym@users.sourceforge.net>

	Renamed rudel-connect -> rudel-make-connection in xmpp/rudel-xmpp.el
	* xmpp/rudel-xmpp.el (rudel-xmpp-backend::rudel-make-connection):
	 renamed `rudel-connect' -> `rudel-make-connection'
	 (rudel-xmpp-state-new): added documentation string
	 (rudel-xmpp-state-negotiate-stream): added documentation string
	 (rudel-xmpp-state-negotiate-stream::success-state): added
	 documentation string
	 (rudel-xmpp-state-negotiate-stream::rudel-enter): fixed comment

2010-01-06  scymtym  <scymtym@users.sourceforge.net>

	Cosmetic changes in xmpp/rudel-xmpp-sasl.el
	* xmpp/rudel-xmpp-sasl.el
	 (rudel-xmpp-state-sasl-start::rudel-enter): added documentation
	 string; cosmetic changes
	 (rudel-xmpp-state-sasl-try-one::rudel-enter): added documentation
	 string
	 (rudel-xmpp-state-sasl-mechanism-step::rudel-enter): added
	 documentation string
	 (rudel-xmpp-state-sasl-mechanism-step::rudel-accept): added
	 documentation string; added some comments
	 (rudel-xmpp-sasl-states): new variable; list of states used by the
	 SASL implementation; states are added to `rudel-xmpp-states'

2010-01-06  scymtym  <scymtym@users.sourceforge.net>

	Added line breaks in long comment in rudel-xmpp-util.el
	* xmpp/rudel-xmpp-util.el (rudel-xmpp-assemble-stream): added line
	 breaks in long comment

2010-01-05  scymtym  <scymtym@users.sourceforge.net>

	Added task for comment functionality
	* TODO (Future): added task for comment functionality

2010-01-05  scymtym  <scymtym@users.sourceforge.net>

	Removed last traces of progress reporters
	* rudel-state-machine.el (header): updated copyright
	 (require rudel-compat): removed; no longer required
	 (rudel-state-wait): mention callback instead of progress reporter in
	 comment

2010-01-05  scymtym  <scymtym@users.sourceforge.net>

	Do not detach documents that have no buffer
	* rudel.el (header): updated copyright
	 (rudel-session::rudel-remove-document): use
	 `rudel-maybe-detach-from-buffer' instead of an explicit check
	 (rudel-client-session::rudel-end): use
	 `rudel-maybe-detach-from-buffer' instead of blindly detaching all
	 documents
	 (rudel-document::rudel-detach-from-buffer): do not check whether
	 buffer is non-nil; it is now an error to call this method when
	 buffer is nil
	 (rudel-document::rudel-maybe-detach-from-buffer): new method; call
	 `rudel-detach-from-buffer' is the document is attached

2010-01-04  scymtym  <scymtym@users.sourceforge.net>

	Added XMPP backend
	* Project.ede (target autoloads): added directory xmpp
	* xmpp/Project.ede: new file; project file for xmpp subproject
	* xmpp/rudel-xmpp-debug.el: new file; XMPP debugging functions
	* xmpp/rudel-xmpp-sasl.el: new file; SALS authentication mechanisms
	* xmpp/rudel-xmpp-state.el: new file; base class for XMPP state
	 machine states
	* xmpp/rudel-xmpp-tls.el: new file; TLS encryption for XMPP transport
	* xmpp/rudel-xmpp-tunnel.el: new file; XMPP tunnel transport backend
	* xmpp/rudel-xmpp-util.el: new file; XMPP utility functions
	* xmpp/rudel-xmpp.el: new file; XMPP transport backend
	* xmpp/doc/rfc3920: new file; XMPP RFC
	* xmpp/doc/xmpp-states.cogre: new file; state transition diagram
	* xmpp/doc/xmpp-states.png: new file; state transition diagram; image

2010-01-04  scymtym  <scymtym@users.sourceforge.net>

	Added `rudel-xml-assemble-tags'
	* rudel-xml.el (rudel-xml-assemble-tags): assemble complete XML tags
	 from strings

2010-01-04  scymtym  <scymtym@users.sourceforge.net>

	Added pretty-print argument to `xml->string'
	* rudel-xml.el (xml->string): added optional argument pretty-print

2010-01-01  scymtym  <scymtym@users.sourceforge.net>

	Include XMPP backend in compilation and autoload generation
	* rudel-compile.el (top level autoload): 
	 (top level): added xmpp directory

2010-01-01  scymtym  <scymtym@users.sourceforge.net>

	Some cleanup in rudel-xml.el
	* rudel-xml.el (header): started commentary section
	 (do-tag-children): use `nth' instead of `car' and `cadr'
	 (rudel-xml-toplevel-tag-positions):
	 (rudel-xml-toplevel-tags): added documentation string

2010-01-01  scymtym  <scymtym@users.sourceforge.net>

	Added rudel-xml.el
	* Project.ede (target compile): added rudel-xml.el
	* rudel-xml.el: new file; XML functions for Rudel

2009-12-31  scymtym  <scymtym@users.sourceforge.net>

	Load file name determination
	* rudel-compile.el (top level autoload): 
	 (top level): changed load file name determination

2009-12-31  scymtym  <scymtym@users.sourceforge.net>

	* TODO (Milestone 0.3): connection reset problem fixed

2009-12-31  scymtym  <scymtym@users.sourceforge.net>

	Autoload load path manipulation
	* rudel-compile.el (top level): added autoloaded form that adds Rudel
	 directories to `load-path'

2009-12-30  scymtym  <scymtym@users.sourceforge.net>

	Removed unused functions
	* rudel-util.el (rudel-process-object):
	 (rudel-set-process-object): removed; this is handled by
	 `process-get' and `process-put'

2009-12-30  Jan Moringen  <jan@steed>

	Use `process-put' and `process-get' instead `rudel-set-process-object' 
	and `rudel-process-object'
	* tls/rudel-tls.el (rudel-tls-make-process):
	 (rudel-tls-start-tls):
	 (rudel-tls-wait-init):
	 (rudel-tls-wait-handshake):
	 (rudel-tls-established): use `process-put' and `process-get' instead
	 `rudel-set-process-object' and `rudel-process-object'

2009-12-30  Jan Moringen  <jan@steed>

	Better handling of session termination and connection aborts
	* obby/rudel-obby.el (rudel-obby-backend::rudel-connect): new error
	 states we-finalized and disconnect; signal proper errors for error
	 states they-finalized and we-finalized
	* obby/rudel-obby-server.el (rudel-obby-client::initialize-instance):
	 install a sentinel that closes the connection
	* obby/rudel-obby-client.el (rudel-obby-client-state-we-finalized):
	 used to indicate that we closed the connection
	 (rudel-obby-client-state-they-finalized::reason): new slot; stores
	 for finalization
	 (rudel-obby-client-state-they-finalized::rudel-enter): new method;
	 store reason and cleanup connection
	 (rudel-obby-client-state-disconnected): new class; used to indicated
	 that the connection is closed
	 (rudel-obby-client-connection-states): added `we-finalized' and
	 `disconnected'
	 (rudel-obby-connection::initialize-instance): install a sentinel
	 that closes the connection
	 (rudel-obby-connection::rudel-disconnect): switch to `we-finalize'
	 and wait for `disconnected'; added documentation string
	 (rudel-obby-connection::rudel-close): added documentation string
	 (rudel-obby-connection::rudel-subscribe-to): handle new error states

2009-12-30  Jan Moringen  <jan@steed>

	* rudel-debug.el (require rudel-state-machine): required since state
	 machine methods are instrumented

2009-12-30  Jan Moringen  <jan@steed>

	* socket/rudel-socket.el
	 (rudel-socket-transport::initialize-instance): in sentinel, include
	 finished in the list of "close indicators"

2009-12-29  Jan Moringen  <jan@steed>

	* rudel-transport-util.el
	 (rudel-assembling-transport-filter::initialize-instance):
	 (rudel-parsing-transport-filter::initialize-instance):
	 (rudel-buffering-transport-filter::initialize-instance): forward
	 sentinel events to user-provided handler

2009-12-29  Jan Moringen  <jan@steed>

	* TODO (Future): added backend factory hooks
	 (Milestone 0.3): added read-only buffer problem and srecode field
	 edit problem

2009-12-29  Jan Moringen  <jan@steed>

	* rudel-compile.el (local variables): prevent byte-compilation

2009-12-29  Jan Moringen  <jan@steed>

	* socket/rudel-socket.el (rudel-socket-transport::filter): new slot;
	 store original filter function
	 (rudel-socket-transport::sentinel): new slot; store original
	 sentinel function
	 (rudel-socket-transport::initialize-instance): new method; install
	 dispatch functions for filter and sentinel
	 (rudel-socket-transport::rudel-filter):
	 (rudel-socket-transport::rudel-set-filter):
	 (rudel-socket-transport::rudel-sentinel):
	 (rudel-socket-transport::rudel-set-sentinel): removed; we can use
	 automatic readers and writers now

2009-12-29  Jan Moringen  <jan@steed>

	* tls/rudel-tls.el (rudel-start-tls-backend): added capability encrypt

2009-12-29  Jan Moringen  <jan@steed>

	* tls/rudel-tls.el (rudel-tls-make-process): stop the process object
	 after creation

2009-12-28  Jan Moringen  <jan@steed>

	* rudel-icons.el (rudel-icons-directory): compute icons directory name
	 based on load file name of rudel-icons.el

2009-12-26  scymtym  <scymtym@users.sourceforge.net>

	* TODO (Milestone 0.4): new task integrate unit tests

2009-12-24  scymtym  <scymtym@users.sourceforge.net>

	* rudel.el (rudel-document::rudel-insert):
	 (rudel-document::rudel-delete): use `with-current-buffer' and
	 `save-excursion' instead of `save-excursion' and `set-buffer'
	* rudel-backend.el (rudel-backend-dump): removed pointless use of
	 `save-excursion'

2009-12-21  scymtym  <scymtym@users.sourceforge.net>

	* rudel-speedbar.el (header): fixed history
	 (rudel-speedbar-key-map): updated documentation string
	 (rudel-speedbar-menu): renamed Compile -> Subscribed; dummy entry
	 for now
	 (rudel-find-nearest-file-line):
	 (rudel-session::eieio-speedbar-derive-line-path):
	 (rudel-session::eieio-speedbar-description):
	 (rudel-project::eieio-speedbar-object-buttonname):
	 (rudel-project::eieio-speedbar-object-children):
	 (rudel-file-find):
	 (rudel-create-tag-buttons):
	 (rudel-tag-expand):
	 (rudel-tag-find): removed; obsolete

2009-12-21  scymtym  <scymtym@users.sourceforge.net>

	* rudel-session-initiation.el
	 (rudel-ask-protocol-backend::rudel-discover): pass partial info list
	 to `rudel-ask-connect-info' instead of append the lists manually

2009-12-21  scymtym  <scymtym@users.sourceforge.net>

	* obby/rudel-obby.el (rudel-obby-user::rudel-display-string): removed;
	 now in obby/rudel-obby-display.el

2009-12-21  scymtym  <scymtym@users.sourceforge.net>

	* rudel-mode.el (require rudel-display): required for
	 `rudel-display-string'
	* rudel-display.el (require rudel): required to ensure `rudel-user'
	 and `rudel-document' are defined
	* obby/rudel-obby.el (require rudel-obby-display): make sure
	 `rudel-display-string' is defined for obby classes
	* obby/rudel-obby-display.el (require rudel-obby): required to ensure
	 `rudel-obby-user' is defined

2009-12-20  scymtym  <scymtym@users.sourceforge.net>

	* obby/rudel-obby-state.el (header): fixed history
	 (rudel-obby-document-handler::rudel-obby/obby_document): go through
	 the connection object for now
	* obby/rudel-obby-client.el
	 (rudel-obby-client-state-idle::document-container-slot): 
	 (rudel-obby-client-state-subscribing::document-container-slot): 
	 (rudel-obby-client-state-document-synching::document-container-slot):
	 set initial value to 'session

2009-12-20  scymtym  <scymtym@users.sourceforge.net>

	* rudel.el (rudel-user::rudel-display-string): moved to
	 rudel-display.el
	* rudel-display.el: new file; functions that create text
	 representations of Rudel objects
	* obby/rudel-obby-display.el: new file; functions that create text
	 representations of obby objects
	* obby/Project.ede (target obby): added rudel-display.el
	* Project.ede (target rudel): added rudel-display.el

2009-12-20  scymtym  <scymtym@users.sourceforge.net>

	* TODO (Future): removed duplicate task SubEthaEdit client
	 functionality
	 (Milestone 0.3): use transports is done

2009-12-20  scymtym  <scymtym@users.sourceforge.net>

	* obby/rudel-obby-server.el
	 (rudel-obby-server-state-idle::rudel-obby/obby_document):
	 (rudel-obby-server-state-idle::rudel-obby/obby_document/record): use
	 `rudel-dispatch' instead of `rudel-obby-dispatch'

2009-12-20  scymtym  <scymtym@users.sourceforge.net>

	* INSTALL (INSTALLING): link to REQUIREMENTS
	 (COMPILING): link to rudel-compile.el

2009-12-20  scymtym  <scymtym@users.sourceforge.net>

	* doc/notes-for-developers.org: new file; some notes which may be
	 relevant for Rudel developers

2009-12-20  scymtym  <scymtym@users.sourceforge.net>

	* rudel-debug.el (local variables): prevent byte-compilation
	* obby/rudel-obby-debug.el (header): downcased keywords
	 (local variables): prevent byte-compilation

2009-12-20  scymtym  <scymtym@users.sourceforge.net>

	* rudel.el (rudel-user::rudel-change-notify): new method; run change
	 hook
	* obby/rudel-obby-server.el
	 (rudel-obby-server-state-idle::rudel-obby/obby_user_colour): call
	 `rudel-change-notify' instead of `object-run-hook-with-args' after
	 modifying the user object
	* obby/rudel-obby-client.el
	 (rudel-obby-client-state-idle::rudel-rudel-obby/net6_client_join):
	 call `rudel-change-notify' after modifying the user object

2009-12-19  scymtym  <scymtym@users.sourceforge.net>

	* obby/rudel-obby.el (rudel-ask-connect-info): when extracting
	 properties from info list, there is no need to ensure info being
	 non-nil

2009-12-19  scymtym  <scymtym@users.sourceforge.net>

	* rudel.el (rudel-host-session): pass partial info list to
	 `rudel-ask-host-info'; cleanup; extended documentation string
	* obby/rudel-obby.el (rudel-obby-backend::rudel-ask-host-info): try
	 extract address and port from info list before prompting

2009-12-19  scymtym  <scymtym@users.sourceforge.net>

	* TODO (Future): added display of error message property,
	 synchronization of objects; moved BEEP transport to 0.4
	 (Milestone 0.3): added TLS does not start in stopped state, zeroconf
	 delay, connection reset problem, use transports

2009-12-19  scymtym  <scymtym@users.sourceforge.net>

	* rudel-util.el (rudel-impersonator::slot-missing): fixed slot name
	 `impersonating-target-slot' -> `impersonation-target-slot'

2009-12-19  scymtym  <scymtym@users.sourceforge.net>

	* rudel-compile.el (require bytecomp): make sure we can redefine
	 `byte-compile-cl-warn'
	 (top level): redefine `byte-compile-cl-warn' to silence
	 byte-compiler

2009-12-19  scymtym  <scymtym@users.sourceforge.net>

	* rudel-backend.el (rudel-backend-choose): mention which kind of
	 backend we are asking for

2009-12-18  scymtym  <scymtym@users.sourceforge.net>

	merged trunk changes from sourceforge

2009-12-17  scymtym  <scymtym@users.sourceforge.net>

	* rudel.el (rudel-host-session): use cdrs of backend cells

2009-12-17  scymtym  <scymtym@users.sourceforge.net>

	* rudel.el (rudel-host-session): added mandatory argument info;
	 interactive specification uses `rudel-backend-choose' and
	 `rudel-ask-host-info' to assemble a suitable value for info

2009-12-06  scymtym  <scymtym@users.sourceforge.net>

	* obby/rudel-obby-errors.el (require rudel-errors): not really
	 required, but logical
	 (rudel-obby-invalid-username):
	 (rudel-obby-username-in-use):
	 (rudel-obby-color-in-use): new error symbols

2009-12-06  scymtym  <scymtym@users.sourceforge.net>

	* obby/rudel-obby-util.el (header): updated keywords; extended
	 commentary section; cosmetic changes to history section
	 (rudel-obby-dispatch): removed; obsolete
	* obby/rudel-obby-state.el (header): updated keywords
	 (rudel-obby-document-handler): make abstract
	 (rudel-obby-document-handler::document-container-slot): new slot;
	 name of slot which holds the object with the document list
	 (rudel-obby-document-handler::rudel-obby/obby_document): find
	 document list in the named slot

2009-12-06  scymtym  <scymtym@users.sourceforge.net>

	* socket/rudel-socket.el (require cl): added `eval-when-compile' to
	 the require

2009-12-06  scymtym  <scymtym@users.sourceforge.net>

	* rudel-util.el (rudel-delegator): removed base class `rudel-state';
	 should not have been there

2009-12-06  scymtym  <scymtym@users.sourceforge.net>

	* rudel-util.el (header): expanded commentary section; bumped version
	 to 0.2
	 (rudel-impersonator): new class; allows derived classes to
	 transparently access slots of a target object
	 (rudel-delegator): new class; allows derived classes to let methods
	 of a target object appear as their own

2009-12-05  scymtym  <scymtym@users.sourceforge.net>

	* obby/rudel-obby-server.el (rudel-obby-client::initialize-instance):
	 removed &rest from slots argument; updated documentation string
	 (rudel-obby-client::rudel-broadcast): renamed argument arguments ->
	 args; updated documentation string
	 (rudel-obby-server::initialize-instance): removed &rest from slots
	 argument; added documentation string

2009-12-04  scymtym  <scymtym@users.sourceforge.net>

	* socket/rudel-socket.el (rudel-socket-listener): new class;
	 implements `rudel-listener'
	 (rudel-tcp-backend::rudel-wait-for-connections): removed argument
	 dispatch-callback; added argument info-callback; ensure info
	 contains required properties; create a listener socket and pass it
	 to a new listener object
	* rudel.el (rudel-host-session): added argument info; generate empty
	 info list in interactive form; create a listener object and pass it
	 to the protocol backend
	* rudel-transport.el (rudel-listener): new abstract class; generic
	 functionality for accepting incoming connections
	 (rudel-transport-backend::rudel-wait-for-connections): removed
	 argument dispatch-callback; added argument info-callback; updated
	 documentation string
	* rudel-protocol.el (rudel-protocol-backend::rudel-ask-connect-info):
	 added optional argument info; updated documentation string
	 (rudel-protocol-backend::rudel-ask-host-info): added optional
	 argument info; updated documentation string
	* obby/rudel-obby.el (rudel-obby-backend::rudel-ask-host-info): added
	 optional argument info
	 (rudel-obby-backend::rudel-host): renamed
	 argument`transport-backend' -> `listener'; do not install dispatch
	 function; the server does this itself
	* obby/rudel-obby-server.el (require rudel-obby): required to silence
	 the byte-compiler
	 (rudel-obby-server::listener): new slot; stores listener object of
	 the server
	 (rudel-obby-server::initialize-instance): install `rudel-add-client'
	 into the listener as dispatch function

2009-12-03  scymtym  <scymtym@users.sourceforge.net>

	* rudel.el (rudel-host-session): determine a transport and a protocol
	 backend; ask the protocol backend to create the session 
	* rudel-util.el (rudel-socket-owner):
	 (rudel-filter-dispatch):
	 (rudel-sentinel-dispatch): removed; made obsolete by transports
	* rudel-protocol.el (rudel-protocol-backend::rudel-host): added
	 backend argument, which is the transport backend; updated
	 documentation string
	* rudel-debug.el (rudel-state-machine::rudel-state-change): attached
	 method to `rudel-state-machine' instead of `rudel-socket-owner'
	 (rudel-debug-stream-name): determine the name from a transport
	 object instead of a socket
	* obby/rudel-obby.el (require rudel-transport): required for
	 transports
	 (rudel-obby-backend::rudel-connect): use a transport object instead
	 of a socket
	 (rudel-obby-backend::rudel-ask-host-info): added :address property
	 (rudel-obby-backend::rudel-host): added transport-backend argument;
	 do not create a socket but call the
	 `rudel-wait-for-connections' method of the transport backend
	 (rudel-obby-send): removed; made obsolete by transports
	 (rudel-obby-generate-message): new function; used in parsing
	 transport filters to serialize obby messages
	* obby/rudel-obby-util.el (require rudel-transport-util): new; for
	 `rudel-transport-make-filter-stack'
	 (rudel-obby-socket-owner): removed; made obsolete by transports
	* obby/rudel-obby-server.el (header): bumped version to 0.3
	 (rudel-obby-client): removed base class `rudel-obby-socket-owner'
	 (rudel-obby-client::transport): new slot; stores transport object
	 (rudel-obby-client::initialize-instance): build a transport filter
	 stack and install `rudel-accept' as filter
	 (rudel-obby-client::rudel-message): removed; `rudel-accept' is
	 called by the transport
	 (rudel-obby-client::rudel-send): new; send data through transport
	 (rudel-obby-server): removed base class `rudel-socket-owner'
	 (rudel-obby-server::rudel-add-client): expect a transport object
	 instead of a socket
	* obby/rudel-obby-debug.el (header): cosmetic changes
	 (require rudel-obby-client): new; required since all methods are now
	 attached to the `rudel-obby-connection' class
	 (rudel-obby-connection::rudel-send): now attached to the
	 `rudel-obby-connection' class
	 (rudel-obby-connection::rudel-accept): renamed `rudel-receive' ->
	 `rudel-accept'; now attached to the `rudel-obby-connection' class
	 (rudel-obby-socket-owner::rudel-message): removed; obsolete
	 (rudel-obby-connection::rudel-switch): now attached to the
	 `rudel-obby-connection' class
	* obby/rudel-obby-client.el (header): bumped version to 0.3
	
	(rudel-obby-client-state-encryption-start::rudel-obby/net6_encryption_begin):
	 call transport method to enable encryption
	 (rudel-obby-connection): removed base class `rudel-socket-owner'
	 (rudel-obby-connection::transport): new slot; stores transport
	 object
	 (rudel-obby-connection::initialize-instance): build a transport
	 filter stack and install `rudel-accept' as filter
	 (rudel-obby-connection::rudel-send): new; send data through the
	 transport
	 (rudel-obby-connection::rudel-message): removed; obsolete

2009-12-03  scymtym  <scymtym@users.sourceforge.net>

	* socket/rudel-socket.el
	 (rudel-tcp-backend::rudel-wait-for-connections): when creating the
	 network process, set filter and sentinel to `ignore'

2009-12-03  scymtym  <scymtym@users.sourceforge.net>

	* tls/rudel-tls.el (rudel-start-tls-backend::rudel-make-connection):
	 create transport object of class `rudel-start-tls-transport' not
	 `rudel-socket-transport'

2009-12-02  scymtym  <scymtym@users.sourceforge.net>

	* obby/rudel-obby.el (rudel-obby-default-port): new constant; used
	 as default when reading the port number
	 (rudel-obby-backend::rudel-ask-connect-info): use specialized read
	 functions; handle transport and protocol backend better

2009-12-02  scymtym  <scymtym@users.sourceforge.net>

	* rudel-session-initiation.el (header): bumped version to 0.2 in
	 history section
	 (rudel-configured-sessions): added :transport-backend and
	 :protocol-backend in type specification and documentation string
	 (rudel-ask-protocol-version): bumped version to 0.2
	 (rudel-ask-protocol-backend::rudel-discover): handle transport and
	 protocol backend
	 (rudel-configured-sessions-version): bumped version to 0.2
	 (rudel-session-initiation-adjust-info): handle :transport-backend
	 and :protocol-backend keywords

2009-12-02  scymtym  <scymtym@users.sourceforge.net>

	* rudel.el (rudel-join-session): use
	 `rudel-make-state-progress-callback' to construct callbacks
	 for connecting and joining operations
	* rudel-interactive.el (rudel-make-state-progress-callback): new
	 function; return a callback suitable for `rudel-state-wait'

2009-12-02  scymtym  <scymtym@users.sourceforge.net>

	* rudel.el (rudel-join-session): do not call `rudel-ask-connect-info'
	 as this is done by the protocol backend when needed
	* rudel-protocol.el (generic rudel-connect): added arguments
	 info-callback and progress-callback; updated documentation string
	* obby/rudel-obby.el (rudel-obby-backend::rudel-connect): added
	 arguments info-callback and progress-callback; removed progress
	 reporter, since callback is used instead; in case of recoverable
	 errors, do not signal but try again
	* obby/rudel-obby-client.el
	
	(rudel-obby-client-state-encryption-start::rudel-obby/net6_encryption_begin):
	
	(rudel-obby-client-state-encryption-start::rudel-obby/net6_encryption_failed):
	 new successor state is waiting-for-join-info
	 (rudel-obby-client-state-waiting-for-join-info): new class; state
	 entered when waiting for join info
	 (rudel-obby-client-state-joining::rudel-enter): new argument info;
	 do not retrieve info from connection object
	 (rudel-obby-client-connection-states): added waiting-for-join-info

2009-12-01  scymtym  <scymtym@users.sourceforge.net>

	added initial support for the transport abstraction to affected 
	components
	* obby/rudel-obby-client (require rudel-tls): required for STARTTLS
	 encryption
	* obby/rudel-obby.el (header): added version 0.3 to history section
	 (rudel-obby-backend::rudel-ask-connect-info): return info list
	 containing entries for transport and protocol backend
	 (rudel-obby-backend::rudel-connect): added transport argument; use
	 transport object instead of creating a socket
	 (zeroconf service registration): register transport and protocol
	 backend
	* rudel-protocol.el (header): history section fix
	 (rudel-protocol-backend::rudel-ask-connect-info): renamed
	 `rudel-ask-join-info' -> `rudel-ask-connect-info'
	 (rudel-protocol-backend::rudel-connect): renamed `rudel-join ->
	 `rudel-connect; added argument transport; updated documentation
	 string
	* rudel.el (header): added version 0.2 to history section
	 (rudel-join-session): obtain transport and protocol backends from
	 info; create a transport object; return created session object
	* zeroconf/rudel-zeroconf.el (header): downcased keywords; updated
	 commentary section; added version 0.2 to history
	 (rudel-zeroconf-version): bumped to 0.2
	 (rudel-zeroconf-service-types): updated documentation string
	 (rudel-zeroconf-service-backend): removed
	 (rudel-zeroconf-transport-backend): new; accessor for transport
	 backend
	 (rudel-zeroconf-protocol-backend): new; accessor for protocol
	 backend
	 (rudel-zeroconf-register-service): accept a transport and a protocol
	 backend argument; update documentation string
	 (initialize-instance): remove &rest from argument slots
	 (rudel-advertise): handle transport and protocol backend
	 (rudel-zeroconf-services): updated to work with new service
	 representation
	 (rudel-zeroconf-services-present-p): updated to work with new
	 service representation
	 (rudel-zeroconf-publish): accept a transport and a protocol backend
	 argument
	 (rudel-zeroconf-service->plist): handle transport and protocol
	 backends

2009-11-30  scymtym  <scymtym@users.sourceforge.net>

	* rudel-compile.el (top-level): added tls directory to list of
	 directories with autoloads
	* tls/rudel-tls.el (header): added 0.2 to version section
	 (require rudel-socket): required since base class of
	 `rudel-start-tls-transport'
	 (rudel-start-tls-transport): new class; socket transport with START
	 TLS ability
	 (rudel-start-tls-transport::rudel-enable-encryption): new method;
	 enable TLS encryption
	 (rudel-start-tls-backend): new class; START TLS transport backend
	 (rudel-start-tls-backend::initialize-instance): new method
	 (rudel-start-tls-backend::rudel-make-connection): new method; create
	 new START TLS transport object
	 (autoloading): added autoloaded registration of the backend

2009-11-30  scymtym  <scymtym@users.sourceforge.net>

	* rudel-util.el: (rudel-assemble-lines): new function assemble
	 complete lines from string fragments

2009-11-30  scymtym  <scymtym@users.sourceforge.net>

	* socket/rudel-socket.el (footer): changed provided feature rudel-tcp
	 -> rudel-socket; changed comment

2009-11-30  scymtym  <scymtym@users.sourceforge.net>

	* tls/rudel-tls.el (rudel-tls-wait-init): use
	 `rudel-assemble-fragments' instead of
	 `rudel-assemble-line-fragments'; use `rudel-loop-fragments' instead
	 of `rudel-loop-lines'
	 (rudel-tls-wait-handshake): use `rudel-assemble-fragments' instead
	 of `rudel-assemble-line-fragments'; use `rudel-loop-fragments'
	 instead of `rudel-loop-lines'
	 (rudel-tls-established): use `rudel-assemble-fragments' instead of
	 `rudel-assemble-line-fragments'; use `rudel-loop-fragments' instead
	 of `rudel-loop-lines'

2009-11-30  scymtym  <scymtym@users.sourceforge.net>

	* rudel-util.el (rudel-loop-fragments): new macro; call a form for
	 each fragment

2009-11-30  scymtym  <scymtym@users.sourceforge.net>

	* tls/rudel-tls.el: moved to tls directory
	* tls/Project.ede (target tls): added rudel-tls.el
	* Project.ede (target autoloads): added tls directory
	 (target compile): removed rudel-tls.el

2009-11-30  scymtym  <scymtym@users.sourceforge.net>

	* obby/rudel-obby-state.el (rudel-obby-state::connection): allow
	 objects of any type to be used as associated connection

2009-11-30  scymtym  <scymtym@users.sourceforge.net>

	* obby/doc/server-connection-states.cogre: new file; states of the
	 state machine used by server connections
	* obby/doc/client-connection-states.cogre: new file; states of the
	 state machine used by client connections

2009-11-30  scymtym  <scymtym@users.sourceforge.net>

	* rudel-compat.el (progress-spinner-values):
	 (progress-reporter-spinner-p):
	 (progress-reporter-force-update):
	 (progress-reporter-update):
	 (progress-reporter-spin):
	 (make-progress-reporter): always define these functions since the
	 spinning progress reporter patch has not been accepted anyway

2009-11-30  scymtym  <scymtym@users.sourceforge.net>

	* rudel-state-machine.el (rudel-state-machine::initialize-instance):
	 use `rudel-state-machine-strip-initargs' to get rid of virtual
	 initargs
	 (rudel-state-machine-strip-initargs): new function; remove certain
	 initargs from a property list of initargs

2009-11-30  scymtym  <scymtym@users.sourceforge.net>

	* rudel-state-machine.el (rudel-state-machine::initialize-instance):
	 value of :start can now be a rudel-state-child, a symbol, or a list
	 starting with a symbol; improved documentation string documentation
	 string
	 (rudel-state-machine::object-print): pass strings argument to next
	 method

2009-11-30  scymtym  <scymtym@users.sourceforge.net>

	* rudel-state-machine.el (rudel-state-machine::initialize-instance):
	 new method; remove :start initarg
	 (rudel-state-machine::initialize-instance :after): allow :start
	 initarg to specify arguments to start state

2009-11-29  scymtym  <scymtym@users.sourceforge.net>

	* socket/rudel-socket.el
	 (rudel-tcp-backend::rudel-wait-for-connections): new method; wait
	 for incoming connections and dispatch to callback
	 (rudel-tcp-handle-connect): new function; helper function to wrap
	 incoming connection sockets in transport objects

2009-11-29  scymtym  <scymtym@users.sourceforge.net>

	* socket/rudel-socket.el (header): added version 0.2 to history
	 (rudel-tcp-version): renamed `rudel-socket-transport-version' ->
	 `rudel-tcp-version'; bumped to 0.2
	 (rudel-socket-transport::filter): removed; stored in process object
	 (rudel-socket-transport::sentinel): removed; stored in process
	 object
	 (rudel-socket-transport::rudel-filter): new method; retrieve filter
	 from process
	 (rudel-socket-transport::rudel-set-filter): set filter of process
	 (rudel-socket-transport::rudel-sentinel): new method; retrieve
	 sentinel from process
	 (rudel-tcp-transport::rudel-set-sentinel): set sentinel of process
	 (rudel-tcp-transport::rudel-receive): removed; now handled directly
	 (rudel-tcp-backend::initialize-instance): use `rudel-tcp-version'
	 (rudel-tcp-backend::rudel-make-connection): pass constructed socket
	 to a `rudel-socket-transport'; do not install filter or sentinel

2009-11-29  scymtym  <scymtym@users.sourceforge.net>

	* socket/rudel-socket.el (rudel-tcp-backend::initialize-instance):
	 added documentation string

2009-11-29  scymtym  <scymtym@users.sourceforge.net>

	* socket/rudel-socket.el (rudel-make-connection): made object name of
	 transport object more unique

2009-11-29  scymtym  <scymtym@users.sourceforge.net>

	* socket/rudel-socket.el (require cl): required for `every'
	 (rudel-tcp-backend::rudel-make-connection): added arguments
	 info-callback and progress-callback; call info-callback when info
	 elements are missing

2009-11-29  scymtym  <scymtym@users.sourceforge.net>

	* socket/rudel-socket.el (rudel-tcp-backend::capabilities): added
	 capabilities

2009-11-29  scymtym  <scymtym@users.sourceforge.net>

	* socket/rudel-socket.el (rudel-tcp-backend::rudel-make-connection):
	 create a stopped network process
	 (this rudel-socket-transport::handler): removed; renamed handler ->
	 filter
	 (this rudel-socket-transport::filter): new slot; like process filter
	 (this rudel-socket-transport::sentinel): new slot; like process
	 sentinel
	 (this rudel-socket-transport::rudel-transport-send):
	 (this rudel-socket-transport::rudel-send): renamed method
	 `rudel-transport-send' -> `rudel-send'
	 (this rudel-socket-transport::rudel-start): new method; start the
	 transport
	 (this rudel-socket-transport::rudel-close): new method; close the
	 transport

2009-11-29  scymtym  <scymtym@users.sourceforge.net>

	* socket/rudel-socket.el (rudel-make-connection): call
	 `make-network-process' properly; return created transport object

2009-11-29  scymtym  <scymtym@users.sourceforge.net>

	* socket/rudel-socket.el: new file; socket transport backend for
	 Rudel; currently provides TCP-based transport
	* socket/Project.ede: new file; project file for socket transport
	 backend
	* rudel-compile.el (top-level): add socket directory to `load-path'
	 when compiling
	* Project.ede (target autoloads): added directory socket

2009-11-29  scymtym  <scymtym@users.sourceforge.net>

	* rudel-debug.el (require eieio): silence byte-compiler
	 (rudel-debug-received-processed-data-face): removed; will be
	 distinguished by other means
	 (rudel-debug-tag-faces): removed entry for received-processed face
	 (rudel-debug-stream-insert): whitespace cleanup
	* obby/rudel-obby-debug.el 
	 (rudel-obby-socket-owner::rudel-message :before): use tag :received
	 instead of :received-processed

2009-11-29  scymtym  <scymtym@users.sourceforge.net>

	* rudel-loaddefs.el: removed; this file is now generated by
	rudel-compile.el
	* rudel-compile.el (header): extended commentary section; added 0.2 to
	 history section
	 (top-level): added generation of autoloads in rudel-loaddefs.el

2009-11-29  scymtym  <scymtym@users.sourceforge.net>

	* obby/rudel-obby.el (rudel-display-string): fixed invalid format
	 specifier

2009-11-29  scymtym  <scymtym@users.sourceforge.net>

	* jupiter/jupiter-insert.el (header): history section
	 (require jupiter-nop): added; cross-operation dependency
	* jupiter/jupiter-delete.el (header): history section
	 (require jupiter-nop):
	 (require jupiter-insert): added; cross-operation dependency

2009-11-29  scymtym  <scymtym@users.sourceforge.net>

	* rudel.el (rudel-document::rudel-remove-user): fixed invalid this
	reference

2009-11-29  scymtym  <scymtym@users.sourceforge.net>

	* rudel-util.el (rudel-assemble-fragments): new macro; assemble
	 complete fragments from data and store partial fragments; used by
	 assembling transport filter

2009-11-29  scymtym  <scymtym@users.sourceforge.net>

	* rudel-transport-util.el (rudel-long-message-threshold):
	 (rudel-long-message-chunk-size): new constants; used by
	 `rudel-progress-reporting-transport-filter'
	 (rudel-progress-reporting-transport-filter::rudel-send): call
	 `rudel-send' correctly

2009-11-29  scymtym  <scymtym@users.sourceforge.net>

	* rudel-session-initiation.el (rudel-session-initiation-advertise):
	 fixed use of `some'

2009-11-29  scymtym  <scymtym@users.sourceforge.net>

	* rudel-interactive.el (header): history-section
	 (require rudel-backend): required for `rudel-backend-cons-p' to
	 silence the byte-compiler

2009-11-29  scymtym  <scymtym@users.sourceforge.net>

	* rudel-compat.el: reordered top-level forms and added some section
	 headers
	 (header): history section

2009-11-29  scymtym  <scymtym@users.sourceforge.net>

	* rudel-backend.el (rudel-backend-factory): added autoload cookie

2009-11-28  scymtym  <scymtym@users.sourceforge.net>

	* rudel-transport-util.el (rudel-transport-filter::slot-missing):
	 added virtual slot :root-transport that recursively finds the
	 underlying transport

2009-11-28  scymtym  <scymtym@users.sourceforge.net>

	* rudel-transport.el (header): updated history section
	 (require rudel-errors): added a commit

2009-11-28  scymtym  <scymtym@users.sourceforge.net>

	* rudel-transport-util.el (require rudel-errors): required for
	 `rudel-error' condition
	 (rudel-invalid-state): new condition
	 (rudel-buffering-transport-filter): new class; a transport filter
	 that can queue incoming and outgoing data
	 (rudel-buffering-transport-filter::initialize-instance): new method;
	 initialize slots and install filter
	 (rudel-buffering-transport-filter::rudel-send): new method send or
	 queue data
	 (rudel-buffering-transport-filter::rudel-stop): new method; stop the
	 filter
	 (rudel-buffering-transport-filter::rudel-start): new method; start
	 the filter
	 (rudel-buffering-transport-filter::rudel-handle): new method; handle
	 incoming data

2009-11-28  scymtym  <scymtym@users.sourceforge.net>

	* rudel-transport-util.el
	 (rudel-assembling-transport-filter::fragment-function): new slot;
	 optional fragmentation function
	 (rudel-assembling-transport-filter::rudel-send): if there is a
	 fragmentation function, use it
	 (rudel-injecting-transport-filter): new class; inject data using
	 method calls instead of receiving it from an underlying transport
	 (rudel-injecting-transport-filter::rudel-inject): new method; inject
	 data into transport filter

2009-11-28  scymtym  <scymtym@users.sourceforge.net>

	* rudel-transport.el (rudel-wait-for-connections): renamed argument
	 dispatch -> dispatch-callback

2009-11-28  scymtym  <scymtym@users.sourceforge.net>

	* rudel-transport-util.el (header): cosmetic changes
	 (rudel-parsing-transport-filter::parse-function): added reader and
	 writer
	 (rudel-parsing-transport-filter::generate-function): added reader
	 and writer

2009-11-28  scymtym  <scymtym@users.sourceforge.net>

	* rudel-transport.el (rudel-transport-backend::rudel-make-connection):
	 added argument info-callback; renamed argument callback ->
	 progress-callback; improved and extended documentation string
	 (rudel-transport-backend::rudel-wait-for-connections): documentation
	 string wording

2009-11-28  scymtym  <scymtym@users.sourceforge.net>

	* rudel-transport.el (require rudel-errors): new require; for
	 condition names
	 (rudel-malformed-message): new error condition

2009-11-28  scymtym  <scymtym@users.sourceforge.net>

	* rudel-transport-util.el (rudel-transport-filter::filter): use reader
	 and writer instead of accessor; removed `rudel-set-filter' method
	 (rudel-transport-filter::sentinel): use reader and writer instead of
	 accessor; removed `rudel-set-sentinel method
	 (rudel-transport-filter::no-applicable-method): delegate method
	 calls to underlying transport
	 (rudel-assembling-transport-filter::buffer): changed type to list

2009-11-28  scymtym  <scymtym@users.sourceforge.net>

	* rudel-transport.el (rudel-transport-backend::rudel-make-connection):
	 added optional argument callback; improved documentation string
	 (rudel-transport-backend::rudel-wait-for-connections): added
	 argument dispatch; fixed and improved documentation string

2009-11-28  scymtym  <scymtym@users.sourceforge.net>

	* rudel-transport-util.el (rudel-transport-filter::slot-missing): new
	 method; makes slots of the underlying transport available as virtual
	 slots of the filter
	 (rudel-progress-reporting-transport-filter::reporter): fixed initarg

2009-11-28  scymtym  <scymtym@users.sourceforge.net>

	* rudel-transport.el: socket-like interface for transports
	 (header): downcased keywords; expanded "Commentary" section
	 (rudel-transport::rudel-set-filter): renamed
	 `rudel-transport-set-handler' -> rudel-set-filter
	 (rudel-transport::rudel-set-sentinel): new method; like
	 `set-process-sentinel'
	 (rudel-send): renamed `rudel-transport-send' -> `rudel-send'
	 (rudel-transport::rudel-start): new method start stopped transport
	 (rudel-transport-backend::rudel-make-connection): expanded
	 documentation string

2009-11-28  scymtym  <scymtym@users.sourceforge.net>

	* rudel-transport-util.el (initialize-instance): in generated handler,
	 do not loop over fragments

2009-11-28  scymtym  <scymtym@users.sourceforge.net>

	* rudel-transport-util.el
	 (rudel-assembling-transport-filter::assembly-function): removed
	 initform and accessor
	 (rudel-transport-make-filter-stack): new function; construct a stack
	 of transport filters according to a specification

2009-11-28  scymtym  <scymtym@users.sourceforge.net>

	* rudel-transport-util.el (rudel-progress-reporting-transport-filter):
	 new class; progress reporting transport filter

2009-11-28  scymtym  <scymtym@users.sourceforge.net>

	* rudel-transport-util.el (header): fixed license text; extended
	 commentary
	 (require rudel-transport): require for class `rudel-transport'
	 (rudel-transport-filter): new class; base class for transport
	 filters
	 (rudel-assembling-transport-filter): new class; assembles received
	 data fragments into messages
	 (rudel-parsing-transport-filter): new class; applies parse/generate
	 function to received/sent data

2009-11-28  scymtym  <scymtym@users.sourceforge.net>

	* rudel-transport-util.el: new file; utility functions for
	 implementing transport functionality
	* Project.ede (target rudel): added rudel-transport-util.el

2009-11-25  scymtym  <scymtym@users.sourceforge.net>

	* obby/rudel-obby.el (rudel-obby-backend::capabilities): added encrypt
	 capability

2009-10-29  scymtym  <scymtym@users.sourceforge.net>

	* TODO: added closed-status to closed issues
	 (Future): multi-frame BEEP messages; notification mechanism
	 (Milestone rudel-0.3): multiple username/password attempts

2009-10-22  scymtym  <scymtym@users.sourceforge.net>

	* TODO (Future): added BEEP and SubEthaEdit tasks

2009-10-15  scymtym  <scymtym@users.sourceforge.net>

	* rudel.el (rudel-version): bumped to 0.3
	* Project.ede (project rudel): bumped version to 0.3

2009-10-15  scymtym  <scymtym@users.sourceforge.net>

	* TODO: whitespace fixes
	 (Milestone rudel-0.4): new; focus on telepathy transport
	 (Milestone rudel-0.3): added infinote, document trees

2009-10-12  Phil Hagelberg  <technomancy@gmail.com>

	  * rudel-mode.el
	(rudel-mode-line-publish-state--add-indicator-to-mode-line):
	 Replace reference to mode-line indicator that was not present in Emacs
	22.

2009-10-12  Phil Hagelberg  <technomancy@gmail.com>

	  * rudel-compat.el: add rudel-get-coding-system wrapper function.
	 * rudel-obby-util.el (with-parsed-args): Replace call to
	   Emacs23-specific coding-system-from-name function with
	   rudel-get-coding-system.

2009-10-12  Phil Hagelberg  <technomancy@gmail.com>

	  rudel-compat.el: Add string-match-p if not present. (< Emacs 23)

2009-10-13  scymtym  <scymtym@users.sourceforge.net>

	* TODO: new file; TODO items for future development and releases

2009-10-12  Phil Hagelberg  <technomancy@gmail.com>

	  * rudel-mode.el, rudel-overlay.el: Move use of :safe flag from
	   defcustom to a separate put. Required for Emacs 22 compatibility.

2009-10-12  Phil Hagelberg  <technomancy@gmail.com>

	  * rudel-loaddefs.el: Only require rudel-zeroconf if zeroconf is
	available.

2009-10-12  scymtym  <scymtym@users.sourceforge.net>

	* jupiter/jupiter-delete.el (jupiter-delete::jupiter-transform): fixed
	 error message

2009-10-08  scymtym  <scymtym@users.sourceforge.net>

	* jupiter/jupiter.el (header): downcased keywords
	 (object-print): new method; add revisions and log length to string
	* jupiter/jupiter-nop.el (header): downcased keywords; cosmetic
	 representation changes to "commentary" section
	* jupiter/jupiter-insert.el (header): downcased keywords; cosmetic
	 changes to "commentary" section
	 (object-print): new method; add start, end, length and data to
	 string representation
	* jupiter/jupiter-delete.el (header): downcased keywords; cosmetic
	 changes to "commentary" section
	 (jupiter-transform): cosmetic changes
	 (object-print): new method; add position and length to string
	 representation
	* jupiter/jupiter-compound.el (header): downcased keywords; cosmetic
	 changes to "commentary" section
	 (object-print): new method; add number of children to string
	 representation

2009-10-07  scymtym  <scymtym@users.sourceforge.net>

	* ChangeLog: updated

2009-10-07  scymtym  <scymtym@users.sourceforge.net>

	* doc/card.tex (Session Initiation): mention configured sessions;
	 explain Zeroconf-advertised session in more detail

2009-10-07  scymtym  <scymtym@users.sourceforge.net>

	* ChangeLog: updated

2009-10-07  scymtym  <scymtym@users.sourceforge.net>

	merged phil's README changes and jan's earlier changes

2009-10-06  scymtym  <scymtym@users.sourceforge.net>

	* doc/card.tex (Joining a Session ...): added global and user
	 passwords
	* doc/card.pdf: regenerated

2009-10-06  Phil Hagelberg  <phil@enigma>

	  README (JOINING): Mention `rudel-configured-sessions' customization.

2009-10-06  Phil Hagelberg  <phil@enigma>

	  * README (INTRODUCTION): emphasize obby backend being the only
	   supported one so far, (JOINING): update example session with
	   passwords.

2009-10-06  Phil Hagelberg  <phil@enigma>

	  rudel-loaddefs.el: Add autoloads for rudel-host-session and
	rudel-speedbar.

2009-10-06  Jan Moringen  <jan@steed>

	* rudel.el (rudel-version): use list representation instead of float
	 (rudel-allocate-buffer-function): added documentation string

2009-10-06  Jan Moringen  <jan@steed>

	* INSTALL (COMPILING): fixed typo

2009-10-06  Jan Moringen  <jan@steed>

	merged phil's progress reporting and readme changes

2009-10-05  Phil Hagelberg  <phil@enigma>

	  README: Mention Eshell issue and license.

2009-10-05  Phil Hagelberg  <phil@enigma>

	Merge trunk to progress reporter branch.

2009-10-02  Phil Hagelberg  <phil@enigma>

	  INSTALL: Mention CEDET's inclusion in Emacs.

2009-10-02  Phil Hagelberg  <phil@enigma>

	  * rudel-state-machine.el (rudel-state-wait): update progress
	   reporter usage to match rudel-compat.el

2009-10-02  Phil Hagelberg  <phil@enigma>

	  * rudel-compat.el: Use updated progress reporters
	   (progress-reporter-update): may be used by pulsing reporters too
	   (make-progress-reporter): nil max value returns pulsing reporter
	   (progress-reporter-force-update): may be used by pulsing reporters
	too
	   (progress-reporter-pulsing-p): added
	   (progress-reporter-pulse): removed message change option

2009-10-03  scymtym  <scymtym@users.sourceforge.net>

	* ChangeLog: updated

2009-10-03  scymtym  <scymtym@users.sourceforge.net>

	* rudel-compat.el (make-pulsing-progress-reporter): removed;
	 `make-progress-reporter' is sufficient
	 (progress-reporter-pulse): store index in the car of the reporter;
	 set last update time of the reporter
	* obby/rudel-obby.el (rudel-connect): use `make-progress-reporter'
	 instead of `make-pulsing-progress-reporter'
	* obby/rudel-obby-client.el
	 (rudel-obby-connection::rudel-subscribe-to): cosmetic changes in
	 status messages

2009-10-02  scymtym  <scymtym@users.sourceforge.net>

	merged state machine callback changes

2009-10-02  scymtym  <scymtym@users.sourceforge.net>

	* obby/rudel-obby-client.el
	 (rudel-obby-client-state-idle::rudel-obby/obby_document_create):
	 cosmetic changes of printed messages
	 (rudel-obby-client-state-idle::rudel-obby/obby_document_remove):
	 cosmetic changes of printed messages

2009-10-02  scymtym  <scymtym@users.sourceforge.net>

	* rudel-state-machine.el (rudel-state-wait): accept callback function
	 instead of message; adjusted documentation string
	* obby/rudel-obby.el (rudel-obby-backend::rudel-connect): when calling
	 `rudel-state-wait', provide a callback; the callback controls a
	 progress reporter
	* obby/rudel-obby-client.el
	 (rudel-obby-connection::rudel-subscribe-to): when calling
	 `rudel-state-wait', provide a callback; the callback controls a
	 progress reporter

2009-10-02  scymtym  <scymtym@users.sourceforge.net>

	* rudel-compat.el (progress-reporter-pulse): store index as float

2009-10-02  scymtym  <scymtym@users.sourceforge.net>

	* ChangeLog: updated

2009-10-02  scymtym  <scymtym@users.sourceforge.net>

	* rudel.el (rudel-session::rudel-remove-document): when necessary,
	 detach document first; added documentation string
	 (rudel-document::rudel-attached-p): new method; return non-nil when
	 document is attached to a buffer

2009-10-02  scymtym  <scymtym@users.sourceforge.net>

	* obby/rudel-obby-client.el (rudel-obby/net6_client_part): promoted
	 warning severity to :warning
	 (rudel-obby-client-state-idle::rudel-obby/obby_document_remove):
	 fixed lookup of document; added warning message in case it is not
	 found
	 (rudel-obby-client-state-idle::rudel-obby/obby_document/rename):
	 promoted warning severity to :warning
	 (rudel-obby-connection::rudel-unpublish): new method; ask server to
	 remove a document

2009-10-01  scymtym  <scymtym@users.sourceforge.net>

	* rudel-state-machine.el (rudel-state-wait): fixed progress range [0,
	 100] -> [0, 1]; fixed reference to reporter object
	* obby/rudel-obby.el (rudel-obby-send): removed remnants of calls to
	 `working-*' functions; call `progress-reporter-pulse' just before
	 `progress-reporter-done'

2009-10-01  scymtym  <scymtym@users.sourceforge.net>

	* rudel-compat.el: only define pulsing progress reporter when Emacs
	 does not have one itself
	 (header): downcased keywords
	 (make-pulsing-progress-reporter): renamed
	 `make-progress-reporter-pulse' -> `make-pulsing-progress-reporter';
	 cosmetic changes; explanatory	comment
	 (progress-reporter-pulse): added documentation string

2009-09-30  scymtym  <scymtym@users.sourceforge.net>

	* rudel-compat.el (progress-pulse-values): new variable; indicator
	 strings used by pulsing progress reporter
	 (make-progress-reporter-pulse): new function; creates pulsing
	 progress reporter
	 (progress-reporter-pulse): new function; updates pulsing progress
	 reporter

2009-09-29  scymtym  <scymtym@users.sourceforge.net>

	* obby/rudel-obby-server.el
	 (rudel-obby-server-state-before-join::rudel-obby/net6_client_login):
	 accept two additional arguments: global-password and user-password

2009-09-29  scymtym  <scymtym@users.sourceforge.net>

	* rudel-session-initiation.el (rudel-configured-sessions): improved
	 documentation string

2009-09-29  scymtym  <scymtym@users.sourceforge.net>

	* .bzrignore: added Makefile

2009-09-29  scymtym  <scymtym@users.sourceforge.net>

	* .bzrignore: new file; ignore byte-code (pattern *.elc)

2009-09-29  scymtym  <scymtym@users.sourceforge.net>

	* ChangeLog: fixed zapped content

2009-09-29  scymtym  <scymtym@users.sourceforge.net>

	* INSTALL (REQUIREMENTS): wording
	 (INSTALLING): mention other things that cause rudel to be
	 autoloaded; minor cosmetic changes
	 (COMPILING): fixed filename compile.el -> rudel-compile.el
	* ChangeLog: updated

2009-09-29  scymtym  <scymtym@users.sourceforge.net>

	* rudel-compile.el (header): added copyright and meta data
	 (code): let-bind rudel-dir; call `byte-recompile-directory' just
	 once since it operates recursively

2009-09-29  scymtym  <scymtym@users.sourceforge.net>

	merged phil's installation improvements

2009-09-28  Phil Hagelberg  <phil@enigma>

	Moved compile.el to rudel-compile.el, duh.

2009-09-27  Phil Hagelberg  <phil@enigma>

	Update ChangeLog.

2009-09-27  Phil Hagelberg  <phil@enigma>

	Removed CEDET's autogenerated makefiles

2009-09-27  Phil Hagelberg  <phil@enigma>

	Update install notes for new build process.

	The rudel-loaddefs.el file does not need to be generated. Don't use
	CEDET for autoloads or byte-compiling.

2009-09-27  Phil Hagelberg  <phil@enigma>

	Note that all connections to Gobby servers require TLS.

2009-09-27  Phil Hagelberg  <phil@enigma>

	Add loaddefs for autoloading.

2009-09-27  Phil Hagelberg  <phil@enigma>

	Added compile.el and loaddefs.el.

2009-09-27  jan	 <jan>

	* obby/rudel-obby-server.el (header): better documentation
	 (require rudel-state-machine): now required for state machine style
	 handling of client connections
	 (require rudel-obby-state): now required; provides base class for
	 states
	 (rudel-obby-server-state-new): new class; client connection state
	 new
	 (rudel-obby-server-state-encryption-negotiate): new class; client
	 connection state for negotiating encryption
	 (rudel-obby-server-state-before-join): new class; client connection
	 state for waiting for login request
	 (rudel-obby-server-state-new): new class; client connection state
	 entered after session setup and joining is complete
	 (rudel-obby-server-connection-states): new variable; list of states
	 and their symbolic names
	 (rudel-obby-client): now derived from rudel-state-machine closes: #18

2009-09-27  jan	 <jan>

	* obby/rudel-obby.el (rudel-obby-backend::rudel-ask-connect-info):
	 check for :global-password and :user-password correctly; do not put
	 them into the list when they are ""
	 (rudel-obby-backend::rudel-connect): comment

2009-09-27  jan	 <jan>

	* rudel-session-initiation.el
	 (rudel-configured-sessions-backend::rudel-discover): let
	 `rudel-session-initiation-adjust-info' do the heavy lifting
	 (rudel-session-initiation-adjust-info): new function; adjust
	 arguments that need adjusting in a session information property list

2009-09-27  jan	 <jan>

	* rudel-session-initiation.el (rudel-configured-sessions): more
	 precise specification of the customization type

2009-09-27  jan	 <jan>

	* rudel-session-initiation.el
	 (rudel-configured-sessions-backend::rudel-discover): fixed a bug
	 that dropped the last option in each configured session

2009-09-27  jan	 <jan>

	* rudel-session-initiation.el (rudel-configured-sessions): new
	 customization option; contains a list of session information lists
	 (rudel-ask-protocol-backend::initialize-instance): maybe call next
	 method
	 (rudel-configured-sessions-version): new constant; version of the
	 configured-sessions backend
	 (rudel-configured-sessions-backend): new class; configured-sessions
	 backend
	 (rudel-configured-sessions-backend::initialize-instance): new
	 method; set version slot
	 (rudel-configured-sessions-backend::rudel-discover): new method;
	 "discover" configured sessions
	 (autoload rudel-add-backend): register
	 rudel-configured-sessions-backend as a protocol backend

2009-09-26  jan	 <jan>

	* rudel-chat.el (rudel-chat-buffer-name): new constant; name chat log
	 buffer
	 (rudel-chat-handle-buffer): raise buffer when logging a chat message

2009-09-26  jan	 <jan>

	* rudel-debug.el (header): fixed meta-data and license
	 (rudel-debug-sent-data-face): added documentation string
	 (rudel-debug-received-data-face): added documentation string
	 (rudel-debug-received-processed-data-face): added documentation
	 string
	 (rudel-debug-state-face): added documentation string
	 (rudel-debug-special-face): added documentation string
	 (rudel-suspend-session-socket): added documentation string
	 (rudel-resume-session-socket): added documentation string

2009-09-26  jan	 <jan>

	* obby/rudel-obby-util.el (rudel-obby-dispatch): use `display-warning'
	 instead of `warn'
	* obby/rudel-obby-state.el (rudel-obby-state::rudel-accept): use
	 `display-warning' instead of `warn'
	 (rudel-obby-document-handler::rudel-obby/obby_document): use
	 `display-warning' instead of `warn'
	* obby/rudel-obby-client.el
	 (rudel-obby-client-state-idle::rudel-obby/net6_client_part): use
	 `display-warning' instead of `warn'
	 (rudel-obby-client-state-idle::rudel-obby/obby_document/record): use
	 `display-warning' instead of `warn'
	* rudel-backend.el (rudel-backend-factory::rudel-load-backends): use
	 `display-warning' instead of `warn'

2009-09-26  jan	 <jan>

	* obby/rudel-obby-client.el (require rudel-chat): used when handling
	 chat messages
	 (rudel-obby-client-state-idle::rudel-obby/obby_message): new method;
	 handles obby 'message' messages by dispatching to
	 `rudel-chat-dispatch-message'
	* rudel-chat.el (whole file): new file; handling of incoming chat
	 messages
	* Project.ede (target rudel): added rudel-chat.el
	* Makefile (target rudel_LISP): added rudel-chat.el

2009-09-25  jan	 <jan>

	* obby/rudel-obby-state.el (rudel-obby-server-connection-state): new
	 class; base class for server connection states
	 (rudel-obby-server-connection-state::rudel-broadcast): new method;
	 broadcast message to a set of receivers

2009-09-24  jan	 <jan>

	* obby/rudel-obby.el (rudel-obby-backend::rudel-connect): new error
	 state they-finalized; handle join-failed error specially
	* obby/rudel-obby-client.el (rudel-obby-client-state-join-failed):
	 improved comments
	 (rudel-obby-client-state-they-finalized): new state class; used to
	 indicate that the connection was closed by the peer
	 (rudel-obby-client-connection-states): added they-finalized
	 (rudel-obby-connection::rudel-close): switch state machine to
	 they-finalized
	 (rudel-obby-connection::rudel-subscribe-to): new error state
	 they-finalized

2009-09-24  jan	 <jan>

	* obby/rudel-obby-client.el
	
	(rudel-obby-client-state-encryption-start::rudel-obby/net6_encryption_begin):
	 do not require rudel-tls; do not try to start TLS encryption if the
	 connection does not support it
	* rudel-tls.el (rudel-tls-make-process): mark process as supporting
	 TLS encryption

2009-09-24  jan	 <jan>

	* rudel.el (rudel-client-session::connection): allow nil value
	 (rudel-client-session::rudel-end): only try to disconnect the
	 connection if it is non-nil; ignore errors during disconnect

2009-09-24  jan	 <jan>

	* obby/rudel-obby-state.el (rudel-obby/net6_ping): return nil to
	 prevent erratic behavior of the state machine

2009-09-24  jan	 <jan>

	* rudel-interactive.el (rudel-allocate-buffer-clear-existing): added
	 missing whitespace in prompt string

2009-09-24  jan	 <jan>

	* rudel-tls.el (rudel-tls-start-tls): changed displayed message
	 (rudel-tls-wait-init): ignore all lines until "- Simple Client
	 Mode.*" is received; then switch back old filter
	 (rudel-tls-wait-handshake): ignore all lines until "-	Compression.*"
	 is received; then switch to established filter
	 (rudel-tls-established): do not ignore any lines other than "- Peer
	 has closed the GNUTLS connection"

2009-09-23  jan	 <jan>

	* obby/rudel-obby.el (rudel-ask-connect-info): ask for global and user
	 passwords
	* obby/rudel-obby-client.el
	 (rudel-obby-client-state-joining::rudel-enter): transmit global and
	 user passwords when available addresses: #15, #16

2009-09-23  jan	 <jan>

	* obby/rudel-obby-errors.el
	 (rudel-obby-error-wrong-global-password): fixed error code
	 (rudel-obby-error-wrong-user-password): fixed error code
	 (rudel-obby-error-protocol-version-mismatch): fixed error code
	 (rudel-obby-error-not-encrypted): fixed error code
	* obby/rudel-obby-client.el
	 (rudel-obby-client-state-joining::rudel-obby/net6_login_failed):
	 recognize wrong global/user password error codes

2009-09-23  jan	 <jan>

	* obby/rudel-obby-debug.el (whole file): new file; debugging functions
	 for the obby backend 
	* rudel-debug.el (whole file): new file; debugging functions

2009-09-23  jan	 <jan>

	* obby/rudel-obby-errors.el (rudel-obby-error-wrong-global-password):
	 new constant; error code for wrong global password
	 (rudel-obby-error-wrong-user-password): new constant; error code for
	 wrong user password
	 (rudel-obby-error-protocol-version-mismatch): new constant; error
	 code for protocol version mismatch
	 (rudel-obby-error-not-encrypted): new constant; error code for not
	 encrypted

2009-09-23  jan	 <jan>

	* Project.ede (target rudel): added rudel-transport.el
	* Makefile (target rudel_LISP): added rudel-transport.el
	* rudel-transport.el (whole file): new file; interface for transport
	 backends

2009-09-19  jan	 <jan>

	* obby/rudel-obby-server.el
	 (rudel-obby-client::rudel-remote-operation): added byte -> char
	 conversion before the operation is applied to the server-side
	 document; updated comments closes: #56

2009-09-19  jan	 <jan>

	* obby/rudel-obby-server.el (rudel-obby-client::rudel-broadcast):
	 cosmetic changes
	 (rudel-obby-client::rudel-obby/net6_client_login): cosmetic changes;
	 improved comments
	 (rudel-obby-client::rudel-obby/obby_document): changed documentation
	 string; cosmetic changes
	 (rudel-obby-client::rudel-obby/obby_document/record): added a
	 comment
	 (rudel-obby-client::rudel-remote-operation): improved comments

2009-09-19  jan	 <jan>

	* obby/rudel-obby-server.el (header): added header comment
	 (rudel-obby-client::rudel-obby/obby_document_create): changed
	 documentation comment
	 (rudel-obby-client::rudel-obby/obby_document/subscribe): changed
	 documentation comment; cosmetic changes
	 (rudel-obby-client::rudel-obby/obby_document/unsubscribe): cosmetic
	 changes
	 (rudel-obby-server::initialize-instance): do not run :after; call
	 next method
	 (rudel-obby-server::rudel-broadcast): signal wrong-type-argument
	 instead of just error; cosmetic changes
	 (rudel-obby-server::rudel-check-username-and-color): changed
	 comments
	 (rudel-obby-server::object-print): new method; generate string
	 representation with number of clients

2009-09-19  jan	 <jan>

	* obby/rudel-obby-server.el
	 (rudel-obby-client::rudel-obby/obby_document/record/ins): construct
	 the operation and use `rudel-remote-operation'
	 (rudel-obby-client::rudel-obby/obby_document/record/del): construct
	 the operation and use `rudel-remote-operation'
	 (rudel-obby-client::rudel-remote-operation): new method; transform
	 and apply an operation object to the server-side document; send
	 operation to all other clients
	 (rudel-obby-server::rudel-broadcast): cosmetic changes

2009-09-19  jan	 <jan>

	* obby/rudel-obby-server.el
	 (rudel-obby-client::rudel-obby/obby_document/record/del): swapped
	 local and remote revisions in the operation name to be consistent
	 with record/ins; does not affect behavior

2009-09-13  jan	 <jan>

	* rudel-mode.el (rudel-header-subscriptions-minor-mode): check whether
	 the document is attached to a buffer when enabling or disabling the
	 mode
	 (rudel-header-subscriptions--add-document): enable header
	 subscriptions mode when the document is attached to a buffer
	 (rudel-header-subscriptions--remove-document): disable header
	 subscriptions mode when the document is attached to a buffer
	 (rudel-mode-line-publish-state--options-changed): new function;
	 called when customization options change

2009-09-12  jan	 <jan>

	* rudel-mode.el (rudel-header-subscriptions--update-from-document):
	 force mode line update
	 (rudel-header-subscriptions--update-from-buffer): force mode line
	 update
	 (rudel-header-subscriptions-minor-mode): force mode line update

2009-09-12  jan	 <jan>

	* rudel-mode.el	(rudel-mode-line-publish-state-unpublished-string):
	 new customization option; string used to indicate that a buffer is
	 not published
	 (rudel-mode-line-publish-state-published-string): new customization
	 option; string used to indicate that a buffer is published
	 (rudel-mode-line-publish-state--update-string): use
	 `rudel-mode-line-publish-state-unpublished-string' and
	 `rudel-mode-line-publish-state-unpublished-string'

2009-09-12  jan	 <jan>

	* rudel.el (rudel-session::end-hook): new slot; stores handlers of the
	 end hook
	 (rudel-session::rudel-end): run end hook
	 (rudel-session::rudel-join-session): install handler on session end
	 hook to set `rudel-current-session' to nil
	 (rudel-session::rudel-end-session): no need to run
	 rudel-session-end-hook or reset `rudel-current-session'
	* rudel-hooks.el (rudel-hooks--session-start): add handler for the end
	 hook of the session
	 (rudel-hooks--session-end): remove the handler from end hook of the
	 session; run the rudel-session-end hook
	 (rudel-hooks--install-handlers): do install handler for
	 rudel-session-end hook; this is now done by installing the in the
	 session object
	 (rudel-hooks--uninstall-handlers): no need to remove
	 rudel-session-end hook closes: #51

2009-09-12  jan	 <jan>

	* rudel-util.el (rudel-socket-owner::rudel-state-change): cover more
	 states

2009-09-11  jan	 <jan>

	* obby/rudel-obby-client.el
	 (rudel-obby-client-state-idle::rudel-obby/obby_document_remove):
	 implemented, was stub; untested though closes: #45

2009-09-10  jan	 <jan>

	* obby/rudel-obby-client.el
	 (rudel-obby-client-state-idle::rudel-obby/net6_client_join): check
	 whether we have a user object for the specified user id; modify the
	 existing object if there is one closes: #44

2009-09-09  jan	 <jan>

	* zeroconf/Makefile (whole file): regenerated
	* wave/Makefile (whole file): regenerated
	* Makefile (target all): build target doc
	 (target doc): new target; build documentation
	 (target tags): build target tags in doc directory
	 (target dist): build target dist in doc directory

2009-09-06  jan	 <jan>

	* telepathy/rudel-telepathy.el (header): fixes
	 (require rudel-backend): required, since we define a backend
	 (require rudel-transport): it is a transport backend
	 (class rudel-telepathy-backend): derived from
	 rudel-transport-backend
	 (rudel-telepathy-backend::initialize-instance): new method; set
	 version slot
	 (autoloading): upgraded to new backend registration style

2009-09-06  jan	 <jan>

	* INSTALL (REQUIREMENTS): mention Avahi

2009-09-05  jan	 <jan>

	* rudel.el (require rudel-util): required for `rudel-hook-object'

2009-09-05  jan	 <jan>

	* rudel-util.el (property svn:executable): removed property
	* rudel-overlay.el (property svn:executable): removed property

2009-09-04  jan	 <jan>

	* doc/Project.ede (whole file): new file; project file for the
	 documentation directory
	* doc/Makefile (whole file): new file; generated Makefile for the
	 documentation directory
	* doc/card.tex (whole file): new file; reference card for Rudel;
	 source
	* doc/card.pdf (whole file): new file; reference card for Rudel; PDF 
	closes: #2

2009-09-04  jan	 <jan>

	* rudel-interactive.el (rudel-read-document): added comment
	 (rudel-allocate-buffer-clear-existing): handle the case in which
	 case a buffer with the desired name exists and is attached to a
	 different document; added some comments

2009-09-04  jan	 <jan>

	* rudel-mode.el (header): list all provided modes; bump version
	 (require rudel-hooks): required for global hooks
	 (rudel-mode-line-publish-state-string): new variable; buffer local,
	 holds publish state string for buffer
	 (rudel-mode-line-publish-state--add-indicator-to-mode-line): new
	 function; add publish state indicator to mode line
	 (rudel-mode-line-publish-state--remove-indicator-from-mode-line):
	 new function; remove publish state indicator from mode line
	 (rudel-mode-line-publish-state--update-string): new function; update
	 publish state indicator according to buffer state
	 (rudel-mode-line-publish-state--document-attach): new function;
	 handle document attaching to buffer
	 (rudel-mode-line-publish-state--document-detach): new function;
	 handle document detaching from buffer
	 (rudel-mode-line-publish-state-minor-mode): new minor mode; displays
	 publish state of buffer in mode line
	 (global-rudel-mode-line-publish-state-mode): new minor mode;
	 globalization of `rudel-mode-line-publish-state-minor-mode'
	 (rudel-minor-keymap): menu entries for buffer local and global mode
	 line publish state mode closes: #6

2009-09-04  jan	 <jan>

	* rudel.el (require rudel-hooks): required or hook variables
	 (rudel-session-start-hook): moved to rudel-hooks.el
	 (rudel-session-end-hook): moved to rudel-hooks.el
	* rudel-hooks.el (whole file): new file; contains hook variables
	 and mapping from object hooks to global hooks
	* Project.ede (target rudel): added file rudel-hooks.el
	* Makefile (target rudel_LISP): added file rudel-hooks.el

2009-09-03  jan	 <jan>

	* rudel-mode.el (rudel-header-subscriptions-minor-mode): improved
	 documentation string

2009-08-29  jan	 <jan>

	* zeroconf/Makefile (whole file): new file; generated Makefile for the
	 zeroconf subproject

2009-08-29  jan	 <jan>

	* wave/rudel-wave.el (whole file): new file; main class of the wave
	 backend
	* wave/Project.ede (whole file): new file; project file for the wave
	 subproject
	* wave/Makefile (whole file): new file; generated Makefile for the
	 wave subproject
	* Project.ede (target autoloads): added wave directory
	* Makefile (LOADDIRS): added wave and zeroconf directories
	 (VERSION): bumped to 0.2
	 (target all): added wave and zeroconf
	 (tags): descend into zeroconf and wave directories
	 (dist): descend into zeroconf and wave directories

2009-08-27  jan	 <jan>

	* rudel.el (rudel-change-color): run the change hook of the self user

2009-08-27  jan	 <jan>

	* rudel-overlay.el (rudel-overlay-set-face-attributes): check the face
	 actually exists closes: #54

2009-08-26  jan	 <jan>

	* rudel-mode.el (rudel-header-subscriptions-use-images): new variable;
	 controls whether images are used when formatting user names
	 (rudel-header-subscriptions-separator): new variable; separator used
	 when formatting user names
	 (rudel-header-subscriptions--make-format): new function; make a
	 format object for header line
	 (rudel-header-subscriptions--update-from-document): new function;
	 update header line from document
	 (rudel-header-subscriptions--update-from-buffer): new function;
	 update header line from buffer
	 (rudel-header-subscriptions--options-changed): new function; update
	 header line in all buffers that have
	 rudel-header-subscriptions-minor-mode enabled after customization
	 option change
	 (rudel-header-subscriptions--user-change): new function; update
	 header line after a user object change
	 (rudel-header-subscriptions--add-user): new function; watch newly
	 subscribed user and update header line
	 (rudel-header-subscriptions--remove-user): new function; stop
	 watching user and update header line
	 (minor mode rudel-header-subscriptions-minor-mode): new minor mode;
	 display subscribed users in buffer's header line
	 (rudel-header-subscriptions--attach): new function; enable header
	 subscription minor mode when attaching
	 (rudel-header-subscriptions--detach): new function; disable header
	 subscription minor mode when detaching
	 (rudel-header-subscriptions--add-document): new function; monitor
	 attaching/detaching of new document
	 (rudel-header-subscriptions--remove-document): new function; stop
	 monitoring attaching/detaching of new document
	 (rudel-header-subscriptions--session-start): new function; watch
	 documents being added to/removed from the session
	 (rudel-header-subscriptions--session-end): new function; stop
	 watching documents being added/removed to/from the session
	 (minor mode global-rudel-header-subscriptions-mode): global minor
	 mode that controls `rudel-header-subscriptions-minor-mode' in
	 buffers	
	 (advice global-rudel-header-subscriptions-mode): controls
	 adding/removing watches for added/removed documents when the global
	 mode is enabled/disabled
	 (rudel-minor-keymap): Added entries for
	 `rudel-header-subscriptions-minor-mode' and
	 `global-rudel-header-subscriptions-mode' closes: #9

2009-08-26  jan	 <jan>

	* rudel.el (rudel-session::add-user-hook): new slot; add user hook
	 function list
	 (rudel-session::remove-user-hook): new slot; remove user hook
	 function list
	 (rudel-session::add-document-hook): updated documentation string
	 (rudel-session::remove-document-hook): updated documentation string
	 (rudel-session::rudel-add-user): run add user hook
	 (rudel-session::rudel-remove-user): run remove user hook

2009-08-26  jan	 <jan>

	* ChangeLog (whole file): updated

2009-08-26  jan	 <jan>

	* rudel.el (rudel-session-start-hook): new variable; session start
	 hook function list
	 (rudel-session-end-hook): new variable; session end hook function
	 list
	 (rudel-join-session): run session start hook
	 (rudel-end-session): run session end hook

2009-08-26  jan	 <jan>

	* obby/rudel-obby-server.el
	 (rudel-obby-client::rudel-obby/obby_document_create): call
	 `generate-new-buffer-name' on complete buffer name; not just name
	 part

2009-08-26  jan	 <jan>

	* obby/rudel-obby-server.el
	 (rudel-obby-client::rudel-obby/obby_document/subscribe): send number
	 of bytes instead of number of characters

2009-08-26  jan	 <jan>

	* obby/rudel-obby-client.el
	 (rudel-obby-client-state-document-synching::remaining-bytes): fixed
	 initarg num-bytes -> remaining-bytes

2009-08-26  jan	 <jan>

	* rudel.el (rudel-session::add-document-hook): new slot; run when a
	 document gets added to the session
	 (rudel-session::remove-document-hook): new slot; run when a document
	 gets removed from the session
	 (rudel-session::rudel-add-document): run add document hook
	 (rudel-session::rudel-remove-document): run remove document hook
	 (rudel-document::unsubscribe-hook): fixed initarg subscribe-hook ->
	 unsubscribe-hook

2009-08-25  jan	 <jan>

	* INSTALL (REQUIREMENTS): precise CEDET release version

2009-08-25  jan	 <jan>

	* obby/rudel-obby-server.el
	 (rudel-obby-client::rudel-obby/obby_user_colour): run change
	 hook after setting slot
	 (rudel-obby-server::rudel-remove-client): run change hook after
	 setting slot
	* obby/rudel-obby-client.el
	 (rudel-obby-client-state-idle::rudel-obby/net6_client_part): run
	 change hook after setting slots
	 (rudel-obby-client-state-idle::rudel-obby/obby_user_colour): run
	 change hook after setting slot
	* rudel.el (class rudel-user): derive from `rudel-hook-object'
	 (rudel-user::change-hook): new slot; stores change hook functions

2009-08-25  jan	 <jan>

	* obby/rudel-obby-server.el
	 (rudel-obby-client::rudel-obby/obby_user_colour): cosmetic changes
	 (rudel-obby-client::rudel-obby/obby_document/subscribe): use
	 `rudel-add-user'
	 (rudel-obby-client::rudel-obby/obby_document/unsubscribe): use
	 `rudel-remove-user'
	 (rudel-obby-server::rudel-check-username-and-color): whitespace
	 fixes

2009-08-23  jan	 <jan>

	* rudel.el (rudel-document::attach-hook): new slot; attach hook
	 function list
	 (rudel-document::detach-hook): new slot; detach hook function list
	 (rudel-document::rudel-attach-to-buffer): run hook `attach-hook'
	 (rudel-document::rudel-detach-from-buffer): run hook `detach-hook'
	 (rudel-document::rudel-add-user): improved documentation string
	 (rudel-document::rudel-remove-user): improved documentation string

2009-08-23  jan	 <jan>

	* obby/rudel-obby.el
	 (rudel-obby-user::eieio-speedbar-object-buttonname): fixed typo

2009-08-20  jan	 <jan>

	* obby/rudel-obby-client.el
	 (rudel-obby-client-state-idle::rudel-obby/obby_document/subscribe):
	 call `rudel-add-user'
	 (rudel-obby-client-state-idle::rudel-obby/obby_document/unsubscribe):
	 call `rudel-remove-user'
	* rudel.el (class rudel-document): mixin rudel-hook-object
	 (rudel-document::subscribe-hook): new slot; subscribe-hook function
	 list
	 (rudel-document::unsubscribe-hook): new slot; unsubscribe-hook
	 function list
	 (rudel-document::rudel-add-user): new method; add user to list of
	 subscribed users and run subscribe-hook
	 (rudel-document::rudel-remove-user): new method; remove user from
	 list of subscribed users and run unsubscribe-hook

2009-08-20  jan	 <jan>

	* obby/rudel-obby.el (header): cosmetic changes
	 (include rudel-icons): `rudel-display-string' uses icons
	 (rudel-obby-user::eieio-speedbar-object-buttonname): use
	 `rudel-display-string'
	 (rudel-obby-user::rudel-display-string): new method; textual
	 representation of user object
	 (rudel-obby-parse-message): cosmetic changes
	* rudel.el (include rudel-icons): `rudel-display-string' uses icons
	 (rudel-user::rudel-display-string): new method; textual
	 representation of user object

2009-08-20  jan	 <jan>

	* rudel-util.el (rudel-hook-object): new class; abstract mixin for
	 classes that offer hooks
	 (rudel-hook-object::object-add-hook): new method; add function to
	 hook list
	 (rudel-hook-object::object-remove-hook): new method; remove function
	 from hook list
	 (rudel-hook-object::object-run-hook-with-args): new method; run hook
	 functions

2009-08-20  jan	 <jan>

	* icons/plaintext.svg (new file): plaintext icon
	* icons/person.svg (new file): person icon
	* icons/encrypted.svg (new file): encrypted icon
	* icons/document.svg (new file): document icon
	* icons/disconnected.svg (new file): disconnected icon
	* icons/connected.svg (new file): connected icon
	* rudel-icons.el (new file): loading icons
	* Project.ede (target rudel): added rudel-icons.el

2009-08-18  jan	 <jan>

	* rudel.el (rudel-join-session): renamed local variable backend to
	 session-initiation-backend

2009-08-16  jan	 <jan>

	* obby/rudel-obby-state.el (rudel-obby-state::rudel-accept): fixed
	 format of warning message

2009-08-16  jan	 <jan>

	* rudel-state-machine.el (require working): needed by
	 `rudel-state-wait'

2009-08-16  jan	 <jan>

	* obby/rudel-obby-client.el
	 (rudel-obby-client-state-idle::rudel-obby/obby_user_colour): set
	 face attributes
	* rudel.el (rudel-change-color): set face attributes
	* rudel-overlay.el (rudel-overlay-make-face): use
	 `rudel-overlay-set-face-attributes'
	 (rudel-overlay-set-face-attributes): new function; set face
	 attributes closes: #23

2009-08-16  jan	 <jan>

	* rudel-overlay.el (rudel-overlay-author-set-properties): call
	 `rudel-overlay-make-face-symbol'
	 (rudel-overlay-make-face-symbol): new function; return face symbol

2009-08-16  jan	 <jan>

	* rudel-overlay.el (rudel-overlay-author-display): option that
	 controls display of author overlays
	 (rudel-make-author-overlay): call
	 `rudel-overlay-author-set-properties' to set the overlay properties
	 (rudel-overlay-author-set-properties): new function; set overlay
	 properties; respects rudel-overlay-author-display
	 (rudel-overlay-author-update): new function; update overlay
	 properties based on associated user object
	 (rudel-overlay-options-changed): new function; call
	 `rudel-overlay-author-update' on all Rudel overlays in all buffers
	* rudel-mode.el (header): cosmetic changes
	 (rudel-minor-menu): added menu entry to toggle display of author
	 overlays closes: #33

2009-08-16  jan	 <jan>

	* rudel-overlay.el (rudel-make-author-overlay): use `intern' instead
	 of `make-symbol' when allocating the face name; this way, faces can
	 actually be created lazily
	 (rudel-overlay-make-face): call `make-face' for the new face

2009-08-16  jan	 <jan>

	* obby/rudel-obby-client.el
	 (rudel-obby-client-state-document-synching::object-print): fixed
	 slot name remaining-bytes

2009-08-16  jan	 <jan>

	* rudel.el (rudel-host-session): the backend object is the cdr of the
	 result of `rudel-backend-choose'

2009-08-15  jan	 <jan>

	* telepathy/rudel-telepathy.el (header): added file comment
	* obby/rudel-obby-state.el (header): fixed email address
	 (whole file): whitespace fixes
	* jupiter/jupiter.el (header): cosmetic changes
	 (whole file): whitespace fixes
	* rudel-util.el (header): cosmetic changes
	* rudel-mode.el (header): cosmetic changes
	* rudel-errors.el (header): fixed type
	 (whole file): whitespace fixes closes: #50

2009-08-14  jan	 <jan>

	* obby/rudel-obby.el (rudel-ask-connect-info): added optional argument
	 info; do not ask for things that are already specified in info
	 (autoload): register obby service with the Zeroconf backend
	* zeroconf/rudel-zeroconf.el (new file): Zeroconf session initiation
	 for Rudel
	* zeroconf/Project.ede (new file): subproject zeroconf
	* rudel.el (rudel-join-session): call `rudel-ask-info' to augment
	 connect info
	* Project.ede (target autoloads): added directory zeroconf
	* INSTALL (INSTALLING): mention zeroconf subdirectory
	 (COMPILING): mention zeroconf target closes: #21

2009-08-14  jan	 <jan>

	* rudel-backend.el (rudel-backend-factory::rudel-get-backend): return
	 backend as a cons
	 (rudel-backend-get): new function; convenience function for getting
	 backends

2009-08-14  jan	 <jan>

	* obby/rudel-obby.el (header): extended commentary and history
	 (rudel-obby-version): bumped to 0.2
	 (rudel-obby-backend::initialize-instance): set :version slot in
	 constructor instead of using obsolete lambda expression in initform

2009-08-13  jan	 <jan>

	* Project.ede (project rudel): bumped version to 0.2; added mailing
	 list and path to web files

2009-08-13  jan	 <jan>

	* rudel-backend.el (rudel-backend-factory): do not initialize backends
	 with lambda expression
	 (rudel-backend-factory::initialize-instance): new method; initialize
	 backends
	 (rudel-backend-cons-p): use `object-p' instead of `eieio-object-p'
	 (rudel-backend-dump): changed format slightly

2009-08-12  jan	 <jan>

	* ChangeLog (whole file): updated

2009-08-12  jan	 <jan>

	* rudel.el (include rudel-session-initiation): required for
	 `rudel-join-session'
	 (rudel-join-session): mostly rewritten; moved user interaction to
	 `interactive' form
	* rudel-session-initiation.el (new file): session initiation backend
	 interface and high-level programming interface
	* Project.ede (target rudel): added rudel-session-initiation.el
	* Makefile (rudel_LISP): added rudel-session-initiation.el closes: #22

2009-08-12  jan	 <jan>

	* rudel-interactive.el (rudel-read-session): discriminate sessions
	 vs. session generating objects using `rudel-backend-cons-p'

2009-08-12  jan	 <jan>

	* rudel-backend.el (rudel-backend-cons-p): new function; checks
	 whether a cons consists of a backend name and object

2009-08-12  jan	 <jan>

	* rudel-interactive.el (rudel-read-session): new function; read
	 session by name and return it

2009-08-12  jan	 <jan>

	* rudel-interactive.el (rudel-read-backend): argument backends is no
	 longer optional; always return a cons of backend name and object;
	 updated documentation string
	 (whole file): whitespace fixes
	* rudel-backend.el (rudel-backend-choose): always return a cons of
	 backend name and object; updated documentation string

2009-08-10  jan	 <jan>

	* rudel.el (file header): added project URL
	 (whole file): improved some comments

2009-08-10  jan	 <jan>

	* rudel.el (include eieio-base): needed for eieio-named

2009-08-04  jan	 <jan>

	* rudel-state-machine.el (header section commentary): updated
	 (rudel-state-machine::initialize-instance): use
	 `rudel--switch-to-return-value' to allow immediate switch to another
	 state
	 (rudel-state-machine::rudel-switch): use
	 `rudel--switch-to-return-value' to switch to successor state
	 (rudel-state-machine::rudel--switch-to-return-value): new function
	 switch to successor state for different kinds of specifications of
	 the successor state

2009-08-02  jan	 <jan>

	* obby/rudel-obby.el (require rudel-backend): now necessary
	 (require rudel-protocol): now necessary
	 (class rudel-obby-backend): now derived from `rudel-backend';
	 autoloaded
	 (autoloading): use `rudel-add-backend'
	* rudel.el (require rudel-backend): backends have their own file
	 (class rudel-backend): moved to rudel-backend.el
	 (rudel-load-backends): moved to rudel-backend.el
	 (rudel-suitable-backends): moved to rudel-backend.el
	 (rudel-choose-backend): moved to rudel-backend.el
	 (rudel-join-session): use `rudel-backend-choose'
	 (rudel-host-session): use `rudel-backend-choose'

2009-08-02  jan	 <jan>

	* rudel-protocol.el (new file): interface for Rudel protocol backends
	* Project.ede (target rudel): added rudel-protocol.el
	* Makefile (rudel_LISP): added rudel-protocol.el

2009-08-02  jan	 <jan>

	* rudel-backend.el (rudel-backend-factory::rudel-get-backend):
	 improved documentation string
	 (rudel-backend-factory::rudel-suitable-backends): improved
	 documentation string
	 (rudel-backend-suitable-backends): improved documentation string
	 (rudel-backend-choose): When only one backend matches, do not	check
	 interactivity using `interactive-p', that does not work; call
	 `sit-for' correctly

2009-08-02  jan	 <jan>

	* jupiter/Makefile (whole file): regenerated; reflects CEDET changes
	* rudel-backend.el (new file): generic backend management, query and
	 loading functions
	* Project.ede (target rudel): added rudel-backend.el to sources
	* Makefile (rudel_LISP): added rudel-backend.el

2009-08-02  jan	 <jan>

	* obby/rudel-obby-server.el
	 (rudel-obby-client::rudel-obby/net6_client_login): use slot
	 :object-name instead of calling object-name-string
	 (rudel-obby-server::rudel-add-context): use slot :object-name
	 instead of calling object-name-string
	* obby/rudel-obby-client.el
	 (rudel-obby-client-state-idle::rudel-obby/obby_document/rename): use
	 slot :object-name instead of calling object-name-string
	 (rudel-obby-connection::rudel-add-context): use slot :object-name
	 instead of calling object-name-string
	 (rudel-obby-connection::rudel-publish): use slot :object-name
	 instead of calling object-name-string
	* rudel.el (class rudel-user): added base class eieio-named for
	 virtual slot :object-name; made abstract
	 (class rudel-document): added base class eieio-named for virtual
	 slot :object-name
	* rudel-overlay.el (rudel-make-author-overlay): use slot :object-name
	 instead of calling object-name-string closes: #24

2009-08-02  jan	 <jan>

	* rudel-state-machine.el (rudel-state-machine::initialize-instance):
	 use &rest slots instead of just slots closes: #49

2009-07-14  jan	 <jan>

	* rudel.el (rudel-document::rudel-detach-from-buffer): call
	 `rudel-overlays-remove-all'; remove `rudel-unpublish-buffer'
	 hook early
	* rudel-overlay.el (rudel-overlays-remove-all): new function; remove
	 all overlays from the current buffer
	 (whole file): cosmetic changes; typo fixes; whitespace fixes closes:
	#39

2009-07-14  jan	 <jan>

	* obby/rudel-obby.el (rudel-obby-document::rudel-unique-name): Check
	 `next-method-p' before calling the next method
	* obby/rudel-obby-client.el
	 (rudel-obby-connection::initialize-instance): Check
	 `next-method-p' before calling the next method
	 (rudel-obby-connection::rudel-register-state): Check `next-method-p'
	 before calling the next method
	 (rudel-obby-connection::rudel-disconnect): Check `next-method-p'
	 before calling the next method
	* rudel.el (rudel-client-session::rudel-end): Check `next-method-p'
	 before calling the next method closes: #48

	

2009-07-13  jan	 <jan>

	* obby/rudel-obby.el (rudel-obby-backend::rudel-connect): only start
	 the network process after everything is ready; wait for the
	 connection state machine to reach a success or error state
	 (rudel-obby-backend::rudel-host): cosmetic changes
	 (class rudel-obby-user): cosmetic changes
	* rudel.el (rudel-join-session): reversed order of creation for
	 session and connection; do not catch errors to give error messages a
	 chance closes: #10

2009-07-12  jan	 <jan>

	* jupiter/jupiter-insert.el (jupiter-insert::jupiter-transform):
	 cosmetic changes
	 (whole file): whitespace fixes

2009-07-12  jan	 <jan>

	* rudel.el (rudel-session::rudel-find-user): added documentation
	 string; cosmetic changes
	 (rudel-session::rudel-find-document): added documentation string;
	 cosmetic changes
	 (whole file): whitespace fixes

2009-07-12  jan	 <jan>

	* rudel-speedbar.el (eieio-speedbar-object-buttonname): use
	 `rudel-unique-name' instead of `object-name-string'

2009-07-12  jan	 <jan>

	* ChangeLog (whole file): updated

2009-07-12  jan	 <jan>

	* obby/rudel-obby-state.el (rudel-enter): return nil

2009-07-12  jan	 <jan>

	* obby/rudel-obby-client.el
	 (rudel-obby-client-state-joining::rudel-enter): return nil
	 (rudel-obby-client-state-join-failed::rudel-enter): return nil
	 (rudel-obby-client-state-session-synching::rudel-enter): return nil
	 (rudel-obby-client-state-session-synching::object-print): new
	 method; add number of remaining items to string representation
	 (rudel-obby-client-state-subscribing::rudel-enter): nil
	 (rudel-obby-client-state-document-synching::rudel-enter): nil
	 (rudel-obby-client-state-document-synching::object-print): new
	 method; add number of remaining bytes to string representation

2009-07-11  jan	 <jan>

	* obby/rudel-obby-util.el (with-parsed-arguments): added debug
	 declaration
	 (whole file): whitespace fixes
	* rudel-util.el (rudel-assemble-line-fragments): added debug
	 declaration
	 (rudel-loop-lines): added debug declaration
	 (rudel-loop-chunks): fixed documentation string; added debug
	 declaration

2009-07-11  jan	 <jan>

	* rudel-state-machine.el (rudel-no-start-state): new error symbol
	 (rudel-state-machine::initialize-instance): try hard to find a
	 suitable start sate; call `rudel-switch' instead of just `rudel-enter'
	 (rudel-state-machine::rudel-switch): always return the new current
	 state; accept successor state from `rudel-enter'
	 (rudel-state-machine::object-print): new method; add current state
	 of state machine to string representation
	 (rudel-state-machine::rudel-state-wait): whitespace fixes

2009-07-06  jan	 <jan>

	* obby/rudel-obby.el (class rudel-obby-backend): better	documentation
	 string
	 (rudel-obby-backend::rudel-ask-connect-info): added documentation
	 string
	 (rudel-obby-backend::rudel-connect): added documentation string
	 (rudel-obby-backend::rudel-ask-host-info): added documentation
	 string
	 (rudel-obby-backend::rudel-host): added documentation string
	 (rudel-obby-backend::rudel-make-document): added documentation
	 string
	 (rudel-obby-send): cosmetic changes
	 (whole file): whitespace fixes

2009-07-05  jan	 <jan>

	* INSTALL (REQUIREMENTS): added Emacs itself and GNUTls

2009-07-04  jan	 <jan>

	* rudel-tls.el (rudel-tls-start-tls): added a message
	 (rudel-tls-wait-handshake): switch to filter `rudel-tls-established'
	 instead of restoring the original filter
	 (rudel-tls-established): new function; filters GNUTls messages in
	 encrypted connections
	 (whole file): whitespace fixes

2009-07-04  jan	 <jan>

	* README (INTRODUCTION): extended a bit
	 (JOINING A SESSION): added prompt/input example and an explanation
	 of encryption issues in the obby backend
	 (KNOWN BUGS): new section; no known bugs yet, though

2009-06-17  jan	 <jan>

	* obby/rudel-obby-client.el (require rudel-state-machine): the
	 connection now is a state machine
	 (require rudel-obby-errors): used when analyzing login failures
	 (require rudel-obby-state): useful base classes for states
	 (rudel-obby-client-state-new): new class; initial state of new
	 connections
	 (rudel-obby-client-state-encryption-negotiate): new class; first
	 encryption state
	 (rudel-obby-client-state-encryption-start): new class; second
	 encryption state
	 (rudel-obby-client-state-joining): new class
	 (rudel-obby-client-state-join-failed): new class; entered after
	 failed login attempt
	 (rudel-obby-client-state idle): new class; default state of
	 established connections
	 (rudel-obby-client-state-session-synching): new class;
	 synchronizing session state to client
	 (rudel-obby-client-state-subscribing): new class; first state of
	 document subscription
	 (rudel-obby-client-state-document-synching): new class;
	 synchronizing document state to client
	 (rudel-obby-client-connection-states): new variable; alist of	name
	 symbols and associated state classes
	 (rudel-obby-connection::initialize-instance): register states
	 (rudel-obby-connection::rudel-register-state): new method; set
	 connection slot of state to its connection
	 (rudel-obby-connection::rudel-add-context): cleanup
	 (rudel-obby-connection::rudel-message): dispatch message using
	 `rudel-accept'
	 (rudel-obby-connection::rudel-subscribe-to): initiate subscription
	 by switching to state 'subscribing' closes #17

2009-06-17  jan	 <jan>

	* obby/rudel-obby-state.el (rudel-obby-document-handler): new class;
	 mixin class that provides handling of obby 'document' messages

2009-06-16  jan	 <jan>

	* rudel-state-machine.el (rudel-state-machine::initialize-instance):
	 find start state in slots and switch into it
	 (while-file): whitespace fixes

2009-06-14  jan	 <jan>

	* obby/rudel-obby-state.el (new file): finite state machine states for
	 the rudel backend
	* obby/Project.ede (target rudel/obby): added rudel-obby-state.el
	* obby/Makefile (target obby_LISP): added rudel-obby-state.el

2009-06-14  jan	 <jan>

	* rudel-util.el (require rudel-errors): required for dispatch errors
	 (symbol rudel-dispatch-error): new condition symbol for dispatch
	 errors
	 (rudel-dispatch): new function; dispatch to method based on method
	 name
	 (whole file): whitespace fixes

2009-06-14  jan	 <jan>

	* rudel-mode.el (global-rudel-minor-mode): removed; the variable is
	 created by `define-minor-mode'
	 (minor-mode-alist): managed by `define-minor-mode'

2009-06-14  jan	 <jan>

	* rudel-mode.el (require easy-mmode): used to define global rudel
	 minor mode
	 (rudel-minor-keymap): cosmetic changes
	 (global-rudel-minor-mode): use `define-minor-mode' to define the
	 mode
	 (whole file): whitespace cleanup

2009-06-14  jan	 <jan>

	* rudel-telepathy.el (whole file): moved to
	 telepathy/rudel-telepathy.el
	* telepathy/rudel-telepathy.el (whole file): moved from
	 rudel-telepathy.el

2009-06-13  jan	 <jan>

	* obby/rudel-obby-server.el (whole file): whitespace cleanup
	* obby/rudel-obby-client.el (require rudel-obby): removed; unnecessary
	(rudel-obby-connection::initialize-instance): use &rest for `slots'
	* argument; cosmetic changes
	 (rudel-obby-connection::rudel-change-color-): use own `rudel-send'
	 method instead of the socket's
	 (rudel-obby-connection::rudel-subscribe-to): cosmetic changes
	 (rudel-obby-connection::rudel-unsubscribe-from): cosmetic changes
	 (rudel-obby-connection::rudel-local-operation): cosmetic changes
	 (whole file): whitespace cleanup

2009-06-13  jan	 <jan>

	* rudel-errors.el (new file): error data
	* rudel-state-machine.el (new file): a simple finite state machine
	 implementation
	* Project.ede (target rudel): added rudel-errors.el and
	 rudel-state-machine.el
	* Makefile (target rudel_LISP): added rudel-errors.el and
	 rudel-state-machine.el

2009-06-11  jan	 <jan>

	* obby/rudel-obby-server.el (require rudel-obby-errors): now required
	 (rudel-obby-client::rudel-obby/net6_client_login): check username
	 and color before adding the client
	 (rudel-obby-server::rudel-check-username-and-color): new method;
	 make sure username and color are valid and there are no duplicates
	* obby/rudel-obby-errors.el (new file): error data for the obby
	 backend
	* obby/Project.ede (rudel/obby): added rudel-obby-errors.el
	* obby/Makefile (obby_LISP): added rudel-obby-errors.el closes #12

2009-06-11  jan	 <jan>

	* rudel.el (rudel-user::rudel-color): added accessor `rudel-color'

2009-06-11  jan	 <jan>

	* obby/rudel-obby-server.el (require cl): required

2009-06-11  jan	 <jan>

	* obby/rudel-obby-server.el
	 (rudel-obby-client::rudel-obby/net6_client_login): send suffices of
	 synchronized documents

2009-06-11  jan	 <jan>

	* obby/rudel-obby-server.el
	 (rudel-obby-client::rudel-obby/obby_document_create): send
	 document/rename message to client when the document suffix changes

2009-06-10  jan	 <jan>

	* obby/rudel-obby-server.el
	 (rudel-obby-client::rudel-obby/net6_client_login): use
	 `with-parsed-arguments'
	 (rudel-obby-client::rudel-obby/obby_user_colour): use
	 `with-parsed-arguments'
	 (rudel-obby-client::rudel-obby/obby_document_create): use
	 `with-parsed-arguments'
	 (rudel-obby-client::rudel-obby/obby_document): use
	 `with-parsed-arguments'
	 (rudel-obby-client::rudel-obby/obby_document/subscribe): use
	 `with-parsed-arguments'
	 (rudel-obby-client::rudel-obby/obby_document/unsubscribe): use
	 `with-parsed-arguments'
	 (rudel-obby-client::rudel-obby/obby_document/record): use
	 `with-parsed-arguments'
	 (rudel-obby-client::rudel-obby/obby_document/record/ins): use
	 `with-parsed-arguments'
	 (rudel-obby-client::rudel-obby/obby_document/record/del): use
	 `with-parsed-arguments'

2009-06-10  jan	 <jan>

	* obby/rudel-obby-server.el (header): fixed version

2009-06-09  jan	 <jan>

	* obby/rudel-obby-client.el
	 (rudel-obby-connection::rudel-local-operation): fixed wording in
	 comment

2009-06-09  jan	 <jan>

	* INSTALL (section REQUIREMENTS): removed ERT which is not currently
	 used
	 (section INSTALL): some wording and file name fixes
	 (section COMPILING): precise make command

2009-06-09  jan	 <jan>

	moved www stuff out of trunk and into root

2009-06-09  jan	 <jan>

	* www/compatibility.html (new file): compatibility information
	* www/index.html (new file): start page
	* www/style.css (new file): stylesheet
	* www/images/development.png (new file): development icon
	* www/images/development.svg (new file): development icon
	* www/images/download.png (new file): download icon
	* www/images/download.svg (new file): download icon
	* www/images/email-link.png (new file): icon for email links
	* www/images/external-link.png (new file): icon for external links
	* www/images/info.png (new file): info icon
	* www/images/info.svg (new file): info icon
	* www/images/screenshot.png (new file): screenshot for the start page

2009-06-08  jan	 <jan>

	* obby/rudel-obby-server.el
	 (rudel-obby-client::rudel-obby/obby_document_create): find unique
	 suffix for the new document; send suffix to clients closes #42

2009-06-08  jan	 <jan>

	* obby/rudel-obby.el (header): fixed license text
	* obby/rudel-obby-util.el (header): fixed license text
	* obby/rudel-obby-server.el (header): fixed license text
	* obby/rudel-obby-client.el (header): fixed license text
	* jupiter/jupiter.el (header): fixed license text
	* jupiter/jupiter-operation.el (header): fixed license text
	* jupiter/jupiter-nop.el (header): fixed license text
	* jupiter/jupiter-insert.el (header): fixed license text
	* jupiter/jupiter-delete.el (header): fixed license text
	* jupiter/jupiter-compound.el (header): fixed license text
	* rudel.el (header): fixed license text
	* rudel-util.el (header): fixed license text
	* rudel-tls.el (header): fixed license text
	* rudel-telepathy.e (header)l:fixed license text
	* rudel-speedbar.el (header): fixed license text
	* rudel-overlay.el (header): fixed license text
	* rudel-operators.el (header): fixed license text
	* rudel-operations.el (header): fixed license text
	* rudel-mode.el (header): fixed license text
	* rudel-interactive.el (header): fixed license text
	* rudel-compat.el (header): fixed license text Closes #32

2009-06-08  jan	 <jan>

	* obby/rudel-obby-util.el (require cl): now required
	 (generic rudel-obby-char->byte): new generic; char positions -> byte
	 positions
	 (jupiter-insert::rudel-obby-char->byte): new method; char positions
	 -> byte positions
	 (jupiter-delete::rudel-obby-char->byte): new method; char positions
	 -> byte positions
	 (jupiter-compound::rudel-obby-char->byte): new method; char
	 positions -> byte positions
	 (jupiter-nop::rudel-obby-char->byte): new method; char positions ->
	 byte positions
	 (generic rudel-obby-byte->char): new generic; byte positions -> char
	 positions
	 (jupiter-insert::rudel-obby-byte->char): new method; byte positions
	 -> char positions
	 (jupiter-delete::rudel-obby-byte->char): new method; byte positions
	 -> char positions
	 (jupiter-compound::rudel-obby-byte->char): new method; byte
	 positions -> char positions
	 (jupiter-nop::rudel-obby-byte->char): new method; byte positions ->
	 char positions
	* obby/rudel-obby-client.el
	 (rudel-obby-connection::rudel-local-operation): call
	 `rudel-obby-char->byte' before processing 
	 (rudel-obby-connection::rudel-remote-operation): call
	 `rudel-obby-byte->char' before processing
	* rudel.el (rudel-buffer-change-workaround-data): new variable;	holds
	 change data for later use
	 (rudel-document::rudel-attach-to-buffer): add
	 `rudel-buffer-change-workaround' to 'before-change-functions'
	 (rudel-document::rudel-detach-from-buffer): remove
	 `rudel-buffer-change-workaround' from 'before-change-functions'
	 (rudel-buffer-change-workaround): new function; stores change data
	 for later use Closes #1

2009-06-07  jan	 <jan>

	* obby/rudel-obby-client.el
	 (rudel-obby-connection::rudel-obby/net6_client_join): use
	 `with-parsed-arguments'
	 (rudel-obby-connection::rudel-obby/net6_client_part): use
	 `with-parsed-arguments'
	 (rudel-obby-connection::rudel-obby/obby_welcome): use
	 `with-parsed-arguments'
	 (rudel-obby-connection::rudel-obby/obby_sync_init): use
	 `with-parsed-arguments'
	 (rudel-obby-connection::rudel-obby/obby_sync_usertable_user): use
	 `with-parsed-arguments'
	 (rudel-obby-connection::rudel-obby/obby_user_colour): use
	 `with-parsed-arguments'
	 (rudel-obby-connection::rudel-obby/obby_sync_doclist_document): use
	 `with-parsed-arguments'
	 (rudel-obby-connection::rudel-obby/obby_document_create): use
	 `with-parsed-arguments'
	 (rudel-obby-connection::rudel-obby/obby_document_remove): use
	 `with-parsed-arguments'
	 (rudel-obby-connection::rudel-obby/obby_document): use
	 `with-parsed-arguments'; cleanup
	 (rudel-obby-connection::rudel-obby/obby_document/rename): use
	 `with-parsed-arguments'
	 (rudel-obby-connection::rudel-obby/obby_document/subscribe): use
	 `with-parsed-arguments'
	 (rudel-obby-connection::rudel-obby/obby_document/unsubscribe): use
	 `with-parsed-arguments'
	 (rudel-obby-connection::rudel-obby/obby_document/sync_chunk): use
	 `with-parsed-arguments'
	 (rudel-obby-connection::rudel-obby/obby_document/record): use
	 `with-parsed-arguments'
	 (rudel-obby-connection::rudel-obby/obby_document/record/ins): use
	 `with-parsed-arguments'
	 (rudel-obby-connection::rudel-obby/obby_document/record/del): use
	 `with-parsed-arguments'

2009-06-06  jan	 <jan>

	* obby/rudel-obby-client.el
	 (rudel-obby-connection::rudel-obby/net6_client_part): use `eql', not
	 `=' when calling `rudel-find-user' since the client id can be	nil

2009-06-06  jan	 <jan>

	* obby/rudel-obby-util.el (require jupiter): silence byte compiler

2009-06-06  jan	 <jan>

	* obby/rudel-obby-util.el (rudel-obby-dispatch): moved inside file
	 (with-parsed-arguments): new macro; executed forms with variables
	 bound to parsed arguments

2009-06-03  jan	 <jan>

	* rudel.el (require rudel-interactive): interactive functions use
	 `rudel-read-backend' and `rudel-read-document'

2009-06-03  jan	 <jan>

	* rudel.el (rudel-buffer-document): mark as permanent local variable
	 to prevent deletion in the event of a major-mode change
	 (rudel-document::rudel-attach-to-buffer): add (buffer-locally)
	 `rudel-handle-major-mode-change' to 'change-major-mode-hook' such
	 that it can repair damage caused by major-mode changes
	 (rudel-document::rudel-detach-from-buffer):
	 remove`rudel-handle-major-mode-change' from 'change-major-mode-hook'
	 (rudel-mode-changed-buffers) new variable; temporarily stores
	 buffers that underwent major-mode changes
	 (rudel-handle-major-mode-change): new function; schedules buffers
	 for repair after major-mode changes
	 (rudel-after-major-mode-change): new function; repairs buffer
	 objects after major-mode changes Closes #19

2009-06-03  jan	 <jan>

	* rudel.el (rudel-buffer-has-document-p): use `buffer-local-value'
	 (rudel-buffer-document): use `buffer-local-value'
	 (rudel-set-buffer-document): added documentation string

2009-06-01  jan	 <jan>

	* rudel.el (rudel-handle-buffer-change): There are three cases now:
	 insert, delete and arbitrary changes; arbitrary changes generate a
	 delete and insert operation Closes #35, #36

2009-06-01  jan	 <jan>

	* rudel-mode.el (rudel-minor-keymap): added some comments
	 (global-rudel-minor-mode): extended documentation string; cleaned up
	 code; added comments

2009-06-01  jan	 <jan>

	* obby/rudel-obby-client.el
	 (rudel-obby-connection::rudel-obby/net6_client_part): fixed typo in
	 variable name client-id-numeric

2009-05-27  jan	 <jan>

	* obby/rudel-obby-util.el (header): Fixed version (1.0 -> 0.1)

2009-05-27  jan	 <jan>

	* obby/rudel-obby-client.el (header): Fixed version (1.0 -> 0.1)
	 (rudel-obby-connection::rudel-obby/obby_document/record/split):
	 introduced temporary variable

2009-03-16  jan	 <jan>

	* obby/rudel-obby-client.el
	 (rudel-obby-connection::rudel-obby/net6_client_part): do not crash
	 if the client id cannot be found

2009-03-16  jan	 <jan>

	* obby/rudel-obby.el (rudel-obby-backend::rudel-make-document):
	 specify value 1 for slot suffix
	 (rudel-obby-document::suffix): new slot; contains the suffix number
	 of the document
	 (rudel-obby-document::rudel-unique-name): new method; return unique
	 name based on document name and suffix
	* obby/rudel-obby-client.el
	 (rudel-obby-connection::rudel-obby/obby_sync_doclist_document): do
	 not ignore the suffix when creating the document object
	 (rudel-obby-connection::rudel-obby/obby_document_create): do not
	 ignore the suffix when creating the document object
	 (rudel-obby-connection::rudel-obby/obby_document/rename): change
	 document name and suffix as requested
	* rudel.el (rudel-document::rudel-unique-name): new method; returns a
	 unique name for the document
	 (rudel-document::rudel-suggested-buffer-name): new method; returns a
	 suggested name for the buffer attached to the document
	 (rudel-subscribe): use `rudel-suggested-buffer-name' instead of the
	 object name
	* rudel-interactive.el (rudel-read-document): use the unique names of
	 the documents instead of the object names

	closes #41

2009-02-26  jan	 <jan>

	* rudel.el (rudel-document::rudel-attach-to-buffer): add hook to
	 detach document from the buffer when the buffer is killed
	 (rudel-document::rudel-detach-from-buffer): remove unpublish
	 function kill buffer hook

2009-02-23  jan	 <jan>

	* rudel.el (rudel-document): minor cleanup
	 (rudel-document::rudel-attach-to-buffer): stylistic changes
	 (rudel-document::rudel-detach-from-buffer): fixed argument order in
	 call to `rudel-set-buffer-document'

2009-02-23  jan	 <jan>

	* obby/rudel-obby-server.el (rudel-obby-server::rudel-remove-client):
	 Make sure there is a user object before setting the status to
	 offline

2009-02-23  jan	 <jan>

	* obby/rudel-obby-client.el (rudel-obby/net6_encryption_failed): only
	 fail if encryption has been requested in the first place. otherwise,
	 just carry on

2009-02-23  jan	 <jan>

	* rudel.el (rudel-document::rudel-attach-to-buffer): use
	 `rudel-set-buffer-document'
	 (rudel-document::rudel-detach-from-buffer): use
	 `rudel-set-buffer-document'
	 (rudel-buffer-has-document-p): new function; test whether a buffer
	 has an associated document object
	 (rudel-buffer-document): new function; returns associated document
	 object of a buffer
	 (rudel-set-buffer-document): new functions; sets associated document
	 object of a buffer
	 (rudel-handle-buffer-change): use `rudel-buffer-has-document-p'
	 (rudel-publish-buffer): use `rudel-buffer-has-document-p'
	 (rudel-unpublish-buffer): use `rudel-buffer-has-document-p' and
	 `rudel-buffer-document'
	 * rudel-mode.el (rudel-minor-keymap): use
	 `rudel-buffer-has-document-p'

2009-02-23  jan	 <jan>

	* obby/rudel-obby-client.el (rudel-obby/obby_document/rename): new
	 method; dummy implementation

2009-02-22  jan	 <jan>

	* obby/rudel-obby-client.el (rudel-obby/net6_client_join): stylistic
	 change

2009-02-22  jan	 <jan>

	* obby/rudel-obby-util.el (generic rudel-operation->message): new
	 generic function; serializes an operation
	 (jupiter-insert::rudel-operation->message): new method
	 (jupiter-delete::rudel-operation->message): new method
	 (jupiter-compound::rudel-operation->message): new method
	 (jupiter-nop::rudel-operation->message): new method
	 (rudel-message->operation): new function; deserializes an operation
	 from a received message
	* obby/rudel-obby-client.el
	 (rudel-obby-connection::rudel-local-insert): do not construct
	 message string; use `rudel-operation->message'
	 (rudel-obby-connection::rudel-local-delete): do not construct
	 message string; use `rudel-operation->message'
	 (rudel-obby-connection::rudel-local-operation): new method; handles
	 operation objects that represent local operations
	 (rudel-obby-connection::rudel-remote-operation): new method; handles
	 operation objects that represent remote operations
	 (rudel-obby-connection::rudel-obby/obby_document/record/ins):
	 construct operation name correctly; do not call jupiter context to
	 transform operation
	 (rudel-obby-connection::rudel-obby/obby_document/record/del):
	 construct operation name correctly; do not call jupiter context to
	 transform operation
	 (rudel-obby-connection::rudel-obby/obby_document/record/split): new
	 method; handles split operation messages
	 (rudel-obby-connection::rudel-obby/obby_document/record/noop): new
	 method; handles nop messages

2009-02-12  jan	 <jan>

	* obby/rudel-obby.el (rudel-obby-backend::rudel-ask-connect-info): ask
	 whether to encrypt the connection
	 (rudel-obby-backend::rudel-connect): create connection object
	 capable of StartTLS encryption when encryption was requested
	* obby/rudel-obby-client.el
	 (rudel-obby-connection::rudel-obby/net6_encryption): do not fail
	 when the server requests encryption
	 (rudel-obby-connection::rudel-obby/net6_encryption_begin): start TLS
	 encryption for the connection
	 (rudel-obby-connection::rudel-obby/net6_encryption_failed): new
	 method; stub
	* rudel-tls.el (new file): StartTLS encryption for Rudel
	* Project.ede ("rudel"): added rudel-tls.el
	* Makefile (rudel_LISP): added rudel-tls.el

2009-02-05  jan	 <jan>

	* rudel-compat.el (header): fixed email address, keywords, legal
	 notice and file commentary

2009-02-05  jan	 <jan>

	* obby/rudel-obby.el (rudel-compat): require rudel-compat for
	 `read-color'
	* rudel.el (rudel-compat): require rudel-compat for `read-color'
	* rudel-interactive.el (rudel-compat): require rudel-compat for
	 `read-color'
	* rudel-compat.el (new file): compatibility code
	* Project.ede (rudel): added rudel-compat.el
	* Makefile (rudel_LISP): regenerated: added rudel-compat.el

2009-02-04  jan	 <jan>

	* obby/Makefile (new file): Makefile for obby subproject
	* jupiter/Makefile (new file): Makefile for jupiter subproject
	* Makefile (new file): Makefile for Rudel

2009-02-04  jan	 <jan>

	* obby/Project.ede (new file): EDE project file for obby subproject
	* jupiter/Project.ede (new file): EDE project file for jupiter
	 subproject
	* Project.ede (new file): EDE project file for Rudel

2009-02-04  jan	 <jan>

	* obby/rudel-obby.el (require rudel)
	* obby/rudel-obby-util.el (require rudel)
	* obby/rudel-obby-client.el (require rudel-obby): make compilation
	 succeed

2009-02-04  jan	 <jan>

	* rudel.el (include eieio-speedbar): I need it for now; I should get
	 rid of it later

2009-02-04  jan	 <jan>

	* INSTALL (REQUIREMENTS): added note that CVS version of cedet is
	 required
	 (INSTALLING): added subdirectories jupiter and obby in load path
	 listing; fixed name of autoload file

2009-02-02  jan	 <jan>

	* obby/rudel-obby.el (rudel-obby-backend::rudel-ask-connect-info)
	 (rudel-obby-backend::rudel-host, rudel-obby-replace-in-string)
	* obby/rudel-obby-util.el (rudel-obby-dispatch)
	* obby/rudel-obby-server.el
	(rudel-obby-client::rudel-obby/obby_document)
	 (rudel-obby-server::rudel-broadcast,
	rudel-obby-server::rudel-make-user)
	* obby/rudel-obby-client.el
	(rudel-obby-connection::rudel-obby/net6_client_join)
	 (rudel-obby-connection::rudel-obby/obby_document)
	* jupiter/jupiter-operation.el (jupiter-operation)
	* rudel.el (rudel-backend, rudel-session, rudel-server-session)
	 (rudel-connection, rudel-document)
	 (rudel-document::rudel-attach-to-buffer)
	 (rudel-document::rudel-detach-from-buffer)
	 (rudel-document::rudel-insert, rudel-document::rudel-delete)
	 (rudel-change-color)
	* rudel-util.el (rudel-assemble-line-fragments, rudel-loop-lines)
	* rudel-overlay.el (rudel-make-author-overlay)
	* rudel-interactive.el (rudel-read-backend, rudel-read-user-color)
	 (rudel-read-user, rudel-read-document): replaced 't by t (closes
	 #34)

2009-02-02  jan	 <jan>

	* rudel-operators.el (rudel-overlay-operators::rudel-insert): Fixed
	 computation of insertion offset when appending to the end of the
	 buffer string

2009-02-02  jan	 <jan>

	* rudel.el (rudel-document::rudel-chunks): fixed invalid access to
	 last chunk for empty buffer

2009-02-02  jan	 <jan>

	* rudel.el (rudel-document::rudel-attach-to-buffer): fixed incorrect
	 slot reference

2009-02-02  jan	 <jan>

	* obby/rudel-obby-server.el
	 (rudel-obby-client::rudel-obby/obby_document/subscribe): minor
	 rearrangement of expressions
	 (rudel-obby-client::rudel-obby/obby_document/unsubscribe): minor
	 rearrangement of expressions

2009-02-02  jan	 <jan>

	* obby/rudel-obby-server.el
	 (rudel-obby-client::rudel-obby/obby_document/record/ins): added
	 documentation string
	 (rudel-obby-client::rudel-obby/obby_document/record/del): added
	 documentation string
	 (rudel-obby-server): cosmetic change

2009-02-02  jan	 <jan>

	* jupiter/jupiter.el (jupiter-context::jupiter-remote-operation):
	 improved documentation string; cosmetic changes

2009-02-02  jan	 <jan>

	* jupiter/jupiter-insert.el (jupiter-insert::jupiter-transform):
	 improved some comments

2009-02-02  jan	 <jan>

	* rudel.el (rudel-document::rudel-attach-to-buffer): renamed some
	 variables; added documentation string 
	 (rudel-document::rudel-insert): improved documentation string
	 (rudel-document::rudel-chunks): do not create chunks when buffer
	 string is empty; improved comments
	 (rudel-choose-backend): compare number using `=' not `eq'

2009-02-02  jan	 <jan>

	* obby/rudel-obby-server.el
	 (rudel-obby-client::rudel-obby/obby_document/record/ins): use
	 `rudel-remote-operation' instead of `rudel-remote-insert'
	 (rudel-obby-client::rudel-obby/obby_document/record/del): use
	 `rudel-remote-operation' instead of `rudel-remote-delete'
	* obby/rudel-obby-client.el (include rudel-operations): for
	 rudel-insert-op and rudel-delete-op
	 (rudel-obby-connection::rudel-obby/obby_document/sync_chunk): use
	 `rudel-remote-operation' with rudel-insert-op to insert chunks
	 (rudel-obby-connection::rudel-obby/obby_document/record/ins): use
	 `rudel-remote-operation' instead of `rudel-remote-insert'
	 (rudel-obby-connection::rudel-obby/obby_document/record/del): use
	 `rudel-remote-operation' instead of `rudel-remote-delete'
	* jupiter/jupiter-operation.el (include rudel-operations): for
	 rudel-operation
	 (jupiter-operation): derived from rudel-operation
	 (jupiter-operation::jupiter-apply): removed; replaced by generic
	 `rudel-apply'
	* jupiter/jupiter-nop.el (jupiter-nop::jupiter-apply): removed;
	 replaced by `rudel-apply'
	 (jupiter-nop::rudel-apply): new method; implements generic
	 `rudel-apply'
	* jupiter/jupiter-insert.el (include rudel-operations): for
	 jupiter-insert-op
	 (jupiter-insert): derived from jupiter-insert-op
	 (jupiter-insert::jupiter-apply): removed; inherited from
	 jupiter-insert-op
	 (jupiter-insert::slot-missing): removed; inherited from
	 jupiter-insert-op
	* jupiter/jupiter-delete.el (include rudel-operations): for
	 jupiter-delete-op
	 (jupiter-delete): derived from jupiter-delete-op
	 (jupiter-delete::jupiter-apply): removed; inherited from
	 jupiter-delete-op
	 (jupiter-delete::slot-missing): removed; inherited from
	 jupiter-delete-op
	* jupiter/jupiter-compound.el (jupiter-compound::jupiter-apply):
	 removed; replaced by `rudel-apply'
	 (jupiter-compound::rudel-apply): new method; implements generic
	 `rudel-apply'
	* rudel.el (include rudel-operations): everything is represented in
	 terms of operations
	 (include rudel-operators): operations apply changes to objects
	 through operators
	 (rudel-document::rudel-insert): new method; performs insert
	 operation
	 (rudel-document::rudel-delete): new method; performs delete
	 operation
	 (rudel-document::rudel-local-insert): removed; document does not
	 deal with aspects other than the actual insert and delete
	 (rudel-document::rudel-local-delete): removed; document does not
	 deal with aspects other than the actual insert and delete
	 (rudel-document::rudel-remote-insert): removed; document does not
	 deal with aspects other than the actual insert and delete
	 (rudel-document::rudel-remote-delete): removed; document does not
	 deal with aspects other than the actual insert and delete
	 (rudel-document::rudel-local-operation): new method; apply operation
	 using overlay and connection operators
	 (rudel-document::rudel-remote-operation): new method; apply
	 operation using document and overlay operators
	 (rudel-handle-buffer-change): realize buffer changes using
	 operations
	* rudel-operators.el (new file): collections of operations on Rudel
	 data types
	* rudel-operations.el (new file): operation classes

2009-02-01  jan	 <jan>

	* jupiter/jupiter-insert.el (jupiter-insert::jupiter-transform):
	 handle jupiter-nop

2009-02-01  jan	 <jan>

	* jupiter/jupiter-delete.el (jupiter-delete::jupiter-transform): in
	 inner cond, use matching pattern but empty body for no-operation
	 cases; in outer cond handle, jupiter-nop

2009-02-01  jan	 <jan>

	* jupiter/jupiter-compound.el (jupiter-compound): now derived from
	 jupiter-operation; should have been right from the start

2009-01-31  jan	 <jan>

	* rudel.el (rudel-default-username): Default name used when prompting
	 for user name; required by rudel-interactive

2009-01-31  jan	 <jan>

	* rudel-interactive.el (rudel-read-backend): fixed typo

2009-01-30  jan	 <jan>

	* jupiter/jupiter-insert.el (jupiter-insert::jupiter-transform): fixed
	 two offset calculations
	* jupiter/jupiter-delete.el (jupiter-delete::jupiter-transform): fixed
	 offset calculation

2009-01-30  jan	 <jan>

	* rudel.el (rudel-backend::rudel-ask-connect-info): changed from
	 method to generic
	 (rudel-backend::rudel-connect): changed from method to generic
	 (rudel-backend::rudel-ask-host-info): changed from method to generic
	 (rudel-backend::rudel-host): changed from method to generic
	 (rudel-backend::rudel-make-document): changed from method to generic
	 (rudel-session::rudel-disconnect): changed from method to generic
	 (rudel-session::rudel-change-color-): changed from method to generic
	 (rudel-session::rudel-publish): changed from method to generic
	 (rudel-session::rudel-subscribe-to): changed from method to generic
	 (rudel-session::rudel-unsubscribe-from): changed from method to
	 generic
	 (rudel-session::rudel-local-insert): changed from method to generic
	 (rudel-session::rudel-local-delete): changed from method to generic
	 (rudel-session::rudel-remote-insert): changed from method to generic
	 (rudel-session::rudel-remote-delete): changed from method to generic

2009-01-28  jan	 <jan>

	* rudel-overlay.el (header): fixed version
	 (whole file): cosmetic changes
	 (rudel-author-overlay-p): added documentation string
	 (rudel-author-overlays): added documentation string

2009-01-28  jan	 <jan>

	* rudel-mode.el (rudel-minor-keymap): cosmetic changes

2009-01-28  jan	 <jan>

	* rudel-mode.el (rudel-minor-keymap): Separated session	participation
	 and hosting items

2009-01-28  jan	 <jan>

	* obby/rudel-obby.el (rudel-obby-long-message-threshold): Added
	 documentation string
	 (rudel-obby-long-message-chunk-size): Added documentation string
	 (rudel-obby-backend::rudel-connect): Do not set process object; this
	 is done in the `initialize-instance' method of the base class
	 (rudel-obby-format-color): retrieve color components with
	 `color-values'

2009-01-28  jan	 <jan>

	* obby/rudel-obby-client.el
	 (rudel-obby-connection::rudel-remove-context): improved
	 documentation string
	 (rudel-obby-connection::rudel-publish): added a comment
	 (rudel-obby-connection::rudel-subscribe-to): added some comments;
	 cleaned up code
	 (rudel-obby-connection::rudel-unsubscribe-from): added a comment
	 (rudel-obby-connection::rudel-obby/net6_ping): added documentation
	 string
	 (rudel-obby-connection::rudel-obby/net6_encryption): added
	 documentation string
	 (rudel-obby-connection::rudel-obby/net6_login_failed): added
	 documentation string
	 (rudel-obby-connection::rudel-obby/net6_client_part): use `='
	 instead of `eq' to compare client ids; fixed documentation string;
	 improved comments
	 (rudel-obby-connection::rudel-obby/obby_user_colour): use `='
	 instead of `eq' to compare user ids
	 (rudel-obby-connection::rudel-obby/obby_document/sync_chunk): use
	 `=' instead of `eq' to compare user ids; use accessor
	 `user-id-numeric'

2009-01-27  jan	 <jan>

	* obby/rudel-obby-util.el (rudel-obby-dispatch): new functions;
	 dispatches to class methods based on message name; handles errors
	 properly
	* obby/rudel-obby-server.el (rudel-obby-client::rudel-message):	use
	 `rudel-obby-dispatch' to dispatch message
	 (rudel-obby-client::rudel-obby/obby_document): use
	 `rudel-obby-dispatch' to dispatch message
	 (rudel-obby-client::rudel-obby/obby_document/record): use
	 `rudel-obby-dispatch' to dispatch message
	* obby/rudel-obby-client.el (rudel-obby-connection::rudel-message):
	 use `rudel-obby-dispatch' to dispatch message; moved to a different
	 location
	 (rudel-obby-connection::rudel-obby/obby_document): use
	 `rudel-obby-dispatch' to dispatch message
	 (rudel-obby-connection::rudel-obby/obby_document/record): use
	 `rudel-obby-dispatch' to dispatch message

2009-01-27  jan	 <jan>

	* obby/rudel-obby-util.el (generic rudel-message): made the method a
	 generic function and updated the documentation string

2009-01-26  jan	 <jan>

	* obby/rudel-obby.el (rudel-obby-document::revision): removed; The
	 slot is no longer needed
	* obby/rudel-obby-server.el (require jupiter): uses jupiter algorithm
	 (rudel-obby-client::rudel-obby/obby_document_create): add a jupiter
	 context for the document
	 (rudel-obby-client::rudel-obby/obby_document/subscribe): add a
	 jupiter context for the document
	 (rudel-obby-client::rudel-obby/obby_document/unsubscribe): remove
	 the jupiter context associated to the document
	 (rudel-obby-client::rudel-obby/obby_document/record/ins):
	 transformed the operation before applying it to the buffer; use the
	 respective jupiter contexts of the receivers when sending the
	 operation
	 (rudel-obby-client::rudel-obby/obby_document/record/del):
	 transformed the operation before applying it to the buffer; use the
	 respective jupiter contexts of the receivers when sending the
	 operation
	 (rudel-obby-server::contexts): new slot; stores jupiter contexts for
	 pairs of clients and documents
	 (rudel-obby-server::initialize-instance): new method; store an empty
	 hash-table in the `contexts' slot
	 (rudel-obby-server::rudel-find-context): find the jupiter context
	 for a pair of a client and a document
	 (rudel-obby-server::rudel-add-context): add a jupiter context for a
	 pair of a client and a document
	 (rudel-obby-server::rudel-remove-context): remove the jupiter
	 context for a pair of a client and a document
	 (rudel-obby-context-key): return a list of client id and document id
	* obby/rudel-obby-client.el (require jupiter): uses jupiter algorithm
	 (rudel-obby-connection::contexts): new slot; stores jupiter contexts
	 for documents
	 (rudel-obby-connection::initialize-instance): new method; store an
	 empty hash-table in the `contexts' slot
	 (rudel-obby-connection::rudel-find-context): new method; return the
	 jupiter context for a document
	 (rudel-obby-connection::rudel-add-context): new method; add a
	 jupiter context for a document
	 (rudel-obby-connection::rudel-remove-context): new method; remove
	 the jupiter context for a document
	 (rudel-obby-connection::rudel-publish): add a jupiter context for
	 the new document 
	 (rudel-obby-connection::rudel-subscribe-to): add a jupiter context
	 for the new document
	 (rudel-obby-connection::rudel-unsubscribe-from): remove the jupiter
	 context associated to the document
	 (rudel-obby-connection::rudel-local-insert): use revision
	 information from the jupiter context instead of the document;	supply
	 the operation to the jupiter context
	 (rudel-obby-connection::rudel-local-delete): use revision
	 information from the jupiter context instead of the document; supply
	 the operation to the jupiter context
	 (rudel-obby-connection::rudel-obby/obby_document/record/ins):
	 transform the operation using the jupiter context instead of using
	 it unmodified
	 (rudel-obby-connection::rudel-obby/obby_document/record/del):
	 transform the operation using the jupiter context instead of using
	 it unmodified

2009-01-21  jan	 <jan>

	* obby/rudel-obby-client.el (rudel-obby-connection): removed redundant
	 slot `socket' (inherited from base class)

2009-01-21  jan	 <jan>

	* rudel-interactive.el (rudel-read-user): added comments
	 (rudel-allocate-buffer-clear-existing): added documentation string
	 (rudel-allocate-buffer-make-unique): added documentation string

2009-01-19  jan	 <jan>

	* rudel.el, rudel-util.el, rudel-telepathy.el, rudel-speedbar.el,
	 rudel-overlay.el, rudel-mode.el, jupiter/jupiter.el,
	 jupiter/jupiter-operation.el, jupiter/jupiter-nop.el,
	 jupiter/jupiter-insert.el, jupiter/jupiter-delete.el,
	 jupiter/jupiter-compound.el, obby/rudel-obby.el,
	 obby/rudel-obby-util.el, obby/rudel-obby-server.el,
	 obby/rudel-obby-client.el (header): changed email address
	 <jmoringe@techfak.uni-bielefeld.de> ->
	 <scymtym@users.sourceforge.net>

2009-01-19  jan	 <jan>

	* rudel-interactive.el (header): added keywords to file header comment

2009-01-19  jan	 <jan>

	* jupiter/jupiter.el (new file): core Jupiter algorithm
	* jupiter/jupiter-operation.el (new file): base class for Jupiter
	 operations
	* jupiter/jupiter-insert.el (new file): insert operation for Jupiter
	 algorithm
	* jupiter/jupiter-delete.el (new file): delete operation for Jupiter
	 algorithm 
	* jupiter/jupiter-nop.el (new file): no-operation for Jupiter
	 algorithm
	* jupiter/jupiter-compound.el (new file): compound operation for
	 Jupiter algorithm

2009-01-11  jan	 <jan>

	* obby/rudel-obby.el (rudel-obby-user::client-id): added rationale for
	 type (or null integer)
	* obby/rudel-obby-client.el
	 (rudel-obby-connection::rudel-obby/net6_client_join): added
	 documentation string; cosmetic changes
	 (rudel-obby-connection::rudel-obby/net6_client_part): use accessor
	 `rudel-client-id' when searching for the user object; set client-id
	 to nil in the user object; added documentation string
	 (rudel-obby-connection::rudel-obby/obby_sync_usertable_user): store
	 parsed user-id and color in temporaries
	 (rudel-obby-connection::rudel-obby/obby_user_colour):store parsed
	 color in a temporary; use accessor `rudel-id' when finding the user
	 object

2009-01-11  jan	 <jan>

	* obby/rudel-obby-client.el
	 (rudel-obby-connection::rudel-change-color-): new function;
	 implements changing the color

2009-01-11  jan	 <jan>

	* obby/rudel-obby-util.el rudel-obby-socket-owner::rudel-receive):
	 improved documentation string

2009-01-05  jan	 <jan>

	* INSTALL (REQUIREMENTS): proper list of requirements and sources from
	 which they can be obtained
	 (INSTALLING): initial version of installation instructions
	 (COMPLETING): some notes about compiling
	* README (INTRODUCTION): short introduction
	 (GETTING STARTED): some notes about enabling Rudel, joining and
	 hosting sessions

2009-01-04  jan	 <jan>

	* obby/rudel-obby.el (rudel-obby-long-message-threshold): new
	 variable; threshold for message size, above which messages are sent
	 in multiple chunks
	 (rudel-obby-long-message-chunk-size): Chunk size used, when chunking
	 long messages.
	 (rudel-obby-user::client-id): allow value nil; added accessor; added
	 documentation string
	 (rudel-obby-send): new function; handles low-level aspects of
	 sending obby protocol messages
	* obby/rudel-obby-util.el: new file; contains helper functionality,
	 mainly the class `rudel-obby-socket-owner', which handles sending
	 and receiving message
	* obby/rudel-obby-server.el (includes): replaced rudel-obby with
	 rudel-obby-util, since it contains `rudel-obby-socket-owner'
	 (class rudel-obby-client): added base class `rudel-obby-socket-owner'
	 (rudel-obby-client::rudel-receive): deleted, the functionality is
	 provided by the base class `rudel-obby-socket-owner'
	 (rudel-obby-client::rudel-send): deleted, the functionality is
	 provided by the base class `rudel-obby-socket-owner'
	 (rudel-obby-client::rudel-message): new method; called by base class
	 when a message is received; dispatches to appropriate handler method
	 (rudel-obby-client::rudel-obby/obby_user_colour): minor change in
	 documentation string
	* obby/rudel-obby-client.el (includes): replaced rudel-obby with
	 rudel-obby-util, since it contains `rudel-obby-socket-owner'
	 (class rudel-obby-connection): added base class
	`rudel-obby-socket-owner'
	 (rudel-obby-connection::rudel-disconnect): just call next method; it
	 does what this method formerly did
	 (rudel-obby-connection::rudel-close): new method; end the session,
	 when the connection is closed
	 (rudel-obby-connection::rudel-receive): deleted, the functionality
	 is provided by the base class `rudel-obby-socket-owner'
	 (rudel-obby-connection::rudel-send): deleted, the functionality is
	 provided by the base class `rudel-obby-socket-owner'
	 (rudel-obby-connection::rudel-message): new method; called by	base
	 class when a message is received; dispatches to appropriate handler
	 method

2009-01-04  jan	 <jan>

	* rudel.el (rudel-document::rudel-detach-from-buffer): do nothing, if
	 the document is not attached to any buffer

2009-01-04  jan	 <jan>

	* obby/rudel-obby.el (rudel-obby-user): added missing accessor
	 `rudel-connected'

2009-01-04  jan	 <jan>

	* obby/rudel-obby-server.el
	 (rudel-obby-client::rudel-obby/net6_client_login): transmit number
	 of synchronization items; transmit list of disconnected users

2009-01-04  jan	 <jan>

	* obby/rudel-obby-server.el
	 (rudel-obby-client::rudel-obby/obby_document/record/ins): broadcast
	 only to clients, which are subscribed to the document; send user id
	 of author instead of client id
	 (rudel-obby-client::rudel-obby/obby_document/record/del): broadcast
	 only to clients, which are subscribed to the document; send user id
	 of author instead of client id
	 (rudel-obby-client::rudel-subscribed-clients-not-self): new method;
	 return a list of clients subscribed to a document	excluding the
	 client itself.

2009-01-04  jan	 <jan>

	* obby/rudel-obby-server.el (rudel-obby-server::next-client-id): first
	 id should be 1, not 0; fixed initform accordingly
	 (rudel-obby-server::next-user-id): first id should be 1, not 0;
	 fixed initform accordingly

2009-01-04  jan	 <jan>

	* rudel.el (rudel-document::rudel-chunks): fixed void variable
	 `chunks-' -> `augmented-chunks'

2009-01-03  jan	 <jan>

	* obby/rudel-obby-server.el
	 (rudel-obby-client::rudel-obby/obby_document/subscribe): send
	 individual buffer chunks with their respective authors instead of
	 one large string without author information
	* rudel.el (rudel-document::rudel-chunks): new method; return a	list
	 of buffer position ranges and the respective authors, that	wrote
	 the text

2009-01-03  jan	 <jan>

	* obby/rudel-obby.el (rudel-obby-backend::rudel-host): cleanup
	* obby/rudel-obby-client.el
	 (rudel-obby-connection::rudel-local-insert): accept arguments
	 `position' and `data' instead of `from', `to' and `what'; since
	* position is zero-based, transmit it literally
	 (rudel-obby-connection::rudel-local-delete): instead of `from' and
	 `to' accept argument `position'; since position is
	 zero-based. transmit it literally
	 (rudel-obby-connection::rudel-obby/obby_document/record): identified
	 remaining arguments; dispatch actions to appropriate methods;
	 identify methods by interning their symbols
	 (rudel-obby-connection::rudel-obby/obby_document/record/ins): new
	 method; handle remote insert actions
	 (rudel-obby-connection::rudel-obby/obby_document/record/del): new
	 method; handle remote delete actions 
	* rudel.el (includes): include rudel-overlay
	 (rudel-document::rudel-detach-from-buffer): improved readability
	 (rudel-document::rudel-local-insert): instead of redundant arguments
	 `from', `to' and `what' accept only `position' and `data'; update
	 overlays
	 (rudel-document::rudel-local-delete): instead of redundant arguments
	 `from', `to' and `length' accept only `position' and `length';
	 update overlays
	 (rudel-document::rudel-remote-insert): renamed arguments `from' ->
	 `position', `what' -> `data'; update overlays
	 (rudel-document::rudel-remote-delete): replaced arguments `from' and
	 `to' by `position'; update overlays
	 (rudel-handle-buffer-change): call rudel-local-{insert, delete} with
	 changed arguments

2009-01-01  jan	 <jan>

	* rudel.el (rudel-session::rudel-unsubscribed-documents): new method;
	 returns documents, to which the user associated with the session is
	 not yet subscribed
	 (rudel-subscribe): when called interactively, use
	 `rudel-unsubscribed-documents' to offer only unsubscribed documents
	 in completing read

2009-01-01  jan	 <jan>

	* rudel-interactive.el (rudel-read-user-name): new function; read a
	 user name; could be used to enforce certain constraints on the name
	 (rudel-read-user-color): new function; read a user color; could be
	 used to enforce certain constraints on the color

2009-01-01  jan	 <jan>

	* obby/rudel-obby.el (rudel-obby-backend::rudel-ask-host-info):	new
	 method; ask user for port number 
	 (rudel-obby-backend::rudel-host): new method; require obby server
	 component, make the network process and construct the server
	* obby/rudel-obby-server.el (new file): initial revision of obby
	 server for rudel
	* obby/rudel-obby-client.el (header section): added keyword and	x-rcs
	 (rudel-obby-connection::rudel-publish): new method; send document to
	 server
	 (rudel-obby-connection::rudel-unsubscribe-from): send unsubscribe
	 notification to server
	 (rudel-obby-connection::rudel-local-insert): cleanup
	 (rudel-obby-connection::rudel-local-delete): new method; send	delete
	 record to server and increase local revision
	 (rudel-obby-connection::rudel-obby/obby_document/sync_chunk):
	 improved user locating code; do not complain, when the user is not
	 found
	 (rudel-obby-connection::rudel-obby/obby_document/record): removed
	 useless debug message
	* rudel.el (class rudel-session): update documentation string
	 (class rudel-server-session): new class; base class for server
	 sessions
	 (rudel-choose-backend): fixed void-variable when called
	 interactively
	 (rudel-host-session): provided initial implementation, which uses
	 the selected backend to create a server
	 (rudel-subscribe): call `set-window-buffer' instead of `show-buffer'

2009-01-01  jan	 <jan>

	* obby/rudel-obby.el (header section): fixed history
	 (rudel-obby-version): new constant; holds version of the obby backend
	 (rudel-obby-protocol-version): new constant; holds the obby protocol
	 version understood by the backend
	 (rudel-obby-document::rudel-both-ids): new method; useful when
	 locating documents by means of owner and document id

2009-01-01  jan	 <jan>

	* rudel-mode.el (header section): added keywords

2009-01-01  jan	 <jan>

	* rudel-interactive.el (header section): added file comment

2008-12-31  jan	 <jan>

	* rudel.el (class rudel-session): converted to base class for other
	 session classes; removed slots `connection' and `self' which are
	 specific for client sessions
	 (rudel-session::rudel-end): empty now; derived classes do the work
	 (rudel-session::rudel-add-user): use `object-add-to-list'
	 (rudel-session::rudel-remove-user): use `object-remove-from-list'
	 (rudel-session::rudel-add-document): use `object-add-to-list'
	 (rudel-session::rudel-remove-document): use
	 `object-remove-from-list'
	 (class rudel-client-session): derived from `rudel-session';
	 additional slots `connection' and `self'
	 (rudel-client-session::rudel-end): detach buffers from documents and
	 call `rudel-disconnect' on connection
	 (class rudel-connection): documentation string
	 (rudel-connection::rudel-disconnect): remove hook
	 `after-change-functions' only locally
	 (rudel-join-session): construct a proper session name; store backend
	 object in the session; some comments

2008-12-30  jan	 <jan>

	* obby/rudel-obby.el (rudel-obby-document): cleanup; improved
	 documentation strings

2008-12-30  jan	 <jan>

	* rudel-overlay.el (new file): functions for managing overlays,	which
	 indicate the authors of contributions in collaborative buffers

2008-12-30  jan	 <jan>

	* rudel.el (rudel-allocate-buffer-function): customization option for
	 buffer allocation function
	 (rudel-subscribe): call buffer allocation function instead of just
	 using the provided name
	* rudel-interactive.el (rudel-allocate-buffer-clear-existing): new
	 function; in case of a conflict, allocate buffer for subscription by
	 clearing the existing buffer
	 (rudel-allocate-buffer-make-unique): new function; in case of a
	 conflict, allocate buffer for subscription by producing a unique
	 name

2008-12-30  jan	 <jan>

	* rudel.el (customization): added customization group definition for
	 `rudel'

2008-12-30  jan	 <jan>

	* obby/rudel-obby.el (includes): require `rudel-util' instead of `rudel'
	 (rudel-connect): attach connection to socket object
	 (rudel-obby-document): removed slot `subscribed' as it is now
	 contained in the base class `rudel-document'
	 (rudel-obby-escape-string): call `rudel-obby-replace-in-string'
	 instead of `obby-replace-in-string'
	 (rudel-obby-unescape-string): call `rudel-obby-replace-in-string'
	 instead of `obby-replace-in-string'
	* obby/rudel-obby-client.el
	 (rudel-obby-connection::rudel-state-change): required by
	 `rudel-sentinel-dispatch'
	 (rudel-obby-connection::rudel-subscribe-to): do not touch slot
	 `subscribed'
	 (rudel-obby-connection::rudel-obby/obby_sync_doclist_document):
	 retrieve subscribed users and add to `subscribed' slot
	 (rudel-obby-connection::rudel-obby/obby_document_create): add
	 document owner to `subscribed' slot
	 (rudel-obby-connection::rudel-obby/obby_document/subscribe): add
	 user to `subscribed' slot
	 (rudel-obby-connection::rudel-obby/obby_document/unsubscribe):
	 remove user from `subscribed' slot
	* rudel.el (rudel-document): added slot `subscribed' which contains a
	 list of subscribed users
	 (rudel-subscribe): do not use `rudel-unsubscribed-documents';
	 instead list all documents for now
	 (rudel-publish-buffer): add self to `subscribed' slot

2008-12-30  jan	 <jan>

	* rudel-util.el (rudel-state-change): cleanup; added comments

2008-12-30  jan	 <jan>

	* rudel-mode.el (rudel-minor-keymap): Fixed invalid menu definition

2008-12-30  jan	 <jan>

	* obby/rudel-obby.el (whole file): moved class `rudel-obby-connection'
	 and related methods into file `rudel-obby-client.el'
	 (rudel-obby-backend): added capability `track-subscriptions'
	 (rudel-obby-backend::rudel-connect): require `rudel-obby-client'
	 before constructing the connection object
	* obby/rudel-obby-client.el (new file): moved class
	 `rudel-obby-connection' and related methods into this file

2008-12-29  jan	 <jan>

	* rudel.el (rudel-connection::rudel-change-color-): new method handles
	 color changes
	 (rudel-change-color): added basic implementation, which checks the
	 backend, asks the user for a new color and calls the connection
	 object

2008-12-29  jan	 <jan>

	* rudel-util.el (rudel-socket-owner::rudel-state-change): called when
	 the state of the connection changes
	 (rudel-socket-owner::rudel-close): called when the connection is
	 closed
	 (rudel-sentinel-dispatch): the argument is a message, not the actual
	 state, the state is retrieved with `process-state'

2008-12-29  jan	 <jan>

	* rudel-speedbar.el (whole file): cleanup; improved comments

2008-12-29  jan	 <jan>

	* rudel-mode.el (whole file): improved comments
	 (rudel-read-{backend, document}): moved to rudel-interactive.el
	 (rudel-minor-keymap): added key binding for `rudel-change-color';
	 added `options' menu item

2008-12-29  jan	 <jan>

	* rudel-interactive.el (whole file): user interaction functions used by
	 all Rudel components

2008-12-29  jan	 <jan>

	* rudel-interactive.el (whole file): user interaction functions used
	 by all Rudel components
	* rudel-util.el (whole file): utility functions used by all Rudel
	 components

2008-12-29  jan	 <jan>

	* rudel.el (whole file): improved comments
	 (rudel-backend::make-document): new function create an appropriate
	 document object for the backend
	 (rudel-session::rudel-end): added documentation string
	 (rudel-session::rudel-add-user): added documentation string
	 (rudel-session::rudel-remove-user): added documentation string
	 (rudel-session::rudel-remove-document): new method; remove document
	 from session
	 (rudel-connection::rudel-publish): new function; called when a
	 buffer is published
	 (rudel-connection::rudel-unsubscribe-from): new function; called
	 when a subscription is canceled
	 (class rudel-user): added documentation strings
	 (class rudel-document): added documentation strings
	 (rudel-document::rudel-attach-to-buffer): add to
	 `after-change-functions' hook only for the buffer in question; added
	 some comments
	 (rudel-document::rudel-detach-from-buffer): cleanup
	 (rudel-document::rudel-remote-insert): added comments
	 (rudel-document::rudel-remote-delete): added comments
	 (rudel-handle-buffer-change): added comments
	 (rudel-choose-backend): added comments
	 (rudel-end-session): additional error check
	 (rudel-subscribe): call `rudel-unsubscribed-documents' when
	 completing document name; added comments
	 (rudel-unpublish-buffer): call `rudel-detach-from-buffer' and
	 `rudel-unsubscribe-from'; added comments

2008-12-29  jan	 <jan>

	* obby/rudel-obby.el (whole file): improved comments
	 (rudel-obby-backend::rudel-ask-connect-info): removed :override tag;
	 added comments
	 (rudel-obby-backend::rudel-connect): removed :override tag; use
	 `make-network-process' instead of `open-network-stream' and attach
	 filter and sentinel right away; removed some debug code
	 (rudel-obby-backend::rudel-disconnect): removed :override tag
	 (rudel-obby-backend::rudel-subscribe-to): removed :override tag
	 (rudel-obby-backend::rudel-local-insert): removed :override tag
	 (rudel-obby-backend::rudel-local-delete): removed :override tag
	 (rudel-obby-backend::rudel-make-document): new method; creates a new
	 rudel-obby-document object
	 (rudel-obby-backend::rudel-available-document-id): obtains an	unused
	 document id, which can be assigned to a new document
	 (class rudel-obby-connection): removed useless `host' and `port'
	 slots
	 (rudel-obby-connection::rudel-receive): removed some debug code
	 (rudel-obby-connection::rudel-send): removed some debug code
	 (rudel-obby-connection::rudel-obby/net6_client_join): fixed syntax
	 error
	 (class rudel-obby-user): added accessors for slots `client-id' and
	 `user-id'
	 (rudel-obby-user::eieio-speedbar-description): removed :override tag
	 (rudel-obby-user::eieio-speedbar-object-buttonname): removed
	 :override tag
	 (class rudel-obby-document): added accessors and documentation for
	 slot `id'
	 (rudel-obby-document::eieio-speedbar-object-buttonname): removed
	 :override tag
	 (rudel-obby-replace-in-string): new function; replace a set of
	 patterns in a string
	 (rudel-obby-escape-string): new function; replace obby control
	 characters with their escape sequences
	 (rudel-obby-unescape-string): new function; invers of
	 `rudel-obby-escape-string'
	 (rudel-obby-parse-color): added documentation
	 (rudel-obby-format-color): added documentation
	 (rudel-obby-assemble-message): properly escape message components
	 (rudel-obby-parse-message): properly unescape message components

2008-12-29  jan	 <jan>

	* README (whole file): some initial notes
	* INSTALL (whole file): some initial notes

2008-12-02  jan	 <jan>

	* rudel.el (whole file): cleanup up some obsolete code

2008-12-02  jan	 <jan>

	* rudel.el (whole file): fixed some comments, removed some test	code
	 (rudel-version): new variable; global Rudel version
	 (rudel-sessions): removed; we only allow one session for now
	 (rudel-session): cleaned up
	 (rudel-session::rudel-end): cleaned up; added some comments
	 (rudel-session::rudel-add-user): cosmetic changes
	 (rudel-session::rudel-remove-user): cosmetic changes
	 (rudel-session::rudel-find-user): cosmetic changes
	 (rudel-session::rudel-add-document): cosmetic changes
	 (rudel-session::rudel-find-document): cosmetic changes
	 (rudel-backend::rudel-connect): improved documentation string
	 (rudel-backend::rudel-ask-host-info): renamed from
	 `rudel-ask-listen-info'
	 (rudel-backend::rudel-host): renamed from `rudel-listen'
	 (rudel-document::rudel-attach-to-buffer): cosmetic changes
	 (rudel-document::rudel-remote-insert): cleaned up
	 (rudel-document::rudel-remote-delete): cleaned up
	 (rudel-load-backends): cosmetic changes
	 (rudel-choose-backend): fixed message display
	 (rudel-host-session): improved documentation string
	 (rudel-change-color): raise an error since this is not yet
	 implemented
	 (rudel-subscribe): added comments
	 (rudel-unpublish-buffer): raise an error if the buffer has not been
	 published

2008-12-02  jan	 <jan>

	* INSTALL (whole file): added

2008-12-02  jan	 <jan>

	* Changelog (whole file): renamed to `ChangeLog'
	* ChangeLog (whole file): fixed name

2008-12-02  jan	 <jan>

	* obby (directory): new directory for files belonging to the obby
	 backend
	* rudel-obby.el (whole file): moved to `obby' directory
	* obby/rudel-obby.el (whole file): moved here from parent directory

2008-11-26  jan	 <jan>

	initial revision

