2014-05-15 Norbert Koch * Makefile (VERSION): XEmacs package 1.09 released. 2014-05-15 Norbert Koch * Makefile (VERSION): XEmacs package 1.08 released. 2014-05-13 Jerry James * .cvsignore: Remove. * .hgignore: New file. * *.el: Restore CVS keyword expansions. * eieio.texi: Ditto. 2010-03-30 Norbert Koch * Makefile (VERSION): XEmacs package 1.07 released. 2010-03-28 Aidan Kehoe * eieio-comp.el: Give byte-compile-compiled-obj-to-list a sane definition, if it's not bound, now that it's no longer always available in bytecomp.el. 2008-02-19 Norbert Koch * Makefile (VERSION): XEmacs package 1.06 released. 2007-11-18 Mike Sperber * eieio.el (eieio-defclass): Add autoload. * Makefile (AUTHOR_VERSION): Updated to CEDET 1.0pre4. 2003-10-31 Norbert Koch * Makefile (VERSION): XEmacs package 1.05 released. 2003-03-09 Ben Wing * Makefile: Delete explicit compile:: and binkit: rules. Don't add custom-load.elc to the list of generated elc's. Use STANDARD_DOCS instead of explicitly giving the targets and dependencies. 2002-11-29 Ben Wing * .cvsignore: Remove files now handled automatically by CVS. * Makefile: Use `compile' instead of hard-coded `all'. 2002-12-06 Rendhalver [Peter Brown] * Makefile (VERSION): XEmacs package 1.04 released. 2002-11-28 Ville Skyttä * Makefile (REQUIRES): Add edebug. * eieio-opt.el (eieio-help-mode-augmentation-maybee): Add a dummy optional argument for `run-hook-with-args'. Kudos to Jerry James. 2002-10-15 Ville Skyttä * Makefile (srckit): Remove. 2002-10-14 Ville Skyttä * Makefile (MANUALS): Removed (unused). 2002-08-12 Rendhalver [Peter Brown] * Makefile (VERSION): XEmacs package 1.03 released. 2002-08-10 Steve Youngs * Sync to Upstream version 0.17 2002-08-08 Steve Youngs * 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 * 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 * .cvsignore: Add generated .info* and .html files. 2002-07-15 Adrian Aichner * compare-strings.el: It's XEmacs, not Xemacs. * eieio-comp.el (eieio-byte-compile-princ-code): Ditto. 2002-07-11 Eric M. Ludlam * linemark.el (linemark-next-in-buffer): Correctly start search when going backward. (linemark-end): Fix doc. 2002-06-27 Eric M. Ludlam * 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 * 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 * 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 * 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 * 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 * 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 * 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 * eieio.el (eieio-require-version): New function. 2002-01-13 Steve Youngs * package-info.in (provides): Update to include all provides. 2002-01-07 Adrian Aichner * Makefile (HTML_FILES): New. * Makefile (HTML_DEP): New. 2001-12-05 Eric M. Ludlam * 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 * eieio-base.el (eieio-persistent): Added extension field. (eieio-persistent-save-interactive): New method. 2001-10-03 Eric M. Ludlam * 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 * 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 * 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 * chart.el (chart-axis-draw): If limits are too small, force increment to 1. 2001-08-21 Eric M. Ludlam * 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 * 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 * 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 * linemark.el: First revision of Line Mark as a part of the EIEIO package. 2001-08-03 Eric M. Ludlam * linemark.el: First revision of Line Mark as a part of the EIEIO package. 2001-08-01 Eric M. Ludlam * 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 * 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 * eieio.el: Added setf method for oref by Arnd Kohrs. 2001-07-12 Eric M. Ludlam * 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 * 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 * eieio-tests.el: Changed all `obj-of-class' calls to `object-of-class' calls. 2001-05-31 Eric M. Ludlam * 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 * 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 * eieio.el: By Daniel Pittman (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 * 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 * eieio.el: Added a type for typep for new classes. Funny inclusion of certain cl scripts. 2001-05-09 Eric M. Ludlam * 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 * 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 * eieio-base.el (eieio-instance-inheritor): Set :type of parent-instance to be `eieio-instance-inheritor-child' 2001-04-27 Eric M. Ludlam * 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 * 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 * 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 * call-tree.el: Added `;;;###autoload' for `call-tree'. 2001-02-19 Eric M. Ludlam * 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 * 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 * eieio-tests.el: Added tests for `make-instance'. 2001-02-16 ponced * 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 * 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 * eieio-base.el: `initialize-instance:eieio-instance-tracker' append new items to the end of the list. 2001-01-31 Eric M. Ludlam * compare-strings.el: Compatibility code for compare-strings. * Project.ede: Project file for EIEIO 2001-01-25 Eric M. Ludlam * eieio.el: Fixed doc for eieio-perform-slot-validation. 2001-01-24 Eric M. Ludlam * 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 * psql.el: Beginnings of conversion to pg.el postgres library. * dbif.el: Various hacks I don't remember. 2001-01-10 Eric M. Ludlam * 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 * eieio-opt.el: Added additional highlighting to classes and methods in *Help* buffers. 2000-12-15 Eric M. Ludlam * 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 * eieio-base.el: Comment updates. * eieio.el: Removed the base classes. 2000-12-07 Eric M. Ludlam * 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 * 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 * 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 * 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 * eieio.el: Added `eieio-instance-inheritor', plus `slot-unbound', and `clone' methods. 2000-11-30 Eric M. Ludlam * 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 * 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 * eieio-custom.el: Enabled :slotofchoice specifier for custom types. 2000-10-11 Eric M. Ludlam * 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 * eieio.texi: Added doc for the new class specifiers. 2000-10-04 Eric M. Ludlam * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * eieio-tests.el: New file. 1999-11-24 Eric M. Ludlam * 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 * eieio-speedbar.el: Fixed random crufty bugs. * eieio-speedbar.el: New file. 1999-11-19 Eric M. Ludlam * 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 * 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 * eieio.texi: Fixed compile errors * eieio.el: Removed "execessive info" in a doc string for find-class. 1999-09-15 Eric M. Ludlam * eieio.texi: Updated to the latest version. Changed all "field" words to "slot" to be compatible with CLOS. 1999-09-10 Eric M. Ludlam * 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 * 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 * 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 * 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 * 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 * eieio.el: Fixed for use under XEmacs 20. Upgraded version number. 1999-06-19 Eric M. Ludlam * eieio.el: Added the function object-assoc-list-safe. 1999-03-18 Eric M. Ludlam * eieio.texi: Patch from Dave Love to create a function index. 1999-03-09 Eric M. Ludlam * Makefile.old: Fixed make of doc rule. * eieio.el: Updated the version number. 1999-02-25 Eric M. Ludlam * 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 * 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 * eieio.el: Removed history party. 1999-02-03 Eric M. Ludlam * 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 * eieio.el, eieio-custom.el: Ran through checkdoc. 1999-01-28 Eric M. Ludlam * 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 * 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 * 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 * 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 * 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 * psql.el: Got it to work again 1998-03-12 Eric M. Ludlam * eieio.el: Doc fixes. 1997-10-17 Eric M. Ludlam * eieio.el: Added an object-write method to the super class. 1997-10-10 Eric M. Ludlam * dialog.texi: Added disclaimer 1997-08-09 Eric M. Ludlam * eieio.el: Made checkdoc compliant 1997-03-01 Eric M. Ludlam * 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 * dlg-class.el: A boundp should have been fboundp in data-valid-color-p 1997-01-29 Eric M. Ludlam * 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 * 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 * 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 * 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 * 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 * 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 * 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 * dialog-mode.el: Added mode line modifications for dialog mode 1997-01-10 Eric M. Ludlam * 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 * 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 * dialog-mode.el, chart.el: Added check so this file can be byte-compiled in batch mode 1996-12-20 Eric M. Ludlam * eieio.el: Added special command to update the lisp keywords to include defmethod. 1996-12-19 Eric M. Ludlam * 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 * 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 * 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 * 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 * 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 * 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 * d-config.texi, d-dataobj.texi, eieio-doc.el, dialog.texi, d-widget.texi: New file. 1996-11-14 Eric M. Ludlam * eieio.texi: Added documentation referring to the 0.8 upgrade (see eieio.el) 1996-11-13 Eric M. Ludlam * 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 * 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 * 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 * 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 * 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 * eieio.el: Removed all reference to classmethods 1996-10-19 Eric M. Ludlam * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * eieio.texi: Added new node describing the sample programs. 1996-08-11 Eric M. Ludlam * dlg-config.el: New file. 1996-07-28 Eric M. Ludlam * 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 * 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 * call-tree.el: New file. 1996-06-01 Eric M. Ludlam * 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 * psql.el: Added changes allowing a field to be blank. 1996-04-10 Eric M. Ludlam * 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 * 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 * chart.el: New file. 1996-03-23 Eric M. Ludlam * eieio.el: *** empty log message *** 1996-03-10 Eric M. Ludlam * 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 * eieio.texi, tree.el, eieio.el: New file.