2002-08-12  Rendhalver [Peter Brown]  <rendhalver@xemacs.org>

	* Makefile (VERSION): XEmacs package 1.03 released.

2002-08-10  Steve Youngs  <youngs@xemacs.org>

	* Sync to Upstream version 0.17

2002-08-08  Steve Youngs  <youngs@xemacs.org>

	* Makefile (EXTRA_SOURCES): Add eieio-tests.el

	* package-info.in (provides): Update.

	* Makefile (AUTHOR_VERSION): Update to 0.17
	(ELCS): Add missing .elc files.

2002-08-07  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio-base.el: No longer include `compare-strings.el'
	
	* eieio.texi (Base Classes): Added `eieio-singleton' and `eieio-named'
	(eieio-singleton): New section
	(eieio-named): New section
	(Writing Methods): Added information about :STATIC methods.

	* Project.ede: Updated version number.

2002-07-16  Adrian Aichner  <adrian@xemacs.org>

	* .cvsignore: Add generated .info* and .html files.

2002-07-15  Adrian Aichner  <adrian@xemacs.org>

	* compare-strings.el: It's XEmacs, not Xemacs.
	* eieio-comp.el (eieio-byte-compile-princ-code): Ditto.

2002-07-11  Eric M. Ludlam  <eric@siege-engine.com>

	* linemark.el (linemark-next-in-buffer):
	Correctly start search when going backward.
	(linemark-end): Fix doc.

2002-06-27  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el ("cl-macs"): Load silently.
	(eieio-defclass): Removed old bootstrapping messages.

	* eieio-base.el (eieio-singleton): New class.
	(constructor::eieio-singleton): New method.

	* linemark.el (linemark-next-in-buffer):
	Accounts for extra embedded overlays.
	(linemark-begin, linemark-end): New methods.

	* eieio-tests.el: Added messages to method dispatch test.
	Added test for static methods.
	Added test for the singleton.

	* eieio-comp.el (byte-compile-file-form-defmethod):
	Account for STATIC methods.

	* eieio.el (method-static): New constant.
	(eieio-defclass): Constructor now uses `constructor'.
	(defmethod): doc fix.
	(eieio-defmethod): Account for :STATIC descriptor.
	(eieio-generic-call): Call STATIC methods on a class.
	(eieiomt-add): Add STATIC methods into the dispatch tables.
	(eieiomt-get): Renamed `tag' as `key'.
	(eieio-generic-form): Renamed tag to key.
	(constructor): New static method.

2002-06-25  Eric M. Ludlam  <eric@siege-engine.com>

	* linemark.el (linemark-add-entry): Revamped to now take a prop list.
	(linemark-new-entry): Use :filename.

	* linemark.el (linemark-new-entry): Use &rest args

	* linemark.el (linemark-entry): Made the overlay protected
	(linemark-at-point, linemark-kill-buffer-hook): Use `linemark-entry-child-p'.
	(linemark-add-entry): Call new method on group for new entries.
	(linemark-new-entry): New function

2002-03-23  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el (eieio-version): Update version.

	* eieio-opt.el (eieio-class-speedbar): Prevent repeated refreshes.
	(eieio-class-button): Do not put a empty folder on classes w/ no subclasses..

2002-03-13  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio-speedbar.el (eieio-speedbar-make-tag-line):
	Better support for tag buttons
	(eieio-speedbar-child-make-tag-lines): Fix error text.
	(eieio-speedbar-expand): Only do child lines if there are children.

2002-02-23  Eric M. Ludlam  <eric@siege-engine.com>

	* Project.ede: Version change

	* eieio.el (eieio-version): Update to beta4

	* eieio.texi (Predicates): Updated slot-boundp.

	* eieio-tests.el:
	Added test for `eieio-build-class-alist' & new instantiable flag.

	* eieio-opt.el:
	(eieio-build-class-alist, eieio-read-class, eieio-read-subclass):
	Added INSTANTIABLE-ONLY flag.

	* eieio.el (class-abstract-p): New function
	(eieio-default-superclass): Made abstract.

	* eieio-opt.el (eieio-describe-class):
	If a class is abstract, display so.

	* eieio-speedbar.el: (eieio-speedbar, eieio-speedbar-directory-button)
	(eieio-speedbar-file-button): made abstract.

	* eieio-base.el: (eieio-instance-inheritor, eieio-instance-tracker)
	(eieio-persistent, eieio-named): Made abstract.

2002-02-22  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio-tests.el: Test passing a CLASS into slot-boundp.

	* eieio.el (eieio-oref-default): Fix bugs when a class is passed in.
	(slot-boundp): Allow a class to be passed in w/ a static slot.

2002-02-21  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.texi (Building Classes): Added :abstract option to doc.

	* eieio-tests.el:
	Fix test so it can be run multiple times in one session.
	Added :class allocated slot `slot-boundp' tests.
	Added :abstract class instantiation tests.

	* eieio.el (defclass): Allow, and enable :abstract class keyword.
	(eieio-defclass): Obey :abstract class keyword.  Do not allow instantiation.

2002-02-09  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el (eieio-require-version): New function.

2002-01-13  Steve Youngs  <youngs@xemacs.org>

	* package-info.in (provides): Update to include all provides.

2002-01-07  Adrian Aichner  <adrian@xemacs.org>

	* Makefile (HTML_FILES): New.
	* Makefile (HTML_DEP): New.

2001-12-05  Eric M. Ludlam  <eric@siege-engine.com>

	* INSTALL: Added more complex make instructions for including SPEEDBAR.

	* eieio-tests.el (class-alloc-initarg): New test class
	(class-c): Fixed spelling error.

2001-12-04  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio-base.el (eieio-persistent): Added extension field.
	(eieio-persistent-save-interactive): New method.

2001-10-03  Eric M. Ludlam  <eric@siege-engine.com>

	* chart.el (chart-face-color-list): Fix to be ok on terminals.
	(chart-face-pixmap-list): Allow to be disabled on terminals.
	(chart-face-use-pixmaps): New option
	(chart-axis-draw): For Y axis labels, push into the bar if they are
	too long.

	* eieio.el (eieio-defclass):
	Warn if class allocated slot has an initarg.

2001-09-14  Eric M. Ludlam  <eric@siege-engine.com>

	* Project.ede: Updated version.

	* eieio.el: Update version.

	* chart.el (chart-translate-namezone):
	Fixed up math to handle small cases.
	(chart-axis-draw): Fixed up some math for very small cases, and
	to fix some odd rounding problems.
	(chart-goto-xy): Do not allow x or y < 0

	* eieio-tests.el: Fixed protection typos.
	Fixed and added protection test methods.

2001-09-14  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el (eieio-version): Update version.

	* chart.el (chart-translate-namezone):
	Fixed up math to handle small cases.
	(chart-axis-draw): Fixed up some math for very small cases, and
	to fix some odd rounding problems.
	(chart-goto-xy): Do not allow x or y < 0

	* eieio-tests.el: Fixed protection typos.
	Fixed and added protection test methods.

2001-08-31  Eric M. Ludlam  <eric@siege-engine.com>

	* chart.el (chart-axis-draw):
	If limits are too small, force increment to 1.

2001-08-21  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el (eieio-initializing-object):
	New state variable.
	(eieio-field-originating-class-p): New predicate.
	(eieio-field-name-index): Use `eieio-field-originating-class-p' for
	private slots to see if access is allowed.  Initialization of a new
	object is exempt from this test.
	(eieio-set-defaults): Set `eieio-initializing-object' to true.

2001-08-17  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio-custom.el (eieio-object-value-get):
	When calculating the new name, make sure the
	class feature :eieio-show-name is used.
	(eieio-object-value-get): Only set the new name to an edited object if
	there is a new name.  (nil is thrown out.)

2001-08-08  Eric M. Ludlam  <eric@siege-engine.com>

	* linemark.el (linemark-funny-face):
	Reverse light/dark colors.
	(linemark-next-in-buffer): Reverse argument direction for getting a fcn.

	* eieio.texi:
	Add linemark to the documentation.

2001-08-03  Eric M. Ludlam  <eric@siege-engine.com>

	* linemark.el:
	First revision of Line Mark as a part of the EIEIO package.

2001-08-03  Eric M. Ludlam  <eric@siege-engine.com>

	* linemark.el:
	First revision of Line Mark as a part of the EIEIO package.

2001-08-01  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.texi: Fixed main menu.
	Added doc about generic reflected in eieio CVS 1.111.

	* eieio-tests.el:
	Changed the method order test to reflect changes in eieio 1.111.

	* eieio.el (eieio-generic-call-key):
	new variable
	(eieio-generic-call): Only pull up generics if there is no specific.
	Save the current key in `eieio-generic-call-key'.
	(next-method-p): Use `eieio-generic-call-key'.
	(call-next-method): Use `eieio-generic-call-key'.
	If no next method is found, search for a generic, and call that.

