This is README_ChangeLog.rtf in view mode; [Download] [Up]
MOKit docs, Copyright ©1992, 1993, 1994 by Mike Ferris. All Rights Reserved. By Mike Ferris -- February 5th, 1994 MOKit Change Log Changes between 0.9.2 and 1.0 - Fixed several Makefile problems that prevented successful building and installing under two different situations. The first problem occurred if you specified a "~" character in the INSTALLROOT for the top-level Makefile. The second problem occurred if you tried to build the library and "." was not in your PATH environment variable (this is especially evident as root). Thanks to Benjamin Koo for finding both. - Fixed a bug in MOStringModifying that caused -replaceAllOccurrencesOf:with: to always return 0 instead of the number of characters changed. Thanks to Art Isbell for finding it. - Fixed an inconsistency in MOMatrix. Matrix is documented as not redisplaying automatically for -setIntercell: and other methods that change the size of the matrix. MOMatrix now follows these conventions. After calling -setIntercell:, -setWidth:ofCol:, or -setHeight:ofRow: automatic recalculation of the size and redisplay will not happen. You must call sizeToCells after you are done changing the layout of the matrix, then display it. Better yet display it by chanting "[[[myMOMatrix superview] opaqueAncestor] display]". This will ensure that, if the matrix shrank, traces of the old one won't remain on the screen. Thanks to Robert Nicholson for pointing out the inconsistency. Also modified the MOMatrix test program to do the right thing. - Fixed a bug in MODocWellPalette that caused it not to be able to be loaded unless MORegexPalette was loaded first. Thanks to Robert Nicholson for finding it. - Fixed a bug in MOMatrix that could cause crashes when add and removing rows or columns. Thanks to Benjamin Koo for finding the problem. I also added some functionality to the MOMatrix test app to allow testing of adding and deleteing rows and columns. - Fixed a minor weirdness in MOString's isEqual: method that caused it not to function properly in certain circumstances if the two objects being compared are of different classes (ie one a subclass of the other). - Changed around the way the +MO_loadClassBundle method that a lot of the classes use works to reduce code size of the +initialize methods. Also made private categories in all objects throughout the kit that have +MO_loadClassBundle. - Changed the library project in the Source directory that used to require a hacked version of ProjectBuilder to open to a Tool type project. Tool projects are supported only in 3.2 and later versions of NextStep. I think that the way it's done now (which is largely thanks to Art Isbell) is better in that it doesn't use non-standard versions of Next's developer apps. To get the full functionality from PB with this project, you should add the following make targets in PB's preferences: "lib", "debuglib", and "profilelib". Pretty self-explanatory. - Added the MOClassVariable class which provides for class variables that keep separate values for all subclasses. Although this is the 1.0 release, this class should be treated as beta. - The Makefile.preambles for all projects which use soft links were updated to build properly in a totally clean directory under PB as well as under the top-level Makefile's control. - Other minor Makefile changes all over the place. - MODocumentWell now handles multiple files (and adds an option for not allowing them to be dragged in). This change necessitated changing the read/write format of the class, and so, MOKit has its first example of typed stream versioning. The new class can read both the old and new typed stream version. - Added smarts to ALL read: methods to check if they are trying to read an object archived with a newer version of the class. All classes now check for this, and if the instance being read was written by a class with a higher version than the one available, an error is printed via NXLogError and the archivable instance variables for the class are filled with default values. As of now, this will make no difference, but when further versions of classes are added, old version will be able to deal without core-dumping. Earlier version of the kit will not handle the situation so gracefully. But the only change in archive format from earlier versions is in MODocumentWell. - Made a couple minor changes to regexp.cinc to avoid a couple of compiler warnings when compiling with DEBUG defined. - Added the MOController, MODocController, MODocManager, and MODocType classes. See the Documentation directory for details. These classes are preliminary. Although this is the 1.0 release, these four classes should be treated as beta. - Added the MODocArchitecture example app. This app shows how to use the document architecture classes included in this release. It shows the capabilities of the classes, and how easy it is to subclass them and get a full-featured document based app. Changes between 0.9.1 and 0.9.2 - Fixed a small syntax error in the floating point regular expression in the MORegexPalette and in the MORegex...Cell documentation. Previously the regular expression would match any character as the decimal point. Now it accepts only a period (.). Note that, where it matters, the sample regular expressions I have included are american style. For dates, I have included european style regular expressions, but I have not done so for floats or other types. - Tuned up most Makefiles a bit. - Made all README files rtf and added a lot of new ones. - Added MODocumentWell class. - Added MODocWellPalette palette. - Added MOStringTest example and test harness for testing MOString and all its subclasses. - Added the DocTemplate directory which contains template type documents for creating standard looking documentation. - Fixed similar bugs in MOString's -initFromFormat:, ..., -setFromFormat:, ..., and -sprintf:, ... methods which caused the new string to be freed after being set. This was a pretty serious error. - Broke MOString into categories and added a lot of new methods. - The regular expression routines used by the MORegex...Cell classes have been modified to not print any error messages unless DEBUG was defined when compiling. The cell classes, deal at least semi-gracefully with errors in the regexp routines, so it is generally not necessary to output text to the console or stderr, or whereever it was going unless you're trying to track something down. - Converted the MOKit Source directory (where the library builds) to ProjectBuilder control. A modified copy of ProjectBuilder must be used to open the PB.project file inside the Source directory. Instructions on how to make a hacked copy of ProjectBuilder can be found in the file README_PBLibraryHack.rtfd. Many thanks to Michael Pizolato for figuring out how to hack PB. The PB hack is not necessary unless you want to build or modify the library under PB control. The makefiles will work from the command line just like for all other PB projects. The new Makefile(s) in the Source directory are ultimately based on Next's regular Makefile architecture. A file (library.make) in the Makefiles directory is included by the Makefile in Source. That file, in turn imports several Next standard Makefiles from /NextDeveloper/Makefiles/app. One new benefit is fat library building support. The other is I get to use ProjectBuilder to maintain the Makefiles and stuff. The library make architecture from the previous release has been completely removed from this release in favor of this new architecture based on the standard Next makefiles. Note that it is NOT necessary to have a hacked ProjectBuilder to compile, modify, etc... the library. - MOString used to return MOString objects from its - substringFrom:to: method and its -tokenize:into: method. It now returns new strings of the same class as the object receiving the message. So if you call - substringFrom:to: on a MOSybaseString, you'll get a MOSybaseString back. Ditto for MOPathStings (more importantly). - MOPathString has been added. It has a lot of methods for dealing with strings as pathnames. Specifically it is designed for file pathnames, but really it can be used for anything similar in format to a file pathname. - Modified the whole kit to peacefully exist under cvs control. This included making the soft links which are found throughout the kit directory self-establishing, adding makefile support for circumventing the annoying incompatibility between next file-package directories and CVS administrative files, and generally a lot of miscellaneous changes.
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.