2001-07-17  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio-tests.el:
	Added tests for :protection.

	* eieio.el (eieio-defclass):
	Support :private, :protected, :public keywords.
	Store the actual type of protection in the protection slot instead of
	a boolean.
	(eieio-field-name-index): Support private and protected differences.

	* eieio.texi:
	Added naming conventions chapter.
	Fixed example that has :protection use to use proper values.

2001-07-13  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el:
	Added setf method for oref by Arnd Kohrs.

2001-07-12  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio-tests.el:
	Use :class instead of class for allocation of slots.
	Added tests for lambda actually running at instantiation time.

	* eieio.el (defclass): Doc fix.
	(eieio-defclass): Throw error if :allocation is not :class or :instance.
	Added :public and :private possible protection values.
	Convert new class initializer to use backquote.
	(eieio-add-new-field): For class allocated slots, eval the initform if
	needed when type checking, and for storage.
	(initialize-instance): Check default args, and eval any lambdas in the
	new scope.

	* eieio-speedbar.el:
	Use `:class' instead of `class' for class allocated slots.

	* eieio-base.el:
	Use `:class' instead of `class' for class allocated slots.
	More description for `eieio-persistent'

2001-07-05  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio-tests.el:
	Added test to make sure new objects get changes from oset-default.

	* eieio.el (eieio-oset-default):
	When setting a default, be sure to change the object cache.

2001-06-03  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio-tests.el:
	Changed all `obj-of-class' calls to `object-of-class' calls.

2001-05-31  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el (object-of-class):
	new name from obj-of-class.  Alias of old name.
	(object-slots): Was obj-fields.

	* eieio.texi:
	Changed `obj-slots' to `object-slots'.
	Changed `obj-of-class-p' to `object-of-class-p'.

	* eieio-comp.el (eieio-byte-compile-princ-code):
	Replace an XEmacs string match with featurep.

2001-05-20  Eric M. Ludlam  <eric@siege-engine.com>

	* Project.ede: Update version.
	New URLS

	* eieio.texi (slot-exists-p):
	Fixed to match source (takes class now.)

	* eieio.el (eieio-defmethod):
	Fixed typeo w/ writer creation.
	(slot-exists-p): Can now take an object, or a class.

2001-05-19  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el:
	By Daniel Pittman <daniel@rimspace.net>
	(eieio-defmethod): Tried to fix `writer', fixed `reader'.
	(with-slots): Assignment to slots will set values in the objects now.

2001-05-14  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio-tests.el:
	Let the test run multiple times in a row.
	Added test for :type testing on children of classes defining the :type

2001-05-12  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el:
	Added a type for typep for new classes.
	Funny inclusion of certain cl scripts.

2001-05-09  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el (eieio-version): 0.17beta1

	* eieio-base.el (slot-missing:eieio-named):
	Added :object-name as another slot-name.

2001-05-07  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el (eieio-set-name-string): New fcn.

	* eieio-tests.el:
	Added tests for eieio-named class.

	* eieio-base.el (eieio-named): New class
	(slot-missing:eieio-named): New method.

2001-04-29  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio-base.el (eieio-instance-inheritor):
	Set :type of parent-instance to be
	`eieio-instance-inheritor-child'

2001-04-27  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio-base.el:
	Removed complex relative file generator in place of the built in function.

	* eieio.el (class-p): Updated doc.
	(eieio-defclass): When extracting slot description flags, use
	`plist-get' instead of `member' (suggested by Richard Kim)
	(make-instance): Updated doc about the use of class symbols.
	(eieio-perform-slot-validation): Removed special class cases.
	By using `CLASSNAME-child' instead of `CLASSNAME' for a :type
	specifier, the same effect can be achieved.

	* eieio-opt.el:
	Added `eieio-read-subclass' function.

	* eieio-doc.el (eieiodoc-one-node):
	Fixed texification of the doc string for the class.

2001-04-24  emacsman  <emacsman@choochoo>

	* tree.el:
	Added autoload cookies for the three top level comands.
	Also set `truncate-lines' to `t' in `tree-mode' function to prevent line-wrapping.

2001-04-21  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio-base.el:
	If a persistent write fails, make sure the user isn't asked about
	killing the buffer that was temporarilly created for writing.

2001-04-17  emacsman  <emacsman@choochoo>

	* call-tree.el:
	Added `;;;###autoload' for `call-tree'.

2001-02-19  Eric M. Ludlam  <eric@siege-engine.com>

	* chart.el:
	Fix so that the chart-emacs-* commands work with XEmacs.

	* eieio-tests.el:
	Add a require for eieio-base.

	* eieio.texi:
	Rearranged some features in the feature list.
	Removed invalid section about executing code at instantiation time
	in a slot init form.  (Use initialize-instance method overload
	insead.)
	Varios other fixes.

	* Project.ede: Rearranged the project file.
	Added call-tree.el

	* eieio-tests.el: Header comment update.
	Fixed persistent test to save the file to the current directory.

	* eieio-speedbar.el, eieio.el, eieio-opt.el:
	Header comment update.

2001-02-17  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio-doc.el, eieio-custom.el, eieio-comp.el:
	Removed ftp site information.

	* INSTALL: Added web page link.
	Removed explicit version from load path explaination.

	* eieio.texi:
	Fixed cross reference (xref) nodes to speedbar.
	Fixed compile bugs.
	Removed unwanted node from main menu.

	* eieio.el:
	Fixed eieio-oref-default to correctly accept a class symbol again.

	* chart.el: Removed ftp location.
	Added spaces to the commentary
	Fixed the base chart to recalc width/height at object creation time,
	not class creation time.

	* tree.el, call-tree.el:
	Removed FTP location from comments.

	* eieio.el:
	(defclass) If the class already exists, recover child list for the new
	class.  This preserves existing class hierarchies, and protects the
	user from the simple act of re compiling.

2001-02-16  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio-tests.el:
	Added tests for `make-instance'.

2001-02-16  ponced  <ponced@choochoo>

	* compare-strings.el:
	Added a `provide' statement.
	Fixed a nasty bug in the `let' statement which reinitialized the local
	variables i1 an i2 to nil!

2001-02-15  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el:
	Fixed `object-add-to-list' to force the value of a slot to a list if
	it is not currently a list or nil.

2001-02-04  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio-base.el:
	`initialize-instance:eieio-instance-tracker' append new items to the
	end of the list.

2001-01-31  Eric M. Ludlam  <eric@siege-engine.com>

	* compare-strings.el:
	Compatibility code for compare-strings.

	* Project.ede: Project file for EIEIO

2001-01-25  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el:
	Fixed doc for eieio-perform-slot-validation.

2001-01-24  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el:
	In eieio-defclass, move the creation of the test fn before
	initializing slots.  This lets slots accept objects of the same type.
	Fixed `make-instance' to take the correct arguments.

	* eieio-tests.el:
	Test self-referencing classes.

	* eieio-base.el:
	Compare Strings backwards compatible bit.

2001-01-11  Eric M. Ludlam  <eric@siege-engine.com>

	* psql.el:
	Beginnings of conversion to pg.el postgres library.

	* dbif.el: Various hacks I don't remember.

2001-01-10  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.texi:
	Added docs on some new base classes.

	* eieio-tests.el:
	Added tests for some new base classes.

	* eieio-base.el:
	Removed incompatible add-to-list call.

2000-12-16  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio-opt.el:
	Added additional highlighting to classes and methods in *Help* buffers.

2000-12-15  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio-base.el:
	eieio-persistent-save.  Locally bind `default-directory' to the
	directory part of the object being saved.

2000-12-09  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio-base.el: Comment updates.

	* eieio.el: Removed the base classes.

2000-12-07  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio-base.el: New file.

	* eieio.el:
	Fixed a bug in the eieio-persistent relative path generator.
	Made lists of objects output in `write-object' prettier.

2000-12-05  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el:
	Added the class `eieio-instance-tracker'.
	For this class, added `initialize-instance', `delete-instance', and
	the function `eieio-instance-tracker-find'.

	* eieio.texi: Added eieio-instance-tracker.

	* eieio-speedbar.el:
	Fixed some documentation.

2000-12-04  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.texi:
	Added eieio-persistent object documentation.

	* eieio.el:
	Added eieio-persistent-read function for reading eieio-persistent objects.

	* eieio.el:
	Added eieio-persistent as a new base class.

2000-12-02  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.texi:
	Added new Base Classes chapter.
	Added sections for eieio-instance-inheritor, and eieio-speedbar.

	* eieio.el:
	Enable an initform to be a function symbol without evaling it.
	Enable field tests to "eval" a function if needed.
	Enable oref default, and field tests to convert `lambda-default'.
	New function `eieio-default-eval-maybe'.

	* eieio-tests.el: Added function type test.
	Added instance inheritor test.

2000-12-01  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el:
	Added `eieio-instance-inheritor', plus `slot-unbound', and `clone' methods.

2000-11-30  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el:
	unbound-slot was using the wrong symbol for error conditions.
	added `error' as a condition for invalid-slot-type and unbound-slot.

2000-10-21  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio-custom.el:
	Implement slot widget type for objects.
	Fixed `eieio-object-value-get' which had bugs from the last check in.

2000-10-14  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio-custom.el:
	Enabled :slotofchoice specifier for custom types.

2000-10-11  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el:
	Fixed recent functions to use slot-boundp properly.

	* eieio.texi:
	Added discussion about class use in oref.
	Added doc for `object-add-to-list' and `object-remove-from-list'.

	* eieio.el:
	Added `quotation' around generic method name in doc.
	Oref now can take a class for referencing class allocating slot values.
	Added new functions `object-add-to-list' and `object-remove-from-list'.
	Added some doc to `object-unbound' discussing `slot-boundp'.

2000-10-09  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.texi:
	Added doc for the new class specifiers.

2000-10-04  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio-custom.el:
	Added support for :objectcreatefcn as part of the widget.
	Fixed `eieio-object-value-to-abstract' for insert into list case.

	* eieio-custom.el:
	Added an `accept' button to `apply' and `bury' the buffer.
	Fixed the widget-get-value thingy so that it also handled the
	group specifier.

	* eieio-custom.el:
	Added `eieio-read-customization-group' function.
	In `eieio-object-value-create', allow null master-group for all slots,
	  Show list of groups, with buttons to switch groups.
	In `eieio-customize-object', put group name into the customization buffer.
	Add a cancel button attached to bury-buffer.

2000-10-03  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el:
	Fixed some custom-group settings.
	Added custom-label to all areas of slots.

	* eieio-custom.el:
	Added support for specifying a group when customizing.
	Fixed up display to not print "Slot", to show the group
	being edited, and to use new custom labels.
	Added new fn `eieio-customize-object-group' for use
	with easymenu :filters.

2000-09-30  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el: Fixed another customgroup bug.

	* eieio-speedbar.el:
	Fixed bug with info lines at the end of the display.

	* eieio.texi:
	Added :group :custom-group, and `class-option' documentation.

	* eieio.el:
	Fixed `class-option' macro.  Must not have been using it.

	* eieio.el: Removed class slot `class-doc'.
	Added class slots for `class-public-custom-group' and
	  `class-class-allocation-custom-group'.
	Added :group slot specifier.  This groups slots in a class.
	Added :custom-groups class option.  Lists all groups in this class.
	  This is created automatically from :group specifiers.
	Normal doc is now stored in the :documentation class specifier.
	All support work for slot groups.

2000-09-28  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio-doc.el: Require eieio-opt.

	* eieio-tests.el:
	Comment test for functions in classes.

	* eieio-custom.el:
	Added `customize-object' shortcut.

	* eieio.el: Update version number.
	Fixed doc of `generic-p'.
	When cloning, allow passing in of a new name, and replacement arguments.
	In `write-object', do not try to access unbound slots.
	In `eieio-edebug-prin1-to-string', handle lists of objects.
	Fixed edebug spec for with-slots.

2000-09-25  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio-doc.el:
	Added `eieio-class-nuke' which calls `eieio-class', but deletes all
	  text following the cursor.  Useful in ede doc files.
	Updated `eieiodoc-one-node' to display methods belonging to each
	  class.
	Added `eieio-insert-and-massage-docstring-with-args' for method
	  documentation strings, and @var ing arguments when they are in
	  the doc string.
	Force line break after Type: label in slot docs.
	Fixed up `texify-string' regular expressions a little.

	* eieio-opt.el:
	Updated `eieio-method-documentation' to return the arg lists also.
	Updated `eieio-describe-class' to show method arguments.
	Added `eieio-lambda-arglist' for fetching args from a symbol.

2000-08-20  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el:
	Removed some customize autoloads.

	* eieio.el:
	Fixed creating of generic methods from byte-code.

	* eieio.texi: Added @end table.

	* eieio.texi: Replaced intro text.
	Added scheduling details for defmethod.
	Added class-children
	Updated info about describing classes and generics.

	* eieio-comp.el:
	Added support for the :PRIMART tag, and fixed bug when parsing args.

	* eieio-tests.el:
	Defvared all the variables.
	Added test for the :BEFORE/:AFTER tags for methods, plus generics.

	* eieio-speedbar.el:
	Updated comment to specify the needed version of speedbar.

	* eieio.el:
	Added :PRIMARY to defmethod docs, and interpretation.
	Track the class for the first arg when making methods.
	If there is no class for the first arg, then it is a generic.
	Fixed error checking in `eieiomt-add'.
	In `eieio-generic-form' return generics correctly.
	Added autoloads for describe-generic.

	* eieio-opt.el: Augment the help keymap.

	* eieio.el: Fixed autoload.

	* eieio-comp.el:
	Eval and compile compatibility code.

	* eieio-comp.el: Comments

	* eieio.el:
	Removed `eieio-rebuild-generic-doc-string'.
	Don't call this function either.

	* eieio-opt.el:
	Describe-class returns the text created.
	eieio-read-class now takes a history variable, or uses a default one.
	Added eieieo-describe-generic, and several aliases.  Copied from
	the eieio-rebuild-doc-string for functions.
	Added eieio-read-generic-p, and eieio-read-generic
	The help system augmenter will now find generics, and reset
	the function apropriatly.

	* eieio-opt.el:
	Build slot definitions in `describe-class'.  This is no longer handled
	by defclass.  (Faster load times.)

	* eieio.el:
	Do not rebuild doc string for class.  Handle in `describe-class'.
	Rebuilt all macros using backquote.

	* eieio-opt.el:
	Added `eieio-help-mode-augmentation-maybee'.
	Fixed up `describe-class' to contain a list of parents, children.
	Fixed up `eieio-all-generic-functions' to only include functions
	defined specifically for the given class.
	Fixed up `eieio-method-documentation' to not throw errors for
	pass-through memoized method symbols.

	* eieio.el:
	Added `class-children', and `class-children-fast' functions.
	Added autoload for `eieio-help-mode-augmentation-maybee', and added
	it to the hooks for help.
	Added advice to `describe-variable'

	* eieio.el:
	Move version number up near the Version keyword.

	* eieio-custom.el:
	Added apply-reset button creating function.
	Put them at the top and bottom of a direct-edit custom buffer.
	Removed additional indentation of SLOT tag.
	You can direct-customize the same object twice.

2000-08-02  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el:
	Fixed a slot-missing setting when initializing an object.
	Changed the signal output from the `slot-missing' method.

2000-08-01  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el:
	Moved eval and compile beginning part to after some variables.
	Updated some comments.
	Updated `eieio-validate-*slot-value' to take the field being checked.
	This is only used when signaling an error.

2000-07-19  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el:
	Added in compatibility section for `compiled-function-arglist'.
	Used `eieio-compiled-function-arglist' in `eieio-rebuild-generic-doc-string'.

	* eieio.el:
	Do not print bootstrap message if byte compiling, and verbosity is nil.
	Added eieio-defgeneric-form, and used it in eieio-defgeneric from
	whence it was pulled.  (Needed by the byte compiler.)
	Eval and compile all of eieio (bootstrap itself w/ the byte compiler.)

	* eieio-comp.el:
	Use byte-compile-function-environment to quiet the byte compiler for methods.
	Remove if statement around above.
	Make sure this function returns nil!

	* eieio-speedbar.el, eieio-opt.el:
	Byte compilation fixes.

2000-07-16  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio-custom.el:
	Added new unbound slot to test object.
	Add protection from unbound slots. (ei, skip them)
	Add purty cullers to slot titles, and object name.

	* eieio.texi:
	Added doc about eieio-error-unsupported-class-tags

	* chart.el:
	Convert old -engines to eieio- fns.

	* eieio-comp.el:
	Call eieio-defmethod instead of defmethod-engine.
	In `byte-compile-file-form-defmethod', if meth is not bound, call
	eieio-defgeneric to create the function definition so that warnings
	aren't thrown.  Next, remove the new method from the byte-compiler's
	list of unresolved functions.

2000-07-14  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio-custom.el, eieio-doc.el:
	Updated to have -engine calls switched to eieio- calls.

	* eieio-tests.el:
	Added invalid slot tag testing.

	* eieio.el:
	Added `eieio-error-unsupported-class-tags', then used it in
	eieio-defclass to wrap a block that throws an error if a bad
	tag is encountered.

2000-04-13  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el:
	Added needed autoload for typep (needed in Emacs21 CVS).

	* eieio.el:
	Renamed all occurances of *-engine to eieio-* to tidy up the namespace.

1999-12-04  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el: Updated version number.

	* eieio-speedbar.el:
	Added methods with errors for eieio-speedbar objects which don't
	implement non-object children.

	* eieio-custom.el:
	Moved eieio-done-customizing

1999-12-01  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio-opt.el:
	Changed all eieio-speedbar functions to eieio-class-speedbar to be
	more specific.

	* eieio.texi: Removed references to dbiff.

	* eieio.el: Updated version number.

	* eieio-speedbar.el:
	buttonface's type is now (or symbol face). That way it will pass even
	if speedbar hasn't been loaded yet.
	Fixed comments at beginning.

	* eieio.texi: Spell checked.

	* eieio.el:
	Added eieio-version variable and test function.
	Ran through checkdoc.

	* eieio.texi: Various MI updates to slots.
	Doc class-parents* functions which are new with MI.  Note that
	class-parent is depricated.

	* eieio.el: Update version number

	* eieio-speedbar.el:
	Tweeked the default keymap and menu.

	* eieio.el:
	When building the test function for new classes, make sure it is an
	object before calling the `same-class-p' primitive.  Also add new
	primitive `-child-p' to test of an object inherits anything from a
	class

	* eieio-tests.el:
	Added tests for auto-generated predicates for class objects.

	* eieio-speedbar.el:
	Line info for children is now derived from the parent object.
	nearest-object will now calc depth if it is not provided.

1999-11-27  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio-tests.el: New file.

1999-11-24  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el:
	Fixed oset for class-slots w/ type validation.
	Fixed call-next-method to only call the first method found.

1999-11-23  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio-speedbar.el:
	Fixed random crufty bugs.

	* eieio-speedbar.el: New file.

1999-11-19  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.texi:
	Changed no-method-definition method to no-applicable-method.

	* chart.el: Added initargs to some slots.

	* eieio.el:
	changed no-method-definition to no-applicable-method as per hyperspec.

	* eieio.texi:
	Removed anti-multi-inheritance documentation.
	Added docs on no-method-definition and no-next-method methods
	and signals

	* eieio.el:
	If a method is not available for a given object, call the method
	`no-method-definition' instead of signaling it.  This method calls the
	signal.  Call signal directly iff there is no object to call on.

	New function next-method-p If there is no next method, call the method
	`no-next-method' which is a new primitive method which signals that
	there is no next method.

	Make  sure `call-next-method' returns the value of the last lambda
	called.

	Add new signal `no-next-method'

1999-11-15  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el: Fixed doc of slot-unboundp
	eieiomt-next now returns a list of parents.
	call-next-method, and the sym-optimizer now can handle the
	list of parents when searching for methods.

	* eieio.el:
	Fixed defmethod-engine to keep parent classes in the same order.
	Fixed child-of-class-p to work properly with MI.

1999-09-16  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.texi: Fixed compile errors

	* eieio.el:
	Removed "execessive info" in a doc string for find-class.

1999-09-15  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.texi:
	Updated to the latest version.  Changed all "field" words to "slot" to
	be compatible with CLOS.

1999-09-10  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio-opt.el: Removed thing-to-string

	* eieio-doc.el: Fixed checkdoc stuff.

	* eieio-opt.el:
	eieio-describe-class): Completely revamped to use
	the documentation (pre-built), and new generic apropoing functions.
	(eieio-read-class): New function
	(eieio-all-generic-functions): New functions
	(eieio-method-documentation): New function
	(eieio-describe-slots): Deleted

1999-09-08  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el:
	Do not add a default to doc strings if it is unbound.

	* eieio-doc.el:
	Be careful about unbound slots when creating doc.  Just leave off the
	default value.

	* eieio.texi: Added set-slot-value details.
	Fixed a slot-value example.

	* eieio.el: Added `set-slot-value'

	* eieio.texi:
	Added doc about unbound slots, and `slot-makeunbound' and
	'slot-unboundp'.

	* eieio.el:
	Added slot-makeunbound, and implemented slot-boundp

	* eieio.el:
	Implemented unbound slots.  New variable eieio-unbound.
	New function eieio-barf-if-slot-unbound.
	New method slot-unbound.
	Initialize uninitialized slits to the uninterned symbol unbound.
	Call eieio-barf-if-slot-unbound when returning a slot value.

	* eieio.el:
	Fixed type check when identifying specific classes or object.
	Fixed Doc to -of-class-p functions.

1999-09-06  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.texi:
	Added documentation about class-options.
	Fixed typo about standard-object.

	* eieio.el:
	Added class-options, including :documentation, and :allow-nil-initform.
	Make it possible to disable typechecking of initializers completely.

	* eieio-doc.el:
	Fixed up compiler warnings (the xref followed by , or . in RH 6.0)

1999-09-05  Eric M. Ludlam  <eric@siege-engine.com>

	* chart.el:
	Fixed to work with new eieio forms.

	* eieio-doc.el: Fixed a compiler warning.

	* eieio-opt.el: Fixed compiler warnings.

	* eieio.el: Fixed some compiler warnings.

	* eieio-doc.el:
	Added the Type specifier into the documentation.

	* eieio.texi:
	Added a few more details on differnces.
	Added xref for :type specifier.

	* eieio.el: Added find-class, and boolean-p.
	Added in a few section break comments.

	* eieio.el (eieio-rebuild-doc-string):
	Add type to output.

	* eieio.el:
	Convert TYPE slot in class into a vector for faster access.
	Do type checking in oset and oset-default.
	Do type checking when building a class's default values.

1999-09-04  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el: Updated the version number.

	* eieio-doc.el:
	Fixed to handle the new class structure.  Add doc for class allocated
	slots.  Private is a slot attribute.

	* eieio-opt.el:
	Fixed `describe' to handle the new class structure.

	* eieio.el:
	Removed several old defconsts, (all with PRIVATE in them) and added
	several new ones (class-protection, and all with `allocation' in
	them).
	(defclass-engine): Updated to handle multiple parents.  Removed all
	ref to private parts.  Extract class init from parent to function, and
	loop over it.  Reverse end results of public attributes.  Store
	private status in a list.  Store class allocated vector information.
	(eieio-add-new-field, eieio-copy-parents-into-subclass):New functions.
	(oref-engine, oref-default-engine, oset-engine, oset-default-engine):
	Handle class allocated field referencing.
	(class-parents, class-parents-fast): New functions.
	(class-parent, class-parent-fast): Update to call plural version.
	(child-of-class-p): Update to handle multiple parents.
	(eieio-class-field-name-index): New function.
	(eieio-rebuild-doc-string): Removed private field docing.  Added
	private as a property of regular slots.  Doc class allocated slots.

1999-07-12  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el:
	Fixed for use under XEmacs 20.  Upgraded version number.

1999-06-19  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el:
	Added the function object-assoc-list-safe.

1999-03-18  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.texi:
	Patch from Dave Love to create a function index.

1999-03-09  Eric M. Ludlam  <eric@siege-engine.com>

	* Makefile.old: Fixed make of doc rule.

	* eieio.el: Updated the version number.

1999-02-25  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el: Updated the list print routine.

	* eieio-custom.el:
	Updated the slottype filter to find augmented repeating object types.
	When a widget's value is nil, but it's type is object, create a new object
	of type :objecttype.
	Turn the object name into an editable field which works.

1999-02-18  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.texi: Fixed build problem.

	* eieio.texi: Fixed up some rough edges.

	* Makefile.old:
	Added lisp examples into the dist.

	* psql.el, dbif-browse.el:
	Ran through checkdoc.

	* chart.el:
	Ran through checkdoc.  Enabled runing on terminals.

	* eieio-custom.el: Tweak the display.

	* dlg-class.el:
	constructor -> initialize-instance changes.

	* dbif-browse.el: Ran through checkdoc.

	* Makefile.old:
	Updated for custom, and better VERSION setting

1999-02-13  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el: Removed history party.

1999-02-03  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.texi: More on customizing objects.

	* widget-d.el: :docstring -> :documentation

	* eieio-custom.el:
	Added new generic method for when an object is 'applyd'
	Added object-edit custom type filter so sub-objects are not cloned
	in edit-in-place mode.
	Added :clone-object-children widget tag for above.
	Added some buffer-local variable defvars to hack compiler warnings.

1999-02-02  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el, eieio-custom.el:
	Ran through checkdoc.

1999-01-28  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.texi: Fixed up lots of doc bugs.
	Added customizing node
	Changed :docstring to :documentation
	Lots of tweeks, and added lots of new slot specifiers.

	* eieio.el: :docstring to :documentation
	Added :documentation to the help on defclass.
	Changed slot validation to cl-macs `typep' function.
	Added symbols to the eieio code printer
	Added eieio-custom autoloads.

	* eieio-custom.el:
	Fixed up the two way customization.
	Added `eieio-customize-object' and `eieio-custom-widget-insert'
	functions as conveniences which are also methods for editing an object
	`in place'.  fixed up the 'object widget to clone the object before
	storage, so the in-place editor is safe.
	Tweeked the display.

1999-01-21  Eric M. Ludlam  <eric@siege-engine.com>

	* tree.el: Updated to use with-slots

	* eieio.texi:
	Added introspection chapter.  @defuns for obj-fields, and class-slot-initarg.
	Removed comments about adding more built ins for wishlist.
	Removed constructor/destructor doc, and all quoted functions, and
	descriptions with @defun text describing the new initialize-instance,
	shared-initialize, clone, and print-object methods.
	Added @defun for with-slots
	Added @defun for slot-exists-p, and slot-boundp.
	Added @defun class-of

	* eieio-custom.el: New file.

	* eieio.el:
	Added indentation style for `with-slots'
	Added `condition-case' protection in object-assoc.
	Return nil if no initarg is available in initarg-to-attribute
	Fixed `slot-missing' standard method.
	Added `clone' standard method.
	Moved `destructor'.
	Added space between list elements when outputting.

1999-01-15  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el:
	Fixed compile warning in slot-missing generic fn.

	* eieio.el:
	Rearranged class slot positions to add allocation, type, and custom.
	Updated docs for new slot types.
	Use const instead of a number when checking for a parent.
	When creating a class, handle the new types of reader, writer, alloc,
	type, and custom.
	Implement generation of generic functions for the reader/writer slot.
	Rebane `constructor' to `initialize-instance'
	Change all applicable calls of (signale 'invalid-slot-name ...) to
	(slot-missing) generic method.
	Added `eieio-perform-slot-validation' and `eieio-validate-slot-value'
	for use with the :type slot specifier.  Used it in oset.
	Added `with-slots' (thanks Kevin Rodgers)
	Added comment that class-name is wrong.
	Added `obj-fields', `class-slot-initarg', `slot-boundp', and `slot-exists-p'
	Removed `eieio-set-fields'.  It became the method `shared-initialize'.
	Added signal `invalid-slot-type' when generating errors for
	the :type slot parameter.
	Create an alias for `standard-class' to eieio-default-superclass.
	Implemented `object-write' to write out an object in such a way that
	it can be read in.  This require the fns `eieio-override-prin1', and
	`eieio-list-prin1'
	Added function `change-class' with no implementation but an error.
	Added edebug spec for with-slots
	Added eieio-custom autoload.

1998-12-16  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el: Removed a typo.

	* eieio-opt.el:
	When describing a class, do not print the PRIVATE section if there are
	no private fields.
	Added a speedbar mode for showing the current EIEIO class state.

1998-10-27  Eric M. Ludlam  <eric@siege-engine.com>

	* Makefile.old:
	Added Makefile and info rules.

	* tree.el, eieio.el, eieio-opt.el, eieio-doc.el, eieio-comp.el, dbif.el:
	Ran through checkdoc.

	* dbif-edit.el: New file.

	* chart.el: Ran through checkdoc.

	* call-tree.el: Removed stray provide

	* call-tree.el: Ran through checkdoc.

	* Makefile.old: New file.

	* eieiocomp.el:
	Fixed for lack of widget stuff.

	* eieio.el:
	Fixed documentation for defclass.
	Fixed creation of object predicate.
	Added object-assoc, object-assoc-list.

	* eieio.texi:
	Removed all the widget references.

	* eieio.texi:
	Added association list stuff (object-assoc, object-assoc-list)
	Fixed some spelling.

1998-09-11  Eric M. Ludlam  <eric@siege-engine.com>

	* psql.el: Got it to work again

1998-03-12  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el: Doc fixes.

1997-10-17  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el:
	Added an object-write method to the super class.

1997-10-10  Eric M. Ludlam  <eric@siege-engine.com>

	* dialog.texi: Added disclaimer

1997-08-09  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el: Made checkdoc compliant

1997-03-01  Eric M. Ludlam  <eric@siege-engine.com>

	* chart.el:
	Fixed char-space-usage to use generic du, not at a specific path.

	* widget-d.el:
	Text widgets now have handle-motion set to 'traditional for optimizations.

	* dialog-mode.el:
	Added maybe key optimization.  Widgets can now specify thier handle-motion
	field as 'traditional.  Traditional movement is handled by dialog-mode unless
	the motions exceeds the bounds of the widget.

	* widget-i.el:
	Text field widgets no longer put their object on the < and > buttons

1997-02-23  Eric M. Ludlam  <eric@siege-engine.com>

	* dlg-class.el:
	A boundp should have been fboundp in data-valid-color-p

1997-01-29  Eric M. Ludlam  <eric@siege-engine.com>

	* dialog.texi:
	changed "Dialog" to "Dialog Mode" in title

	* dlg-class.el, dlg-config.el:
	changed the name of dialog.el to dialog-mode.el

	* eieiocomp.el: New file.

	* dialog-mode.el:
	Renamed this file.  Added some comments, and fixed xemacs color loader

1997-01-26  Eric M. Ludlam  <eric@siege-engine.com>

	* dlg-class.el, dialog-mode.el:
	Fixed typo

	* dialog.texi: fixed the includes

	* dialog.texi:
	Fixed @includes to new file names

1997-01-24  Eric M. Ludlam  <eric@siege-engine.com>

	* tree.el: Updated some documentation

	* dialog-mode.el: Fixed up documentation.

	* dlg-config.el: changed doc strings

	* eieio-doc.el: fixed documentation strings

1997-01-23  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el:
	Modified all doc strings to conform to standards.
	Modified all cl things to be more robust when loading.
	Added eieio-hook run whenever defmethod is called.

1997-01-21  Eric M. Ludlam  <eric@siege-engine.com>

	* d-config.texi: Re ran doc generator

	* d-widget.texi: Re-ran with new hierarchy

	* dialog.texi, eieio.texi:
	Updated.

1997-01-19  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el: Iffed out imenu for XEmacs

	* e-config.el:
	Added XEmacs specific checks, including completely disableing those
	dialogs which make no sense there.

	* dlg-config.el:
	Added XEmacs specific fixes, particularly around face/font management.
	Make dlg-bunch-of-simple-toggles smart enough to throw out variables
	which are not bound.

	* dlg-class.el:
	Added XEmacs specific fixes, particularly around face/font management
	and lack of working replace-match

1997-01-18  Eric M. Ludlam  <eric@siege-engine.com>

	* dlg-config.el:
	Added help button to config frame.  Added new info button.  Added help
	functions to all buttons which didn't already have help.  Updated
	string-to-list functions to be more configurable.

	* dlg-class.el:
	Fixed bugs with data-object-symbol's edit-config-file method when
	dealing with `nil' as a list

	* e-config.el:
	Updated to fix bugs found when testing the auto-edit feature.

	* ecfg-menu.el:
	Added new menu items for ange-ftp, dired, citation, bookmarks, and
	ispell.  Added the autoload calls.  Made submenu for mail related
	items.

	* e-config.el:
	Turned all blocks of toggles into dlg-bunch-of-simple-toggles calls,
	and added many new dialog boxes including ange-ftp, dired, citation,
	bookmarks, and ispell.  Added calls to the new dlg-info-button, took
	advantage of the new widget-help system in many places.

1997-01-16  Eric M. Ludlam  <eric@siege-engine.com>

	* dialog-mode.el:
	Added mode line modifications for dialog mode

1997-01-10  Eric M. Ludlam  <eric@siege-engine.com>

	* widget-i.el, widget-d.el:
	Added support for widget level help

	* dlg-config.el:
	Specialized routines to help build configuration dialog boxes.

	* dlg-class.el:
	Specialized classes for editing configuration items in.

	* dialog-mode.el:
	Added support for widget-level help

1997-01-07  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio-doc.el:
	Fixed compile bugs by moving some things around, and adding some
	parameters or comments

	* e-config.el: Fixed bug in postscript

	* dlg-config.el: Changes to string-to-list

	* dlg-class.el:
	Added new translated version of data-object-symbol (user defined
	translation)

1997-01-04  Eric M. Ludlam  <eric@siege-engine.com>

	* dialog-mode.el, chart.el:
	Added check so this file can be byte-compiled in batch mode

1996-12-20  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el:
	Added special command to update the lisp keywords to include
	defmethod.

1996-12-19  Eric M. Ludlam  <eric@siege-engine.com>

	* dlg-config.el:
	Added a couple utility functions for use with the specialized data
	objects

	* widget-i.el:
	Fixed up option-text widget to be more reliable

	* e-config.el:
	Fixed a few bugs, added lots of ps-print stuff

1996-12-12  Eric M. Ludlam  <eric@siege-engine.com>

	* dialog-mode.el:
	More XEmacs support, and fewer byte-compiler errors.  XEmacs now finds
	background mode more reliably.

	* eieio-doc.el: comment change

	* eieio-opt.el: doc change

	* eieio-comp.el:
	Fixed XEmacs but when printing code with reference byte-code in it.

	* widget-i.el:
	Added some speed optimizations.  Fixed geometry management for groups
	with no children.  Mouse yank in text fixed.  Title added to popup
	menus on option buttons.  Fixed spelling.

	* widget-d.el:
	Spelling fixes.  Added :title to option button to customize menu title
	and prompt string.

	* eieio.el:
	Fixed spelling all over.  Fixed some compiler warnings.  Added hack to
	make edebug print objects and classes nicely.

1996-12-05  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el:
	Added new constants for inicies into classes and objects which were
	not there before.
	Fixed problems with lambda-default.  It behaves like lambda, except it
	has `lambda-default' as the first symbol instead.

1996-11-27  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio-doc.el:
	Fixed string to tex function and some comments

	* eieio.texi:
	Added updated information about call-next-method's new parameter

	* widget-d.el:
	Modified widget-text-field to maintain 2D scrolling info.
	Added widget-text-box, widget-scrolled-text, widget-combo-box,
	widget-arrow-button.
	Updated widget-scale and widget-scrollbar so they worked.

	* eieio.el:
	Added `replacement-args' to call-next-method
	Added new method off default superclass for printing objects with a
	summary

	* dialog-mode.el:
	Added some keyboard bindings
	Made dialog-refresh smarter
	changed dialog-test

	* eieio-opt.el: New file.

	* widget-i.el:
	Added giant text-widget speedups (redraw-smarts, value-cache)
	Added multi-line text widgets
	Added data-object `object-print' method
	Finished Scrollbars & scales, added arrow-button
	Created combo-box (text and option button combo)
	Created scrolled text (scrollbar/multi-line text combination)

1996-11-22  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el:
	Fixed up comments describing the object.
	Added new default-object cache.  (Major speedup)
	Fixed object-p to be faster
	Fixed the signal for no method
	Fixed lambda-default to work as documented under newer default scheme
	When printing, the method tree is reversed so that they appear as
	created.

1996-11-18  Eric M. Ludlam  <eric@siege-engine.com>

	* dialog-mode.el:
	Updated some key bindings, and fixed up the demo some.
	dialog-build-group can now accept a string as the group, and it will
	auto make a frame with that label

	* dlg-class.el:
	fixed docstrings so they could be used in the manual.
	Fixed data-object-command-option which was broken.  (Was evaluating a
	string, not actually reading the string into a list first)

	* eieio-comp.el: Fixed the comments

	* eieio.el:
	Moved all browsing commands into eieio-opt.el
	Added the eieio-attribute-to-initarg command
	Changed oref-default-engine to accept a class as well as an object.

	* widget-d.el:
	Updated all the documentation so it was good enough for the texinfo
	file

	* eieio.texi:
	Added notes about the new eieiodoc-class command for creating
	documentation about classes in texinfo cross-referenced format

	* d-widget.texi, d-dataobj.texi, d-config.texi:
	Fixed typo

1996-11-17  Eric M. Ludlam  <eric@siege-engine.com>

	* d-config.texi, d-dataobj.texi, eieio-doc.el, dialog.texi, d-widget.texi:
	New file.

1996-11-14  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.texi:
	Added documentation referring to the 0.8 upgrade (see eieio.el)

1996-11-13  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el:
	Added a new warning message when there is no method implementations,
	and created new signal symbols no-method-definition and
	invalid-slot-name.

	* eieio.el:
	Translated several things into macros, and fixed a bug in (call-next-method)
	which ignored the superclass

	* dlg-class.el:
	Created more smart defaults to use the object name as the symbol or
	command if needed.  Added feature to string-to-int to protect against
	floating point numbers if needed.

	* e-config.el:
	Updated all widget and data-object initializers to use the new smart
	defaults

	* ecfg-menu.el: mail and rmail were split

1996-11-10  Eric M. Ludlam  <eric@siege-engine.com>

	* dlg-config.el:
	changed the dlg-init box to handle a new parameter, and take up less
	space (4 lines minimum now.)

	* e-config.el:
	Added use of new dlg-init parameterer, and made radio-box in rmail
	better

1996-11-09  Eric M. Ludlam  <eric@siege-engine.com>

	* widget-i.el:
	Upgraded box-drawing, and added some smarter geometry management

	* dialog-mode.el:
	Added a bunch of xemacs support

	* widget-i.el:
	Fixed some xemacs specific bugs and/or errors

	* eieio.el:
	Moved byte-compiler specific stuff into a different file.
	Added more edebug specs for all the different macros, and fixed the
	one for defmethod.

	* eieio-comp.el: New file.

1996-11-07  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el:
	Fixed how classes are created so that defmethod can be called when
	creating accessors.

	* dlg-class.el:
	Added or updated constructors of different types.  Fixed -list-index
	section replacemet routine.

	* widget-d.el:
	Added widget-gadget-translator type

	* widget-i.el: Added gadget-translator type.
	Added optimization for getting values from previous widget.
	Added checks in resizers to avoid non-visual widgets
	Labeled text now defaults it's label to it's name if none is given
	Labels reverse-reference their data objects

	* e-config.el:
	Updated to use the new widget smart defaults

1996-11-01  Eric M. Ludlam  <eric@siege-engine.com>

	* dialog-mode.el:
	Created new dialog-current-parent for use with dialog-build-group.
	Fixed color maker.  Adjusted top-level-shell's init paramters
	Added neat indent properties to -width-writeable macro
	Added dialog-last-maybe-command variable to make maybe command
	frieldlier to commands that like to know when they are repeating themselves.
	Made create-widget not take a parameter, but be backward compatible still.
	Deleted widget-bunch-o-chars.
	changed dialog-test.

	* dlg-class.el: New file.

	* dlg-config.el:
	Removed all class definitions to dlg-class.el
	Updated widget-creators to use new defaults from dialog set.

	* widget-i.el:
	Removed all old `get-*' routines, and made the accessors in widget-d
	Created new heuristic defaults for x and y.
	negative offsets are now `box' smart.
	Boxed widgets can now have selected sides turned on or off.
	Group size calculator is now box smart.
	Gave new smart defaults to frame's label, and label's label.
	Added widget-labeled-text implementation (verify only)
	Added widget-push-button implementation (verify only)
	Fixed radio box button init bug
	Replaced occurances of `widget-bunch-o-chars' with make-string

	* widget-d.el:
	Added load hooks for widget-d file.  Started using accessors.
	Changed initforms of x, y.  Added resizeable flag to visuals
	Changed protection of boxed.   Added box-sides.
	Created new widget-labeled-text group for text fields with labels.
	Created new widget-push-button, to be used instead of widget-button
	which now acts as a basic type from which other buttons inherit.
	Added justification default for option button.

	* eieio.el:
	Fixed :accessor part in class declaration to use methods.
	Fixed some doc strings.  Added lisp indenting and compiling tags to
	some symbols.  Created oset-default to set default values in existing
	classes.  Added object-name-string function.

1996-10-28  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el:
	Removed all reference to classmethods

1996-10-19  Eric M. Ludlam  <eric@siege-engine.com>

	* widget-d.el:
	Added use of normalized coordinates to visuals.  Added handle-motion
	for widgets which want to use motion keystrokes (up, down, etc)

	* widget-i.el:
	Fixed repetitive geometry management call (ick). Fixed frame label
	positioning.  Fixed mouse-color over option & toggle button types.
	Fixed cursor positioning over clicked buttons.  Removed recursive
	input dispatching.  Added ability to create children at the beginning
	of a list.

	* dialog-mode.el:
	Moved geometry management to after construction phase

1996-10-17  Eric M. Ludlam  <eric@siege-engine.com>

	* dialog-mode.el:
	Implemented a new keyboard scheme with `maybe' keys, which will
	execute commands from global map unless a widget is requireing those
	keys.  At this time, the text widget grabs arrow keys for motion, but
	otherwise they are used to navigate around the dialog box.

	* widget-i.el:
	Upgraded some widget input to handle new keyboard scheme

	* eieio.el:
	Fixed XEmacs related byte compilation errors

	* widget-i.el:
	Fixed byte compilation errors associated with XEmacs

1996-10-12  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el:
	Added the ability to byte compile methods using moder emacs lisp
	byte-compiler

	* dlg-config.el, e-config.el, chart.el, dbif-browse.el, widget-i.el:
	Fixed byte-compile warnings

1996-09-27  Eric M. Ludlam  <eric@siege-engine.com>

	* widget-i.el:
	Text widget now attaches itself into a text property for faster access
	by dialog mode.

	* dialog-mode.el:
	Added a way to make input bypass the recursive pass-in using nifty
	text properties.

1996-09-24  Eric M. Ludlam  <eric@siege-engine.com>

	* dialog-mode.el:
	Tried to add some xemacs support, and started using some features of
	regular emacs

	* widget-i.el:
	fixed some event management, and added a little xemacs support

1996-09-21  Eric M. Ludlam  <eric@siege-engine.com>

	* e-config.el, ecfg-menu.el:
	New file.

	* widget-d.el:
	Added navigation list to toplevel shell, and added label list to labes
	for multi-line labels

	* widget-i.el:
	Added ability in all widgets to handle symbol input events.  Labels
	can now display multi-line strings. (thus, buttons can do multiline
	strings.)  toplevel shell now creates a navigation list so TAB and
	M-TAB now navigate widgets forwards and backwards quickly, without
	complex tree searches.  This also speeds up general group input
	distribution.

	* dialog-mode.el:
	Dialog can now load if the current font does not support bold or
	italic.  Added smarter keymap handlers for symbols as well as
	characters and event.  Added meta map, so all meta commands now work
	in text fields.  Fixed dialog-test to not quit whenever alternate
	buffer is shown, and to use positioning deltas

	* dlg-config.el:
	Added many new data objects which know how to save themselves as
	symbols, hooks, disabled-commands, string-numbers, packages etc.  Also
	added the ability to save themselves into a file, either the
	.Xdefaults, or .emacs file.

1996-08-19  Eric M. Ludlam  <eric@siege-engine.com>

	* widget-i.el:
	Added verification speedups for rectangles, and relational positioning
	updates.  Added option buttons, and help clicks for all buttons.

	* widget-d.el:
	Added documentation strings to every field as apropriate

	* eieio.el:
	Added additional documentation support, and speedups using obarrays
	instead of association lists.

1996-08-17  Eric M. Ludlam  <eric@siege-engine.com>

	* dlg-config.el:
	Added commands needed to display the automatic edits in a
	configuration file.

	* dialog-mode.el:
	Added many keymap upgrades, some in the hope of getting xemacs to
	work.  Also added many color loaders.

1996-08-15  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.texi:
	Added new node describing the sample programs.

1996-08-11  Eric M. Ludlam  <eric@siege-engine.com>

	* dlg-config.el: New file.

1996-07-28  Eric M. Ludlam  <eric@siege-engine.com>

	* dialog-mode.el:
	Made a better keymap, added specialized color loader for specialized
	faces, and updated the test case

	* widget-i.el:
	Updated many behaviors, new faces, and added some methods to some
	new widgets

	* widget-d.el:
	Updated some classes, and added a few new ones.

	* eieio.el:
	Added big speedup to method execution by using a more intelligent
	storage system

1996-06-17  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.texi:
	Udated for newer version of eieio

	* widget-d.el:
	Moved some items out of private hands so that they can be worked with

	* dialog-mode.el:
	Fixed insert-overwrite-face so it uses text properties and not overlays
	Fixed dialog-test so some of the faces really exist.

	* widget-i.el:
	Fixed groups so that TAB navigates
	Fixed buttons to use mouse face to make it more efficient

1996-06-16  Eric M. Ludlam  <eric@siege-engine.com>

	* call-tree.el: New file.

1996-06-01  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el:
	Fixed comments in beginning, and added accessors, and attempts at
	using setf with cl.el

	* psql.el:
	Updated many parts to manage the problems created with \\ in lisp
	strings

1996-04-11  Eric M. Ludlam  <eric@siege-engine.com>

	* psql.el:
	Added changes allowing a field to be blank.

1996-04-10  Eric M. Ludlam  <eric@siege-engine.com>

	* tree.el:
	Added ability to change where a parent node appears (top. bottom,
	middle) of children nodes.

	* eieio.el:
	Added speedup by attaching symbols to class names with values being
	indexes into an object.

1996-03-28  Eric M. Ludlam  <eric@siege-engine.com>

	* dbif-browse.el: Removed errant function

	* eieio.texi: Updated documentation

	* tree.el:
	Added more comments, plus eieio-class-tree

	* widget-i.el, widget-d.el, dialog-mode.el, dialog-tree.el:
	New file.

	* eieio.el: *** empty log message ***

	* psql.el, dbif.el, dbif-browse.el:
	New file.

1996-03-27  Eric M. Ludlam  <eric@siege-engine.com>

	* chart.el: New file.

1996-03-23  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.el: *** empty log message ***

1996-03-10  Eric M. Ludlam  <eric@siege-engine.com>

	* tree.el: Forgot to update version

	* tree.el:
	Added some more useful functions, converted classmethods to CLOS
	methods, and discovered "make-string" which speeds up drawing

	* eieio.el:
	Added defgeneric, defmethod and support routines

	* eieio.texi:
	Added details surrounding defgeneric and defmethod.  Updated wish list
	et. all

1996-02-25  Eric M. Ludlam  <eric@siege-engine.com>

	* eieio.texi, tree.el, eieio.el:
	New file.

