mirror of
https://github.com/gnustep/libs-base.git
synced 2025-05-30 00:11:26 +00:00
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1927 72102866-910b-0410-8b05-ffd578937521
7331 lines
284 KiB
Text
7331 lines
284 KiB
Text
Thu Oct 31 11:54:42 1996 Andrew McCallum <mccallum@cs.cmu.edu>
|
|
|
|
* Version (SUBMINOR_VERSION): Version 0.2.11.
|
|
|
|
* src/Makefile.in (DIST_FILES): Remove include/config-win32.sed.
|
|
|
|
* src/NSString.m (HAVE_REGISTER_PRINTF_FUNCTION): Move definition
|
|
below #include's.
|
|
|
|
* checks/nsnotification.m ([Observer -gotNotificationFoo:]): Don't
|
|
use %@ inside printf().
|
|
([Observer -gotNotificationFooNoObject:]): Likewise.
|
|
|
|
* checks/nshashtable.m (main): Avoid adding 0 to the hashtable,
|
|
because that is currently the o_hash_not_an_element_marker.
|
|
|
|
* src/BinaryCStream.m ([BinaryCStream
|
|
-encodeValueOfCType:at:withName:name]): Use intermediate float
|
|
value.
|
|
([BinaryCStream -decodeValueOfCType:at:withName:]): Likewise.
|
|
|
|
* src/stringsfile.y: Remove duplicated content.
|
|
* src/stringsfile.l: Likewise.
|
|
|
|
* src/StdioStream.m: Fix typo. That's HAVE_STRERROR, not
|
|
HAS_STRERROR.
|
|
|
|
* src/BinaryCStream.m ([BinaryCStream
|
|
-decodeValueOfCType:at:withName:]): Don't make float and double
|
|
`volatile'. It conflicts with memcpy.
|
|
([BinaryCStream -encodeValueOfCType:at:withName:name]): Likewise.
|
|
|
|
* src/Makefile.in (DEFS): Add comment.
|
|
|
|
* src/NSDictionary.m: Include Foundation/NSException.h to get
|
|
NSInvalidArgumentException.
|
|
|
|
* src/NSCalendarDate.m ([NSCalendarDate
|
|
-descriptionWithCalendarFormat:locale:]): Remove unused variables
|
|
MS and DS. Avoid warning by not trying to sprintf() a zero-length
|
|
string.
|
|
|
|
* src/include/NSZone.h: Include gnustep/base/config.h instead of
|
|
preface.h; otherwise we get a dependancy loop on the definition on
|
|
NSZone.
|
|
* src/o_array.m: Include gnustep/base/preface.h first.
|
|
|
|
* src/Makefile.in (HEADERS_INSTALL): Added include/config.h.
|
|
(install): Don't install include/config.h specially, it's now done
|
|
with the rest of the HEADERS_INSTALL files.
|
|
(ALL_CPPFLAGS): Don't pass `-include include/config.h' since
|
|
include/preface.h now does that.
|
|
* src/include/preface.h.in: Include <gnustep/base/config.h>, and
|
|
do it first.
|
|
|
|
* src/NSUser.m (NSUserName): Make is work for SOLARIS. (Reported
|
|
by M. Decugis <mds@sepgifbr.sep.de.edf.fr>.)
|
|
|
|
* src/NSUserDefaults.m ([NSUserDefaults -initWithUser:]): Don't
|
|
try to append to a immutable string!
|
|
([NSUserDefautls +standardUserDefaults]): When creating a new
|
|
defaults, return it, not nil! (Reported by M. Decugis
|
|
<mds@sepgifbr.sep.de.edf.fr>.)
|
|
|
|
* src/BinaryCStream.m ([BinaryCStream
|
|
-encodeValueOfCType:at:withName:name]): Use memcpy() instead of
|
|
assignment to get the floats and doubles from the `at:' argument.
|
|
([BinaryCStream -decodeValueOfCType:at:withName:]): Likewise, for
|
|
setting the values. (Reported by M. Decugis
|
|
<mds@sepgifbr.sep.de.edf.fr>.)
|
|
|
|
* src/NSPage.m (getpagesize) [__SOLARIS__]: Define as macro making
|
|
proper sysconf call. (Reported by M. Decugis
|
|
<mds@sepgifbr.sep.de.edf.fr>.)
|
|
(NSPageSize): Remove the dependancy on __mach__ to a #define above.
|
|
|
|
* configure.in: Use config/config.vsprintf.c to define
|
|
VSPRINTF_RETURNS_LENGTH. Deal with different systems for which
|
|
vsprintf() returns either the length or the char*.
|
|
* Makefile.in (DIST_FILES): Added config/config.vsprintf.c.
|
|
* config/config.vsprintf.c: New file.
|
|
* src/include/preface.h.in (VSPRINTF_LENGTH): New macro;
|
|
definition depends on VSPRINTF_RETURNS_LENGTH.
|
|
* src/MemoryStream.m ([MemoryStream -writeFormat:arguments:]): Use
|
|
VSPRINTF_LENGTH.
|
|
* src/NSString.m ([NSString -initWithFormat:arguments:]): Likewise.
|
|
* src/String.m ([String -initWithFormat:arguments:]): Likewise.
|
|
([String -initWithCFormat:arguments:]): Likewise.
|
|
* acconfig.h: Add VS_PRINTF_RETURNS_LENGTH.
|
|
|
|
* src/RunLoop.m ([RunLoop -limitDateForMode:]): Bracket timer
|
|
firing with a retain/release of the MIN_TIMER. (Reported by
|
|
Richard Frith-Macdonald <richard@brainstorm.co.uk>.)
|
|
|
|
* Heap.m: Fix index comparisons. (From Richard Frith-Macdonald
|
|
<richard@brainstorm.co.uk>.)
|
|
|
|
* src/include/RunLoop.h (RunLoop _mode_2_fd_speakers): New ivar.
|
|
([RunLoop]): Added new methods for notification of readiness of file
|
|
descriptors for reading and writing. Done by Richard
|
|
Frith-Macdonald <richard@brainstorm.co.uk>.
|
|
* src/RunLoop.m: Added implementation of new methods for
|
|
notification of readiness of file descriptors for reading and
|
|
writing. Done by Richard Frith-Macdonald
|
|
<richard@brainstorm.co.uk>.
|
|
* examples/first-server.m: Added test of RunLoop FD listening.
|
|
Done by Richard Frith-Macdonald <richard@brainstorm.co.uk>.
|
|
|
|
* src/mframe.m (method_types_get_next_argument): Do weird argframe
|
|
workaround not just on m68k, but on all NeXT systems. (Reported
|
|
by Richard Frith-Macdonald <richard@brainstorm.co.uk>.)
|
|
|
|
* src/RunLoop.m ([RunLoop -acceptInputForMode:beforeDate:]): Fix
|
|
assignment of TIMEOUT.TV_USEC. (Reported by Richard
|
|
Frith-Macdonald <richard@brainstorm.co.uk>.)
|
|
|
|
Wed Oct 23 11:19:05 1996 Scott Christley <scottc@net-community.com>
|
|
|
|
* src/Makefile.sed.nt: Link with ObjC runtime DLL library
|
|
when making gnustep-base a DLL.
|
|
* src/NSProcessInfo.m (main): Initialize network library for Win32.
|
|
* src/RunLoop.m (-acceptInputForMode:beforeDate:): When determining
|
|
which ports are ready for reading, don't assume that file
|
|
descriptor for FD_ISSET is an integer. Maintain list of ports
|
|
we are listening to so that we check those exact ports when
|
|
determining which are ready for reading.
|
|
* src/TcpPort.m (invalidate): Use closesocket function on Win32.
|
|
(_getPacketSize:andReplyPort:fromSocket:inPort:): Use recv instead
|
|
of read for Win32 as read doesn't work for sockets.
|
|
(_fillFromSocket:): Likewise.
|
|
(_writeToSocket:withReplySockaddr:): Use send instead of write
|
|
for Win32 as write doesn't work for sockets.
|
|
* src/behavior.m: Don't directly access the ObjC runtime uninstalled
|
|
dtable variable, use the public function instead.
|
|
* src/objc-load.m: Likewise.
|
|
* checks/Makefile.sed.nt: Add specific targets for tcpport-server
|
|
and tcpport-client. Remove unneeded definitions.
|
|
|
|
Tue Oct 15 15:29:07 1996 Adam Fedor <fedor@wave.Colorado.edu>
|
|
|
|
* src/objc-load.c: Use gnu names for objc_load_modules and
|
|
objc_unload_modules functions as defined in header.
|
|
* src/include/objc-load.h (objc_load_modules, objc_unload_modules):
|
|
Use Class not Class*.
|
|
|
|
Fri Oct 18 10:45:10 1996 Scott Christley <scottc@net-community.com>
|
|
|
|
* Makefile.sed.nt: Always force gnustep/base target.
|
|
* src/NSDate.m (+timeIntervalSinceReferenceDate): Use native
|
|
Win32 functions to obtain current time.
|
|
* src/Time.m (gettimeofday): Win32 implementation, not year
|
|
2000 compliant so don't use it.
|
|
* src/include/NSZone.h: Include preface.c so that NSZone gets
|
|
configuration settings.
|
|
|
|
Wed Oct 16 10:01:23 1996 Scott Christley <scottc@net-community.com>
|
|
|
|
* checks/nsdate.m: New file.
|
|
* src/NSCalendarDate.m: New file.
|
|
* checks/Makefile.in: Add test program for NSDate classes.
|
|
* src/Makefile.in (GNUSTEP_MFILES: Add NSCalendarDate.m.
|
|
* src/NSDate.m: Eliminate use of NSConcreteDate. Utilize the
|
|
NSCalendarDate class for implementing some methods.
|
|
* src/include/NSDate.h: Add NSCalendarDate interface.
|
|
|
|
Tue Oct 1 12:56:09 1996 Nicholas Christopher <nwc@gun.com>
|
|
|
|
* NSString.m: Added initWithContentsOfFile: and
|
|
propertyListFromStringsFileFormat:.
|
|
* stringsfile.l, stringsfile.y: New files.
|
|
|
|
Fri Oct 25 20:22:37 1996 Andrew McCallum <mccallum@cs.cmu.edu>
|
|
|
|
* src/StdioStream.m (strerror) [!HAS_STRERROR]: New function from
|
|
Richard Frith-Macdonald <richard@brainstorm.co.uk>.
|
|
* configure.in: Check for strerror().
|
|
|
|
Fri Sep 27 10:33:07 1996 Adam Fedor <fedor@pulse.Colorado.edu>
|
|
|
|
* aclocal.m4 (OBJC_CON_AUTOLOAD): New macro. Explicit check for
|
|
constructor loading.
|
|
(OBJC_SYS_AUTOLOAD): Insert '_cv' in cache variable name to get it
|
|
to cache correctly.
|
|
(OBJC_SYS_DYNAMIC_LINKER): Use headers to determine linker. Check
|
|
for libraries separately.
|
|
(OBJC_SYS_DYNAMIC_FLAGS): Check to see if '-shared' load flag
|
|
works (for DEC Alpha).
|
|
|
|
Thu Sep 26 12:39:18 1996 Adam Fedor <fedor@pulse.Colorado.edu>
|
|
|
|
* src/ostream.m (ostream_close_memory): Change to
|
|
OSTREAM_SAVEBUFFER constant.
|
|
|
|
Wed Sep 25 18:32:14 1996 Scott Christley <scottc@net-community.com>
|
|
|
|
* src/include/config-win32.sed: Delete file.
|
|
* src/include/config-win32.h: Changes for new config.h.in.
|
|
* configure.bat: Changes for new config.h.in.
|
|
* src/Makefile.sed.nt: Changes for new config.h.in. Make sure
|
|
preface.h is created before creating gnustep/base directory.
|
|
* src/NSUserDefaults.m: Don't include header file for Win32.
|
|
* src/Time.m: Specialized time routines for Win32.
|
|
|
|
* src/Makefile.in (distclean): Remove generated files.
|
|
* admin/example.patch: Remove CVS keywords.
|
|
* src/NXStringTable.m: Likewise.
|
|
* src/dld-load.h: Likewise.
|
|
* src/hpux-load.h: Likewise.
|
|
* src/include/objc-load.h: Likewise.
|
|
* src/null-load.h: Likewise.
|
|
* src/objc/NXStringTable.h: Likewise.
|
|
* src/simple-load.h: Likewise.
|
|
|
|
Fri Oct 25 18:42:45 1996 Andrew McCallum <mccallum@cs.cmu.edu>
|
|
|
|
* src/NSSet.m ([NSSet -anyObject]): Implemented.
|
|
|
|
* src/NSDictionary.m ([NSDictionary
|
|
+dictionaryWithObjectsAndKeys:]): New method.
|
|
|
|
Wed Sep 25 08:47:33 1996 Andrew McCallum <mccallum@cs.cmu.edu>
|
|
|
|
* Version (SUBMINOR_VERSION): Version 0.2.10.
|
|
|
|
* src/NSString.m ([NSString -initWithFormat:arguments:]): Fix bug
|
|
whereby multiple %@'s in the same format string created incorrect
|
|
output.
|
|
|
|
* examples/second-client.m: Don't pass %@ directives to printf();
|
|
use %s and -cStringNoCopy instead.
|
|
* examples/second-server.m: Likewise.
|
|
|
|
* doc/install.texi: Add the installation step.
|
|
|
|
Tue Sep 24 11:20:06 1996 Andrew McCallum <mccallum@cs.cmu.edu>
|
|
|
|
* Makefile.in (mostlyclean, clean, distclean, maintainer-clean):
|
|
Reverse order of subdir-cleaning and topdir-cleaning so that we
|
|
don't force the Makefile to automatically run ./configure for us,
|
|
(which sometimes happens in the wrong way).
|
|
|
|
* src/NSString.m ([NSString -copy]): New method. Now -copy sent
|
|
to strings should work. (Added temporarily until this problem is
|
|
fixed by me overhaul of the string classes to separate Core and
|
|
NonCore methods.)
|
|
* checks/string.m (main): Add tests for -copy and -mutableCopy.
|
|
|
|
* src/ostream.m (ostream_open_memory): Cast (const char*) to
|
|
(char*) when passing to MemoryStream -init... method.
|
|
|
|
* examples/second-client.m (main): Rename `exception' to
|
|
`localException'. (Reported by Erich Stefan Boleyn
|
|
<erich@uruk.org>.)
|
|
|
|
* admin/HOWTO-patches: Update from libobjects terminology to
|
|
gstep-base terminology.
|
|
|
|
* doc/install.texi: Mention specification of the GNU runtime in
|
|
the GNUstep-specific instructions.
|
|
|
|
* configure.in: Warn the user that GNUstep doesn't work with the
|
|
NeXT Objective C runtime.
|
|
|
|
* src/BinaryCStream.m: Check HAVE_VALUES_H before trying to
|
|
include <values.h>; use <sys/types.h> if we don't.
|
|
* configure.in: Add check for <values.h> needed by
|
|
BinaryCStream.m.
|
|
(Reported by Gregor Hoffleit <flight@mathi.uni-heidelberg.de>.)
|
|
|
|
* src/NSUserDefaults.m: Don't try to include NeXT's headers; just
|
|
include GNUstep headers.
|
|
* src/include/NSUserDefaults.h: Likewise.
|
|
(Reported by Gregor Hoffleit <flight@mathi.uni-heidelberg.de>.)
|
|
|
|
* src/ostream.m (ostream_close_memory): Send -setFreeWhenDone:NO to
|
|
the MemoryStream, not -release.
|
|
* src/MemoryStream.m ([MemoryStream -setFreeWhenDone:]): New
|
|
method.
|
|
* src/include/MemoryStream.h: Declare new method.
|
|
(Reported by Adam Fedor <fedor@wave.Colorado.edu>.)
|
|
|
|
* aclocal.m4: Do forgotten renames of ac_cv_sys_dld and
|
|
ac_cv_sys_autoload to objc_cv_sys_dld and objc_cv_sys_autoload.
|
|
(Reported by Nick Christopher <nwc@wsc.com>.)
|
|
|
|
* src/include/objc-gnu2next.h: Don't include
|
|
gnustep/base/objc-malloc.h.
|
|
|
|
* src/NSSet.m ([NSMutableSet -addObjectsFromArray:]): Implemented.
|
|
|
|
Wed Sep 18 09:11:44 1996 Andrew McCallum <mccallum@cs.cmu.edu>
|
|
|
|
* Version (SUBMINOR_VERSION): Version 0.2.9.
|
|
|
|
* src/NSString.m (HAVE_REGISTER_PRINTF_FUNCTION): Temporarily set
|
|
this to 0 until I figure out when register_printf_function's
|
|
output handler function takes `va_list' and when it takes
|
|
`void**'.
|
|
|
|
* src/TcpPort.m: Use new ivar name eof_position, not old
|
|
eofPosition.
|
|
|
|
* src/include/NSZone.h: Don't include gnustep/base/config.h.
|
|
|
|
Tue Sep 17 16:44:15 1996 Andrew McCallum <mccallum@cs.cmu.edu>
|
|
|
|
* src/ostream.m (ostream_open_memory): Use new MemoryStream method
|
|
to specify that buffer should not be deallocated when MemoryStream
|
|
is deallocated. Don't do the extra retain that was the previous
|
|
workaround.
|
|
* src/MemoryStream.m: Rename all uses of ivar eof_position.
|
|
([MemoryStream -_initOnMallocBuffer:freeWhenDone:size:
|
|
eofPosition:prefix:position:]): Method name changed to include
|
|
freeWhenDone:. Set new ivar.
|
|
([MemoryStream -_initOnMallocBuffer:size:
|
|
eofPosition:prefix:position:]): New method (with old name) that
|
|
calls above method with `YES' for freeWhenDone:.
|
|
* src/include/MemoryStream.h: Declare new method.
|
|
(MemoryStream free_when_done): New ivar.
|
|
(MemoryStream eof_position): Ivar renamed from eofPosition, to
|
|
conform to GNU coding standards.
|
|
|
|
* src/Makefile.in (GNU_MFILES): Rename objc_streams.m to
|
|
ostream.h.
|
|
(GNU_HEADERS): Rename objc_streams.h to ostream.h.
|
|
* src/ostream.m: File renamed from src/objc_streams.m. Fix
|
|
copyright date, and make minor formatting changes.
|
|
* src/ostream.h: File renamed from src/objc_streams.h. Fix
|
|
copyright date, and make minor formatting changes.
|
|
|
|
* src/MemoryStream.m (MEMORY_CHECK): Macro deleted. objc_malloc()
|
|
and friends take care of raising the correct exception. All calls
|
|
removed.
|
|
|
|
Tue Sep 17 11:43:23 1996 Adam Fedor <fedor@pulse.Colorado.edu>
|
|
|
|
* src/Makefile.in (GNU_MFILES): Add new file.
|
|
(GNU_HEADERS): Likewise.
|
|
|
|
* src/MemoryStream.m ([MemoryStream
|
|
-initWithSize:prefix:position:]): Add error checking.
|
|
([MemoryStream -writeBytes:length:]): Likewise.
|
|
([MemoryStream -setStreamBufferCapacity:]): Likewise.
|
|
* src/StdioStream.m ([StdioStream -initWithFilename:fmode]): Add
|
|
error checking.
|
|
([StdioStream -initWithFileDescriptor:fmode]): Likewise.
|
|
([StdioStream -writeBytes:length:]): Likewise.
|
|
([StdioStream -readBytes:length:]): Likewise.
|
|
|
|
* src/Stream.m ([Stream -writeFormat:]): Implement.
|
|
([Stream -setStreamPosition:]): Likewise.
|
|
* src/MemoryStream.m ([MemoryStream -writeFormat:arguments:]):
|
|
Implement instead of writeFormat:. ([MemoryStream
|
|
-setStreamPosition:seekMode:]): Implement instead of
|
|
-setStreamPostion:.
|
|
* src/StdioStream.m ([StdioStream -writeFormat:arguments:]):
|
|
Implement instead of writeFormat:. ([StdioStream
|
|
-setStreamPosition:seekMode:]): Implement instead of
|
|
-setStreamPostion:.
|
|
|
|
* src/objc_streams.m: New file.
|
|
* src/base/objc_streams.h: New file.
|
|
|
|
* src/base/Stream.h: Declare new exception.
|
|
* src/Stream.m: Define it.
|
|
|
|
* src/base/Streaming.h: Add new enum type. Add
|
|
-setStreamPostion:seeMode: to protocol.
|
|
|
|
Tue Sep 17 10:33:31 1996 Andrew McCallum <mccallum@cs.cmu.edu>
|
|
|
|
* doc/install.texi: Fix typo in use of @code{}.
|
|
|
|
* src/md5.c: Don't include config.h.
|
|
|
|
* Makefile.in (DIST_FILES): Added contents of RCS_FILES. Added
|
|
acconfig.h.
|
|
(RCS_FILES): Variable removed.
|
|
|
|
* doc/gnustep-faq.texi: Cause the time stamp to be updated
|
|
automatically by Emacs.
|
|
|
|
* src/NSScanner.m ([NSScanner -scanRadixUnsignedInt:]): New
|
|
method.
|
|
([NSScanner -_scanInt:]): Deal with overflow better. (?)
|
|
([NSScanner -scanLongLong:]): Likewise.
|
|
* src/include/NSScanner.h: Declare new method.
|
|
* checks/nsscanner.m: Test new method, -scanRadixUnsignedInt:.
|
|
Changes from Eric Norum <Eric.Norum@usask.ca>.
|
|
|
|
* src/NSObject.m ([NSObject -doesNotRecognizeSelector:]): Raise
|
|
NSInvalidArgumentException, not NSGenericException. (Reported by
|
|
Jeremy Bettis <jeremy@tddi.inetnebr.com>.)
|
|
|
|
Mon Sep 16 20:11:54 CDT 1996 Jeremy Bettis <jeremy@hksys.com>
|
|
|
|
* src/HashTable.m ([HashTable -isKey]): Updated isKey to use the new
|
|
hash_value_for_key function in the runtime, and thereby allow for
|
|
nulls in HashTables.
|
|
|
|
Mon Sep 16 15:08:42 1996 Andrew McCallum <mccallum@cs.cmu.edu>
|
|
|
|
* aclocal.m4 (DYNAMIC_LINKER): Put double quotes around some
|
|
$-variable dereferences. (Reported by Richard Frith-Macdonald
|
|
<richard@brainstorm.co.uk>.)
|
|
|
|
* src/o_vscanf.c: Include <objc/objc-api.h>. (Reported by Richard
|
|
Frith-Macdonald <richard@brainstorm.co.uk>.)
|
|
|
|
* src/include/preface.h.in: Don't include gnustep/base/config.h.
|
|
Note, this file used to define NeXT_runtime and NeXT_cc. These
|
|
macros will no longer be available to library users.
|
|
|
|
* src/include/config.h.in: File removed. It is not automatically
|
|
generated by autoheader in src/Makefile.
|
|
|
|
* src/o_vscanf.c: Don't include no-longer-existant
|
|
gnustep/base/objc-malloc.h. (Reported by Adam Fedor.)
|
|
|
|
* src/Makefile.in (include/config.h.in): New dependancy.
|
|
(include/config.h): New dependancy.
|
|
(ALL_CPPFLAGS): Added -include argument to have gcc look at
|
|
include/config.h. It is no longer included in include/preface.h
|
|
because other packages that use the installed Base Library may
|
|
have their own ideas about these macro values.
|
|
|
|
* acconfig.h: New file, needed for autoheader.
|
|
|
|
* configure.in: Use AC_CONFIG_HEADER to put config macros in a
|
|
file instead of on gcc's command line. Use AC_DEFINE_UNQUOTED to
|
|
set NeXT_runtime and NeXT_cc instead of using AC_SUBST.
|
|
|
|
* make-dist-diff (diff): Add -N flag so new files will get
|
|
created.
|
|
|
|
Sat Sep 7 13:37:32 1996 Andrew McCallum <mccallum@cs.cmu.edu>
|
|
|
|
* Version (SUBMINOR_VERSION): Version 0.2.8.
|
|
|
|
Beginning of changes related to use of new Objective C runtime.
|
|
|
|
* Makefile.in (DIST_FILES): Remove gcc-objc.patch. Add
|
|
gcc-2.7.2-objc.diff and gcc-2.7.2.1-objc.diff.
|
|
|
|
* configure.in: Insert -lobjc before rest of LIBS, not after.
|
|
|
|
* src/include/NSThread.h: Remove underscore from front of
|
|
objc_thread type.
|
|
|
|
* src/NSObject.m: Remove underscores from front of objc_mutex
|
|
types.
|
|
([NSObject -error:]): Use objc_verror(), not _objc_error.
|
|
|
|
* doc/install.texi: Refine instructions for installing pthreads.
|
|
Wow, is it yucky.
|
|
|
|
* configure.in: Remove check for sel_types_match. That patch was
|
|
added long ago.
|
|
|
|
* src/include/preface.h.in (OBJC_STRINGIFY): New macro.
|
|
|
|
* src/include/preface.h.in: Don't include objc-malloc.h.
|
|
|
|
* src/Foundation/NSLock.h: Remove underscore from before
|
|
objc_mutex_t.
|
|
|
|
* src/include/preface.h.in (OBJC_MALLOC): Macro moved here from
|
|
src/include/objc-malloc.h.
|
|
(OBJC_VALLOC): Likewise.
|
|
(OBJC_ATOMIC_MALLOC): Likewise.
|
|
(OBJC_REALLOC): Likewise.
|
|
(OBJC_CALLOC): Likewise.
|
|
(OBJC_FREE): Likewise.
|
|
|
|
* src/mframe.m: Don't include objc-malloc.h.
|
|
* src/RNGAdditiveCongruential.m: Likewise.
|
|
* src/NSAutoreleasePool.m: Likewise.
|
|
* src/MemoryStream.m: Likewise.
|
|
* src/AutoreleasePool.m: Likewise.
|
|
|
|
* src/Makefile.in (GNU_MFILES): Remove objc-malloc.m.
|
|
(GNU_HEADERS): Remove include/objc-malloc.h.
|
|
|
|
* src/mframe.m (mframe_build_return): In accordance with Objective
|
|
C runtime change, use objc_malloc as a function, not a function
|
|
pointer.
|
|
* src/behavior.m (behavior_class_add_methods): Likewise.
|
|
* src/Storage.m ([Storage -initCount:elementSize:description:]):
|
|
Likewise.
|
|
([Storage -shallowCopy]): Likewise.
|
|
([Storage -read:]): Likewise.
|
|
* src/Storage.m ([Storage -initCount:elementSize:description:]):
|
|
Likewise.
|
|
* src/NSMutableData.m ([NSMutableData -initWithCapacity:]): Likewise.
|
|
* src/NSGData.m ([NSGMutableData -initWithCapacity:]): Likewise.
|
|
* src/NSData.m ([NSMutableData -initWithCapacity:]): Likewise.
|
|
* src/NSAutoreleasePool.m ([NSAutoreleasePool -init]): Likewise.
|
|
([NSAutoreleasePool -addObject:]): Likewise.
|
|
* src/MemoryStream.m ([MemoryStream -readLine]): Likewise.
|
|
* src/Invocation.m ([Invocation -initWithCoder:]): Likewise.
|
|
* src/o_vscanf.c (STRING_ARG): Likewise.
|
|
(STRING_ADD_CHAR): Likewise, with objc_realloc.
|
|
* src/NSZone.m: Likewise.
|
|
* src/Storage.m: Likewise.
|
|
* src/MemoryStream.m ([MemoryStream -writeBytes:length:]): Likewise.
|
|
|
|
* doc/install.texi: Update instructions for new Objective C
|
|
runtime patches and for new pthreads.
|
|
|
|
* RELEASE-NOTES: Talk about need for new Objective C runtime to
|
|
compile this release.
|
|
|
|
End of changes related to use of new Objective C runtime.
|
|
|
|
* config.guess: New version from FSF.
|
|
|
|
* doc/Makefile.in: Added some pattern rules, but commented them
|
|
out for now.
|
|
|
|
* src/NSGCString.m ([NSGCString -substringFromRange:]): Don't
|
|
always return a mutable string class; return the same
|
|
mutable/immutable string class as self. This also simplies the
|
|
code.
|
|
|
|
* src/NSGCString.m ([NSGCString -substringFromRange:]): New
|
|
method, overrides superclass method with more efficient
|
|
implementation. (From Eric Norum.)
|
|
|
|
* src/NSScanner.m: Now that NSCharacterSet's does its own caching,
|
|
simplify this code.
|
|
(Changes from Eric Norum <Eric.Norum@usask.ca>.)
|
|
|
|
* src/NSCharacterSet.m (NSCharacterSet_PATH): New macro, replacing
|
|
BITMAP_PATH. Value partially determined by
|
|
GNUSTEP_INSTALL_PREFIX.
|
|
|
|
* configure.in: Use AC_CHECKING instead of `echo', so ./configure
|
|
obeys --quiet and --silent.
|
|
|
|
* src/Makefile.in (DEFS): Add definition of
|
|
GNUSTEP_INSTALL_PREFIX, equal to $(prefix). This is needed by
|
|
NSCharacterSet, so it knows where to find the char set data files.
|
|
|
|
Thu Aug 1 10:42:19 1996 Adam Fedor <fedor@wave.Colorado.edu>
|
|
|
|
* src/NSCharacterSet.m ([NSCharacterSet -_bitmapForSet:number:]):
|
|
Retain cached set.
|
|
|
|
Wed Sep 4 11:29:31 1996 Andrew McCallum <mccallum@cs.cmu.edu>
|
|
|
|
* doc/gnustep-faq.texi (Why don't we separate the OpenStep
|
|
standard classes from the GNU-specific classes?): New Q/A pair.
|
|
(Where can I get a copy?): Removed reference to Rochester's FTP site,
|
|
which will no longer be used, now that I'm at CMU.
|
|
|
|
Mon Sep 2 10:00:05 1996 Andrew McCallum <mccallum@cs.cmu.edu>
|
|
|
|
* Version (SUBMINOR_VERSION): Version 0.2.7.
|
|
|
|
* checks/nsbundle.m: Use new exception variable name.
|
|
* checks/values.m: Likewise.
|
|
|
|
* src/NSString.m ([NSString -substringFromRange:]): Implement it
|
|
using CString's for now so we can get it working; (we'll fix
|
|
everything for Unichar's in the next release).
|
|
|
|
* checks/nsscanner.m: New file from Eric Norum.
|
|
|
|
* Version: Remove spaces around `=' so file can be
|
|
read by sh.
|
|
(VERSION): Use curly braces for sh.
|
|
|
|
* src/NSString.m ([NSString -substringFromRange:]): Fix bug in
|
|
references to string length.
|
|
|
|
* src/NSGArray.m: Declare NonCore classes.
|
|
|
|
* src/NSCharacterSet.m ([NSCharacterSet +_bitmapForSet:number:]):
|
|
Add an abort() after raising the exception, to avoid gcc warning.
|
|
|
|
* Makefile.in (clean): Fix dependancies so we actually clean-top,
|
|
not mostlyclean-top.
|
|
(distclean): Analogously.
|
|
(maintainer-clean): Analogously.
|
|
|
|
Tue Aug 27 13:38:14 1996 Adam Fedor <fedor@pulse.Colorado.edu>
|
|
|
|
* src/Connection.m ([Connection -_service_forwardForProxy]): Use
|
|
new exception variable name.
|
|
* src/NSCharacterSet.m: ([NSCharacterSet -_bitmapForSet:number:]):
|
|
Likewise
|
|
|
|
Sat Aug 24 16:41:01 1996 Adam Fedor <fedor@pulse.Colorado.edu>
|
|
|
|
* src/include/NSException.h (NS_HANDLER): Change local exception
|
|
variable name.
|
|
|
|
Wed Jul 17 16:04:29 1996 Adam Fedor <fedor@wave.Colorado.edu>
|
|
|
|
* NSCharacterSet.m: Cache standard character
|
|
sets. ([NSCharacterSet +initialize]): New method.
|
|
([NSCharacterSet _bitmapForSet:number:]): Return set from cache if
|
|
available, otherwise find bitmap file and add to cache. All
|
|
callers changed.
|
|
|
|
Mon Sep 2 09:23:46 1996 Andrew McCallum <mccallum@cs.cmu.edu>
|
|
|
|
* src/NSString.m ([NSString -substringFromRange:]): Raise correct
|
|
exceptions.
|
|
|
|
* src/Makefile.in (install): Make a soft link from
|
|
`$(includedir)/gnustep/base' to `$(includedir)/objc' the same way
|
|
we do for `$(includedir)/Foundation'.
|
|
|
|
* src/NSString.m ([NSString -getCharacters:range:]): Fix bug in
|
|
buffer index.
|
|
(Reported by Eric Norum <Eric.Norum@usask.ca>.)
|
|
([NSString -rangeOfString:aStringoptions:maskrange:aRange]):
|
|
Implemented. (By Eric Norum.)
|
|
|
|
* src/NSUser.m: Include <Foundation/NSPathUtilities.h>.
|
|
|
|
Sun Aug 25 16:12:49 1996 Andrew McCallum <mccallum@cs.cmu.edu>
|
|
|
|
* checks/Makefile.in (SRCS): Added nsscanner.m from Eric Norum.
|
|
|
|
* src/NSScanner.m: Fix indentation.
|
|
([NSScanner +scannerWithString:]): Rewrite to avoid unnecessary
|
|
local variable.
|
|
([NSScanner -initWithString:]): Call [super init].
|
|
([NSScanner -_scanCharactersFromSet:intoString:]): Method renamed to
|
|
put underscore at the beginning, not in the middle of the method
|
|
name. All callers changed.
|
|
([NSScanner -_skipToNextField]): Likewise.
|
|
([NSScanner +localizedScannerWithString:]): New method, unimplemented.
|
|
([NSScanner -scanDouble:]): Initialize `unichar c' to avoid warning.
|
|
([NSScanner -scanLongLong:]): Don't compare with -(LONG_LONG_MIN),
|
|
this number is out of range since, in two-complement arithmetic,
|
|
we have one more negative number than positive numbers.
|
|
* src/include/NSScanner.h: Include <gnustep/base/preface.h>. Fix
|
|
indentation. Standarize #define wrapper symbol.
|
|
|
|
* src/NSScanner.m, src/include/NSScanner.h: New files from Eric
|
|
Norum.
|
|
|
|
Sun Aug 11 10:54:49 1996 Andrew McCallum <mccallum@cs.cmu.edu>
|
|
|
|
* src/NSUser.m (NSHomeDirectory): Use NSHomeDirectoryForUser
|
|
instead of the HOME environment variable.
|
|
|
|
* src/NSUserDefaults.m: #include <Foundation/NSPathUtilities.h> to
|
|
get declarations for NSUser* functions.
|
|
(NSUserName): Function removed; it can already be found in
|
|
NSUser.m.
|
|
(NSHomeDirectory): Likewise.
|
|
(NSHomeDirectoryForUser): Likewise.
|
|
|
|
* doc/Makefile.in: Fix typo: properly comment out section.
|
|
|
|
* doc/gnustep-faq.texi: English fixes, and move NSScanner to
|
|
`implemented' list.
|
|
|
|
* doc/install.texi: English fixes, and mention --enable-shared
|
|
with Base Library configure directions.
|
|
|
|
* README.foundation: Add note about making a soft link, instead of
|
|
adding #ifdef's to the code.
|
|
|
|
* NSBundle.README: Change name from libobjects to GNUstep Base
|
|
Library.
|
|
* README.first: Likewise.
|
|
|
|
Wed Aug 7 09:06:10 1996 Andrew McCallum <mccallum@cs.cmu.edu>
|
|
|
|
* src/mframe.m (mframe_build_return): Remove comment about users
|
|
responsibility to free returned char*'s; it's no longer true.
|
|
|
|
Mon Aug 5 11:25:30 1996 Andrew McCallum <mccallum@cs.cmu.edu>
|
|
|
|
* src/include/NSArray.h: Remove declaration of NonCore classes;
|
|
just the category is sufficient.
|
|
|
|
Mon Sep 2 09:11:34 1996 Andrew McCallum <mccallum@cs.cmu.edu>
|
|
|
|
* src/mframe.m: Use gcc's __builtin_return smarts to find location
|
|
of `char' and `short' return values; don't use my (possibly wrong)
|
|
guesses.
|
|
(retframe_char): New nested function.
|
|
(retframe_short): New nested function.
|
|
(mframe_do_call) [_C_CHR, _C_UCHR]: Use retframe_char.
|
|
[_C_SHT, _C_USHT]: Use retframe_short.
|
|
|
|
* src/NSObject.m ([NSObject -isKindOfClass:]): Fix formatting.
|
|
|
|
Fri Aug 30 17:00:29 1996 Andrew McCallum <mccallum@cs.cmu.edu>
|
|
|
|
* src/Dictionary.m ([Dictionary -removeObject:]): Implemented
|
|
method. (Needs testing!)
|
|
|
|
Thu Jul 11 21:12:41 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* Version (SUBMINOR_VERSION): Version 0.2.6.
|
|
|
|
Tue Jun 25 12:56:01 1996 Scott Christley <scottc@ocbi.com>
|
|
|
|
* NSCharacterSets/Makefile.in: Remove Makefile when distclean.
|
|
* admin/Makefile.in: Likewise.
|
|
* checks/Makefile.in: Change realclean target to maintainer-clean.
|
|
* doc/Makefile.in: Likewise.
|
|
* examples/Makefile.in: Likewise.
|
|
|
|
* Makefile.in: Clean the subdirectories first before the top
|
|
level directory to avoid configuration loop.
|
|
|
|
* checks/Makefile.sed.nt: Change name of runtime initialization
|
|
routine to use standard "_init_runtime" suffix.
|
|
* checks/nsarchiver.m: Likewise.
|
|
* checks/nsarray.m: Likewise.
|
|
* src/win32-entry.c: Likewise.
|
|
* src/Makefile.in: Likewise. Clean additional files.
|
|
|
|
* src/NSDate.m: Use __WIN32__ macro instead of WIN32.
|
|
|
|
* src/NSTime.m: Implement Win32 specific time routines.
|
|
* src/include/config-win32.h: Likewise.
|
|
|
|
Fri Jun 21 16:45:31 1996 Scott Christley <scottc@ocbi.com>
|
|
|
|
* configure.bat: New filenames for Win32 configuration.
|
|
* src/Makefile.in: (DIST_FILES): Add Win32 configuration files:
|
|
src/include/config-win32.sed, src/include/config-win32.h.
|
|
* src/BinaryCStream.m: Rename WIN32 to __WIN32__ to conform
|
|
to ANSI specifications. Perform any WIN32 customization.
|
|
* src/NSBundle.m: Likewise.
|
|
* src/NSPage.m: Likewise.
|
|
* src/NSProcessInfo.m: Likewise.
|
|
* src/NSUser.m: Likewise.
|
|
* src/NSRunLoop.m: Likewise.
|
|
* src/TcpPort.m: Likewise.
|
|
* src/UdpPort.m: Likewise.
|
|
* src/find_exec.c: Likewise.
|
|
* src/include/TcpPort.h: Likewise.
|
|
* src/include/Time.h: Likewise.
|
|
* src/include/config-nt.sed: Renamed to config-win32.sed.
|
|
* src/include/config-nt.h: Renamed to config-win32.h
|
|
|
|
Thu Jul 11 08:20:34 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/NSAutoreleasePool.m ([NSAutoreleasePool -dealloc]): Remove
|
|
untrue assertion that SELF be this thread's current pool.
|
|
(Reported by Adam Fedor.)
|
|
|
|
* checks/Makefile.in (LIBS): Remove -lmcheck.
|
|
|
|
* Version (SUBMINOR_VERSION): Version 0.2.5.
|
|
|
|
* doc/news.texi: Fix typo, replace @ with @@ in email address.
|
|
|
|
* Version (SUBMINOR_VERSION): Version 0.2.4.
|
|
|
|
* src/NSString.m (PRINTF_ATSIGN_VA_LIST): Reverse sense of test.
|
|
This macro should be defined if libc version is *less than* 5.2.
|
|
|
|
* examples/dictionary.m: Long-overdue update for new collection
|
|
heirarchy.
|
|
* examples/textcoding.m (main): Fix typo in comment.
|
|
* examples/second-server.m: Add comments.
|
|
* examples/second-client.m (main): To avoid warnings: make SERVER
|
|
static; get rid of unused variable.
|
|
* examples/Makefile.in (CFLAGS): Added -Wno-format so we don't get
|
|
complains about the %@ printf directive.
|
|
|
|
* doc/news.texi: Add news about NSUserDefaults, thread-safety, @%,
|
|
and NSPage.
|
|
* doc/readme.texi: Update description of classes, although the
|
|
list is still incomplete.
|
|
|
|
Wed Jul 10 16:28:14 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* doc/gnustep-faq.texi: New Q/A about mixing Objective C and C++.
|
|
Include base-desc.texi for description of Base Library. Update
|
|
"state of development for Base Library. Correct description of
|
|
NeXT's archiving. Add ocbi.com ftp site.
|
|
* doc/base-desc.texi: Improve list of example classes.
|
|
* doc/announce.texi: Fix comments about NeXT's cc.
|
|
* doc/machines.texi: Label as out-of-date.
|
|
* doc/advertisement.texi: Comment out inclusion of machines.texi.
|
|
|
|
* src/NSUserDefaults.m: Fix source to avoid warnings.
|
|
|
|
* src/NSUserDefaults.m: New file from Georg Tuparev.
|
|
* src/include/NSUserDefaults.h: Likewise.
|
|
* src/NSUserDefaults.m, src/include/NSUserDefaults.h: Fix
|
|
formatting to conform to GNU standards.
|
|
* src/Makefile.in (GNUSTEP_MFILES): Added NSUserDefaults.m.
|
|
(GNUSTEP_HEADERS): Added include/NSUserDefaults.h.
|
|
|
|
Tue Jul 9 20:05:16 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* doc/install.texi: Enumerate the steps, and various other
|
|
corrections.
|
|
|
|
* src/RunLoop.m ([RunLoop -acceptInputForMode:beforeDate:]): Free
|
|
fd_2_object before returning in case where select() returned 0.
|
|
(Reported by Marc Decugis <mds@sepgifbr.sep.de.edf.fr>.)
|
|
|
|
Mon Jul 8 21:55:11 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* Version (SUBMINOR_VERSION): Version 0.2.3.
|
|
|
|
* src/Invocation.m ([ArgframeInvocation -dealloc]): Release
|
|
arguments depending on ARGS_RETAINED, not RETURN_RETAINED.
|
|
|
|
* checks/release.m: New file.
|
|
* checks/Makefile.in (SRCS): Added release.m.
|
|
|
|
* src/o_map.m (o_map_remove_node): Function renamed from
|
|
o_map_remove_node_from_its_map(). Free the node after removing
|
|
it! Otherwise, memory leaks and leaks!
|
|
* src/NSObject.m (NSDecrementExtraRefCountWasZero): Call renamed
|
|
function for removing node.
|
|
|
|
* src/NSAutoreleasePool.m (push_pool_to_cache): Avoid unnecessary
|
|
test.
|
|
(pop_pool_from_cache): Don't bother conditionally initializing the
|
|
cache; it will always be initialized when we are here.
|
|
([NSAutoreleasePool -dealloc]): Add assertion.
|
|
([NSAutoreleasePool -reallyDealloc]): New method.
|
|
|
|
Tue May 28 15:39:36 1996 Adam Fedor <fedor@wave.Colorado.edu>
|
|
|
|
* checks/nsmaptable.m: Check for nil map element.
|
|
|
|
* src/Invocation [Invocation -dealloc]: Release return_value
|
|
only if return_retained.
|
|
[ArgframeInvocation -dealloc]: Likewise.
|
|
|
|
Sat Jul 6 09:03:25 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* Version (SUBMINOR_VERSION): gnustep-base version 0.2.2.
|
|
|
|
* doc/install.texi: Describe installation of pthreads.
|
|
|
|
* src/NSObject.m ([NSObject +initialize]): Use
|
|
o_map_with_callbacks(), instead of the short-cut function
|
|
o_map_of_non_owned_void_p_to_int().
|
|
|
|
* src/RunLoop.m ([RunLoop -acceptInputForMode:beforeDate:]): Add
|
|
comment about arbitrary fd port limit. Fix this eventually.
|
|
|
|
* checks/tcpport-client.m (main): When argc == 1, pass nil for
|
|
hostname instead of @"localhost".
|
|
|
|
* checks/string.m (main): Add test of copyWithZone.
|
|
|
|
* src/TcpPort.m ([TcpOutPacket
|
|
-_writeToSocket:withReplySockaddr:]): Use memcpy() instead of
|
|
cast; some systems have trouble with the cast due to alignment
|
|
issues. (Reported by Marc Decugis <mds@sepgifbr.sep.de.edf.fr>.)
|
|
([TcpInPacket +_getPacketSize:andReplyPort:fromSocket:inPort:]):
|
|
Likewise.
|
|
|
|
* configure.in: Clean up echo'ed message for shared library flags.
|
|
|
|
* gcc-objc.patch: New objc runtime patch from Scott Christley.
|
|
* Makefile.in (DIST_FILES): Include gcc-objc.patch instead of
|
|
objc.patch.
|
|
* doc/install.texi: Update instructions for new objc runtime
|
|
patch.
|
|
|
|
* src/Foundation/NSAutoreleasePool.h: Include <string.h> for
|
|
memset().
|
|
|
|
A first attempt at making NotificationDispatcher thread-safe.
|
|
* src/NotificationDispatcher.m ([NotificationDispatcher -init]):
|
|
|
|
Create _LOCK.
|
|
([NotificationDispatcher -dealloc]): New method.
|
|
([NotificationDispatcher
|
|
-_addObserver:notificationRequest:name:object:]): Use _LOCK to
|
|
provide thread-safety. Lock around all access to ivars.
|
|
([NotificationDispatcher -removeObserver:]): Likewise.
|
|
([NotificationDispatcher -removeObserver:name:object:]): Likewise.
|
|
([NotificationDispatcher -postNotification:]): Likewise. All
|
|
Notification postings are serialized. If this weren't true, the
|
|
user would have to worry about all kinds of thread-safety issues
|
|
in unpredictable ways, because there is no way to tell what other
|
|
objects have asked for notification postings.
|
|
* src/include/NotificationDispatcher.h (NotificationDispatcher
|
|
_lock): New ivar.
|
|
|
|
Fix error that occurs when using a TcpOutPort that was created
|
|
with a default hostname.
|
|
|
|
* src/TcpPort.m ([TcpInPort +newForReceivingFromPortNumber:]):
|
|
Terminate the hostname at the first dot before looking up with
|
|
gethostbyname(). If gethostbyname() fails, don't try again with
|
|
"localhost"; signal an error instead.
|
|
([TcpOutPort +newForSendingToPortNumber:onHost:]): When HOSTNAME is
|
|
empty or nil, don't use "localhost", look up the name of the local
|
|
machine, and use that. Before this change we could easily get
|
|
"Can't change reply port of an out port once set" errors.
|
|
|
|
Fri Jul 5 08:59:26 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
Use more-efficient o_map instead NSMapTable for retain counts.
|
|
|
|
* src/NSObject.m (retain_counts): Make it an o_map instead of
|
|
NSMapTable; (o_map is more efficient).
|
|
(NSIncrementExtraRefCount): Use o_map interface.
|
|
(NSDecrementExtraRefCountWasZero): Likewise.
|
|
([NSObject +initialize]): Likewise.
|
|
([NSObject -retainCount]): Likewise.
|
|
|
|
* src/o_map.m (o_map_node_for_key): New function, non-static, for
|
|
efficient implementation of NSObject retain count management.
|
|
(o_map_remove_node_from_its_map): Likewise.
|
|
|
|
Thu Jul 4 21:00:42 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
Make -retain/-release counts thread-safe.
|
|
|
|
* src/NSObject.m (retain_counts_gate): New static variable, mutex
|
|
for protecting RETAIN_COUNTS.
|
|
(NSIncrementExtraRefCount): Use it.
|
|
(NSDecrementExtraRefCountWasZero): Likewise.
|
|
([NSObject -retainCount]): Likewise.
|
|
([NSObject +initialize]): Allocate RETAIN_COUNTS_GATE.
|
|
|
|
Tue Jun 11 14:50:20 1996 Andrew McCallum <mccallum@pad>
|
|
|
|
Make NSAutoreleasePool thread-safe.
|
|
|
|
* src/include/NSAutoreleasePool.h (struct
|
|
autorelease_thread_vars): New structure declared.
|
|
(struct autorelease_cache): Structure declaration removed.
|
|
(init_autorelease_thread_vars): New static inline function.
|
|
|
|
* src/NSAutoreleasePool.m (ARP_THREAD_VARS): New macro for
|
|
accessing NSAutoreleasePool's per-thread variables.
|
|
(current_pool): Static variable removed.
|
|
(total_autoreleased_objects_count): Likewise.
|
|
(autorelease_pool_cache): Likewise.
|
|
(autorelease_pool_size): Likewise.
|
|
(autorelease_pool_count): Likewise.
|
|
(push_pool_to_cache): Add (struct autorelease_thread_vars*) argument.
|
|
All callers changed.
|
|
(pop_pool_from_cache): Likewise.
|
|
(push_pool_to_cache): Likewise.
|
|
(init_pool_cache): New function.
|
|
([NSAutoreleasePool +initialize]): Don't initialize the
|
|
autorelease_pool_cache here.
|
|
([NSAutoreleasePool +init]): Use per-thread variables.
|
|
([NSAutoreleasePool -autoreleaseCountForObject:]): Likewise.
|
|
([NSAutoreleasePool -currentPool:]): Likewise.
|
|
([NSAutoreleasePool +currentPool:]): Likewise.
|
|
([NSAutoreleasePool -addObject:]): Likewise.
|
|
([NSAutoreleasePool +addObject:]): Likewise.
|
|
([NSAutoreleasePool -dealloc:]): Likewise.
|
|
([NSAutoreleasePool +totalAutoreleasedObjects:]): Likewise. This
|
|
return value is now only a per-thread count.
|
|
([NSAutoreleasePool +resetTotalAutoreleasedObjects:]): Likewise.
|
|
|
|
* src/include/NSThread.h: Make the ivars @public, not @private, so
|
|
NSAutoreleasePool can efficiently access the _autorelease_vars
|
|
ivar.
|
|
(_autorelease_vars): New ivar.
|
|
|
|
* src/NSThread.m ([NSThread -init]): Instead of creating an
|
|
NSMutableDictionary here, just set the ivar `_thread_dictionary' to
|
|
nil, and create it later, only on demand. Use
|
|
`init_autorelease_thread_vars()' to initialize `_autorelease_vars'.
|
|
([NSThread -threadDictionary]): If `_thread_dictionary' is nil,
|
|
create it.
|
|
|
|
* checks/string.m (print_string): Use -cStringNoCopy instead of
|
|
-cString.
|
|
(main): Test the use of the `%@' printf format directive.
|
|
|
|
Implement handling of `%@' for non-GNU libc systems.
|
|
* src/NSString.m: Include <string.h>.
|
|
(PRINTF_ATSIGN_VA_LIST): Make it an expression that depends on the
|
|
libc version, not a boolean constant.
|
|
([NSString -initWithFormat:arguments:]): Implement the `%@' printf
|
|
directive in the case where the available libc doesn't have
|
|
`register_printf_function()'. It does not currently handle format
|
|
width specifiers, etc.
|
|
|
|
Mon Jun 10 23:22:58 1996 Andrew McCallum <mccallum@pad>
|
|
|
|
* src/gnustep/base/preface.h.in: Fix comment.
|
|
|
|
Mon Jun 3 12:07:16 1996 Andrew McCallum <mccallum@pad>
|
|
|
|
* src/Makefile.in (gnustep/base): Remove `gnustep' and `base'
|
|
before trying to recreate them.
|
|
|
|
Fri May 31 10:06:05 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/Makefile.in (gnustep/base): Make a link for `Foundation'
|
|
when building in a separate directory.
|
|
|
|
* doc/install.texi: Mention making a link from thread.h to thr.h.
|
|
|
|
* src/StdioStream.m ([StdioStream -readBytes:length:]): Don't
|
|
assert that we get as many bytes as we asked for.
|
|
|
|
* checks/Makefile.in (ALL_CPPFLAGS): Look in ../src/srcdir-include.
|
|
* examples/Makefile.in (ALL_CPPFLAGS): Likewise.
|
|
|
|
* src/NSLock.m: Include <Foundation/NSException.h>. Fix typo.
|
|
|
|
* src/proplist.l (unescstr): Bug fix from Nathan Urban
|
|
<nurban@csugrad.cs.vt.edu>.
|
|
|
|
This is a feeble attempt to use the correct flags for making a
|
|
shared library. Other than the GNU-standard flags, so far I've
|
|
just taken care of the Solaris case.
|
|
* src/Makefile.in (CFLAGS_SHAREDLIB_GNU): New variable.
|
|
(CFLAGS_SHAREDLIB_SOLARIS): New variable.
|
|
(CFLAGS_SHAREDLIB): New variable set from configure.
|
|
(lib$(LIBRARY_NAME).so.$(VERSION)): Use it.
|
|
* configure.in (CFLAGS_SHAREDLIB): Figure this out, and AC_SUBST it.
|
|
|
|
* src/Makefile.in (maintainer-clean): Remove *_bas and *_cbs files.
|
|
(GNU_MFILES): Fix typo.
|
|
|
|
* src/NSProcessInfo.m (__gnustep_base_subinit_args__): No longer
|
|
declared static; (avoids warning).
|
|
|
|
* src/Makefile.in: Rename all `o-*' files to `o_*', and prepend
|
|
`o_' to some related files.
|
|
* src/o-*, src/include/o-*: Rename to `o_'.
|
|
|
|
* src/NSString.m ([NSString -initWithFormat:arguments:]): Increase
|
|
bsprintf buffer size, and assert that we haven't overrun the
|
|
buffer.
|
|
|
|
* src/Makefile.in (GNU_OTHER_SRCFILES): Added win32-entry.c and
|
|
win32-def.top.
|
|
|
|
* src/NSObject.m: Don't declare `errno'.
|
|
|
|
* src/NSAutoreleasePool.m: Don't include <gnustep/base/Array.h>.
|
|
|
|
* src/BinaryCStream.m (WRITE_SIGNED_TYPE): Avoid alignment errors
|
|
by using memcpy() instead of trying to assign to (_TYPE*)(BUFFER+1).
|
|
(WRITE_UNSIGNED_TYPE): Likewise.
|
|
|
|
Fri May 31 08:20:09 1996 Adam Fedor <fedor@wave.Colorado.edu>
|
|
|
|
* src/NSProcessInfo.m (main): Pass `env' variable to
|
|
gnustep_base_user_main.
|
|
|
|
Tue May 28 09:37:19 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/include/NSPathUtilities.h: New file.
|
|
* src/Makefile.in (GNUSTEP_HEADERS): Added
|
|
include/NSPathUtilities.h.
|
|
|
|
* src/NSUser.m: New file.
|
|
* src/Makefile.in (GNUSTEP_MFILES): Added NSUser.m.
|
|
|
|
* src/NSPage.m: New file.
|
|
* src/include/NSZone.h (NSPageSize, NSLogPageSize,
|
|
NSRoundUpToMultipleOfPageSize, NSRoundDownToMultipleOfPageSize,
|
|
NSRealMemoryAvailable, NSAllocateMemoryPages,
|
|
NSDeallocateMemoryPages, NSCopyMemoryPages): New functions
|
|
declared; they are implemented in NSPage.m.
|
|
|
|
* src/Makefile.in (ALL_INCLUDE_FLAGS): Undo last change, except
|
|
use name `srcdir-include' instead of `include'. This should allow
|
|
building is a separate directory than the source, yet still avoid
|
|
confusion between <string.h> and <String.h> on win32 systems.
|
|
(gnustep/base:): Use `srcdir-include' instead of `include' for extra
|
|
links needed when building in a separate directory than the
|
|
source.
|
|
|
|
* src/NSException.m (_NSAddHandler): When creating E_QUEUE, don't
|
|
autorelease and then retain; instead just allocate it
|
|
un-autoreleased.
|
|
|
|
* checks/Makefile.in (SRCS): Added basic.m.
|
|
* checks/basic.m: New file.
|
|
|
|
* src/NSLock.m: Include <gnustep/base/preface.h> first! Fix
|
|
indentation.
|
|
([NSLock +initialize]): Method removed.
|
|
([NSLock -init]): Assert return value from objc_mutex_allocate(),
|
|
don't just return nil.
|
|
([NSConditionLock -initWithCondition:]): Likewise.
|
|
([NSRecursiveLock -init]): Likewise.
|
|
([NSConditionLock +initialize]): Method removed.
|
|
([NSRecursiveLock +initialize]): Method removed.
|
|
|
|
Mon May 27 09:57:34 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* Makefile.in (DIST_FILES): Added README.ucblib.
|
|
|
|
* src/include/objc-gnu2next.h: Remove "Object (GNUExtentions)"
|
|
Category. We no longer use Object; we use NSObject.
|
|
|
|
Do our best to use "%@" (Objective-C String object printf-format
|
|
tag) as little as possible, because, for now, it is not
|
|
implemented on non-GNU-libc systems.
|
|
* src/KeyedCollection.m ([ConstantKeyedCollection -description]):
|
|
Instead of @%, use %s and [s cStringNoCopy].
|
|
* src/NSHashTable.m (NSStringFromHashTable): Likewise.
|
|
(NSHashInsertKnownAbsent): Likewise.
|
|
* src/NSMapTable.m (NSStringFromMapTable): Likewise.
|
|
(NSMapInsertKnownAbsent): Likewise.
|
|
* src/TextCStream.m ([TextCStream
|
|
-encodeValueOfCType:at:withName:]): Likewise.
|
|
([TextCStream -encodeName:n]): Likewise.
|
|
* src/o-hash.m (o_hash_description): Likewise.
|
|
* src/x-bas.m.in (_o_@XX@_description): Likewise.
|
|
* src/NSDictionary.m ([NSDictionary -descriptionWithIndent:]): Use
|
|
-cStringNoCopy instead of -cString.
|
|
|
|
* src/x-cbs.m.in: Prepend missing `o-' in #include.
|
|
* src/x-bas.m.in: Likewise.
|
|
|
|
Mon May 20 16:53:57 1996 Adam Fedor <fedor@wilma.Colorado.EDU>
|
|
|
|
* src/include/NSGeometry.h: Include NSString functions only if
|
|
compiling in Objective-C mode (using "#ifdef __OBJC__").
|
|
|
|
Tue May 14 20:03:55 1996 Scott Christley <scottc@net-community.com>
|
|
|
|
* INSTALL.WIN32: Correct grammatical errors.
|
|
* Makefile.sed.nt: Sed script now handles install and all
|
|
targets for top level Makefile.
|
|
* checks/Makefile.sed.nt: Corrections to handle changes
|
|
to checks/Makefile.in.
|
|
* configure.bat: Corrections to handle the different
|
|
directory structure for the header files.
|
|
* src/BinaryCStream: Eliminate header files not needed on WIN32.
|
|
* src/Makefile.in (ALL_INCLUDE_FLAGS): Eliminate -I./include flag.
|
|
(FORCE): New Target.
|
|
* src/Makefile.sed.nt: New file; somehow got lost.
|
|
* src/RunLoop.m: Eliminate header files not needed on WIN32.
|
|
* src/TcpPort.m: Likewise.
|
|
* src/UdpPort.m: Likewise.
|
|
* src/include/TcpPort.h: Likewise.
|
|
* src/include/config-nt.h: New file, got lost during restructuring.
|
|
* src/include/config-nt.sed: New file, got lost during restructuring.
|
|
* src/libgnustep-base-entry.c: New file.
|
|
* src/libgnustep-base.top: New file.
|
|
|
|
Wed May 22 06:56:49 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* doc/install.texi: Say that the objc patch will be part of gcc
|
|
2.8.0.
|
|
|
|
Mon May 13 09:03:55 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/Makefile.in (FILE_AUTHORS): Added "Scott Christley".
|
|
|
|
* src/NSString.m ([NSString -description]): Fix warnings.
|
|
* src/NSDictionary.m ([NSDictionary -description]): Fix warnings.
|
|
|
|
* src/Makefile.in (GNU_OTHER_SRCFILES): Added proplist.l and
|
|
proplist.y.
|
|
(GNU_MFILES): Added lex.pl.m and proplist.tab.m.
|
|
(YACC): New variable.
|
|
(GNU_OTHER_SRCFILES): Added proplist., proplist.tab.h and proplist.y.
|
|
(proplist.tab.m proplist.tab.h): New target.
|
|
(lex.pl.m): New target.
|
|
* proplist.y, proplist.l: New files from Nathan Urban.
|
|
|
|
* src/NSData.m ([NSData -description]): Implemented by Nathan Urban.
|
|
* src/NSArray.m ([NSArrayNonCore -description]): Likewise.
|
|
* src/NSDictionary.m ([NSDictionary -description]): Likewise.
|
|
* src/NSString.m ([NSString -description]): Likewise.
|
|
([NSString -propertyList]): Likewise.
|
|
|
|
* src/NSThread.m (NSBecomingMultiThreaded, NSThreadExiting):
|
|
Initialize the notification strings as static strings, not in
|
|
+initialize.
|
|
(thread_id_2_nsthread): Renamed from THREAD_LIST. Keep the collection
|
|
of NSThread's as a maptable, not a NSArray that takes linear time
|
|
to search!
|
|
(thread_lock): Renamed from THREAD_LIST_LOCK.
|
|
(entered_multi_threaded_state): Renamed from
|
|
ENTERED_MULTI-THREADED_STATE.
|
|
([NSThread +initialize]): Don't initialize notification strings here.
|
|
Don't autorelease the lock!
|
|
([NSThread -init]): Initialize _thread_autorelease_pool. Set our
|
|
thread data to self, for easy, efficient access to this NSThread
|
|
object later. Put ourselves in the thread collection here, not in
|
|
+detach...
|
|
([NSThread +currentThread]): This will be called often and needs to be
|
|
fast. Reimplemented so we don't have to acquire a lock and step
|
|
through an NSArray of threads; instead, just look ourselves up
|
|
with the objc_thread_get_data(), and furthermore, no lock
|
|
required.
|
|
([NSThread +detachNewThreadSelector:toTarget:withObject:]): Avoid race
|
|
condition, don't create new NSThread object here.
|
|
([NSThread +sleepUntilDate:]): Call -notImplemented:.
|
|
([NSThread +exit]): Properly post NSThreadExiting notification, making
|
|
sure not to hold the lock while we do so. Get the NSThread object
|
|
efficiently.
|
|
([NSThread -threadId]): Removed unnecessary private method.
|
|
([NSThread -setThreadId]): Likewise.
|
|
|
|
* src/include/NSLock.h: Include renamed <objc/thr.h>, not
|
|
<objc/thread.h>.
|
|
|
|
* src/include/NSThread.h: Include renamed <objc/thr.h>, not
|
|
<objc/thread.h>. Prepend ivars with underscore. Formatting
|
|
cleanups.
|
|
|
|
* src/Makefile.in (gnustep/base): Use -r test for file existance,
|
|
not -e. (Reported by Adam Fedor <fedor@mode.colorado.edu>.)
|
|
|
|
* src/BinaryCStream.m: Include <netinet/in.h> for byte-conversion;
|
|
needed on Solaris. (Reported by Adam Fedor
|
|
<fedor@mode.colorado.edu>.)
|
|
|
|
* src/Makefile.in (AUTHORS): Also search for "Rewritten by"
|
|
string.
|
|
|
|
Sun May 12 19:57:53 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/Coder.m ([Coder -encodeConditionalObject:]): Comment
|
|
additions.
|
|
([Coder -decodeObject]): Likewise.
|
|
|
|
* src/Coder.m: Remove many methods from (Coder
|
|
NSCoderCompatibility), they are now included by adding the
|
|
behavior from NSCoderNonCore.
|
|
([Coder +initialize]): Add behavior from NSCoderNonCore.
|
|
([Coder -encodeArrayOfObjCType:count:at:]): Method removed.
|
|
([Coder -decodeArrayOfObjCType:count:at:]): Method removed.
|
|
([Coder -encodeProperyList:]): Method removed.
|
|
([Coder -decodeProperyList:]): Method removed.
|
|
([Coder -encodePoint:]): Method removed.
|
|
([Coder -decodePoint:]): Method removed.
|
|
([Coder -encodeSize:]): Method removed.
|
|
([Coder -decodeSize:]): Method removed.
|
|
([Coder -encodeRect:]): Method removed.
|
|
([Coder -decodeRect:]): Method removed.
|
|
([Coder -encodeValuesOfObjCTypes:]): Method removed.
|
|
([Coder -decodeValuesOfObjCTypes:]): Method removed.
|
|
|
|
Sat May 11 20:38:10 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* After consulting other developers, change "Gnustep" to "GNUstep"
|
|
everywhere.
|
|
|
|
* src/include/NSAutoreleasePool.h (struct autorelease_cache): New
|
|
data type.
|
|
* src/include/NSThread.h (NSThread _thread_autorelease_pool): New
|
|
ivar.
|
|
* src/NSThread.m: Preparation for thread-safety.
|
|
([NSThread -init]): Initialize new ivar.
|
|
* src/NSAutoreleasePool.m: Comment changes, and preparation for
|
|
thread-safety.
|
|
|
|
Fri May 10 09:55:40 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/BinaryCStream.m: #include <values.h> to get BITSPERBYTE on
|
|
Solaris. (Reported by M. Decugis <mds@sepgifbr.sep.de.edf.fr>.)
|
|
|
|
Wed May 8 10:53:07 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/objc-load.c (objc_load_module): Uncomment local vars when
|
|
needed. (Provided by Bill Bumgarner <bbum@friday.com>.)
|
|
|
|
* src/BinaryCStream.m (BITSPERBYTE): Define if not defined and on
|
|
NeXT. (Provided by Bill Bumgarner <bbum@friday.com>.)
|
|
|
|
Tue May 7 10:55:11 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/include/o-map.h: Prepend `o-' in #include.
|
|
* src/include/o-list.h: Likewise.
|
|
* src/include/o-hash.h: Likewise.
|
|
* src/include/o-array.h: Likewise.
|
|
* src/include/x-cbs.h.in: Likewise.
|
|
|
|
* src/NSCoder.m: Separate implemented, non-core methods into
|
|
separate class, in preparation for avoiding the duplication of
|
|
these methods in Coder.m.
|
|
([NSCoder +initialize]): New method.
|
|
(NSCoderNonCore): New class.
|
|
* src/include/NSCoder.h: Declare new NSCoderNonCore class.
|
|
|
|
* Makefile.in (snapshot-rtag): New target.
|
|
(dist-rtag): New target.
|
|
(rdiff): New target.
|
|
|
|
Mon May 6 14:59:03 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/NSGArchiver.m ([NSGArchiver -encodeObjectReference:]): New
|
|
method.
|
|
* src/Decoder.m ([Decoder -decodeObjectAt:anObjPtr:name]): Move
|
|
CREATE_REF_BEFORE_INIT assertion to inside conditional for FREF
|
|
being true.
|
|
|
|
* src/NSString.m (PRINTF_ATSIGN_VA_LIST): New macro, when 1,
|
|
undoes previous changes. Previous changes cause crashes with my
|
|
libc.
|
|
|
|
* configure.in (shared): Prepend missing `lib'. (Reported by
|
|
Randy Chapman <chapman@cs.washington.edu>.)
|
|
|
|
* src/Makefile.in: It should now work again to build in a separate
|
|
directory. Use ${OEXT}, not $(OEXT).
|
|
(ALL_INCLUDE_FLAGS): Look in ./include, not $(srcdir).
|
|
(GNU_HEADERS): Remove duplicate NS*.h files.
|
|
(gnustep/base): Make soft links to the $(srcdir) include files inside
|
|
./include.
|
|
(include/preface.h): Get preface.h.in from the $(srcdir)!
|
|
* examples/Makefile.in (ALL_CPPFLAGS): Look for source include
|
|
files in new place.
|
|
* checks/Makefile.in (ALL_CPPFLAGS): Look for source include files
|
|
in new place.
|
|
|
|
* src/include/NSZone.h: use #include instead of #import.
|
|
|
|
* doc/gnustep-faq.texi: Added "On what platforms will it run?"
|
|
|
|
* src/NSArray.m ([NSMutableArray +initialize]): Add the
|
|
NSArrayNonCore methods also. (Reported by Scott Christley.)
|
|
|
|
* src/Makefile.in: Add `o-' prefix to object collection function
|
|
files.
|
|
* src/o-array.m, src/o-list.m, src/o-hash.m, src/o-map.m: Renamed
|
|
from versions without `o-' prefix. This prevents aliasing with
|
|
Array.m, etc, on systems without case-sensitive filenames.
|
|
* src/include/o-array.h, src/include/o-hash.h,
|
|
src/include/o-list.h, src/include/o-map.h: Likewise.
|
|
|
|
* src/NSString.m: All uses of @"" were crashing in Linux
|
|
libc-5.3.9.
|
|
(arginfo_func): New function.
|
|
(handle_printf_atsign): Get the string object without va_arg().
|
|
([NSString +initialize]): Use new function.
|
|
(Reported and fixed by Kai-Uwe Sattler
|
|
<sattler@volker.cs.Uni-Magdeburg.DE>.)
|
|
|
|
Tue Apr 30 10:19:40 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/NSArray.m ([NSMutableArrayNonCore -removeObject:]): Replace
|
|
with version that removes all objects equal to argument.
|
|
([NSMutableArrayNonCore -removeObjectIdenticalTo:]): Likewise.
|
|
|
|
* checks/nsarray.m (main): Patched from Scott Christley.
|
|
|
|
Fri Apr 19 18:11:30 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
Make NSArchiver do object forward references the same way OpenStep
|
|
does, so that -encodeConditionalObject: and -decodeObject will
|
|
work as users expect. The OpenStep-style of forward referencing
|
|
is actually broken in that it cannot handle cases in which
|
|
-initWithCoder: deallocates self and substitutes another object
|
|
for self---this is supposed to be allowed. The GNU-style of
|
|
forward references robustly handles this case, as well as all the
|
|
cases that OpenStep handles; the GNU code works through alternate
|
|
methods: -encodeObjectReference: and -decodeObjectAt:withName:.
|
|
It is recommended that programmers use the GNU archiving methods.
|
|
|
|
Before these changes, the gnustep-base code that tried to handle
|
|
the OpenStep-style `-encodeConditionalObject:' and `-decodeObject'
|
|
did not have the same behavior as NeXT's implementation---in fact
|
|
it did not do forward references at all. Users' OpenStep code
|
|
that used the OpenStep methods would have failed badly. These
|
|
changes implement the OpenStep-style forward references. Now
|
|
NSArchiver implements OpenStep-style forward references, and
|
|
Archiver implements GNU-style forward references. Be warned: by
|
|
necessity, because of limitations of the OpenStep method
|
|
interface, NSArchiver has the same bug as NeXT's NSArchiver.
|
|
|
|
* src/NSGArchiver.m (USE_OPENSTEP_STYLE_FORWARD_REFERENCES): New
|
|
macro.
|
|
(NSGArchiverNullCStream): New class, interface and implementation.
|
|
([NSGArchiverNullCStream -encodeValueOfCType:at:withName:]): New
|
|
method.
|
|
([NSGArchiverNullCStream -decodeValueOfCType:at:withName:]): New
|
|
method.
|
|
([NSGArchiver -encodeRootObject:withName:]): New method.
|
|
([NSGArchiver -encodeConditionalObject:]): New method.
|
|
([NSGArchiver -_coderCreateReferenceForObject:]): New method.
|
|
([NSGArchiver -_coderCreateForwardReferenceForObject:]): New method.
|
|
([NSGArchiver -_coderForwardReferenceForObject:]): New method.
|
|
([NSGArchiver -_objectWillBeInProgress:]): New method.
|
|
([NSGArchiver -_objectNoLongerInProgress:]): New method.
|
|
([NSGArchiver -defaultDecoderClassname]): New method.
|
|
([NSGUnarchiver -_createReferenceBeforeInit]): New method.
|
|
|
|
* src/NSArchiver.m ([NSUnarchiver +initialize]): Test self against
|
|
NSUnarchiver class.
|
|
|
|
* src/Encoder.m (debug_coder): Make it a static var instead of a
|
|
#define.
|
|
([Encoder -_objectWillBeInProgress:]): New method.
|
|
([Encoder -_objectNoLongerInProgress:]): New method. Depending on
|
|
whether we are doing GNU or OpenStep style forward references one
|
|
of these two methods will create a backward reference to the
|
|
object by calling -_coderInternalCreateReferenceForObject:. This
|
|
will effect whether encoding make forward or backward references
|
|
to objects in progress. GNU uses forward references, which is
|
|
robust even when the object's -initWithCoder substitutes another
|
|
object for self.
|
|
([Encoder -_encodeObject:withName:isBycopy:isForwardReference:]): Use
|
|
new methods. Don't call -_coderInternalCreateReferenceForObject
|
|
here, let one of the ...InProgress methods do it.
|
|
|
|
* src/Decoder.m (debug_coder): Make it a static var instead of a
|
|
#define.
|
|
([Decoder -_coderCreateReferenceForObject:]): Add a debugging message.
|
|
([Decoder -_coderCreateReferenceForInterconnectedObject:]):
|
|
Autorelease the placeholder object.
|
|
([Decoder -_createReferenceBeforeInit]): New method. By default
|
|
return NO, for the GNU-style forward references.
|
|
([Decoder -decodeObjectAt:anObjPtr:name]): [CODER_OBJECT]: Use new
|
|
method; if it returns true, then we are using non-GNU,
|
|
OpenStep-style forward references. In this case: (1) don't try to
|
|
decode the object by sending +newWithCoder:, in fact, raise an
|
|
error if the object wanted to be decoded that way; (2) call
|
|
_coderInternalCreateReferenceForObject before sending
|
|
-initWithCoder, not after; unfortunately this means that
|
|
-initWithCoder methods cannot substitute another object for self.
|
|
If it returns false, use the more robust GNU style forward
|
|
references. The NSGUnarchiver overrides this method to use the
|
|
OpenStep style.
|
|
|
|
* src/include/Coder.h (Coder): Make ivars public, so NSGArchiver
|
|
can get at them.
|
|
(Encoder): Likewise.
|
|
|
|
* src/TextCStream.m ([TextCStream
|
|
-encodeValueOfCType:at:withName:]): If name is nil or zero-length,
|
|
make it "Anonymous".
|
|
(DECODE_ERROR): Add next stream contents to error message.
|
|
|
|
* src/Coder.m: Include gnustep/base/Archiver.h.
|
|
([Coder +archivedDataWithRootObject:]): Use Archiver class, not
|
|
NSArchiver, it matters because now the two classes handle forward
|
|
references differently.
|
|
|
|
* src/include/NSGArchiver.h: NSGUnarchiver inherits from
|
|
NSUnarchiver, not NSArchiver!
|
|
|
|
* checks/fref.m: Use Archiver, not NSArchiver, if GNU_ARCHIVING is
|
|
true.
|
|
(SELF_REF_DECODE_SUBSTITUTES): New macro.
|
|
|
|
Thu Apr 18 08:31:53 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* checks/fref.m: Updated to work on NS3.3.
|
|
|
|
* src/Makefile.in (Foundation): Fix dependancy to force proper
|
|
handling after a cvs checkout.
|
|
|
|
Wed Apr 17 08:56:09 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
Major renaming!
|
|
"GNU Objective C Class Library" -> "Gnustep Base Library"
|
|
libobjects.a -> libgnustep-base.a
|
|
libobjects.tar.gz -> gstep-base.tar.gz
|
|
<objects/*.h> -> <gnustep/base/*.h>
|
|
OBJECTS_* -> GNUSTEP_BASE_*
|
|
objects_*() -> o_*()
|
|
R. Andrew McCallum -> Andrew Kachites McCallum
|
|
(my pre-marriage name) (my post-marriage name)
|
|
...and more...
|
|
|
|
* examples/Makefile.in (EXEEXT): New variable.
|
|
(OEXT): New variable.
|
|
(LIBEXT): New variable.
|
|
(SRCS): Remove port-{server,client}.m.
|
|
|
|
* examples/dictionary.m: Warn user that the file hasn't been
|
|
converted to new collection scheme, and comment out old code.
|
|
|
|
* examples/second-server.m ([SecondServer -addRemoteObject:]):
|
|
Don't free the string returned; mframe already does it!
|
|
|
|
* examples/stdio-stream.m: Include Foundation/NSString.h.
|
|
|
|
* Makefile.in: Include Makeconf.
|
|
|
|
* checks/server.m: Include TcpPort.h, not SocketPort.h.
|
|
* checks/client.m: Likewise.
|
|
|
|
* checks/Makefile.in (../src/lib$(LIBRARY_NAME)$(LIBEXT)): New
|
|
target.
|
|
|
|
* doc/Makefile.in (TEXI_FILES): Rename libobjects.texi to
|
|
gnustep-base.texi. Add base-desc.texi.
|
|
* doc/base-desc.texi: New file.
|
|
|
|
* src/include/*.h: Rename all #ifndef macro names to
|
|
...GNUSTEP_BASE_INCLUDE.
|
|
|
|
* Rename all `objects_' to `o_'. This mostly affects Albin Jones'
|
|
map tables, hash table, etc.
|
|
|
|
* src/NSGSet.m ([NSGSet -isEqual:]): Call isEqualToSet: (in
|
|
superclass).
|
|
|
|
* checks/pipes.m: Include <Foundation/NSString.h>
|
|
|
|
* src/objc/HashTable.h: Use preface.h instead of stdobjects.h.
|
|
|
|
* src/CStream.m ([CStream -writeSignature]): Use new version macro
|
|
names.
|
|
|
|
* src/include/fake-main.h (main): Define as
|
|
gnustep_base_user_main, not LibobjectsMain.
|
|
* src/NSProcessInfo.m (__gnustep_base_subinit_args__): Renamed
|
|
from libobjects...
|
|
(main): Use gnustep_base_user_main, not LibobjectsMain.
|
|
|
|
* checks/fref.m (test_fref): Make ARRAY a NSMutableArray, not a
|
|
NSArray.
|
|
([SubFoo -encodeWithCoder:]): Add printf.
|
|
([Foo -encodeWithCoder:]): Likewise.
|
|
|
|
* src/o_vscanf.c: Include objc-malloc.h from gnustep/base.
|
|
|
|
* src/Makefile.in (Foundation): Add step to get rid of old
|
|
Foundation directory that would come from a CVS checkout.
|
|
|
|
* src/include/String.h: Don't include <Foundation/NSString.h>.
|
|
Don't have String protocol inherit NSString protocol. We were
|
|
having trouble with circular dependancies.
|
|
* src/include/Streaming.h: Include String.h, not NSString.h.
|
|
|
|
* src/include/preface.h.in: Use __preface_h_... instead of
|
|
__stdobjects_h... for wrapper. Include files from gnustep/base.
|
|
Include fake-main.h, instead of LibobjectsMain.h.
|
|
|
|
* src/Makefile.in (include/preface.h): Make substitutions for
|
|
macro name, as well as value.
|
|
|
|
* Makeconf (LIBRARY_VAR): New variable.
|
|
|
|
* src/Makefile.in (all): Add dependancy on `Foundation'.
|
|
(Foundation): New target.
|
|
|
|
* Change all #include <objects/*.h> to #include <gnustep/base/*.h>.
|
|
|
|
* src/include/preface.h.in: All Makefile-maintained #defines, now
|
|
have the macro name inserted by Makefile, not just the value.
|
|
Comment out objects_version global variable and friends.
|
|
(LAMBDA): Macro removed.
|
|
(LAMBDA_VOID_PERFORM): Macro removed.
|
|
(LAMBDA_ID_PERFORM): Macro removed.
|
|
(LAMBDA_BOOL_PERFORM): Macro removed.
|
|
* src/preface.m: Update names of global const char's.
|
|
|
|
* Makefile.in: Remove/rename all mention of `objects'.
|
|
* configure.in: Likewise.
|
|
* examples/Makefile.in: Likewise.
|
|
* checks/Makefile.in: Likewise.
|
|
|
|
* Makeconf (LIBRARY_NAME): Remove `lib' prefix.
|
|
* src/Makefile.in: Don't assume the `lib' prefix is included in
|
|
$(LIBRARY_NAME).
|
|
|
|
* Makeconf (PACKAGE_NAME): New variable.
|
|
(LIBRARY_NAME): New variable.
|
|
(rcs-list-locked): Target removed.
|
|
|
|
* Version: Removed `OBJECTS_' prefix.
|
|
|
|
* src/Makefile.in: Rename all occurrences of `objects/' to
|
|
`include/'. Rename all occurrences of `Foundation/' to
|
|
`include/'. Rename all occurrences of `libobjects' to
|
|
`$(LIBRARY_NAME)'. Rename all occurrences of `OBJECTS_*VERSION'
|
|
to `*VERSION'.
|
|
(GNU_NEXT_INCLUDES): Renamed from OBJECTS_NEXT_INCLUDES.
|
|
(gnustep/base): New target; make symbolic link to `include'.
|
|
(all): Added dependancy on gnustep/base.
|
|
(install): Put the include files in gnustep/base. Make a link from
|
|
$(includedir)/Foundation to $(includedir)/gnustep/base.
|
|
(installdirs): Make $(includedir)/gnustep/base, not objects and
|
|
Foundation include directories.
|
|
(GNU_MFILES): stdobjects.m renamed to preface.m.
|
|
(GNU_HEADERS): LibobjectsMain.h renamed to fake-main.h. objects.h
|
|
renamed to all.h.
|
|
(HEADERS_INSTALL): stdobjects.h renamed to preface.h.
|
|
(maintainer-clean): Likewise.
|
|
(DIST_FILES): stdobjects.h.in renamed to preface.h.in.
|
|
(RCS_FILES): Likewise.
|
|
(include/preface.h): Target renamed from stdobjects.h.
|
|
(preface$(OEXT)): Likewise.
|
|
* src/preface.m: File renamed from stdobjects.m.
|
|
* src/include/preface.h: File renamed from stdobjects.h.
|
|
* src/include/fake-main.h: File renamed from LibobjectsMain.h.
|
|
* src/include/all.h: File renamed from objects.h.
|
|
|
|
* configure.in (AC_OUTPUT): do src/include/config.h, not
|
|
src/objects/config.h.
|
|
|
|
* src/objects/*, src/Foundation/*: Files moved to src/include.
|
|
|
|
* src/Foundation/NSString.h: Insert contents of
|
|
<objects/NSString.h>
|
|
* src/Foundation/NSSet.h: Insert contents of <objects/NSSet.h>
|
|
* src/Foundation/NSDictionary.h: Insert contents of
|
|
<objects/NSDictionary.h>
|
|
* src/Foundation/NSCoder.h: Insert contents of <objects/NSCoder.h>
|
|
* src/Foundation/NSArray.h: Insert contents of <objects/NSArray.h>
|
|
|
|
Fix error in Decoder, that only affected TextCStream.
|
|
|
|
* src/Decoder.m ([Decoder -decodeObjectAt:anObjPtr:name]): Decode
|
|
the Unindent *before* decoding the fref; as does Encoder!
|
|
|
|
Tue Apr 16 17:29:02 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* Version (OBJECTS_SUBMINOR_VERSION): Version 0.2.1. Last version
|
|
before renaming from libobjects to gnustep-base.
|
|
|
|
* checks/Makefile.in (CFLAGS): Add -Wno-format.
|
|
(SRCS): Use new, more descriptive file names.
|
|
|
|
* checks/prepend.m: Include NSValue.h
|
|
|
|
* src/NotificationDispatcher.m ([NotificationDispatcher
|
|
-_addObserver:notificationRequest:name:object:]): Don't release NR
|
|
here.
|
|
([NotificationDispatcher -addInvocation:name:object:]): Release it
|
|
here.
|
|
([NotificationDispatcher -addObserver:selector:name:object:]):
|
|
Likewise.
|
|
|
|
* src/TcpPort.m (debug_tcpport): Changed from 1 to 0; don't print
|
|
debugging messages.
|
|
* src/Proxy.m (debug_proxy): Likewise.
|
|
* src/Connection.m (debug_connection): Likewise.
|
|
|
|
* src/NSArray.m ([NSArrayNonCore -arrayByAddingObject:]):
|
|
Autorelease the returned array.
|
|
([NSArrayNonCore -arrayByAddingObjectsFromArray:]): Likewise.
|
|
([NSArrayNonCore -subarrayWithRange:]): Likewise.
|
|
|
|
* checks/nsarray.m (main): Removed several -autorelease calls that
|
|
are repetative, now that NSArray autoreleases properly. The test
|
|
still does not complete successfully. It tries to send -cString
|
|
to an NSMutableArray.
|
|
|
|
* src/objects/objc-malloc.h: Only declare "id
|
|
MemoryExchaustedException" #ifdef __OBJC__. This allows
|
|
<objects/objc-malloc.h> to be included in non-ObjC files, i.e. C
|
|
files.
|
|
|
|
* src/NSZone.m: Include <objects/stdobjects.h> first.
|
|
|
|
* checks/*.m: Many test??.m files renamed with descriptive names.
|
|
|
|
* checks/nsarchiver.m (main): Add extra parens around assignment
|
|
in while().
|
|
|
|
* checks/string.m (main): Comment out use of obsolete
|
|
-withElementsCall:.
|
|
|
|
* checks/nsbundle.m (main): Use object_get_class_name(), not
|
|
-name.
|
|
|
|
* src/Makefile.in (GNU_MFILES): Re-added Time.m.
|
|
(o_vscanf$(OEXT), o_vscanf_pic$(OEXT)): New rules that turn off
|
|
warnings for o_vscanf.c; it generates a bunch of unimportant ones.
|
|
|
|
* src/Time.m ([Time +initialize]): Comment out day/month name
|
|
handling that depends on old Collection heirarchy.
|
|
([Time +indexOfDayName:]): un-implemented.
|
|
([Time +nameOfDayIndex:]): Likewise.
|
|
([Time +indexOfMonthName:]): Likewise.
|
|
([Time +nameOfMonthIndex:]): Likewise.
|
|
|
|
* checks/prepend.m: New file from test13.m.
|
|
* checks/nxst.m: New file from test11.m.
|
|
* checks/heap.m: New file from test04.m.
|
|
|
|
* src/Heap.m ([Heap -heapifyFromIndex:]): Swap -compare: receiver
|
|
and argument, so firstObject is minimum instead of maximum object.
|
|
([Heap -addObject:]): Likewise.
|
|
|
|
Mon Apr 15 21:41:17 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/NSGDictionary.m ([NSGDictionaryObjectEnumerator
|
|
-nextObject]): Return the key, not the object.
|
|
([NSGDictionary -objectForKey:]): Method moved from
|
|
NSGMutableDictionary.
|
|
([NSGMutableDictionary +initialize]): Don't use static variable in
|
|
test.
|
|
|
|
* src/KeyedCollection.m ([KeyEnumerator -initWithCollection:]):
|
|
New method.
|
|
([KeyEnumerator -nextObject]): New method.
|
|
([KeyEnumerator -dealloc]): New method.
|
|
|
|
* doc/install.texi: Mention possible need for GNU make.
|
|
|
|
Sun Apr 14 11:58:04 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
Old archiving scheme didn't properly deal with the
|
|
LinkedListNode's _linked_list ivar.
|
|
* src/LinkedList.m ([LinkedList -encodeWithCoder:]): New method.
|
|
([LinkedList -initWithCoder:]): New method.
|
|
([LinkedList -_initCollectionWithCoder:]): Method removed.
|
|
([LinkedList -_encodeContentsWithCoder:]): Method removed.
|
|
([LinkedList -_decodeContentsWithCoder:]): Method removed.
|
|
|
|
* src/Coder.m ([Coder -encodeConditionalObject:]): Don't use old,
|
|
removed method name to see if object has already been encoded.
|
|
|
|
Sat Apr 13 13:49:23 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/BinaryCStream.m (debug_binary_coder): Explicitly set to
|
|
zero.
|
|
|
|
* src/objects/CoderPrivate.h ([Coder (Private)
|
|
-_coderReferenceForObject:): Renamed from old-xref-scheme
|
|
"_coderHasObjectReference:.
|
|
|
|
* checks/Makefile.in (SRCS): Added fref.m.
|
|
|
|
Fix a bug with encoding an object whose encoding generates forward
|
|
references to the object itself.
|
|
|
|
* src/Encoder.m ([Encoder
|
|
-_encodeObject:withName:isBycopy:isForwardReference:]): See if the
|
|
object satisfies a forward reference *after* encoding it, not
|
|
before. This is necessary because the encoding of subobjects may
|
|
generate forward references to the object. (In a sense, this
|
|
undoes the last change to this method, but it is significantly
|
|
different in that we test whether the object is in the
|
|
object_2_fref table *after* encoding the object; earlier we looked
|
|
in the table before encoding the object.) As a consequence, the
|
|
CODER_OBJECT_FORWARD_SATISFIER tag is no longer necessary; this
|
|
was used to tag an object before it was encoded, but now we
|
|
understand that we cannot know whether this object satisfies a
|
|
forward reference until after it has been encoded. Thus, for all
|
|
objects we encode an unsigned int after encoding the object
|
|
itself. This unsigned int is either the forward reference number
|
|
of zero, depending on whether this object satisfies any forward
|
|
references.
|
|
|
|
* src/Decoder.m ([Decoder -decodeObjectAt:withName:]): Allow for
|
|
the case in which ANOBJPTR is NULL, and deal with it using a
|
|
DUMMY_OBJECT local variable. Remove
|
|
CODER_OBJECT_FORWARD_SATISFIER case. In the CODER_OBJECT case,
|
|
decode the forward reference number, and deal with it
|
|
appropriately. See the ChangeLog comments for the Encoder
|
|
changes. * src/objects/CoderPrivate.h
|
|
(CODER_OBJECT_FORWARD_SATISFIER): Enum constant removed; it is no
|
|
longer needed. Note: decoders built after this change will not be
|
|
able to read data files encoded before this change.
|
|
|
|
* src/Encoder.m ([Encode
|
|
-_encodeObject:withName:isBycopy:isForwardReference:]): If this
|
|
object satisfies a forward reference, remove it from the
|
|
object_2_fref table before encoding the object, since, in the
|
|
process of encoding the object, we may generate more references to
|
|
this object, and we don't want to interpret this as another
|
|
forward reference satisfier; previously an object could get
|
|
encoded as a forward reference satisfier more than once.
|
|
|
|
Plug a memory leak in decoding.
|
|
|
|
* src/Collection.m ([ConstantCollection
|
|
-_decodeContentsWithCoder:]): Use alloca(), not objc_malloc(),
|
|
plugging memory leak.
|
|
|
|
Fri Apr 12 17:08:08 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/objects/Coder.h (Encoder fref_counter): New ivar for
|
|
guaranteeing that forward references have unique names. Previous
|
|
use of the MapTable count for this purpose didn't work because we
|
|
occasionally removed elements from the table, and thus had aliased
|
|
forward reference numbers.
|
|
* src/Encoder.m ([Encoder
|
|
-initForWritingToStream:withFormatVersion:cStreamClass
|
|
:cStreamFormatVersion:]): Initialize new ivar.
|
|
([Encoder -_coderCreateForwardReferenceForObject:]): Use new ivar to
|
|
`gensym' a new forward reference.
|
|
* src/Decoder.m ([Decoder
|
|
-_coderSatisfyForwardReference:withObject:]): Create fref_2_object
|
|
with NSNonOwnedPointerMapValueCallBacks, not
|
|
NSObjectMapValueCallBacks.
|
|
|
|
* src/StdioStream.m ([StdioStream -writeBytes:length:]): Check for
|
|
error condition, and report. Reporting scheme needs fixing.
|
|
([StdioStream -readBytes:length:]): Likewise.
|
|
|
|
* src/LinkedList.m ([LinkedList -_decodeContentsWithCoder:]): Step
|
|
through the new list, and send -setLinkedList:, otherwise the
|
|
links don't properly know about their parent LinkedList.
|
|
|
|
Wed Apr 10 12:37:35 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/Encoder.m ([Encoder
|
|
-_coderCreateForwardReferenceForObject:]): Initialize the
|
|
OBJECT_2_FREF ivar, if it hasn't been already.
|
|
|
|
* configure.in: Init some emacs variables.
|
|
|
|
* src/objc-malloc.m: New file, changed from objc-malloc.c. Raise
|
|
a MemoryExhaustedException with NSException instead of calling
|
|
objc_fatal.
|
|
* src/Makefile.in (GNU_CFILES): Removed objc-malloc.c.
|
|
(GNU_MFILES): Added objc-malloc.m.
|
|
* src/objects/objc-malloc.h (MemoryExhaustedException): Declare
|
|
this global variable; note that now objc-malloc.h cannot be
|
|
included in .c files, only .m files.
|
|
|
|
* src/NSRunLoop.m: New file.
|
|
* src/Foundation/NSRunLoop.h: Declare classes NSDate and NSTimer.
|
|
* src/Makefile.in (GNUSTEP_MFILES): Added NSRunLoop.m.
|
|
(GNUSTEP_HEADERS): Added Foundation/NSRunLoop.h.
|
|
|
|
* src/NSAutoreleasePool.m ([NSAutoreleasePool -dealloc]): When
|
|
unintalling ourselves at the current pool, and setting our parent
|
|
to be the current pool, be sure to set our parent's _CHILD ivar to
|
|
nil.
|
|
|
|
* src/mframe.m (mframe_do_call): Use sel_get_type() instead of
|
|
class_get_instance_method() to get the selector type. For some
|
|
reason the old scheme wasn't getting class methods properly; I
|
|
should look at this again, though.
|
|
|
|
Tue Apr 9 19:55:44 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/mframe.m (mframe_do_call): When getting the instance method,
|
|
just use object->class_pointer, not object_get_class(),... because
|
|
object_get_class() of a class will return the argument, not the
|
|
metaclass---we want the metaclass.
|
|
|
|
Mon Apr 8 13:19:17 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/TcpPort.m ([TcpInPort +newForReceivingFromPortNumber:]):
|
|
Bind the socket with INADDR_ANY, (not the host's address), so that
|
|
others can connect using any of the host's interfaces, including
|
|
localhost. Add the host's address to _LISTENING_ADDRESS after the
|
|
bind().
|
|
|
|
* src/NSDictionary.m ([NSDictionary -allKeysForObject:]): Ask SELF
|
|
for objectForKey:, not K. (Reported by Robert Quillen
|
|
<rquillen@csugrad.cs.vt.edu>).
|
|
|
|
Sun Mar 31 16:43:42 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
Several small bug fixes.
|
|
|
|
* src/Foundation/NSArray.h: Declare @class NSMutableArrayNonCore,
|
|
not NSMutableArray.
|
|
|
|
* checks/test02.m (main): Updated for new collection scheme.
|
|
|
|
* src/MappedCollector.m ([MappedCollector -newEnumState]): New
|
|
method.
|
|
([MappedCollector -freeEnumState:]): New method.
|
|
|
|
* src/Random.m (ABS): Remove macro; now defined in
|
|
objects/stdobjects.h.
|
|
|
|
Separate the core and non-core methods of NSArray implementations
|
|
to take advantage of the new behavior mechanisms, and to better
|
|
make use of the non-core methods in the concrete implementation.
|
|
|
|
* src/NSGArray.m ([NSGArray +initialize]): Add the NSArrayNonCore
|
|
behavior, so we can, once and for all, avoid the need for those
|
|
odd [super ...] calls, and can remove many methods.
|
|
([NSGArray -initWithObjects:count:]): Method removed.
|
|
([NSGArray -indexOfObject:]): Method removed.
|
|
([NSGArray -objectAtIndex:]): Method removed.
|
|
([NSGMutableArray +initialize]): Add the NSMutableArrayNonCore
|
|
behavior, as above.
|
|
([NSGMutableArray -replaceObjectAtIndex:withObject:]): Method removed.
|
|
* src/Foundation/NSGArray.h (NSGArray, NSGMutableArray): Add
|
|
placeholder ivars so our instance size matches that of the
|
|
behavior class that will be added.
|
|
|
|
* src/NSArray.m: Divide methods between NSArray and NSArrayNonCore
|
|
classes. Add NSArrayNonCore behavior to NSArray. Divide methods
|
|
between NSMutableArray and NSMutableArrayNonCore classes. Add
|
|
NSArrayNonCore behavior to NSArray.
|
|
* src/Foundation/NSArray.h: Separate core and non-core methods.
|
|
Declare with @class the new classes NSArrayNonCore and
|
|
NSMutableArrayNonCore.
|
|
|
|
Use the new behavior mechanisms to make it safe to subclass
|
|
NSNotification.
|
|
|
|
* src/Foundation/NSNotification.h: Include
|
|
<objects/Notification.h>
|
|
(NSNotification): Add placeholder ivars so our instance size matches
|
|
that of the behavior class that will be added.
|
|
* src/objects/Notification.h: Add #ifndef/#endif wrapper around
|
|
header file.
|
|
|
|
New behavior mechanisms for safe subclassing.
|
|
|
|
* src/behavior.m (behavior_class_add_class): Function renamed from
|
|
class_add_behavior. Add more explanation to NSCAssert().
|
|
(class_add_behavior): New function, calling above function.
|
|
(behavior_class_add_category): New function.
|
|
(behavior_class_add_methods): Function renamed from
|
|
class_add_methods_if_not_there.
|
|
* src/objects/behavior.h: Declare new function names.
|
|
|
|
* src/behavior.m: Include <objects/stdobjects.h>.
|
|
(class_add_behavior): Use NSCAssert() to make sure that we don't try
|
|
to increase the instance size of a class that has been subclassed;
|
|
(hopeless ivar layout confusion would result).
|
|
* behavior.m: File renamed from behavior.c.
|
|
* src/Makefile.in (GNU_CFILES): Removed behavior.c.
|
|
(GNU_MFILES): Added behavior.m.
|
|
|
|
Sat Mar 30 10:05:17 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* checks/nsdictionary.m (main): Use renamed method
|
|
behavior_set_debug.
|
|
* checks/nsarray.m (main): Use renamed method behavior_set_debug.
|
|
|
|
* src/NSArray.m ([NSArray -lastObject]): Don't assert count; just
|
|
return nil if it's empty.
|
|
([NSMutableArray -removeLastObject]): Don't assert count; raise
|
|
NSRangeError if it's empty.
|
|
|
|
Make NSAutoreleasePools co-exist with exceptions, safely and
|
|
without leaks. (Also improve efficiency by using a linked list of
|
|
arrays instead of realloc when more space is needed, and by using
|
|
a cache of pools that helps avoid the allocation/deallocation of
|
|
pools.)
|
|
|
|
* src/NSAutoreleasePool.m: (push_pool_to_cache): New function.
|
|
(pop_pool_from_cache): New function.
|
|
([NSAutoreleasePool +initialize]): New method.
|
|
([NSAutoreleasePool +allocWithZone:]): New method.
|
|
([NSAutoreleasePool -init]): Method overhauled to initialize new ivar
|
|
for handling exceptions, _child; also use pool cache.
|
|
(total_autoreleased_objects_count): New static variable.
|
|
(BEGINNING_POOL_SIZE): Macro renamed from DEFAULT_SIZE.
|
|
(autorelease_pool_cache, autorelease_pool_cache_size,
|
|
autorelease_pool_cache_count): New static variables.
|
|
([NSAutoreleasePool -_setChildPool:]): New method, handling stack and
|
|
dealing with exceptions.
|
|
([NSAutoreleasePool -addObject:]): Deal with linked list of arrays.
|
|
([NSAutoreleasePool -dealloc]): Deal with exceptions by releasing
|
|
child pools. Place self into the pool cache instead of
|
|
deallocating.
|
|
([NSAutoreleasePool +resetTotalAutoreleasedObjects]): New method.
|
|
([NSAutoreleasePool +totalAutoreleasedObjects]): New method.
|
|
* src/Foundation/NSAutoreleasePool.h: Declare new ivars and
|
|
methods.
|
|
|
|
* src/NSArray.m ([NSArray -isEqualToArray:]): Fix typo; reverse
|
|
test for returning NO.
|
|
([NSArray -arrayByAddingObject:]): New function, from Scott
|
|
Christley.
|
|
([NSArray -arrayByAddingObjectsFromArray:]): Likewise.
|
|
([NSArray -subarrayWithRange:]): Implemented by Scott Christely.
|
|
([NSMutableArray -removeObjectIdenticalTo:]): Don't fail if the object
|
|
is not present. Initial implementation by Scott Christley
|
|
overhauled by McCallum.
|
|
([NSMutableArray -removeObject:]): Likewise.
|
|
([NSMutableArray -removeAllObjects]): Implemented by Scott Christley.
|
|
([NSMutableArray -setArray:]): New function, from Scott Christley.
|
|
* src/Foundation/NSArray.h: Declare new methods.
|
|
|
|
* src/objects/ArrayPrivate.h: Add new semantic to ivar
|
|
_grow_factor: if it is less than 0, the array capacity grows by
|
|
-_grow_factor, but never shrinks.
|
|
(incrementCount): Use the ABS() of _grow_factor.
|
|
(decrementCount): Only shrink the array capacity if _grow_factor
|
|
is greater than 0.
|
|
* src/objects/Array.h (Array _grow_factor): Change type of ivar
|
|
from unsigned to int.
|
|
* src/Array.m ([Array +defaultGrowFactor]): Return type changed to
|
|
int.
|
|
([Array -growFactor]): Likewise.
|
|
* src/objects/stdobjects.h.in (ABS): New macro, defined if not
|
|
already defined.
|
|
* src/objects/Array.h: Change return types of "grow factor"
|
|
methods from unsigned to int.
|
|
|
|
* src/IndexedCollection.m ([IndexedCollection -removeObject:]):
|
|
Now removes *all* instances of ANOBJECT, not just one.
|
|
([IndexedCollection -replaceObject:withObject:]): Now replaces *all*
|
|
instances of OLDOBJECT, not just one.
|
|
* src/objects/IndexedCollecting.h (NO_INDEX): Change from UINT_MAX
|
|
to NSNotFound, so that Array and NSArray can coexist.
|
|
|
|
* checks/test01.m ([ConstantCollection -printCount]): Use
|
|
object_get_class_name() instead of sending -name.
|
|
|
|
Fri Mar 29 09:47:39 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
Overhaul mframe functions.
|
|
|
|
* src/mframe.m: Overhauled for memory management changes to fix
|
|
leaks, various other fixes.
|
|
(MFRAME_STRUCTURES_PASSED_BY_REFERENCE): Renamed from
|
|
CONNECTION_STRUCTURES_PASSED_BY_REFERENCE.
|
|
(mframe_dissect_call): Function renamed from dissect_method_call.
|
|
Remove some redundant if()-else clauses. Clarify case in which
|
|
OUT_PARAMETERS is true. Use switch statement instead of
|
|
if-else's.
|
|
(mframe_do_call): Function renamed from make_method_call. Get the
|
|
local selector type from the target's Method, not from the
|
|
selector type; this will more reliably give the correct type
|
|
string. Don't bother to set OBJECT twice. Remove some redundant
|
|
if()-else clauses. Use NSParameterAssert, not assert, so we can
|
|
catch problems, (and not crash the D.O. server). Change the way
|
|
memory management for decoded arguments is handled to remove
|
|
memory leaks; use new scheme for DECODER functions that are
|
|
responsonsible for making sure allocated memory is eventually
|
|
freed. Use alloca() to allocate space for _C_PTR values, struct's
|
|
and arrays. Overhaul the way floats and doubles are extracted
|
|
from the RETFRAME; use functions with __builtin_return, instead of
|
|
fishing around the RETFRAME. Use switch statement intead of
|
|
if-else's. Separate cases for char's and short's. Change some
|
|
local variable names for clarity.
|
|
(mframe_build_return): Function renamed from dissect_method_return.
|
|
Remove some redundant if()-else clauses. Use NSParameterAssert,
|
|
not assert. Change the way memory management for decoded
|
|
arguments is handled to remove memory leaks; use new scheme for
|
|
DECODER functions that are responsonsible for making sure
|
|
allocated memory is eventually freed. Use alloca() to allocate
|
|
space for _C_PTR values, struct's and arrays.
|
|
* src/objects/mframe.h: Declare new method names, and comment.
|
|
|
|
* src/Connection.m ([Connection
|
|
-forwardForProxy:selector:argFrame:]): Use new mframe interface.
|
|
In the nested function DECODER, autorelease any char*'s that we
|
|
decode, as required by the new memory reference scheme.
|
|
([Connection -_service_forwardForProxy:]): Likewise, for both.
|
|
|
|
* src/Collection.m ([ConstantCollection
|
|
-_collectionReleaseContents]): Use alloca() instead of malloc()
|
|
and free().
|
|
|
|
Fixes to checks for testing new coding of float and double.
|
|
* checks/server.m ([Server -returnFloat]): Append float const with
|
|
`f'. Include <objects/Proxy.h> for -connectionForProxy.
|
|
* checks/client.m (main): Print the float and double before
|
|
sending it.
|
|
* checks/cstream.m (main): Decode the float and double.
|
|
|
|
* src/BinaryCStream.m ([BinaryCStream
|
|
-encodeValueOfCType:at:withName:]): Encode the exponent as a
|
|
short, not an int.
|
|
([BinaryCStream -decodeValueOfCType:at:withName:]): Likewise, decoding.
|
|
* src/BinaryCStream.m ([BinaryCStream
|
|
-encodeValueOfCType:at:withName:]): [_C_CHARPTR]: Don't
|
|
autorelease the malloc'ed pointer here; thus the behavior is
|
|
analogous to decoding an object: it gives you a reference, it is
|
|
the callers responsibility to free it.
|
|
([BinaryCStream -decodeValueOfCType:at:withName:]): [_C_DBL]: Fix
|
|
typo. Use mantissa1, not mantissa2 twice.
|
|
|
|
Fix the scheme for encoding and decoding floats and doubles. The
|
|
old scheme sometimes lost precision, and it was also very
|
|
inefficient.
|
|
* src/BinaryCStream.m: Include <math.h>
|
|
(FLOAT_FACTOR): New macro.
|
|
(WRITE_SIGNED_TYPE): Take new first argument, the pointer for the
|
|
data.
|
|
(READ_SIGNED_TYPE): Likewise.
|
|
(WRITE_UNSIGNED_TYPE): Likewise.
|
|
(READ_UNSIGNED_TYPE): Likewise.
|
|
([BinaryCStream -encodeValueOfCType:at:withName:]): [_C_FLT]: Use new
|
|
scheme, based on frexp() to turn a float into a series of ints.
|
|
[_C_DBL]: Likewise.
|
|
([BinaryCStream -decodeValueOfCType:at:withName:]): [_C_FLT]: Likewise
|
|
to match.
|
|
[_C_DBL]: Likewise.
|
|
|
|
* src/RunLoop.m (debug_run_loop): Changed from 1 to 0; turn off
|
|
debugging messages.
|
|
|
|
Thu Mar 28 22:59:35 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/MallocAddress.m ([MallocAddress
|
|
+autoreleaseMallocAddress:]): Fix typo in method name.
|
|
* src/objects/MallocAddress.h: Fix typo.
|
|
|
|
Tue Mar 26 14:23:13 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/MallocAddress.m ([MallocAddress +initialize]): Use
|
|
NSNonRetainedObjectMapValueCallBacks, not
|
|
NSObjectMapValueCallBacks, because otherwise the object will never
|
|
get dealloc'ed.
|
|
|
|
Send exceptions in the D.O. server back to the client. This is
|
|
not finished. We still need to address some potential memory leaks.
|
|
|
|
* examples/second-client.m (main): Add a call that causes an
|
|
exception in the server, and catch the returned exception.
|
|
|
|
* src/Connection.m: In all methods, use NSParameterAssert()
|
|
instead of assert(), so that it raises an NSException, and doesn't
|
|
abort().
|
|
([Connection -forwardForProxy:selector:argFrame:]): Decode the flag
|
|
that indicates whether the return packet hold an exception or the
|
|
return values. If it holds an exception, decode it and raise it.
|
|
([Connection -_service_forwardForProxy:]): Surround the processing of
|
|
the method request packet with NS_DURING...NS_ENDHANDLER. If an
|
|
exception is raised, catch it, encode in in a specially flagged
|
|
packet, and send the packet back to the client.
|
|
|
|
* src/BinaryCStream.m ([BinaryCStream
|
|
-decodeValueOfCType:at:withName:]): [_C_CHARPTR]: Autorelease the
|
|
malloc'ed char pointer. Before memory was leaking.
|
|
|
|
* src/Connection.m: Use NSException instead of sending -error: in
|
|
all methods.
|
|
* src/Proxy.m: Likewise.
|
|
* src/NSString.m: Likewise.
|
|
* src/NSObject.m: Likewise.
|
|
* src/NSAutoreleasePool.m: Likewise.
|
|
* src/Encoder.m: Likewise.
|
|
* src/Decoder.m: Likewise.
|
|
* src/BinaryCStream.m: Likewise.
|
|
|
|
* src/OrderedCollection.m ([OrderedCollection
|
|
-putObject:atIndex:]): Return type changed from id to void. Use
|
|
NSException, not error:.
|
|
|
|
Mon Mar 25 19:27:06 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
Fixing miscellaneous bugs that showed up with -Wall.
|
|
|
|
* src/NXStringTable_scan.l (string_buf_ptr): Init local variable.
|
|
|
|
* src/NSBundle.m ([NSBundle +setSystemLanguages:]): Comment out
|
|
unused variables.
|
|
|
|
* src/NSData.m ([NSMutableData -resetBytesInRange:]): Cast to
|
|
avoid warning.
|
|
([NSMutableData -initWithLength:]): Likewise.
|
|
|
|
* src/NSValue.m ([NSValueDecoder -initValue:withObjCType:]):
|
|
Return self.
|
|
|
|
* src/objc-load.c (objc_load_module): Comment out unused
|
|
variables.
|
|
|
|
* src/UdpPort.m: Include <sys/param.h> for MAXHOSTNAMELEN.
|
|
([UdpInPort -newPacketReceivedBeforeDate:]): Return nil.
|
|
|
|
Sun Mar 24 17:04:24 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
Just a little futzing.
|
|
|
|
* src/UdpPort.m (name_2_port_number): Function renamed from
|
|
name_to_port_number, and changed to better use
|
|
IPPORT_USERRESERVED.
|
|
([UdpInPort +newForReceivingFromPortNumber:]): Overhauled and
|
|
commented.
|
|
|
|
Fri Mar 22 08:39:03 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/NSObject.m ([NSObject +initialize]): Use
|
|
NSNonOwnedPointerOrNullMapKeyCallBacks, not
|
|
NSNonRetainedObjectsMapKeyCallBacks; keying on addresses, and
|
|
avoiding a call to -isEqual, is better.
|
|
|
|
Thu Mar 21 20:17:05 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/BinaryCStream.m ([BinaryCStream
|
|
-encodeValueOfCType:at:withName:name]): [_C_CHARPTR]: Write the
|
|
string with the host LENGTH, not the network LENGTH!
|
|
|
|
* src/NSGSet.m ([NSGSet -isEqual:]): Make this just compare the
|
|
id's, not call [super isEqual:]. I did this to prevent an
|
|
infinite loop while running checks/nsarchiver.m, but I have a
|
|
feeling that the bug might be in map.c, not here. Look at this
|
|
again!
|
|
|
|
* src/Set.m ([Set -nextObjectWithEnumState:]): Dereference
|
|
ENUMSTATE; this change mirrors the earlier change to [NSGSet
|
|
-nextObject].
|
|
|
|
* src/KeyedCollection.m ([ConstantKeyedCollection
|
|
-_decodeContentsWithCoder:]): Reverse order of objects and keys,
|
|
to match _encodeContentsWithCoder:.
|
|
|
|
* src/Makefile.in (GNUSTEP_CFILES): Removed NSZone.c.
|
|
(GNUSTEP_MFILES): Added NSZone.m.
|
|
* NSZone.m: Renamed from NSZone.c.
|
|
(NSZoneSetName, NSZoneName): New functions; unimplemented.
|
|
* src/Foundation/NSZone.h: Declare new functions.
|
|
|
|
* src/Makefile.in (objects/stdobjects.h): Create it in the build
|
|
directory, not $(srcdir). (Reported by Albin Jones.)
|
|
|
|
Thu Mar 21 13:13:35 EST 1996 Albin L. Jones <Albin.L.Jones@Dartmouth.EDU>
|
|
|
|
* src/Foundation/NSGeometry.h: Added documentation commentary
|
|
and reformatted things a little. Also separated the typedef's
|
|
from the struct declarations in the definitions of NSPoint,
|
|
NSSize, and NSRect. (This is for conformity to the GNU coding
|
|
standards.)
|
|
* src/NSGeometry.m: Added documentation commentary and
|
|
reformatted things a little. Also added bits of code to
|
|
guarantee that functions which return BOOL do so.
|
|
* src/Foundation/NSHashTable.h: Added full documentation.
|
|
* src/Foundation/NSMapTable.h: Ditto.
|
|
* src/Foundation/NSRange.h: Separated the typedef from the
|
|
struct declaration for NSRange. (This is for conformity to the
|
|
GNU coding standards.)
|
|
* src/Makefile.in: Added new files to GNU_MFILES, GNU_HEADERS;
|
|
removed old files from GNU_CFILES, GNU_OTHER_SRCFILES,
|
|
GNUSTEP_HEADERS, GNUSTEP_MFILES. Removed GNU_BASICS_CFILES,
|
|
GNU_BASICS_HFILES, GNU_CALLBACKS_CFILES, GNU_CALLBACKS_HFILES;
|
|
they are no longer needed.
|
|
* src/Makefile.in (libobjects.so): Replaced dependency
|
|
objects/stdobjects.h with $(HEADERS_INSTALL).
|
|
* src/Makefile.in (libobjects.a): Ditto.
|
|
* src/NSHashTable.m (_NSHT_extra_retain): Fixed annoying "Bus
|
|
error" bug.
|
|
* src/NSHashTable.m: Removed the usage of "allocs". Now uses
|
|
zones only.
|
|
* src/NSHashTable.m: Many other changes, none fundamental. More
|
|
comments.
|
|
* src/NSMapTable.m: Removed the usage of "allocs". Now uses
|
|
zones only.
|
|
* src/NSMapTable.m: Many other changes, none fundamental. More
|
|
comments.
|
|
* src/abort.c, src/allocs.c., src/atoz.m, src/objects/abort.h
|
|
src/objects/allocs.h, src/objects/bitops.h,
|
|
src/objects/minmax.h: Got rid of these, as they were no longer
|
|
needed.
|
|
* src/array.c: Became src/array.m.
|
|
* src/data.c: Became src/data.m.
|
|
* src/hash.c: Became src/hash.m.
|
|
* src/list.c: Became src/list.m.
|
|
* src/map.c: Became src/map.m.
|
|
* src/callbacks-char_p.c: Became src/cbs-char-p.m.
|
|
* src/callbacks-id.m: Became src/cbs-id.m.
|
|
* src/callbacks-int_p.c: Became src/cbs-int-p.m.
|
|
* src/callbacks-int.c: Became src/cbs-int.m.
|
|
* src/callbacks-void_p.c: Became src/cbs-void-p.m.
|
|
* src/callbacks.c: Became src/callbacks.m.
|
|
* src/number.c: Became src/numbers.c.
|
|
* src/x-basics.c.in: Became src/x-bas.m.in.
|
|
* src/x-callbacks.c.in: Became src/x-cbs.m.in.
|
|
* src/objects/magic.h, src/objects/number.h: Merged to form
|
|
src/objects/numbers.h.
|
|
* src/objects/x-basics.h.in: Became src/objects/x-bas.h.in.
|
|
* src/objects/x-callbacks.h.in: Became src/objects/x-cbs.h.in.
|
|
* src/array.m, hash.m, list.m, map.m: Removed usage of "allocs",
|
|
changed to using zones only.
|
|
|
|
Thu Mar 21 19:27:56 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/Makefile.in (CFLAGS): Added -Wno-implicit.
|
|
|
|
* src/BinaryCStream.m: Overhauled to use htonl() and friends. New
|
|
format is incompatible with the old.
|
|
|
|
* checks/Makefile.in (SRCS): Add coder.m and cstream.m.
|
|
|
|
Wed Mar 20 13:21:16 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/Makefile.in (CC): Added -pipe.
|
|
|
|
Tue Mar 19 12:10:44 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* checks/server.m: Use new RunLoop mechanism, and new Array method
|
|
names.
|
|
([Server -connection:didConnect:]): Clean up search for invalidated
|
|
proxies.
|
|
* checks/client.m: Use new RunLoop mechanism.
|
|
|
|
* src/TcpPort.m (debug_tcp_port): Set to 1.
|
|
([TcpInPort -encodeWithCoder:]): Use encodeBytes:.., not
|
|
encodeValue..; the data is already in network byte-order.
|
|
([TcpOutPort -encodeWithCoder:]): Likewise.
|
|
([TcpOutPort +newWithCoder:]): Likewise.
|
|
([TcpOutPort
|
|
+newForSendingToSockaddr:withAcceptedSocket:pollingInPort:]): Set
|
|
entirety of _REMOTE_IN_PORT_ADDRESS to zero.
|
|
|
|
* src/Encoder.m ([Encoder -encodeBytes:count:withName:]): Update
|
|
for new argument types.
|
|
* src/Decoder.m ([Decoder -decodeBytes:count:withName:name]):
|
|
Update for new argument types, and verify read count.
|
|
* src/objects/Coding.h (Coding -encodeBytes:count:withName:): Use
|
|
void*, not char* for bytes.
|
|
(Coding -decodeBytes:count:withName:): Likewise, and pass COUNT, not
|
|
pointer to COUNT.
|
|
|
|
* src/Encoder.m ([Encoder -encodeBytes:count:withName:]): Method
|
|
implemented; although it may need to change later.
|
|
* src/Decoder.m ([Decoder -decodeBytes:count:withName:name]):
|
|
Likewise.
|
|
|
|
* src/RunLoop.m ([RunLoop -acceptInputForMode:beforeDate:]): If
|
|
LIMIT_DATE is nil, poll the inputs, but don't wait if there is
|
|
nothing available immediately. Check to make sure that the
|
|
LIMIT_DATE hasn't already past; if it has, return immediately,
|
|
before polling input sources.
|
|
|
|
Mon Mar 18 13:31:38 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
Miscellaneous small fixes, found with -Wall.
|
|
* src/NSThread.m: Fix indentation.
|
|
([NSThread +currentThread]): Add parenthesis around assignment inside
|
|
while.
|
|
* src/NSString.m: Include <objects/behavior.h>.
|
|
([NSString -componentsSeparatedByString:]): Initialize ARRAY!
|
|
* src/List.m: Include <objects/stdobjects.h> Use OBJC_MALLOC and
|
|
friends, instead of NX_MALLOC.
|
|
* src/Decoder.m ([Decoder -finishDecodingInterconnectedObjects]):
|
|
Comment out temporarily unused AWAKE_SEL local variable.
|
|
* src/Proxy.m: Raise NSExceptions instead of using -error:.
|
|
|
|
Debug bug the occurs when a client disconnects from the server,
|
|
and other clients have references to Proxy's of the disconnected
|
|
client.
|
|
* examples/second-server.m ([SecondServer
|
|
-connectionBecameInvalid:]): Correctly detect proxies that should
|
|
be removed from the array.
|
|
* examples/second-client.m (main): Run RunLoop properly according
|
|
to new style.
|
|
* src/Proxy.m ([Proxy -encodeWithCoder:]): Add a more explanatory
|
|
error message for the use of invalid Connections.
|
|
([Proxy +encodeObject:withConnectedCoder:]): Likewise.
|
|
([Proxy -forward::]): Likewise.
|
|
* src/Connection.m ([Connection -_handleRmc:]): [METHOD_REQUEST]:
|
|
Fix conditional for which we handle a request immediately. Before
|
|
it inappropriately queued call backs from the server on which we
|
|
were waiting, causing us to wait forever.
|
|
* src/TcpPort.m ([TcpOutPort -encodeWithCoder:]): Add debugging
|
|
message.
|
|
([TcpOutPort +newWithCoder:]): Add debugging message.
|
|
* src/Proxy.m ([Proxy +encodeObject:withConnectedCoder:]): Assert
|
|
that triangle connection proxy out port's are valid.
|
|
|
|
Fix tricky autorelease bugs.
|
|
* examples/second-server.m ([SecondServer
|
|
-connectionBecameInvalid:]): Don't release REMOTES; it was already
|
|
autoreleased.
|
|
(main): Enable double release check with NSObject.
|
|
* src/NSMapTable.m (NSAllMapTableKeys): Don't autorelease the
|
|
return value; it was already autoreleased. Too many autoreleases
|
|
were causing crashes.
|
|
(NSAllMapTableValues): Likewise.
|
|
* src/NSObject.m ([NSObject -autorelease]): Print retain and
|
|
release counts in more helpful error message.
|
|
* src/NSAutoreleasePool.m ([NSAutoreleasePool -dealloc]): Set
|
|
CURRENT_POOL to PARENT, even if PARENT is nil. This is correct
|
|
behavior. Old behavior could cause infinite loops in the PARENT
|
|
pointers.
|
|
|
|
Remove old vestiges of nil mode used when RunLoop modes were
|
|
ignored.
|
|
* src/RunLoop.m ([RunLoop -limitDateForMode:]): Assert mode.
|
|
([RunLoop -acceptInputForMode:beforeDate:]): Likewise.
|
|
* src/NSTimer.m ([NSTimer
|
|
+scheduledTimerWithTimeInterval:invocation:repeats:]): Add to
|
|
RunLoopDefaultMode, not nil.
|
|
([NSTimer
|
|
+scheduledTimerWithTimeInterval:target:selector:userInfo:repeats:]):
|
|
Likewise.
|
|
* src/Connection.m ([Connection
|
|
-_getReceivedReplyRmcWithSequenceNumber:]): Run the RunLoop in
|
|
RunLoopConnectionReplyMode, not nil mode.
|
|
|
|
Update Connection for new RunLoop/Port interaction/interface.
|
|
* src/Connection.m ([Connection
|
|
+newForInPort:outPort:ancestorConnection:]): Add the in port to
|
|
the RunLoop in new RunLoop style.
|
|
([Connection -addToRunLoop:forMode:]): Method removed.
|
|
([Connection -removeFromRunLoop:forMode:]): Method removed.
|
|
([Connection -_getReceivedReplyRmcWithSequenceNumber:]): Use new class
|
|
method for RunLoop.
|
|
([Connection -invalidate]): Remove comment about removing from
|
|
RunLoop. RunLoop's now automatically remove invalid ports.
|
|
(RunLoopConnectionReplyMode): New run loop mode string.
|
|
* src/objects/Connection.h: Remove old methods. Add declaration
|
|
of new RunLoop mode.
|
|
|
|
Fix the relationship between RunLoop's and Port's. Maintain the
|
|
fd_set, and information about which Port's are registered with
|
|
which RunLoop's entirely in the RunLoop. Also implement multiple
|
|
MODE's with RunLoop's---previously the MODE was ignored:
|
|
|
|
* checks/tcpport-server.m (main): Add port to run loop using new
|
|
scheme.
|
|
* checks/tcpport-client.m (main): Likewise.
|
|
|
|
* src/TcpPort.m: Removed methods for dealing remembering locally
|
|
which RunLoop we've been added to; now the RunLoop manages this.
|
|
([TcpInPort +newForReceivingFromPortNumber:]): Don't initialize the
|
|
the removed ivar ACTIVE_FD_SET. Likewise with _RUN_LOOPS.
|
|
([TcpInPort -newPacketReceivedBeforeDate:]): Don't use removed
|
|
_RUN_LOOPS.
|
|
([TcpInPort -old_receivePacketWithTimeout:]): Remove old deprecated
|
|
method.
|
|
([TcpInPort -invokeWithObject:]): Method removed.
|
|
([TcpInPort -newPacketReceivedBeforeDate:]): Overhauled to use new
|
|
RunLoop mechanism.
|
|
([TcpInPort -getFds:count:]): New method, called by RunLoop.
|
|
([TcpInPort -readyForReadingOnFileDescriptor:]): Likewise.
|
|
([TcpInPort -_addClientOutPort:]): Updated for new scheme.
|
|
([TcpInPort -_connectedOutPortInvalidated:]): Likewise.
|
|
([TcpInPort -addToRunLoop:forMode:]): Method removed.
|
|
([TcpInPort -removeFromRunLoop:forMode:]): Method removed.
|
|
([TcpInPort -dealloc]): Don't release deleted ivar _RUN_LOOPS.
|
|
* src/objects/TcpPort.h (TcpInPort _run_loops): Removed ivars.
|
|
(TcpInPort _client_sock_2_out_port, _client_sock_2_packet): Prepended
|
|
ivars with underscores.
|
|
|
|
* src/RunLoop.m: Add new explanatory comment at beginning.
|
|
([RunLoop -init]): Initialize new ivars.
|
|
([RunLoop -currentMode]): New method.
|
|
([RunLoop -addFileDescriptor:object:forMode:]): Method replaces
|
|
-addFileDescriptor:invocation:forMode:, and re-implemented. Not
|
|
yet functional.
|
|
([RunLoop -removeFileDescriptor:forMode:]): Likewise.
|
|
([RunLoop -addPort:forMode:]): New method.
|
|
([RunLoop -removePort:forMode:]): New method.
|
|
([RunLoop -addTimer:forMode:]): Overhauled to do the right thing with
|
|
the MODE argument.
|
|
([RunLoop -acceptInputForMode:beforeDate:]): Method overhauled to ask
|
|
port objects for their FD's, create FD_2_OBJECT map table on the
|
|
fly, and initialize FDS on the fly. Now properly removed
|
|
invalidated ports from the MODE.
|
|
([RunLoop -runOnceBeforeDate:forMode:]): New method.
|
|
([RunLoop -runOnceBeforeDate:]): New method.
|
|
([RunLoop -runUntilDate:forMode:]): New method.
|
|
([RunLoop -runUntilDate:]): New method.
|
|
([RunLoop +runUntilDate:forMode:]): New method.
|
|
([RunLoop +runOnceBeforeDate:]): New method.
|
|
([RunLoop +runOnceBeforeDate:forMode:]): New method.
|
|
([RunLoop +currentMode]): New method.
|
|
(RunLoopDefaultMode): New global variable.
|
|
([NSObject -performSelector:afterDelay:]): Not implemented.
|
|
* src/objects/RunLoop.h: Many new methods declared.
|
|
(RunLoop _mode_2_timers): New ivar.
|
|
(RunLoop _mode_2_in_ports): New ivar.
|
|
(RunLoop _mode_2_fd_listeners): New ivar.
|
|
(RunLoopDefaultMode): New extern variable.
|
|
|
|
* src/objects/RandomGenerating.h (RandomGenerating): Inherit from
|
|
NSObject protocol. Remove methods +alloc and -init.
|
|
|
|
* src/NSDate.m ([NSDate +distantFuture]): Increase efficiency by
|
|
caching a single instance in a static variable.
|
|
([NSDate +distantPast]): Likewise.
|
|
|
|
Fri Mar 15 19:13:57 1996 Scott Christley <scottc@net-community.com>
|
|
|
|
* checks/nsarray.m (main): Filled out tests for NSArray and
|
|
NSMutableArray classes.
|
|
|
|
Sun Mar 17 18:20:17 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
Many miscellaneous small bug fixes, found with -Wall:
|
|
|
|
* src/objects/objects.h: Don't include <objects/SocketPort.h>
|
|
|
|
* src/mframe.m (dissect_method_return): Initialize RETFRAME to
|
|
NULL to prevent warning.
|
|
|
|
* src/UdpPort.m: Change references to non-existant UdpPacket class
|
|
to UdpInPacket.
|
|
* src/objects/UdpPort.h: Declare classes UdpInPacket and
|
|
UdpOutPacket.
|
|
|
|
* src/TcpPort.m (bzero): New macro, to memset(); for FD_ZERO().
|
|
|
|
* src/RunLoop.m: Remove references to NAN. Include <string.h> for
|
|
memset.
|
|
(bzero): New macro, to memset(); for FD_ZERO().
|
|
* src/NSTimer.m: Remove references to NAN.
|
|
|
|
* src/Proxy.m ([Proxy +newWithCoder:]): Remove unused variable.
|
|
|
|
* src/NotificationDispatcher.m ([NotificationDispatcher
|
|
-removeObserver:name:object:]): Remove unused variables.
|
|
* src/NSNotificationCenter.m: Include <behavior.h>
|
|
* src/NSNotification.m: Include <behavior.h>
|
|
|
|
* src/NSInvocation.m ([NSInvocation -methodSignature]): Return
|
|
nil.
|
|
|
|
* src/NSDate.m ([NSDate -initWithString:]): Initialize theTime to
|
|
0, to prevent warning.
|
|
|
|
* src/NSData.m ([NSData +_setConcreteClass:]): Include <string.h>
|
|
for memset().
|
|
|
|
* src/NSCountedSet.m ([NSCountedSet -countForObject:]): Return 0.
|
|
|
|
* src/NSBundle.m: Minor comment format fix.
|
|
|
|
* src/Invocation.m: Remove several unused local variables.
|
|
([MethodInvocation -invokeWithObject:]): Revert last change: call
|
|
-invokeWithTarget:, not -subclassResponsibility.
|
|
|
|
* src/NSAllocateObject.m: Include <string.h> for memset().
|
|
|
|
* src/NSAutoreleasePool.m ([NSAutoreleasePool
|
|
-parentAutoreleasePool]): Remove inclusion of eltfuncs.h and
|
|
collhash.h.
|
|
|
|
Miscellaneous archiving fixes.
|
|
* src/NSArchiver.m ([NSArchiver +initialize]): Use ==, not = in if
|
|
test.
|
|
* src/Encoder.m ([Encoder -_coderCreateReferenceForObject:]):
|
|
Return the xref!
|
|
([Encoder -_coderCreateReferenceForConstPtr:]): Likewise.
|
|
* src/Coder.m: Return nil for several -notImplemented methods that
|
|
are to return objects.
|
|
* src/CStream.m ([CStream -initForWritingToStream:s]): Return the
|
|
result.
|
|
* src/TextCStream.m ([TextCStream -decodeName:name]): Pass correct
|
|
value to debug message.
|
|
* src/RawCStream.m ([RawCStream
|
|
-encodeValueOfCType:at:withName:name]): Remove unused variable.
|
|
([RawCStream -decodeValueOfCType:at:withName:]): Likewise. Switch on
|
|
*type, not unused variable.
|
|
|
|
Miscellaneous fixes to collection classes.
|
|
* src/MutableCString.m ([MutableCString -initWithCoder:]): Remove
|
|
unused variable n. Return self, not n.
|
|
* src/OrderedCollection.m ([OrderedCollection
|
|
-replaceRange:withCollection:]): Return void.
|
|
([OrderedCollection -replaceRange:usingCollection:]): Likewise.
|
|
* src/MappedCollector.m ([MappedCollector
|
|
-initWithObjects:forKeys:count:]): Return self.
|
|
* src/LinkedList.m ([LinkedList -initWithObjects:count:]): Return
|
|
self.
|
|
* src/KeyedCollection.m ([ConstantKeyedCollection
|
|
-initWithObjects:forKeys:count:]): Return nil.
|
|
([ConstantKeyedCollection -objectAtKey:]): Likewise.
|
|
([ConstantKeyedCollection -keyOfObject:]): Likewise.
|
|
([ConstantKeyedCollection -withKeysInvoke:]): Return void.
|
|
([ConstantKeyedCollection -withKeysInvoke:whileTrue:]): Likewise.
|
|
([ConstantKeyedCollection -nextObjectAndKey:withEnumState:]):
|
|
Return nil.
|
|
([ConstantKeyedCollection -copyValuesAs:]): Likewise.
|
|
([ConstantKeyedCollection -nextObjectAndKey:withEnumState:]):
|
|
Likewise.
|
|
* src/IndexedCollection.m ([ConstantIndexedCollection
|
|
-prevObjectWithEnumState:]): Use assignment, not equality test for
|
|
setting enumState to -1.
|
|
* src/GapArray.m ([GapArray -empty]): Renamed from
|
|
_collectionEmpty, and implemented to do entire job of emptying.
|
|
* src/Dictionary.m ([Dictionary -newEnumState]): Removed useless
|
|
cruft.
|
|
* src/Collection.m ([ConstantCollection
|
|
-detectObjectByInvoking:]): Set detectedObject to nil to avoid
|
|
warning.
|
|
([ConstantCollection -maxObject]): Initialize MAX to nil.
|
|
([ConstantCollection -minObject]): Initialize MIN to nil.
|
|
([Collection -uniqueContents]): Iterate over CP, not SELF.
|
|
* src/CircularArray.m ([CircularArray -empty]): Renamed from
|
|
_collectionEmpty, and implemented to do entire job of emptying.
|
|
* src/Array.m ([Array -empty]): Renamed from _empty, and
|
|
implemented to do entire job of emptying.
|
|
|
|
Fri Mar 15 13:10:34 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* doc/Makefile.in (GNUstep-FAQ.html): New target.
|
|
(GNUstep-FAQ): Rules modified to handle @email{} and @url{}.
|
|
|
|
Tue Mar 12 09:43:32 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* checks/tcpport-server.m, checks/tcpport-client.m: Method name
|
|
changes.
|
|
|
|
* checks/Makefile.in (SRCS): Add nstimer.m.
|
|
|
|
* src/TcpPort.m ([TcpInPort +newForReceivingFromPortNumber:]):
|
|
Initialize _run_loops.
|
|
([TcpInPort -addToRunLoop:forMode:]): Use new _run_loops Bag.
|
|
([TcpInPort -removeFromRunLoop:forMode:]): Likewise.
|
|
([TcpInPort -_connectedOutPortInvalidated:]): Likewise.
|
|
([TcpInPort -_addClientOutPort:]): Likewise.
|
|
([TcpInPort -dealloc]): Release _run_loops.
|
|
([TcpOutPort -outPacketClass]): Method renamed from -packetClass.
|
|
([TcpOutPort +outPacketClass]): Likewise.
|
|
* src/objects/TcpPort.h (TcpInPort _run_loops): Make it a Bag.
|
|
(TcpInPort _run_loop_modes): Remove ivar.
|
|
|
|
* src/Port.m ([InPort -setReceivedPacketInvocation:]): Assert that
|
|
_packet_invocation isn't already set.
|
|
|
|
* src/RunLoop.m ([RunLoop -removeFileDescriptor:forMode:]): Add
|
|
debugging message.
|
|
|
|
* src/NSGSet.m ([NSGSet -member:]): Return value.
|
|
|
|
* src/IndexedCollection.m ([ConstantIndexedCollection
|
|
-firstObject]): Return nil if empty.
|
|
([ConstantIndexedCollection -lastObject]): Likewise.
|
|
([ConstantIndexedCollection -prevObjectWithEnumState:]): Use -1 to
|
|
deal with reversals at extremes.
|
|
([ConstantIndexedCollection -nextObjectWithEnumState:]): Use [self
|
|
count] to deal with reversals at extremes.
|
|
|
|
* src/Connection.m (in_port_2_ancestor): New static variable.
|
|
([Connection +initialize]): Initialize it.
|
|
([Connection +newForInPort:outPort:ancestorConnection:]): Use new
|
|
static variable to handle ancestor; (ignore ancestor argument; the
|
|
method name will be changed later). Set the in-port's packet
|
|
invocation to the Connection class. Don't call
|
|
-addToRunLoop.. here, the mechanics of it were already done above.
|
|
([Connection -addToRunLoop:forMode:]): Mark it as not implemented,
|
|
for now.
|
|
([Connection -runConnectionUntilDate:]): Don't add to run loop here.
|
|
([Connection +invokeWithObject:]): Make it a class method instead of
|
|
an instance method; alter contents appropriately for this.
|
|
([Connection -portIsInvalid:]): Look at in_port_2_ancestor and remove
|
|
ourselves if necessary.
|
|
([Connection -invalidate]): Don't remove ourselves from the run loop
|
|
here, because we may not be the only one listening. This still
|
|
needs fixing.
|
|
|
|
* src/ConnectedCoder.m ([ConnectedEncoder -dismiss]): Fix typo in
|
|
sendPacket: call.
|
|
|
|
* src/IndexedCollection.m: Several minor fixes to return types and
|
|
return values. Also:
|
|
([ReverseEnumerator -nextObject]): Pass pointer to enum_state.
|
|
([ConstantIndexedCollection -prevObjectWithEnumState:]): Method
|
|
overhauled.
|
|
([ConstantIndexedCollection -nextObjectWithEnumState:]): Likewise.
|
|
([ConstantIndexedCollection -newEnumState]): New method.
|
|
|
|
* src/Foundation/NSGSet.h: Remove #include of objects/elt.h.
|
|
* src/Foundation/NSGDictionary.h: Likewise.
|
|
* src/Foundation/NSGArray.h: Likewise.
|
|
* src/NSGSet.m: Remove #include of objects/eltfuncs.h.
|
|
* src/NSGDictionary.m: Likewise.
|
|
* src/NSGCountedSet.m: Likewise.
|
|
* src/AutoreleasePool.m: Remove #include of objects/collhash.h.
|
|
|
|
* src/TcpPort.m: Updated to conform to new Port class. TcpPacket
|
|
class split into TcpInPacket and TcpOutPacket.
|
|
* src/objects/TcpPort.h: Declare new methods and classes.
|
|
|
|
* src/RunLoop.m: Debugging messages conditioned on debug_run_loop.
|
|
([RunLoop -runOnceBeforeDate:forMode:]): New method.
|
|
* src/objects/RunLoop.h: Declare new method.
|
|
|
|
* src/Port.m ([Port +outPacketClass]): Method renamed from
|
|
packetClass.
|
|
([Port -outPacketClass]): Likewise.
|
|
([InPort -setReceivedPacketInvocation:]): Method renamed from
|
|
setPacketInvocation.
|
|
([OutPort -sendPacket:]): Method renamed from -sendPacket:withTimeout:.
|
|
(OutPacket, InPacket): New classes, replacing Packet class.
|
|
* src/objects/Port.h: Declare new methods and classes.
|
|
|
|
* src/MemoryStream.m ([MemoryStream -initWithCapacity:prefix:]):
|
|
New method.
|
|
* src/objects/MemoryStream.h: Declare new method.
|
|
|
|
* src/Connection.m: Remove old-style methods for getting incoming
|
|
ConnectedCoders. Add new methods that use RunLoop. All callers
|
|
changed.
|
|
([Connection -addToRunLoop:forMode:]): New method.
|
|
([Connection -removeFromRunLoop:forMode:]): New method.
|
|
([Connection -runConnectionUntilDate:]): New method.
|
|
([Connection -runConnection]): Method changed to call above method.
|
|
([Connection -_handleRmc:]): New method.
|
|
([Connection -_handleQueuedRmcRequests]): New method.
|
|
([Connection -_getReceivedReplyRmcFromQueueWithSequenceNumber:]): New
|
|
method.
|
|
([Connection -_getReceivedReplyRmcWithSequenceNumber:]): New method.
|
|
([Connection -invokeWithObject:]): New method.
|
|
([Connection +newForInPort:outPort:ancestorConnection:]): Set
|
|
reply_depth ivar.
|
|
([Connection -_encoderCreateReferenceForConstPtr:]): Return the xref!
|
|
* src/objects/Connection.h: Declare new methods. Type arguments
|
|
with InPort and OutPort, not just Port.
|
|
(Connection reply_depth): New ivar.
|
|
|
|
* src/ConnectedCoder.m ([ConnectedDecoder
|
|
+newDecodingWithPacket:connection:]): New method. Old method
|
|
+newDecodingWithConnection:timeout: is deprecated.
|
|
* src/objects/ConnectedCoder.h: Declare new method.
|
|
|
|
Mon Mar 11 12:02:04 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* checks/tcpport-server.m: Updated for RunLoop.
|
|
* checks/tcpport-client.m: Likewise.
|
|
|
|
* src/RunLoop.m: New file.
|
|
* src/objects/RunLoop.h: New file.
|
|
* src/NSTimer.m: New file.
|
|
* src/Makefile.in (CFLAGS): Add -Wall.
|
|
(GNU_MFILES): Add RunLoop.m.
|
|
(GNU_HEADERS): Add objects/RunLoop.h.
|
|
(GNUSTEP_MFILES): Add NSTimer.m.
|
|
(GNUSTEP_HEADERS): Add Foundation/NSTimer.h.
|
|
|
|
* src/TcpPort.m ([TcpInPort -receivePacketWithTimeout:]):
|
|
Completely new implementation that uses the RunLoop.
|
|
([TcpInPort -old_receivePacketWithTimeout:]): New method, holding old
|
|
implementation.
|
|
([TcpInPort -invokeWithObject:]): New method, called by RunLoop.
|
|
([TcpInPort -_tryToGetPacketFromReadableFD:]): New private method.
|
|
([TcpInPort -_addClientOutPort:toRunLoop:forMode:]): New method.
|
|
([TcpInPort -addToRunLoop:forMode:]): New method.
|
|
([TcpInPort -_removeClientOutPort:fromRunLoop:forMode:]): New method.
|
|
([TcpInPort -removeFromRunLoop:forMode:]): New method.
|
|
([TcpInPort -_addClientOutPort:]): Add it to the RunLoop.
|
|
([TcpInPort -_connectedOutPortInvalidated:]): Remove it from the
|
|
RunLoop.
|
|
([TcpInPort -_addClientOutPort:]): Method renamed from _addOutPort:.
|
|
* src/objects/TcpPort.h (TcpInPort _run_loop, _run_loop_mode): New
|
|
ivars.
|
|
|
|
* src/Port.m ([InPort -init]): Set _packet_invocation.
|
|
([InPort -setPacketInvocation:]): New method.
|
|
([InPort -addToRunLoop:forMode:]): New method.
|
|
([InPort -removeFromRunLoop:forMode:]): New method.
|
|
* src/objects/Port.h: Declare new methods.
|
|
(Port _packet_invocation): New ivar.
|
|
|
|
* src/NotificationDispatcher.m ([NotificationDispatcher
|
|
+defaultInstance]): New method.
|
|
([NotificationDispatcher -removeObserver:name:object:]): Remove
|
|
handling of non-existance _nil_observer_array.
|
|
|
|
* src/NSDate.m: Many small formatting changes.
|
|
(UNIX_REFERENCE_INTERVAL): Macro renamed from UNIX_OFFSET.
|
|
([NSConcreteDate -timeIntervalSinceNow]): New method.
|
|
|
|
* src/Invocation.m (return_retained): Change macro from 1 to 0.
|
|
|
|
* src/Foundation/NSTimer.h: Declare NSTimer class interface.
|
|
|
|
* src/Connection.m ([Connection -isValid]): New method.
|
|
|
|
* src/objects/NotificationDispatcher.h ([NotificationDispatcher
|
|
+defaultInstance]): Declare new method.
|
|
|
|
* src/objects/Notification.h (Notifying): New protocol.
|
|
(NotificationPosting): New protocol.
|
|
|
|
* src/objects/Connection.h: Declare new method.
|
|
|
|
* src/objects/Array.h (ConstantArray): Inherit from
|
|
ConstantIndexedCollection, not IndexedCollection.
|
|
|
|
* src/IndexedCollection.m ([IndexedCollection +initialize]):
|
|
Compare self with IndexedCollection, not KeyedCollection.
|
|
|
|
* doc/gnustep-faq.texi: Changes by Scott Christley.
|
|
|
|
Thu Mar 7 15:51:51 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/TcpPort.m ([TcpInPort -receivePacketWithTimeout:]): Move
|
|
initialization of select_timeout to inside loop since Linux
|
|
select() modifies *select_timeout.
|
|
|
|
Wed Mar 6 11:40:02 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/TcpPort.m: Assert is_valid in many places.
|
|
([TcpInPort +newForReceivingFromPortNumber:]): Get the address of the
|
|
host, not localhost=127.0.0.1.
|
|
([TcpInPort -invalidate]): Remove ourselves from socket_2_port and
|
|
port_number_2_port here instead of in -dealloc.
|
|
([TcpInPort -description]): Indicate whether we are valid or not in
|
|
string.
|
|
([TcpOutPort -description]): Likewise.
|
|
([TcpOutPort -invalidate]): Assert is_valid, don't just conditionally
|
|
execute body. Remove ourselves from out_port_bag and
|
|
socket_2_port here, not in -dealloc.
|
|
([TcpPacket +_getPacketSize:andReplyPort:fromSocket:inPort:]): If we
|
|
don't read() full prefix, don't abort(), just return EOF.
|
|
|
|
* src/Proxy.m: Assert that the connection is valid in several
|
|
places.
|
|
|
|
* src/Connection.m: Assert is_valid in many places.
|
|
([Connection +newForInPort:outPort:ancestorConnection:]): Set is_valid
|
|
to 1. Only ask for notification of out port death if out port is
|
|
non-nil.
|
|
([Connection -portIsInvalid:]): Properly get the port from the
|
|
notification object.
|
|
|
|
* src/Port.m ([Port -invalidate]): Insist that is_valid is true at
|
|
the beginning of this method, don't test it and skip the body of
|
|
this method. Force users to be careful about calling -invalidate
|
|
more than once.
|
|
|
|
* src/NSMapTable.m (NSAllMapTableValues): Get rid of unused
|
|
variable ARRAY. Return VALUEARRAY, not unused variable.
|
|
|
|
* examples/second-server.m (announce_new_port): New function.
|
|
(announce_broken_port): New function.
|
|
(main): Register them for notifications; let user choose registered
|
|
name on command line.
|
|
|
|
* examples/second-client.m (main): Use new notification interface.
|
|
|
|
* checks/nsnotification.m (main): Wrap it with an
|
|
NSAutoreleasePool.
|
|
|
|
* checks/tcpport-server.m (main): Use new notification interface
|
|
for invocations.
|
|
|
|
* src/NotificationDispatcher.m (NotificationRequest): Ivar names
|
|
prepended with `_'.
|
|
(NotificationInvocation): Likewise.
|
|
(NotificationPerformer): Likewise.
|
|
([NotificationDispatcher
|
|
-_addObserver:notificationRequest:name:object:]): Insist that
|
|
observer be non-nil; (in the case of Invocation's, the invocation
|
|
is now the observer).
|
|
([NotificationDispatcher -addInvocation:name:object:]): Method renamed
|
|
from -addObserver:invocation:... Pass the invocation as the
|
|
observer. Release the NR after it has been added.
|
|
([NotificationDispatcher -addObserver:selector:name:object:]): Release
|
|
the NR after it has been added.
|
|
([NotificationDispatcher -_removeFromLinkedListNotificationRequest:]):
|
|
New method.
|
|
([NotificationDispatcher -removeInvocation:]): New method.
|
|
([NotificationDispatcher -removeInvocation:name:object:]): New method.
|
|
([NotificationDispatcher -removeObserver:]): Use
|
|
_removeFromLinkedListNotificationRequest:.
|
|
([NotificationDispatcher -removeObserver:name:object:]): Likewise.
|
|
([NotificationDispatcher +addInvocation:name:object:]): New method.
|
|
([NotificationDispatcher +removeInvocation:]): New method.
|
|
([NotificationDispatcher +removeInvocation:name:object:]): New method.
|
|
* src/objects/NotificationDispatcher.h: Declare new methods.
|
|
|
|
* src/Connection.m ([Connection +initialize]): Initialize
|
|
all_connections_local_targets.
|
|
([Connection -addLocalObject:]): Put it in
|
|
all_connections_local_targets also.
|
|
([Connection -removeLocalObject:]): Remove it from
|
|
all_connections_local_targets also.
|
|
|
|
Tue Mar 5 10:32:51 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* examples/second-server.m: Use notifications instead of old
|
|
scheme for invalidation listening.
|
|
* examples/second-server.h: Don't conform to no-longer-used
|
|
InvalidationListening protocol.
|
|
* examples/second-client.m (announce_new_connection): New function.
|
|
(main): Register it for notifications. Run the connection forever,
|
|
instead of on a 15 second timeout.
|
|
* examples/first-client.m (main): Before exit, invalidate the
|
|
connection, not the proxy.
|
|
* examples/textcoding.m: Send -close to Archiver, not old
|
|
-closeCoder.
|
|
* examples/Makefile.in (first): Force check for re-compilation of
|
|
libobjects.
|
|
(second): Likewise.
|
|
|
|
* checks/tcpport-server.m (announce_new_connection): New function.
|
|
(announce_broken_connection): New function.
|
|
(main): Register new functions for notifications. Send messages back
|
|
to clients to test reply port mechanism.
|
|
* checks/tcpport-client.m: Test the reply port mechanism; look for
|
|
messages coming back from the server.
|
|
* checks/server.m: Use Array instead of List. Use
|
|
NotificationDispatcher to hear about invalid and new connections.
|
|
Let the user set the registerd name from the command line.
|
|
* checks/server.h: Update for new server interface.
|
|
* checks/client.m (main): Let user set registered name from
|
|
command line.
|
|
* checks/Makefile.in (SRCS): Added nsnotification.m.
|
|
(tcpport, remote): Force check of libobjects re-compilation.
|
|
|
|
* doc/Makefile.in (TEXI_FILES): Add gnustep-faq.texi.
|
|
(GNUstep-FAQ): New target.
|
|
|
|
* src/TcpPort.m: Many ivar names changed for clarity. Some new
|
|
ivars added; see changes to TcpPort.h. Overhaul of how
|
|
TcpOutPort's track their remote address. Previously they used the
|
|
address of their local peer; this is no good when encoding a
|
|
TcpOutPort on the wire for D.O.; the D.O. reciever needs a way to
|
|
contact the listen'ing socket of the TcpInPort in order to form a
|
|
new connection. _remote_in_port_address is now the address of the
|
|
remote listen'ing socket. Added many comments throughout. All
|
|
perror() calls changes to be more informative.
|
|
(debug_tcp_port): Make this a static variable instead of a macro.
|
|
(init_socket_2_port): Check pre-existance of socket_2_port here
|
|
instead of callers.
|
|
([TcpInPort +newForReceivingFromPortNumber:]): Method overhauled.
|
|
Don't bind socket to INADDR_ANY because we need to be able to
|
|
encode our unique host address on the wire for D.O.
|
|
([TcpInPort -_listeningSockaddr]): New method.
|
|
([TcpInPort -receivePacketWithTimeout:]): Method overhauled. Get the
|
|
reply port for an incoming packet from the packet prefix.
|
|
([TcpInPort -_connectedOutPortInvalidated:]): Add debugging message.
|
|
([TcpInPort -classForConnectedCoder:]): Return the TcpOutPort class,
|
|
not [self class] because we always encode a "send right" (ala
|
|
Mach), not a "recieve right".
|
|
([TcpOutPort
|
|
+newForSendingToSockaddr:withAcceptedSocket:pollingInPort:]):
|
|
Method renamed, and majorly overhauled. Now many different
|
|
combinations of NULL argument do different things. This is now
|
|
the single designated initializer. We now check both the SOCKADDR
|
|
and the SOCK argument to find previously-created TcpOutPort's.
|
|
This method is also used to set the remote_in_port_address of an
|
|
already-created TcpOutPort. There is more error checking.
|
|
([TcpOutPort +newForSendingToPortNumber:onHost:]): Overhauled.
|
|
([TcpOutPort +_newWithAcceptedSocket:peeraddr:inPort:]): Overhauled to
|
|
work with new designated initalizer.
|
|
([TcpOutPort -sendPacket:withTimeout:]): Use new low-level Packet
|
|
interface that deals with reply ports.
|
|
([TcpOutPort +packetClass]): New method.
|
|
(PREFIX_LENGTH_TYPE): New macro.
|
|
(PREFIX_LENGTH_SIZE): New macro.
|
|
(PREFIX_ADDRESS_TYPE): New macro.
|
|
(PREFIX_ADDRESS_SIZE): New macro.
|
|
(PREFIX_SIZE): New macro.
|
|
([TcpPacket -_initForReceivingWithSize:replyPort:]): Use 0 prefix,
|
|
because the separate +_getPacketSize... method reads those bytes.
|
|
([TcpPacket -_writeToSocket:withReplySockaddr:]): Now the prefix
|
|
includes the sockaddr of the reply port. If ADDR is non-null, set
|
|
the reply port address portion of the prefix.
|
|
([TcpPacket +_getPacketSize:andReplyPort:fromSocket:inPort:]): New
|
|
method, replacing +readPacketSizeFromSocket:.
|
|
([TcpPacket -_fillFromSocket:]): Set Stream's eofPosition properly.
|
|
Leave Stream's position at zero.
|
|
(InPortAcceptedClientNotification): New notification string.
|
|
* src/objects/TcpPort.h: Declare new ivars and notfication
|
|
strings.
|
|
|
|
* src/Proxy.m: Change many ivar names.
|
|
(debug_proxy): Temporarily set to 1.
|
|
([Proxy +newForRemoteTarget:connection:]): Set new ivar names.
|
|
Embellish debugging message to include connection.
|
|
([Proxy -invalidateProxy]): Return void instead of self.
|
|
([Proxy +encodeObject:withConnectedCoder:]): Overhauled, encode tag,
|
|
and change order of encoding for more efficient encoding. Added
|
|
many comments.
|
|
([Proxy +newWithCoder:]): Likewise, to match. Also added a check to
|
|
make sure we don't return a bogus pointer for a local object; do
|
|
this by checking with connection's +includesLocalObject; if it's
|
|
not there, raise an exception.
|
|
([Proxy -forward::]): Call the new forwarding method name in
|
|
Connection.
|
|
* src/objects/Proxy.h: Several ivar name changes. Method types
|
|
fixed.
|
|
|
|
* src/Connection.m (default_in_port_class,
|
|
default_out_port_class): New static variables, replacing
|
|
default_port_class.
|
|
(all_connections_local_targets): New map table; not used yet, though.
|
|
(debug_connection): Temporarily set to 1.
|
|
([Connection +initialize]): Set new static vars.
|
|
([Connection +setDefaultInPortClass:]): New method.
|
|
([Connection +defaultInPortClass]): New method.
|
|
([Connection +setDefaultOutPortClass:]): New method.
|
|
([Connection +defaultOutPortClass]): New method.
|
|
([Connection -init]): Use new default_in_port_class.
|
|
([Connection +new]): Likewise.
|
|
([Connection +newWithRootObject:]): Likewise.
|
|
([Connection +newRegisteringAtName:withRootObject:]): Likewise.
|
|
([Connection +rootProxyAtName:onHost:]): Likewise.
|
|
([Connection +rootProxyAtPort:]): Likewise.
|
|
([Connection +newForInPort:outPort:ancestorConnection:]): Assert the
|
|
in port. Embellish the debugging message to print the in port and
|
|
out port. Set the new connection's in port and out port ivars.
|
|
Register ourselves as observers of port invalidation with the
|
|
NotificationDispatcher. Post a notification that a new connection
|
|
was created.
|
|
([Connection -runConnectionWithTimeout:]): Use
|
|
_serviceReceivedRequestsWithTimeout:.
|
|
([Connection -_newReceivedRmcWithTimeout:]): Use decodingClass, not
|
|
encodingClass.
|
|
([Connection -_serviceReceivedRequestsWithTimeout:]): Method name
|
|
changed from -newReceivedReplyRmcWithSequenceNumber:.
|
|
([Connection +includesLocalObject:]): New method; still needs more
|
|
infrastructure to work, though.
|
|
([Connection -inPortClass]): New method.
|
|
([Connection -outPortClass]): New method.
|
|
([Connection -setInPortClass:aPortClass]): New method.
|
|
([Connection -setOutPortClass:aPortClass]): New method.
|
|
([Connection -_encoderCreateReferenceForConstPtr:]): Add 1 to map
|
|
table count to get xref.
|
|
([Connection -_decoderCreateReferenceForConstPtr:]): Likewise.
|
|
([Connection -dealloc]): Remove ourselves from the
|
|
NotificationDispatcher.
|
|
(ConnectionWasCreatedNotification): New notification string.
|
|
* src/objects/Connection.h (in_port_class, out_port_class): New
|
|
ivars replacing port_class. Declare methods to get and set them.
|
|
|
|
* src/ConnectedCoder.m (CONNECTED_CODER_FORMAT_VERSION): New
|
|
macro.
|
|
([ConnectedEncoder
|
|
-_initForWritingWithConnection:sequenceNumber:identifier:]): Get
|
|
packetClass from the connection's outPort, not the outPortClass.
|
|
Return self.
|
|
([ConnectedDecoder
|
|
+readSignatureFromCStream:getClassname:formatVersion:]): Fill in
|
|
name and version.
|
|
|
|
* src/LinkedList.m ([LinkedList -prependObject:]): Fix return type.
|
|
([LinkedList -insertObject:atIndex:]): Likewise.
|
|
|
|
* src/Encoder.m ([Encoder -_coderCreateReferenceForObject:]):
|
|
Insert it in object_2_xref, not const_ptr_2_xref.
|
|
([Encoder -_encodeObject:withName:isBycopy:isForwardReference:]):
|
|
Create the in_progress_table with
|
|
NSNonOwnedPointerMapKeyCallBacks, not NSObject..; needed by
|
|
distributed objects so we don't get infinite loop with proxy
|
|
objects.
|
|
|
|
* src/Decoder.m ([Decoder
|
|
+readSignatureFromCStream:getClassname:formatVersion:]): Compare
|
|
got with 6, not 2.
|
|
([Decoder -_coderCreateReferenceForObject:]): Add warning comment
|
|
about a -retain we don't want. Fix this eventually!
|
|
|
|
* src/objects/CoderPrivate.h (SIGNATURE_FORMAT_STRING): Remove
|
|
"version" from between class name and format version.
|
|
|
|
* src/CStream.m: Use new SIGNATURE_FORMAT_STRING, as defined in
|
|
objects/CoderPrivate.h.
|
|
|
|
Sat Mar 2 19:33:26 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
Wrote implementation of GNU Notification and
|
|
NotificationDispatcher classes. Used these as the engines for new
|
|
versions of the NSNotification* classes. The previous versions of
|
|
NSNotification and NSNotificationCenter were buggy and slow. The
|
|
new GNU implementations have some dramatic improvements speed, due
|
|
to extra use of hash tables, and the use of LinkedList's; they
|
|
also have some better features.
|
|
|
|
* src/Notification.m: New file.
|
|
* src/NotificationDispatcher.m: New file.
|
|
* src/objects/Notification.h: New file.
|
|
* src/objects/NotificationDispatcher.h: New file.
|
|
|
|
* src/NSNotificationCenter.m: Completely new implementation based
|
|
on GNU NotificationDispatcher. This version is much faster, and
|
|
has some better features.
|
|
* src/NSNotification.m: Completely new implementation based on GNU
|
|
Notification.
|
|
* src/Foundation/NSNotification.h: New interface based on GNU
|
|
Notification and NotificationDispatcher.
|
|
|
|
* src/Makefile.in (GNU_MFILES): Added Notification.m and
|
|
NotificationDispatcher.m. Removed SocketPort.m.
|
|
(GNU_HEADERS): Added objects/Notification.h and
|
|
objects/NotificationDispatcher.h. Removed objects/SocketPort.h.
|
|
* src/Foundation/NSConnection.h (NSConnectionDeath): New macro.
|
|
|
|
* src/objects/TcpPort.h: Declare new methods and new Notification
|
|
String.
|
|
|
|
* src/Proxy.m ([Proxy +initialize]): Don't return self.
|
|
|
|
* src/objects/Magnitude.h: Don't include <objc/Object.h>
|
|
|
|
* src/LinkedList.m ([LinkedList -insertObject:after:]): When
|
|
inserting first object, set _count to 1.
|
|
([LinkedList -insertObject:before:]): Likewise.
|
|
([LinkedList -appendObject:]): Don't claim ownership here if we're
|
|
going to call -insertObject:after: later.
|
|
([LinkedList -prependObject:]): Likewise. And renamed from
|
|
prependElement.
|
|
([LinkedList -insertObject:atIndex:]): Likewise.
|
|
([LinkedList -newEnumState]): New method.
|
|
([LinkedList -nextObjectWithEnumState:]): Overhauled.
|
|
([LinkedList -prevObjectWithEnumState:]): Likewise.
|
|
* src/LinkedListNode.m ([LinkedListNode -initialize]): Method
|
|
removed.
|
|
([LinkedListNode -init]): Set _linked_list.
|
|
|
|
* src/Connection.m ([Connection +connectionsCountWithInPort:]):
|
|
Fix use of END_FOR_ARRAY.
|
|
([Connection -invalidate]): Post ConnectionBecameInvalidNotification.
|
|
(ConnectionBecameInvalidNotification): New extern String.
|
|
|
|
* src/objects/Connection.h (ConnectionBecameInvalidNotification):
|
|
Declare extern new String.
|
|
|
|
* src/objects/String.h (String): Make the protocol inherit from
|
|
the NSObject protocol.
|
|
|
|
* src/objects/Collecting.h (ConstantCollecting): Make is inherit
|
|
from the NSObject protocol.
|
|
|
|
* src/TcpPort.m ([TcpInPort -numberOfConnectedOutPorts]): New
|
|
method.
|
|
([TcpInPort -_connectedOutPortInvalidated:]): Post an
|
|
InPortClientBecameInvalidNotification.
|
|
([TcpInPort -portNumber]): New method.
|
|
([TcpInPort -description]): New method.
|
|
([TcpOutPort +newWithAcceptedSocket:inPort:]): Fill in the
|
|
_address ivar.
|
|
([TcpOutPort -portNumber]): New method.
|
|
([TcpOutPort -description]): New method.
|
|
|
|
* src/Invocation.m ([MethodInvocation -invokeWithObject:]): Make
|
|
it a -subclassResponsibililty.
|
|
([MethodInvocation -initWithArgframe:selector:]): Raise an exception
|
|
if we are unable to get a non-null selector type string.
|
|
|
|
* src/Port.m ([Port -invalidate]): Post
|
|
PortBecameInvalidNotification.
|
|
(PortBecameInvalidNotification): New String object.
|
|
|
|
* src/NSGDictionary.m ([NSGMutableDictionary -objectForKey:]): New
|
|
method.
|
|
|
|
* src/KeyedCollection.m ([ConstantKeyedCollection -description]):
|
|
Use object_get_class_name instead of -name.
|
|
|
|
* src/Foundation/NSObject.h (NSObject (NEXSTEP)): Comment out
|
|
-name method because NSNotification.h declares it with a different
|
|
type. Eventually we'll have to come up with a more permanent
|
|
solution.
|
|
|
|
* src/DelegatePool.m ([DelegatePool -forward::]): Fix use of
|
|
END_FOR_ARRAY.
|
|
|
|
* src/Collection.m ([Enumerator -nextObject]): Pass pointer to
|
|
ENUM_STATE.
|
|
([Enumerator -dealloc]): Likewise.
|
|
([ConstantCollection -detectObjectByInvoking:]): Use -returnValueIsTrue.
|
|
([ConstantCollection -printForDebugger]): Use object_get_class_name
|
|
instead of -name because -name is now ambiguously typed.
|
|
|
|
Fri Mar 1 09:53:31 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* checks/Makefile.in: Removed all invdividual targets for
|
|
executables. Use general rule that works for GNU make, but may
|
|
not work for others.
|
|
(SRCS): Add tcpport-server.m and tcpport-client.m.
|
|
(tcpport): New target.
|
|
|
|
* src/MachPort.m: Surrounded by #if for mach.
|
|
|
|
* src/Port.m: Overhauled for new Port heirarchy. More changes
|
|
than I want to list individually.
|
|
* src/objects/Port.h: Likewise.
|
|
* src/TcpPort.m, src/objects/TcpPort.h: New files.
|
|
* src/UdpPort.m, src/objects/UdpPort.h: New files.
|
|
* src/MachPort.m,src/objects/MachPort.h: New files.
|
|
* src/Makefile.in (GNU_MFILES): Added UdpPort.m.
|
|
(GNU_HEADERS): Added objects/UdpPort.h.
|
|
* src/Makefile.in (GNU_MFILES): Add MachPort.m.
|
|
(GNU_HEADERS): Add objects/MachPort.h.
|
|
|
|
* src/Encoder.m ([Encoder -_coderCreateReferenceForConstPtr:]):
|
|
Get xref before asserting it.
|
|
|
|
* src/objects/CoderPrivate.h (WRITE_SIGNATURE_FORMAT_ARGS): Use
|
|
STRINGIFY() for OBJECTS_PACKAGE_NAME.
|
|
* src/objects/stdobjects.h.in (STRINGIFY): New macro defined, if
|
|
not defined already.
|
|
(XSTRINGIFY): Likewise.
|
|
|
|
* src/objects/Array.h (END_FOR_ARRAY): Macro renamed from
|
|
FOR_ARRAY_END, and given argument.
|
|
|
|
* src/Connection.m: Overhauled for new collections, coders and
|
|
ports. More changes than I want to list individually.
|
|
* src/ConnectedCoder.m: Likewise.
|
|
* src/objects/ConnectedCoder.h: Likewise.
|
|
* src/objects/Connection.h: Likewise.
|
|
* src/Proxy.m: Likewise.
|
|
* src/objects/Proxy.h: Likewise.
|
|
All this overhaul work not yet finished.
|
|
|
|
Thu Feb 29 21:49:33 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/Makefile.in (GNUSTEP_MFILES): Re-added Connection.m and
|
|
ConnectedCoder.m.
|
|
(GNUSTEP_HEADERS): Removed duplicate Foundation/NSHashTable.h.
|
|
|
|
Wed Feb 28 20:37:27 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* checks/invocation.m: Test many new features.
|
|
|
|
* src/objects/CoderPrivate.h (SIGNATURE_FORMAT_STRING): Change to
|
|
include package name and version.
|
|
(WRITE_SIGNATURE_FORMAT_ARGS): New macro.
|
|
* src/objects/stdobjects.h.in: New macro.
|
|
* src/Decoder.m
|
|
([Decoder +readSignatureFromCStream:getClassname:formatVersion:]):
|
|
Get new values.
|
|
* src/Encoder.m ([Encoder -writeSignature]): Use new macro.
|
|
|
|
* src/Makefile.in (GNU_MFILES): Add TcpPort.m.
|
|
(GNU_HEADERS): Add objects/TcpPort.h.
|
|
|
|
Sun Feb 25 13:01:50 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/Makefile.in (FILE_AUTHORS): Added "Albin L. Jones".
|
|
|
|
Sat Feb 24 13:47:40 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/Makefile.in (GNUSTEP_MFILES): Add NSInvocation.m.
|
|
|
|
* src/NSInvocation.m: Class implemented using Invocation as
|
|
behavior.
|
|
* src/Foundation/NSInvocation.h: Remove ivars. Define so that
|
|
behavior can be used.
|
|
|
|
* src/Invocation.m (return_retained): New macro.
|
|
([Invocation -setReturnValue:]): Retain return value if necessary.
|
|
([ArgframeInvocation -_retainArguments]): Add missing local var.
|
|
([MethodInvocation -initWithArgframe:type:]): New method.
|
|
([MethodInvocation -initWithArgframe:selector:]): Use new method. Set
|
|
selector using sel_pointer.
|
|
([ObjectFunctionInvocation -invokeWithObject:]): Use return_retained,
|
|
not args_retained.
|
|
|
|
Fri Feb 23 14:35:05 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/Invocation.m ([Invocation -initWithReturnType:]): Use new
|
|
ivar names. Use calloc instead of malloc.
|
|
([Invocation -encodeWithCoder:]): New method.
|
|
([Invocation -initWithCoder:]): New method.
|
|
([Invocation -classForConnectedCoder:]): New method.
|
|
([Invocation -returnType]): Use new ivar name.
|
|
([Invocation -setReturnValue:]): New method.
|
|
([Invocation -objectReturnValue]): Method implemented.
|
|
([Invocation -intReturnValue]): Method implemented.
|
|
([Invocation -returnValueIsTrue]): Method implementation finished.
|
|
([Invocation -dealloc]): Use new ivar name. Release return type if
|
|
necessary.
|
|
([ArgframeInvocation -_retainArguments]): New method.
|
|
([ArgframeInvocation -_initArgframeFrom:withType:retainArgs:]): Method
|
|
overhauled.
|
|
([ArgframeInvocation -initWithArgframe:type:]): Use new method.
|
|
([ArgframeInvocation -encodeWithCoder:]): New method.
|
|
([ArgframeInvocation -initWithCoder:]): New method.
|
|
([ArgframeInvocation -argumentTypeAtIndex:]): Use new ivar name.
|
|
([ArgframeInvocation -retainArguments]): New method.
|
|
([ArgframeInvocation -argumentsRetained]): New method.
|
|
([ArgframeInvocation -_deallocArgframe]): New method.
|
|
([ArgframeInvocation -dealloc]): Use new method. Release args if
|
|
necessary.
|
|
([MethodInvocation -_initTargetAndSelPointers]): New method.
|
|
([MethodInvocation -initWithArgframe:selector:]): Use new method.
|
|
([MethodInvocation -initWithCoder:]): New method.
|
|
([MethodInvocation -initWithTarget:selector:...]): Retain args if
|
|
necessary.
|
|
([MethodInvocation -invoke]): Use new ivars.
|
|
([MethodInvocation -invokeWithTarget:]): Use -setTarget:.
|
|
([MethodInvocation -selector]): Use new ivar.
|
|
([MethodInvocation -setSelector:]): Likewise.
|
|
([MethodInvocation -target]): Likewise.
|
|
([MethodInvocation -setTarget:]): Likewise.
|
|
([ObjectMethodInvocation -_initArgObjectPointer]): New method.
|
|
([ObjectMethodInvocation -initWithArgframe:selector:]): Use new method.
|
|
([ObjectMethodInvocation -initWithCoder:]): New method.
|
|
([ObjectMethodInvocation -invokeWithObject:]): New method.
|
|
(VoidFunctionInvocation): New class implementation.
|
|
(ObjectFunctionInvocation): New class implementation.
|
|
|
|
* src/objects/Invocation.h: Make -invoke methods return void.
|
|
Include objects/Invoking.h.
|
|
(return_type): ivar renamed from encoding.
|
|
(ArgframeInvocation args_retained): new ivar.
|
|
(MethodInvocation target_pointer): new ivar.
|
|
(MethodInvocation sel_pointer): new ivar.
|
|
(VoidFunctionInvocation): New class.
|
|
(ObjectFunctionInvocation): New class.
|
|
|
|
* src/objects/Invoking.h: Make -invoke methods return void.
|
|
|
|
* src/Encoder.m ([Encoder +initialize]): Compare self with
|
|
Encoder, not Coder.
|
|
([Encoder +encodeRootObject:withName:toStream:]): Rename method to
|
|
-close.
|
|
([Encoder -encodeSelector:withName:name]): Use sel_get_any_typed_uid
|
|
instead of sel_get_any_uid.
|
|
|
|
* src/Stream.m ([Stream -close]): Method renamed from
|
|
-closeStream.
|
|
* src/objects/Streaming.h: Likewise.
|
|
* src/StdioStream.m ([Stream -close]): Likewise.
|
|
* src/MemoryStream.m ([Stream -close]): Likewise.
|
|
|
|
* src/objects/Coder.h ([Coder +setDefaultCStreamClass:]): Declare
|
|
method.
|
|
([Coder +defaultCStreamClass]): Declare method.
|
|
|
|
* src/Coder.m ([Coder -close]): Method renamed from -closeCoding.
|
|
* src/objects/Coding.h: Likewise.
|
|
|
|
Thu Feb 22 10:03:01 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/NSObject.m (retain_counts): Make it a NSMapTable instead of
|
|
a coll_hash.
|
|
(NSIncrementExtraRefCount): Update for new retain_counts type.
|
|
(NSDecrementExtraRefCountWasZero): Likewise.
|
|
([NSObject +initialize]): Likewise.
|
|
([NSObject -retainCount]): Likewise.
|
|
|
|
* src/Makefile.in (GNU_HEADERS): Add objects/bitops.h,
|
|
objects/minmax.h.
|
|
(GNU_OTHER_SRCFILES): Add md5.h.
|
|
* src/Makefile.in (GNU_HEADERS): Add objects/Enumerating.h,
|
|
objects/Invoking.h.
|
|
* src/Makefile.in (GNU_HEADERS): Add objects/array.h.
|
|
|
|
* Makefile.in (DIST_FILES): Add RELEASE-NOTES.
|
|
|
|
* src/NSString.m ([NSString -hash]): Don't use elt_* function, and
|
|
use NSHashStringLength.
|
|
* src/String.m ([String -hash]): Likewise.
|
|
|
|
* src/simple-load.h (__objc_dynamic_find_symbol): Cast to drop
|
|
const type, and avoid warning.
|
|
|
|
* src/Makefile.in (GNU_MFILES): Remove eltfuncs.m.
|
|
(GNU_HEADERS): Remove objects/elt.h, objects/eltfuncs.h.
|
|
* src/Makefile.in (GNU_CFILES): Remove collhash.c.
|
|
(GNU_HEADERS): Remove objects/collhash.h.
|
|
|
|
* src/CString.m ([CString -initWithCString:range:]): Don't make
|
|
super call. Fix infinite loop in _collectionDealloc.
|
|
|
|
* src/BinaryCStream.m ([BinaryCStream
|
|
-decodeValueOfCType:at:withName:]): Make save_type const.
|
|
|
|
* src/AutoreleasePool.m: Don't include <objects/eltfuncs.h>.
|
|
* src/AutoreleaseStack.m: Likewise.
|
|
|
|
* examples/textcoding.m: Overhaul for new collection class scheme
|
|
to improve distributed objects and NeXT-compatibility.
|
|
|
|
* checks/Makefile.in (SRCS): Add nsmaptable.m and nshashtable.m.
|
|
* checks/nsarchiver.m: Update for new Archiver classes.
|
|
* checks/test01.m: Update for new collection classes.
|
|
|
|
* doc/Makefile.in (TEXI_FILES): Add faq.texi.
|
|
* doc/faq.texi: New file.
|
|
|
|
* src/Foundation/NSGSet.h: Remove ivars, the behavior code now
|
|
handles this.
|
|
* src/Foundation/NSGDictionary.h: Likewise.
|
|
|
|
* src/objects/Coder.h: Declare classes Encoder and Decoder;
|
|
extensive rearrangement of ivars, method names and protocols.
|
|
|
|
* src/objects/RetainingNotifier.h: Don't include <objc/List.h>
|
|
|
|
* src/objects/Archiver.h: Subclass from Encoder and Decoder, not
|
|
Coder.
|
|
|
|
* src/Makefile.in (GNUSTEP_OTHER_SRCFILES): Add NSCallBacks.h.
|
|
(GNUSTEP_HEADERS): Remove Foundation/NSCallBacks.h.
|
|
|
|
* src/Makefile.in (CFLAGS): Remove -Wno-implicit.
|
|
(GNU_MFILES): Remove BinaryTreeEltNode.m, LinkedListEltNode.m,
|
|
RNTreeEltNode.m. Add Decoder.m, Encoder.m. Temporarily remove
|
|
ConnectedCoder.m, Connection.m, RetainingNotifier.m, Time.m.
|
|
(GNU_CFILES): Add allocs.c.
|
|
(GNU_OBJS): Change order to create BASICS and CALLBACKS first.
|
|
(GNU_HEADERS): Remove BinaryTreeEltNode.h, EltNode-h, EltNode-m,
|
|
LinkedListEltNode.h, RBTreeEltNode.h.
|
|
(GNUSTEP_MFILES): NSCallBacks.m.
|
|
(GNUSTEP_HEADERS): Foundation/NSCallBacks.h.
|
|
|
|
* Encoder.m, Decoder.m, NSCallBacks.m: New files.
|
|
* objects/OrderedCollecting.h, objects/Enumerating.h,
|
|
objects/Invoking.h, objects/CoderPrivate.h,
|
|
objects/OrderedCollection.h: New files.
|
|
|
|
* src/Coder.m: Move much of functionality to Encoder.m, Decoder.m,
|
|
and objects/CoderPrivate.h.
|
|
|
|
* src/Invocation.m ([Invocation -objectReturnValue]): New method.
|
|
([Invocation -intReturnValue]): New method.
|
|
([Invocation -returnValueIsTrue]): New method.
|
|
([Invocation -initWithTarget:selector:...]): Use switch statement to
|
|
handle value arguments, instead of pointer-to-value arguments.
|
|
|
|
* src/NSConcreteNumber.m ([NumberTemplate -hash]): New method.
|
|
([NumberTemplate -isEqual:]): New method.
|
|
([NumberTemplate -encodeWithCoder:]): Make this self-contained.
|
|
([NumberTemplate -initWithCoder:]): Likewise.
|
|
|
|
* src/NSData.m: Fix typos.
|
|
|
|
* src/Port.m ([Port -encodeWithCoder:]): Fix argument type.
|
|
|
|
* src/OrderedCollection.m: Many fixes, continuing conversion from
|
|
old IndexedCollection.m
|
|
|
|
* src/NSValue.m ([NSValueDecoder +newWithCoder:]): Comment out for
|
|
now; I think it needs fixes.
|
|
([NSValueDecoder -initWithCoder:]): Likewise.
|
|
|
|
* src/NSNumber.m ([NSNumber -description]): New method.
|
|
|
|
* src/callbacks-char_p.c, src/callbacks-id.m, src/callbacks-int.c,
|
|
src/callbacks-int_p.c, src/callbacks-void_p.c, src/callbacks.c,
|
|
src/hash.c, src/list.c, src/map.c, src/objects/allocs.h,
|
|
src/objects/array.h, src/objects/callbacks.h, src/objects/data.h,
|
|
src/objects/hash.h, src/objects/list.h, src/objects/map.h,
|
|
src/objects/objects.h, src/x-basics.c.in, src/x-callbacks.c.in,
|
|
src/NSHashTable .m, src/NSMapTable.m, src/Foundation/atoz.h,
|
|
src/Foundation/NSMapTable.h, src/Foundation/NSHashTable.h: New
|
|
version from Albin Jones, plus fixes by McCallum.
|
|
|
|
Major overhaul of collection class heirarchy to improve
|
|
distributed objects and NeXT-compatibility. Many classes
|
|
entirely-reworked. More changes than I want to list here.
|
|
|
|
* src/KeyedCollection.m, src/IndexedCollection.m, src/Heap.m,
|
|
src/GapArray.m, src/Dictionary.m, src/Bag.m, src/Array.m,
|
|
src/CircularArray.m, src/Collection.m, src/ConstantString.m,
|
|
src/DelegatePool.m, src/MappedCollector.m, src/MutableString.m,
|
|
src/MutableCString.m, src/Queue.m, src/RBTree.m, src/Set.m,
|
|
src/SplayTree.m, src/Stack.m, src/objects/Array.h,
|
|
src/objects/Bag.h, src/objects/BinaryTree.h,
|
|
src/objects/BinaryTreeNode.h, src/objects/Collecting.h,
|
|
src/objects/Collection.h, src/objects/CollectionPrivate.h,
|
|
src/objects/Dictionary.h, src/objects/Heap.h,
|
|
src/objects/IndexedCollecting.h, src/objects/IndexedCollection.h,
|
|
src/objects/KeyedCollecting.h, src/objects/KeyedCollection.h,
|
|
src/objects/LinkedList.h, src/objects/LinkedListNode.h,
|
|
src/MallocAddress.m, src/objects/MappedCollector.h,
|
|
src/MutableString.m, src/MutableCString.m, src/NSString.m,
|
|
src/NSGSet.m, src/NSGCString.m, src/NSGDictionary.m,
|
|
src/NSGCountedSet.m, src/NSGArray.m, src/NSGArchiver.m,
|
|
src/objects/Queue.h, src/objects/Set.h, src/objects/SplayTree.h,
|
|
src/objects/Stack.h, src/String.m: Overhaul for new collection
|
|
class scheme to improve distributed objects and
|
|
NeXT-compatibility.
|
|
|
|
* src/DelegatePool.m: Overhaul for new collection class scheme to
|
|
improve distributed objects and NeXT-compatibility. Change
|
|
several methods to return void.
|
|
* src/objects/DelegatePool.h: Change many method return types to
|
|
void.
|
|
|
|
Thu Feb 15 11:18:33 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/Makefile.in (GNU_MFILES): Removed EltNodeCollector.m.
|
|
(GNU_HEADERS): Removed objects/EltNodeCollector.h.
|
|
|
|
Wed Feb 14 12:23:12 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* Makefile.in (RCS_FILES): Add INSTALL.WIN32.
|
|
|
|
* src/Makefile.in (RCS_FILES): Add Makefile.sed.nt.
|
|
* checks/Makefile.in (RCS_FILES): Undo last change.
|
|
* Makefile.in (RCS_FILES): Undo last change.
|
|
|
|
Tue Feb 13 11:00:51 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/Makefile.in (GNU_MFILES): Added OrderedCollection.m.
|
|
(GNU_HEADERS): Added objects/OrderedCollection.h and
|
|
objects/OrderedCollecting.h.
|
|
|
|
* checks/Makefile.in (RCS_FILES): Remove Makefile.sed.nt, (which,
|
|
as I understand, is supposed to be automatically generated from
|
|
Makefile.in by configure.bat).
|
|
(SRCS): Fix typo.
|
|
|
|
* Makefile.in (RCS_FILES): Remove Makefile.sed.nt, (which, as I
|
|
understand, is supposed to be automatically generated from
|
|
Makefile.in by configure.bat).
|
|
|
|
* doc/install.texi: Mention objc.patch.
|
|
* Makefile.in (DIST_FILES): Add objc.patch for thread-safe
|
|
runtime.
|
|
|
|
* src/RawCStream.m, objects/RawCStream.h: New files.
|
|
* src/Makefile.in (GNU_MFILES): Added RawCStream.m.
|
|
(GNU_HEADERS): Added objects/RawCStream.h.
|
|
|
|
* checks/diningPhilosophers.m (main): Cast (int) to (id) in
|
|
detachNewThread... call.
|
|
|
|
* src/NSNotification.m, src/NSNotificationCenter.m,
|
|
src/Foundation/NSNotification.h: New files from Georg Tuparev.
|
|
* src/Makefile.in (GNUSTEP_MFILES): Added NSNotification.m and
|
|
NSNotificationCenter.m from Georg Tuparev.
|
|
(GNUSTEP_HEADERS): Added Foundation/NSNotification.h from Georg
|
|
Tuparev.
|
|
|
|
Mon Feb 5 10:08:56 1996 Scott Christley (scottc@net-community.com)
|
|
|
|
* checks/diningPhilosophers.m: New file
|
|
* checks/Makefile.in: add diningPhilosophers.m
|
|
* src/Foundation/NSGeometry.h: Add NSZeroPoint, NSZeroSize,
|
|
and NSZeroRect constants.
|
|
|
|
Sun Feb 4 18:43:41 1996 Scott Christley (scottc@net-community.com)
|
|
|
|
* checks/Makefile.sed.nt: New file
|
|
* configure.bat: Added configuration of checks makefile
|
|
* checks/Makefile.in (RCS_FILES): Add file Makefile.sed.nt
|
|
Add $(EXEEXT), $(OEXT), $(LIBEXT) extensions
|
|
* test01.m: Different random() for WIN32
|
|
* src/Foundation/NSZone.h: include <objects/config.h>
|
|
|
|
Sat Feb 3 22:28:52 1996 Scott Christley (scottc@net-community.com)
|
|
|
|
* src/NSLock.m: New file
|
|
* src/Foundation/NSLock.h: New file
|
|
* src/NSThread.m: New file
|
|
* src/Foundation/NSThread.h: New file
|
|
* src/Makefile.in (GNUSTEP_MFILES): Add NSLock.m, NSThread.m
|
|
(GNUSTEP_HEADERS): Add Foundation/NSLock.h, Foundation/NSThread.h
|
|
|
|
Fri Feb 2 15:44:20 1996 Scott Christley (scottc@net-community.com)
|
|
|
|
* src/Makefile.in (uninstall): Only uninstall NEXTSTEP_HEADERS
|
|
|
|
Thu Feb 1 19:42:09 1996 Scott Christley (scottc@net-community.com)
|
|
|
|
* src/objects/SocketPort.h: Exclude non-existent headers for WIN32
|
|
* src/objects/Time.h: Likewise
|
|
* src/SocketPort.m: Likewise
|
|
* src/NSBundle.m: Likewise
|
|
* src/objects/NSCoder.h: fixed mispelled file name
|
|
* src/NSCoder.m: remove inclusion of non-existent file
|
|
* src/Date.m: Exclude non-existent headers for WIN32
|
|
* src/NSProcessInfo.m: Likewise
|
|
* src/find_exec.c: Likewise
|
|
|
|
* Makefile.in (RCS_FILES): Add file configure.bat, Makefile.sed.nt
|
|
Add $(EXEEXT), $(OEXT), $(LIBEXT) extensions
|
|
* configure.bat: New file
|
|
* Makefile.sed.nt: New file
|
|
* src/Makefile.sed.nt: New file
|
|
* src/objects/config-nt.h: New file
|
|
* src/objects/config-nt.sed: New file
|
|
* src/objc-load.c: Runtime include file changed "objc/list.h"
|
|
to "objc/objc-list.h"
|
|
* src/objects/stdobject.h.in: Likewise
|
|
|
|
Mon Feb 12 22:03:05 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/Makefile.in: Fix patch rejects.
|
|
(GNUSTEP_MFILES): Added NSHashTable.m and NSMapTable.m.
|
|
(GNUSTEP_HEADERS): Added Foundation/NSHashTable.h and
|
|
Foundation/NSMapTable.h.
|
|
|
|
Mon Feb 12 21:14:58 1996 Albin L. Jones <ajones@coos.dartmouth.edu>
|
|
|
|
* src/Makefile.in (GNU_MFILES, GNU_CFILES, GNU_HEADERS): Added
|
|
the above to the appropriate lists. (GNU_BASICS_CFILES): Created
|
|
this variable to hold a list of `...-basics.c' files to be made.
|
|
(GNU_BASICS_HFILES): Similarly. (GNU_CALLBACKS_CFILES): Created
|
|
this variable to hold a list of `...-callbacks.c' files to be
|
|
make. (GNU_CALLBACKS_HFILES): Similarly. (GNU_OTHER_SRCFILES):
|
|
Needed to add `x-basics.c.in', `x-callbacks.c.in',
|
|
`objects/x-basics.h.in' and `objects/x-callbacks.h.in' to this
|
|
list. (GNUSTEP_HEADERS): Added `Foundation/atoz.h'. (%-basics.c,
|
|
%-callbacks.c, objects/%-basics.h, objects/%-callbacks.h): Added
|
|
these make targets. (array.o, data.o, hash.o, list.o, map.o,
|
|
objects/array.h, objects/data.h, objects/hash.h, objects/list.h,
|
|
objects/map.h): Added these make targets.
|
|
|
|
* src/NSHashTable.m, src/NSMapTable.m,
|
|
src/Foundation/NSHashTable.h,
|
|
src/Foundation/NSMapTable.h,
|
|
src/Foundation/atoz.h: Added these.
|
|
|
|
* src/objects/abort.h, src/objects/allocs.h,
|
|
src/objects/array.h, src/objects/bitops.h,
|
|
src/objects/callbacks.h, src/objects/data.h,
|
|
src/objects/hash.h, src/objects/list.h, src/objects/magic.h,
|
|
src/objects/magic.h, src/objects/minmax.h,
|
|
src/objects/number.h: Added these.
|
|
|
|
* src/abort.c, src/allocs.c, src/array.c, src/atoz.m,
|
|
src/callbacks-char_p.c, src/callbacks-id.m, src/callbacks-int.c,
|
|
src/callbacks-int_p.c, src/callbacks-void_p.c, src/callbacks.c,
|
|
src/hash.c, src/list.c, src/map.c, src/md5.c, src/md5.h,
|
|
src/number.c: Added these.
|
|
|
|
Mon Feb 12 20:50:05 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* checks/invocation.m: New file.
|
|
* checks/Makefile.in (SRCS): Add invocation.m.
|
|
|
|
* checks/nsarchiver.m: Add test case from Scott Christley.
|
|
|
|
* src/Collection.m ([Collection -withObjectsInvoke:]): New method.
|
|
* src/objects/Collection.h: Declare new method.
|
|
|
|
* src/Invocation.m ([Invocation -invoke]): Terminate copy of
|
|
encoding string. Deal with void return type.
|
|
([Invocation -invokeWithElement:]): Method removed.
|
|
([Invocation -invokeWithObject:]): Make is -subclassResponsibility.
|
|
([Invocation -getReturnValue:]): Make sure return_value is non-NULL.
|
|
([ArgframeInvocation -initWithArgframe:type:]): Use objc_calloc.
|
|
([MethodInvocation -initWithArgframe:selector:]): Try hard to get a
|
|
selector with a type string.
|
|
([MethodInvocation -initWithTarget:selector:...]): New method.
|
|
([MethodInvocation -invoke]): Get the target and selector properly.
|
|
([MethodInvocation -invokeWithObject:]): New method.
|
|
* src/objects/Invocation.h: Declare new methods.
|
|
|
|
* src/NSArchiver.m ([NSUnarchiver +allocWithZone:]): New method.
|
|
|
|
* src/Coder.m ([Coder -decodeObject]): Return the object.
|
|
([Coder -initForReadingWithData:]): New method.
|
|
|
|
Thu Feb 1 17:04:17 1996 Andrew McCallum <mccallum@eeyore.cs.rochester>
|
|
|
|
* NSData.m, NSDictionary.m, NSEnumerator.m, NSMutableData.m,
|
|
Port.m, MutableString.m, NSArray.m:
|
|
Use -subclassResponsibility instead of -notImplemented
|
|
where appropriate.
|
|
|
|
Wed Jan 31 22:29:57 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* Makefile.in (DIST_FILES): Add file STATUS.
|
|
|
|
* src/Coder.m ([Coder -_coderCreateReferenceForObject:]):
|
|
Beginning with this method, put in, but comment out, initial notes
|
|
for ideas about "tag-less" coder streams; this will allow for
|
|
smaller archives.
|
|
|
|
Sat Jan 27 20:58:23 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* examples/textcoding.m (main): Use new Archiver and Unarchiver
|
|
classes, use new method names.
|
|
|
|
* src/objects/Coding.h (CommonCoding -closeCoding): Renamed from
|
|
-coderCoder, so it is not so exclusively associated with the
|
|
Coding class, but also all subclasses that implement a *Coding
|
|
protocol.
|
|
* src/Coder.m ([Coder -closeCoding]): Method renamed from
|
|
-closeCoder.
|
|
([Coder +encodeRootObject:withName:toStream:]): Make -closeCoding name
|
|
change.
|
|
|
|
* src/Coder.m ([Coder +newReadingFromStream:]): Renamed from
|
|
coderReadingFromStream:, because, for subclasses of Coder, it's
|
|
silly to have different names for this method. Don't autorelease
|
|
returned object (I also find this more helpful). All callers
|
|
changed.
|
|
([Coder +newReadingFromFile:]): Likewise.
|
|
* src/objects/Coder.h: Rename methods.
|
|
* src/ConnectedCoder.m ([ConnectedCoder
|
|
+newDecodingWithConnection:timeout:]): Rename
|
|
coderReadingFromStream to newReadingFromStream, and don't retain.
|
|
|
|
* src/Archiver.m: New file.
|
|
* src/objects/Archiver.h: New file.
|
|
* src/Makefile.in (GNU_MFILES): Add Archiver.m.
|
|
(GNU_HEADERS): Add objects/Archiver.h.
|
|
|
|
Fri Jan 26 10:48:30 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* Version (OBJECTS_SUBMINOR_VERSION): libobjects version 0.2.0.
|
|
(OBJECTS_MINOR_VERSION): Version 2.
|
|
|
|
* src/Makefile.in (GNU_HEADERS): Added CStreaming.h.
|
|
|
|
* src/objects/objects.h: Include BinaryCStream.h and
|
|
TextCStream.h, not the old *Coder.h versions.
|
|
|
|
* src/objects/ConnectedCoder.h (Coder): Make subclass of Coder,
|
|
not BinaryCoder.
|
|
|
|
* src/TextCStream.m ([TextCStream
|
|
-encodeValueOfCType:at:withName:]): Remove the asserts that
|
|
prohibited structs and arrays.
|
|
([TextCStream -decodeValueOfCType:at:withName:]): Likewise.
|
|
* src/BinaryCStream.m: Include the code for handling structs and
|
|
arrays.
|
|
|
|
* src/objects/Streaming.h: Include <objects/NSString.h> instead of
|
|
<objects/String.h>.
|
|
|
|
Update checks and examples
|
|
* checks/server.m: Make it work with the new coding scheme.
|
|
* checks/client.m: Likewise.
|
|
* checks/pipes.m (main): Use NSString in -initWithPipeFrom
|
|
argument.
|
|
* checks/Makefile.in (SRCS): Remove test08.m, it was for old-style
|
|
archiving.
|
|
* examples/textcoding.m (main): Use new coding scheme and @""
|
|
strings properly.
|
|
* examples/stdio-stream.m (main): Likewise.
|
|
|
|
* src/ConnectedCoder.m ([ConnectedCoder
|
|
+newDecodingWithConnection:timeout:]): Use
|
|
+coderReadingFromStream, not the deprecated
|
|
-initReadingFromStream.
|
|
|
|
* src/BinaryCStream.m ([BinaryCStream -decodeName:]): Check for
|
|
NULL name.
|
|
|
|
* src/Connection.m: encodeObjectBycopy -> encodeBycopyObject (to
|
|
better match NeXT).
|
|
* src/Proxy.m: Likewise.
|
|
|
|
* src/Coder.m ([Coder +initialize]): Make BinaryCStream the
|
|
default, not TextCStream.
|
|
|
|
* src/Coder.m ([Coder -encodeTag:]): Let the cstream handle it,
|
|
if it can.
|
|
([Coder -decodeTag]): Likewise.
|
|
([Coder -encodeClass:]): Perform classname mapping ala
|
|
encodeClassName:intoClassName.
|
|
([Coder -_doEncodeBycopyObject:]): Perform callbacks
|
|
-replacementObjectForCoder, -replacementObjectForArchiver,
|
|
-classForCoder, -classForArchiver.
|
|
([Coder -encodeClassName:intoClassName:]): Fix typos.
|
|
([Coder -encodeConditionalObject:]): Don't encode *forward*
|
|
references, only backward references; apparently NeXT-style
|
|
decoding
|
|
(with -decodeObject, instead of GNU's decodeObjectAt:) can't
|
|
handle them.
|
|
|
|
* src/Foundation/NSArchiver.h: Move NSUnarchiver declaration here
|
|
from NSUnarchiver.h.
|
|
* src/NSGArchiver.m: Move implementation of NSGUnarchiver here
|
|
from NSGUnarchiver.m.
|
|
* src/Foundation/NSGArchiver.h: Remove ivars; behavior code now
|
|
handles instance_size. Move NSGUnarchiver here from
|
|
NSGUnarchiver.h.
|
|
* src/NSArchiver.m: Move NSUnarchiver implementation here from
|
|
NSUnarchiver.m. Use subclassResponsibility where correct.
|
|
([NSArchiver +initialize]): Make NSGArchiver the concrete class.
|
|
* src/Makefile.in (GNUSTEP_MFILES): NSUnarchiver.m and
|
|
NSGUnarchiver.m removed.
|
|
(GNUSTEP_HEADERS): Foundation/NSUnarchiver.h and
|
|
Foundation/NSGUnarchiver.h removed.
|
|
|
|
* src/Foundation/NSObject.h ([NSObject -classForArchiver]): Method
|
|
removed; it's now in NSArchiver.m.
|
|
([NSObject -replacementObjectForArchiver:]): Likewise.
|
|
|
|
* src/ConnectedCoder.m (Object (ConnectedCoderCallbacks)):
|
|
Category methods moved here from Coder.m.
|
|
|
|
* checks/nsarchiver.m (main): Use NSUnarchiver properly.
|
|
|
|
* src/NSException.m (NSInconsistentArchiveException): String
|
|
removed; it's in NSArchiver.m.
|
|
|
|
* src/NSGArchiver.m ([NSGArchiver +initialize]): Add the behavior
|
|
of the Coder class. All other methods deleted.
|
|
|
|
* src/NSObject.m: Some minor formatting changes.
|
|
([NSObject -classForArchiver]): Method removed; it's in NSArchiver.m.
|
|
([NSObject -replacementObjectForArchiver:]): Likewise.
|
|
|
|
* src/Makefile.in (GNUSTEP_MFILES): Remove NSGCoder.m.
|
|
(GNUSTEP_HEADERS): Remove Foundation/NSGCoder.h.
|
|
|
|
Make use of new behavior size matching to avoid ugliness of
|
|
forcing ivar layout match when adding behaviors---more robust.
|
|
* src/NSGArray.m (self): New macro, cast to (Array*) to reflect
|
|
behavior addition.
|
|
([NSGArray -initWithObjects:count:]): Call Array designated initalizer
|
|
instead of accessing ivars directly.
|
|
([NSGMutableArray -initWithCapacity:]): Likewise.
|
|
([NSGArray -count]): Method removed, Array behavior will take care
|
|
of it.
|
|
([NSGArray -objectAtIndex:]): Use self to access ivars.
|
|
* src/Foundation/NSGArray.h: Remove ivars; class_add_behavior now
|
|
handles instance_size match.
|
|
|
|
* src/behavior.c (class_add_behavior): If necessary, increase
|
|
instance_size of class to which behavior is being added.
|
|
|
|
Thu Jan 25 10:11:41 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/NSArchiver.m ([NSArchiver +initialize]): Set concrete class
|
|
to Coder.
|
|
([NSArchiver +allocWithZone:]): New method.
|
|
([NSArchiver -initForWritingWithMutableData:]): Make this a subclass
|
|
responsibility.
|
|
([NSArchiver -versionForClassName:]): New method.
|
|
([NSArchiver +unarchiveObjectWithData:data]): New method.
|
|
([NSArchiver +unarchiveObjectWithFile:path]): Call concrete class.
|
|
([NSArchiver +classNameEncodedForTrueClassName:]): Likewise.
|
|
|
|
* src/Foundation/NSArchiver.h: Declare new methods.
|
|
|
|
* src/Foundation/NSCoder.h: Fix spelling of argument names.
|
|
|
|
* src/Foundation/NSSet.h: Fix typo, initWithObjects: takes
|
|
objects, not NSArray's.
|
|
|
|
* src/NSGData.m ([NSGData -writeToFile:atomically:]): Use
|
|
cStringNoCopy for efficiency.
|
|
|
|
* src/MemoryStream.m ([MemoryStream -init]): New method, otherwise
|
|
naive creation dies with NULL buffer.
|
|
|
|
* src/objects/Coding.h (Coding -cStream): New method.
|
|
(Coder -encodeArrayOfObjCType:count:at:withName:): Renamed from
|
|
-encodeArrayOfObjCType:at:count:withName:, to better match NeXT.
|
|
(Coder -decodeArrayOfObjCType:count:at:withName:): Likewise.
|
|
|
|
* src/objects/Coder.h (zone): New ivar.
|
|
|
|
* src/Coder.m ([Coder -_initWithCStream:formatVersion:isDecoding:]):
|
|
Initialize new zone ivar.
|
|
([Coder -encodeBycopyObject:withName:]): Renamed from
|
|
-encodeObjectBycopy, to better match NeXT.
|
|
([Coder -decodeObjectAt::name]): Use zone ivar in creating
|
|
decoded objects.
|
|
([Coder -encodeArrayOfObjCType:count:at:withName:]): Renamed from
|
|
-encodeArrayOfObjCType:at:count:withName:, to better match NeXT.
|
|
([Coder -decodeArrayOfObjCType:count:at:withName:]): Likewise.
|
|
([Coder +classNameEncodedForTrueClassName:trueName]): New method, for
|
|
NSCoder compatibility.
|
|
([Coder -encodeClassName:trueNameintoClassName:]):
|
|
Likewise.
|
|
([Coder -objectZone]): Likewise.
|
|
([Coder -setObjectZone:]): Likewise.
|
|
([Coder -encodeValueOfObjCType:at:]): Likewise.
|
|
([Coder -encodeArrayOfObjCType:count:at:]): Likewise.
|
|
([Coder -encodeBycopyObject:]): Likewise.
|
|
([Coder -encodeConditionalObject:]): Likewise.
|
|
([Coder -encodeDataObject:]): Likewise.
|
|
([Coder -encodeObject:]): Likewise.
|
|
([Coder -encodePoint:]): Likewise.
|
|
([Coder -encodeRect:]): Likewise.
|
|
([Coder -encodeRootObject:]): Likewise.
|
|
([Coder -encodeSize:]): Likewise.
|
|
([Coder -encodeValuesOfObjCTypes:...:]): Likewise.
|
|
([Coder -decodeValueOfObjCType:at:]): Likewise.
|
|
([Coder -decodeArrayOfObjCType:count:at:]): Likewise.
|
|
([Coder -decodeDataObject]): Likewise.
|
|
([Coder -decodeObject]): Likewise.
|
|
([Coder -decodePropertyList]): Likewise.
|
|
([Coder -decodePoint]): Likewise.
|
|
([Coder -decodeRect]): Likewise.
|
|
([Coder -decodeSize]): Likewise.
|
|
([Coder -decodeValuesOfObjCTypes:...:]): Likewise.
|
|
([Coder -systemVersion]): Likewise.
|
|
([Coder -versionForClassName:]): Likewise.
|
|
([Coder -initForWritingWithMutableData:]): New method, for
|
|
NSArchiver compatibility.
|
|
([Coder +archivedDataWithRootObject:]): Likewise.
|
|
([Coder +archiveRootObject:toFile:]): Likewise.
|
|
([Coder +unarchiveObjectWithData:data]): Likewise.
|
|
([Coder +unarchiveObjectWithFile:path]): Likewise.
|
|
([Coder -archiverData]): Likewise.
|
|
([Coder -cStream]): New method.
|
|
|
|
* checks/Makefile.in (SRCS): Added nsarchiver.m.
|
|
|
|
* checks/nsarchiver.m: New file.
|
|
|
|
* examples/textcoding.m (main): Use new [Coder -closeCoder]
|
|
method.
|
|
|
|
* src/StdioStream.m ([StdioStream -isClosed]): Remove bad
|
|
implementation; currently not implemented.
|
|
|
|
* src/Coder.m ([Coder
|
|
-initForWritingToStream:withFormatVersion:cStreamClass:
|
|
cStreamFormatVersion:]): New method.
|
|
([Coder -initForWritingToFile:withFormatVersion:cStreamClass:
|
|
cStreamFormatVersion:]): New method.
|
|
([Coder -initForWritingToFile:filenamewithCStreamClass:cStreamClass]):
|
|
New method.
|
|
([Coder +encodeRootObject:withName:nametoStream:]): New method.
|
|
([Coder +encodeRootObject:withName:nametoFile:filename]): New method.
|
|
([Coder +decodeObjectWithName:namefromStream:]): New method.
|
|
([Coder +decodeObjectWithName:namefromFile:filename]): New method.
|
|
* src/objects/Coder.h: Declare new methods.
|
|
|
|
* src/CStream.m: Use "..withFormatVersion" instead of
|
|
"formatVersion" in several method names.
|
|
* src/objects/CStream.h: Declare new method.
|
|
|
|
* src/objects/Coding.h (Coding -closeCoder): New protocol method.
|
|
(Coding -isClosed): New protocol method.
|
|
* src/Coder.m ([Coder -initForReadingFromFile:filename]): New method.
|
|
([Coder -initForWritingToFile:filename]): New method.
|
|
([Coder -closeCoder]): New method.
|
|
([Coder -isClosed]): New method.
|
|
|
|
* src/objects/Streaming.h (Streaming -isClosed): New protocol method.
|
|
* src/Stream.m ([Stream -flushStream]): Do nothing, instead of
|
|
calling -subclassResponsibility.
|
|
([Stream -closeStream]): Likewise.
|
|
([Stream -isClosed]): New method, return NO.
|
|
* src/MemoryStream.m ([MemoryStream -flushStream]): Method removed.
|
|
* src/StdioStream.m ([StdioStream -isClosed]): New method.
|
|
* src/MemoryStream.m ([MemoryStream -closeStream]): New method,
|
|
just flush the stream.
|
|
|
|
Wed Jan 24 09:02:02 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/objects/Streaming.h (Streaming -closeStream): New method; we
|
|
must separate the idea of "closing" a stream and "deallocating" a
|
|
stream because of delays in deallocation due to -autorelease.
|
|
* src/Stream.m ([Stream -closeStream]): New method.
|
|
* src/StdioStream.m ([StdioStream -closeStream]): New method.
|
|
|
|
* src/CStream.m ([CStream -encodeWithName:valuesOfCTypes:...]):
|
|
New method.
|
|
([CStream -decodeWithName:valuesOfCTypes:...]): New method.
|
|
* src/objects/CStreaming.h: Declare new methods.
|
|
|
|
* src/String.m ([String -initWithCStringNoCopy:freeWhenDone:]):
|
|
New method, needed for protocol.
|
|
|
|
* src/Stream.m ([Stream -writeFormat:arguments:]): New method.
|
|
([Stream -readFormat:arguments:]): New method.
|
|
|
|
* src/Coder.m (SIGNATURE_FORMAT_STRING): New macro.
|
|
([Coder -writeSignature]): Use it.
|
|
([Coder +readSignatureFromCStream:getClassname:formatVersion:]):
|
|
Likewise, and receive (char*) instead of (char**). All callers
|
|
changed.
|
|
|
|
* src/objects/EltNode-m: Include <objects/NSString.h> for @"" in
|
|
encoding withName:. Use constant string objects instead of C
|
|
strings where appropriate.
|
|
|
|
* src/Connection.m: Use constant string objects instead of C
|
|
strings where appropriate.
|
|
|
|
* src/RBTreeNode.m: Include <objects/NSString.h> for @"" in
|
|
encoding withName:.
|
|
* src/DelegatePool.m: Likewise.
|
|
* src/BinaryTreeNode.m: Likewise.
|
|
|
|
Tue Jan 23 11:54:54 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* Set.m, SocketPort.m, TreeNode.m, EltNodeCollector.m,
|
|
LinkedListNode.m, MutableCString.m, NSGCString.m, Proxy.m,
|
|
RBTreeNode.m, BinaryCoder.m, BinaryTreeNode.m, Collection.m,
|
|
Connection.m, DelegatePool.m:
|
|
Use string objects instead of C strings
|
|
for name arguments to encoding methods.
|
|
|
|
* src/.cvsignore: Add errs*.
|
|
|
|
* examples/textcoding.m: Update for new Coder organization.
|
|
|
|
* src/objects/Streaming.h (Streaming -writeFormat:arguments:): New
|
|
method.
|
|
(Streaming -readFormat:arguments:): New method.
|
|
|
|
* src/objects/Coding.h: Don't include <objects/String.h>
|
|
(Coding -encodeValueOfCType:at:withName:): New method.
|
|
(Coding -decodeValueOfCType:at:withName:): New method.
|
|
* src/objects/Coder.h: Declare new methods.
|
|
|
|
* src/objects/CStreaming.h: New file.
|
|
* src/CStream.m: New file.
|
|
* src/objects/CStream.h: New file.
|
|
* src/TextCStream.m: New file.
|
|
* src/objects/TextCStream.h: New file.
|
|
* src/BinaryCStream.m: New file.
|
|
* src/objects/BinaryCStream.h: New file.
|
|
* src/Makefile.in (GNU_MFILES): Add BinaryCStream.m, TextCStream.m
|
|
and CStream.m.
|
|
(GNU_HEADERS): Add objects/BinaryCStream.h, objects/TextCStream.h
|
|
and objects/CStream.h.
|
|
|
|
* src/NSString.m (handle_printf_atsign): Fix type for va_arg ().
|
|
|
|
* src/ConnectedCoder.m ([ConnectedCoder
|
|
+newEncodingWithConnection:sequenceNumber:identifier:]): Use new
|
|
Coder initializer.
|
|
([ConnectedCoder +newDecodingWithConnection:timeout:]): Likewise.
|
|
([ConnectedCoder -dismiss]): Fix typo: use cstream ivar.
|
|
|
|
* src/Coder.m ([Coder -writeSignature]): Write directly to stream
|
|
ivar.
|
|
([Coder +readSignatureFromCStream:getClassname:formatVersion:]):
|
|
Likewise.
|
|
([Coder -initForReadingFromStream:s]): New method.
|
|
([Coder -initForWritingToStream:s]): New method.
|
|
([Coder +coderWritingToStream:]): New method.
|
|
([Coder +coderWritingToFile:]): New method.
|
|
|
|
* src/KeyedCollection.m: Use <Encoding> and <Decoding> protocols
|
|
in argument types.
|
|
* src/IndexedCollection.m: Likewise.
|
|
* src/BinaryTree.m: Likewise.
|
|
* src/Array.m: Likewise.
|
|
|
|
* src/Makefile.in (GNU_MFILES): Remove BinaryCoder.m. and
|
|
TextCoder.m
|
|
(GNU_HEADERS): Remove objects/BinaryCoder.h and objects/TextCoder.h.
|
|
|
|
* src/Proxy.m, src/RBTreeNode.m, src/Set.m, src/SocketPort.m,
|
|
src/TextCoder.m, src/argframe.m, src/IndexedCollection.m,
|
|
src/KeyedCollection.m, src/MutableCString.m, src/NSGCString.m,
|
|
src/NSGCoder.m, src/NXConnection.m, src/Collection.m,
|
|
src/ConnectedCoder.m, src/Connection.m, src/DelegatePool.m,
|
|
src/EltNodeCollector.m, src/Array.m, src/BinaryCoder.m:
|
|
Use new-style method name "..ValueOfObjCType"
|
|
and "..ValueOfCType", instead of "..ValueOfType" and
|
|
"..ValueOfSimpleType".
|
|
|
|
* src/NSString.m: This new code, #if
|
|
HAVE_REGISTER_PRINTF_FUNCTION, a function defined by GNU libc.
|
|
(handle_printf_atsign): New function to handle %@ in printf strings.
|
|
([NSString +initialize]): Register the new printf-handler function.
|
|
* configure.in (register_printf_function): Check for this
|
|
function.
|
|
|
|
* src/objects/Coding.h: Use new-style method name
|
|
"..ValueOfObjCType", instead of "..ValueOfType". Use (id
|
|
<String>) instead of (char *) where appropriate.
|
|
(Encoding -initEncodingOnStream:): Method removed.
|
|
(Encoding -initEncoding): Method removed.
|
|
(Encoding -encodeValueOfSimpleType:at:withName:): Method removed.
|
|
(Decoding -initDecodingOnStream:): Method removed.
|
|
(Decoding -initDecoding): Method removed.
|
|
(Decoding -decodeValueOfSimpleType:at:withName:): Method removed.
|
|
(CommonCoding +defaultFormatVersion): New method.
|
|
|
|
* src/Stream.m ([Stream -rewindStream]): Move method lower in
|
|
file, to avoid undeclared error. (This is related to creation of
|
|
SeekableStream protocol.)
|
|
|
|
* src/objects/Streaming.h (Streaming): Include NSObject protocol
|
|
in Streaming protocol, so we can use NSObject methods on arguments
|
|
passed with <Streaming> type.
|
|
|
|
* src/StdioStream.m: Use (id <String>) instead of (char *) where
|
|
appropriate.
|
|
([StdioStream +streamWithFilename:fmode:]): New method.
|
|
* src/objects/StdioStream.h: Declare new methods.
|
|
|
|
* src/NSCoder.m ([NSCoder -encodeObject:]): Base on
|
|
-encodeValueOfObjCType, not -encodeValuesOfObjCTypes.
|
|
|
|
* src/Coder.m: Now uses a CStream instance for low-level encoding
|
|
of variables of C type. Include many more files. Use new-style
|
|
method name "..ValueOfObjCType", instead of "..ValueOfType". Use
|
|
(id <String>) instead of (char *) where appropriate.
|
|
(DEFAULT_FORMAT_VERSION): Renamed from CODER_FORMAT_VERSION.
|
|
(default_stream_class): Renamed from defaultStreamClass;
|
|
(default_cstream_class): New static variable.
|
|
([Coder +initialize]): Initialize above two variables.
|
|
([Coder +setDefaultCStreamClass:]): New method.
|
|
([Coder +defaultCStreamClass]): New method.
|
|
([Coder +setDefaultStreamClass:]): New method.
|
|
([Coder +defaultStreamClass]): New method.
|
|
([Coder +defaultFormatVersion]): New method.
|
|
([Coder -writeSignature]): New method, replaces -encodeSignature.
|
|
([Coder +readSignatureFromCStream:getClassname:formatVersion:]):
|
|
New method, replaces decodeSignature.
|
|
([Coder -_initWithCStream:formatVersion:isDecoding:f]): New method,
|
|
replaces _initWithStream:isDecoding.
|
|
([Coder +coderReadingFromStream:stream]): New method.
|
|
([Coder +coderReadingFromFile:filename]): New method.
|
|
([Coder -initForReadingFromStream:formatVersion:]): New method.
|
|
([Coder -initForWritingToStream:sformatVersion:version]): New method.
|
|
([Coder +decodeObjectFromStream:]): New method.
|
|
([Coder +decodeObjectFromFile:filename]): New method.
|
|
([Coder -initEncodingOnStream:]): Method removed.
|
|
([Coder -initDecodingOnStream:]): Method removed.
|
|
([Coder -initEncoding:]): Method removed.
|
|
([Coder -initDecoding:]): Method removed.
|
|
([Coder -encodeBytes:count:withName:]): Now unimplemented.
|
|
([Coder -decodeBytes:count:withName:name]): Likewise.
|
|
([Coder -decodeValueOfCType:at:withName:]): New method.
|
|
([Coder -encodeValueOfCType:at:withName:]): New method.
|
|
([Coder -encodeValueOfObjCType:at:withName:name]): Now longer handles
|
|
arrays and structs; those are now handled in a CStream method.
|
|
([Coder -decodeValueOfObjCType:at:withName:]): Likewise.
|
|
([Coder -encodeValueOfSimpleType:at:withName:]): Method removed.
|
|
([Coder -decodeValueOfSimpleType:at:withName:]): Method removed.
|
|
([Coder -encodeIndent]): Call cstream to handle this, instead of doing
|
|
nothing.
|
|
([Coder -encodeUnindent]): Likewise.
|
|
([Coder -decodeIndent]): Likewise.
|
|
([Coder -decodeUnindent]): Likewise.
|
|
([Coder -encodeName:]): Likewise.
|
|
([Coder -decodeName:]): Likewise.
|
|
([Coder -formatVersion]): Method renamed from coderFormatVersion.
|
|
|
|
* src/objects/Coder.h: Declare new methods.
|
|
(cstream): New ivar, replacing "stream".
|
|
(classname_map): New ivar, but not yet used properly.
|
|
(concrete_format_version): ivar removed, this is now in the CStream
|
|
classes.
|
|
|
|
* src/CString.m: Use new-style method name "..ValueOfObjCType",
|
|
instead of "..ValueOfType".
|
|
([CString -initWithCStringNoCopy:freeWhenDone:]): Cast away const
|
|
type.
|
|
|
|
* src/Stream.m ([Stream -writeLine:]): Replace with more efficient
|
|
implementation from MemoryStream class.
|
|
* src/MemoryStream.m: Use (id <String>) instead of (char *) where
|
|
appropriate.
|
|
([MemoryStream -writeLine:]): Remove method.
|
|
|
|
* src/objects/Collection.h: Don't include <objects/Coder.h>; this
|
|
helps prevent circular dependances in include files.
|
|
|
|
* src/NSGCString.m ([NSGCString -cStringNoCopy]): New method.
|
|
* src/CString.m ([CString -cStringNoCopy]): New method.
|
|
* src/String.m: Use -subclassReponsibility instead of
|
|
-notImplemented in proper places.
|
|
([String -cStringNoCopy]): New method.
|
|
* src/objects/String.h: Declare new method.
|
|
|
|
* src/Stream.m: Use string object types instead of C-string types
|
|
in method arguments. Use -subclassReponsibility instead of
|
|
-notImplemented.
|
|
* src/objects/Streaming.h (Streaming): Use string object types
|
|
instead of C-string types in method arguments.
|
|
|
|
* src/CString.m ([CString -initWithCStringNoCopy:freeWhenDone:]):
|
|
New method.
|
|
* src/String.m ([String +stringWithCStringNoCopy:freeWhenDone:f]):
|
|
New method.
|
|
([String +stringWithCStringNoCopy:]): New method.
|
|
* src/objects/String.h: Declare new methods.
|
|
|
|
* src/Coder.m: Don't use ivar interconnected_stack_height.
|
|
(DOING_ROOT_OBJECT): New macro, defined based on
|
|
interconnected_stack_height.
|
|
* src/objects/Coder.h (Coder): Get rid of unnecessary ivar
|
|
doing_root_object; we can get the same information from ivar
|
|
interconnected_stack_height.
|
|
|
|
Mon Jan 22 21:32:25 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/NSCoder.m ([NSCoder -encodeObject:]): Implemented.
|
|
([NSCoder -decodeObject]): Implemented.
|
|
([NSCoder -encodeValueOfObjCType:at:]): Use -subclassResponsibility,
|
|
not -notImplemented.
|
|
([NSCoder -decodeValueOfObjCType:at:]): Likewise.
|
|
([NSCoder -encodeDataObject:]): Likewise.
|
|
([NSCoder -decodeDataObject]): Likewise.
|
|
([NSCoder -versionForClassName:]): Likewise.
|
|
|
|
Mon Jan 22 11:08:55 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* Version (OBJECTS_SUBMINOR_VERSION): libobjects version 0.1.19.
|
|
|
|
Sat Jan 20 14:27:57 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* doc/install.texi: Mention GNU/Linux and the need for -lieee.
|
|
|
|
* aclocal.m4: Don't have the initializer-loading test program
|
|
print anything.
|
|
(OBJC_SYS_DYNAMIC_FLAGS): Use '' not "" to quote $(CC).
|
|
|
|
Fri Jan 19 12:40:49 1996 Adam Fedor <fedor@mode.Colorado.EDU>
|
|
|
|
* src/NSBundle.m (objc_executable_location): New
|
|
function. ([NSBundle +mainBundle]): Get path from NSProcessInfo.
|
|
|
|
* src/NSProcessInfo.m: Remove NSArgv
|
|
definition. (_gnu_process_args): Remove NSArgv code.
|
|
|
|
* src/objc-load.c: Remove NSArgv
|
|
declaration. (objc_executable_location): Removed
|
|
function. (objc_initialize_loading): Make path const char*.
|
|
* src/Foundation/objc-load.h: Remove objc_executable_location
|
|
function declaration.
|
|
|
|
* src/objc/HashTable.h: Include stdobjects.h header for
|
|
LibObjectsMain definition.
|
|
|
|
Fri Jan 19 10:43:32 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* Version (OBJECTS_SUBMINOR_VERSION): libobjects version 0.1.18.
|
|
|
|
* configure.in (OBJS_INSTALL): Fix typo NeXT_OBJS -> NEXTSTEP_OBJS
|
|
in when running under NeXTSTEP, but not using NeXT runtime.
|
|
(Reported by Satoshi Adachi <adachi@wisdom.aa.ap.titech.ac.jp>.)
|
|
|
|
* src/NSString.m ([NSString -initWithCString:length:]): Handle
|
|
case of NULL cString.
|
|
([NSString -initWithCString:]): Likewise.
|
|
(Reported by Adam Fedor <fedor@mode.Colorado.EDU>.)
|
|
|
|
* src/find_exec.c (objc_find_executable): Make NSBundle work even
|
|
when CWD isn't in PATH. (Fix provided by Matthias Klose
|
|
<doko@cs.tu-berlin.de>.)
|
|
|
|
* src/Makefile.in (libobjects.so.$OBJECTS_VERSION)): Re-add the
|
|
-Wl,-soname,libobjects.so.$(OBJECTS_MAJOR_VERSION) argument.
|
|
Create a soft link named libobjects.so.
|
|
(install): Install a soft link named libobjects.so.
|
|
(Fixes sent by Jeremy Bettis <jbettis@cse.unl.edu>.)
|
|
|
|
* Makefile.in: Remove -$(MAKEFLAGS) as argument to recursive calls
|
|
of $(MAKE); this happens automatically. (Reported by Niels Mvller
|
|
<nisse@lysator.liu.se>.)
|
|
|
|
Tue Jan 16 19:33:49 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* Version (OBJECTS_SUBMINOR_VERSION): libobjects version 0.1.17.
|
|
|
|
Tue Jan 16 13:57:51 1996 Adam Fedor <fedor@mode.Colorado.EDU>
|
|
|
|
* aclocal.m4 (OBJC_SYS_AUTOLOAD): Define CON_AUTOLOAD if
|
|
/usr/include/elf.h exists. Use yes/no rather than 1/0.
|
|
|
|
* src/objc-load.c: Update copyright.
|
|
(objc_load_module): Use CON_AUTOLOAD instead of SYS_AUTOLOAD.
|
|
|
|
Tue Jan 16 12:24:59 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/Makefile.in (HEADERS_INSTALL): Remove objects/config.h.
|
|
(install): Look for libobjects.so file, not just for configure
|
|
variable. Remove unwanted `;'. Install objects/config.h from
|
|
build directory. (Fixes provided by Matthias Klose
|
|
<doko@cs.tu-berlin.de>).
|
|
|
|
Mon Jan 15 17:07:38 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* Version (OBJECTS_SUBMINOR_VERSION): libobjects version 0.1.16.
|
|
(OBJECTS_GCC_VERSION): Updated from 2.7.0 to 2.7.2.
|
|
(OBJECTS_FTP_MACHINE): Changed to prep.
|
|
(OBJECTS_FTP_DIRECTORY): Changed to pub/gnu.
|
|
|
|
* NSCharacterSets/Makefile.in (install): Prefix data files with
|
|
$(srcdir).
|
|
(Makefile): New target.
|
|
|
|
* src/Makefile.in ($(NSVALUE_MFILES)): Use sed instead of expr to
|
|
extract number.
|
|
($(NSNUMBER_MFILES)): Likewise.
|
|
|
|
* checks/Makefile.in (all): Remove target `bundles' for now;
|
|
linking them doesn't always work. If people want to test bundles,
|
|
they can type `make bundles'.
|
|
|
|
* examples/Makefile.in (ALL_CPPFLAGS): -I../src, not -I.
|
|
(Makefile): Prefix dependancy with $(srcdir).
|
|
* checks/Makefile.in (ALL_CPPFLAGS): -I../src, not -I.
|
|
(Makefile): Prefix dependancy with $(srcdir).
|
|
|
|
* Makefile.in (dist): Add -9 to gzip args.
|
|
(snapshot): Likewise.
|
|
|
|
* doc/install.texi: Remove --enable-shared from first example of
|
|
installation commands; many people were just copying these
|
|
commands, ignorant of whether or not their system supported
|
|
dynamically-linked shared libraries.
|
|
|
|
* checks/Makefile.in: Remove test09; it doesn't work, but it
|
|
doesn't matter.
|
|
(SRCS): Remove test09.m.
|
|
(test09): Remove target.
|
|
|
|
* aclocal.m4: Test whether loading of contructor functions works
|
|
by actually compiling and running a program, not by looking for
|
|
/usr/include/elf.h.
|
|
|
|
Tue Jan 16 00:31:19 1996 Gregor Hoffleit <flight@mathi.uni-heidelberg.DE>
|
|
|
|
* src/NSDate.m ([NSDate -description]): replace strftime() with
|
|
sprintf() equivalent for NEXTSTEP.
|
|
|
|
Mon Jan 15 15:11:18 1996 Adam Fedor <fedor@mode.Colorado.EDU>
|
|
|
|
* aclocal.m4 (OBJC_SYS_DYNAMIC_LINKER): Expand macro correctly in
|
|
dld/defs.h check.
|
|
|
|
Fri Jan 12 11:38:58 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* examples/Makefile.in (LIBS): Added -lm.
|
|
|
|
* src/NSProcessInfo.m ([NSProcessInfo -globallyUniqueString]):
|
|
Don't use the %@ printf format directive, since it isn't
|
|
implemented yet; use %s and -cString instead. (Reported by
|
|
Gregor Hoffleit <flight@mathi.uni-heidelberg.DE>.)
|
|
|
|
* aclocal.m4 (OBJC_SYS_AUTOLOAD): Don't define SYS_AUTOLOAD #ifdef
|
|
mips, gcc doesn't support it, even though elf.h exists. (Perhaps
|
|
this should be "sgi" instead of "mips"?)
|
|
* src/NSProcessInfo.m: Don't test !(sgi), since SYS_AUTOLOAD is
|
|
fixed.
|
|
|
|
* src/find_exec.c (objc_find_executable): #ifdef NeXT, use getwd()
|
|
instead of getcwd().
|
|
(Reported by Gregor Hoffleit <flight@mathi.uni-heidelberg.DE>.)
|
|
|
|
* src/NSDate.m ([NSDate -description]): Don't use strftime #ifdef
|
|
NeXT. (Reported by Gregor Hoffleit
|
|
<flight@mathi.uni-heidelberg.DE>.)
|
|
|
|
* src/Makefile.in (objects/stdobjects.h): prepend
|
|
objects/stdobjects.h.in with $(srcdir).
|
|
|
|
* checks/Makefile.in ($(DYNAMIC_OFILES)): Use $(srcdir).
|
|
($(BUNDLE_NAMEJ)): Likewise.
|
|
(Reported by Matthias Klose <doko@cs.tu-berlin.de>.)
|
|
|
|
* src/Makefile.in (NXStringTable_scan.o): Removed target; let
|
|
pattern rule take care of it.
|
|
($(NSVALUE_MFILES)): Use $@ instead of $* in expr argument.
|
|
($(NSNUMBER_MFILES)): Likewise.
|
|
(Reported by <pfuchs@tag01.acnet.net>.)
|
|
|
|
* src/NSMethodSignature.m ([NSMethodSignature
|
|
+signatureWithObjCTypes:]): Fix typo: change objc_size_of_type to
|
|
objc_sizeof_type. (Reported by Gregor Hoffleit
|
|
<flight@mathi.uni-heidelberg.DE>.)
|
|
|
|
* src/Makefile.in (libobjects.so.$(OBJECTS_VERSION)): Removed
|
|
"-Wl,-soname,libobjects.so.$(OBJECTS_VERSION)"; gcc does this
|
|
automatically. (Reported by Matthias Klose
|
|
<doko@cs.tu-berlin.de>.)
|
|
|
|
* src/NSProcessInfo.m: Include <netdb.h> for MAXHOSTNAMELEN.
|
|
(Reported by Matthias Klose <doko@cs.tu-berlin.de>.)
|
|
|
|
* src/Makefile.in (ALL_INCLUDE_FLAGS): Add -I. for
|
|
objects/config.h. (Reported by Matthias Klose
|
|
<doko@cs.tu-berlin.de>)
|
|
* checks/Makefile.in (ALL_CPPFLAGS): Likewise.
|
|
* examples/Makefile.in (ALL_CPPFLAGS): Likewise.
|
|
|
|
Wed Jan 10 10:51:26 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/NSProcessInfo.m: Remove #if NeXT and alternate #include's.
|
|
* src/Foundation/NSProcessInfo.h: Likewise.
|
|
(These caused problems reported by John Boller <jboller@panix.com>.)
|
|
|
|
* src/Invocation.m ([MethodInvocation -initWithSelector:arguments:]):
|
|
New method, not implemented.
|
|
|
|
Tue Jan 9 14:07:36 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/Storage.m ([Storage -insertElement:at:]): Increment
|
|
numElements. (Reported by Revuz Dominique <dr@univ-mlv.fr>).
|
|
|
|
* Makefile.in (RCS_FILES): Remove out-of-date MACHINES and CREDITS
|
|
files.
|
|
|
|
Mon Jan 8 11:05:52 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* Version (OBJECTS_SUBMINOR_VERSION): Version 0.1.15.
|
|
|
|
* src/NSProcessInfo.m (_GNU_MAX_HOST_NAMELEN): Macro removed;
|
|
using MAXHOSTNAMELEN from <sys/param.h> instead. All users
|
|
changed.
|
|
(_gnu_process_args): Malloc and fill NSArgv; assignment of char**
|
|
from *char[] isn't right.
|
|
|
|
* src/NSGCString.m ([NSGCString -emptyCopy]): Use [super
|
|
emptyCopy], not [super allocCopy].
|
|
|
|
* src/String.m ([String -emptyCopy]): Method removed; super class
|
|
implementation is fine.
|
|
([String -initWithCString:range:]): Use -subclassResponsibility:, not
|
|
-notImplemented:.
|
|
([String -empty]): Likewise.
|
|
|
|
* configure.in: Remove double-quotes in help string of
|
|
--enable-shared handling.
|
|
|
|
Sun Jan 7 16:05:04 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/Makefile.in: Changed rules for compiling concrete NSValue
|
|
and NSNumber classes; the old version no longer worked with shared
|
|
library compilation, and didn't use the common pattern rule for
|
|
making the object file.
|
|
(NSNUMBER_CLUSTER, NSVALUE_CLUSTER): Variables removed.
|
|
(NSVALUE_MFILES): New variable, replacing NSVALUE_OFILES.
|
|
(NSNUMBER_MFILES): New variable, replacing NSNUMBER_OFILES.
|
|
(GNUSTEP_OBJS): Use new vars.
|
|
|
|
Fri Jan 5 17:01:35 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
Clean up shared library building. Building from another
|
|
directory now works.
|
|
* configure.in: Add $srcdir where necessary.
|
|
(LIBOBJECTS_A_OR_SO): Variable removed.
|
|
(LIBOBJECTS_SO): Defined according to --enabled-shared flag.
|
|
* src/Makefile.in: (Makeconf): Include it after system
|
|
configuration section, and from $(srcdir).
|
|
(SHAREDLIB_CFLAGS, SHAREDLIB_ARFLAGS, USING_SHAREDLIB_CFLAGS,
|
|
USING_SHAREDLIB_ARFLAGS): Variables removed.
|
|
(ALL_CFLAGS, ALL_OBJCFLAGS): Don't use removed vars.
|
|
(%_pic.o: %.m): New pattern rule.
|
|
(%_pic.o: %.c): New pattern rule.
|
|
(all): Always build libobjects.a, optionally build .so version.
|
|
(libobjects.so): Use -shared. Link to ..$(OBJECTS_MAJOR_VERSION).
|
|
(install): Always install libobjects, optionally install .so version.
|
|
Install the headers from the $(srcdir).
|
|
(NSVALUE_OFILES, NSNUMBER_OFILES, NXStringTable_scan.c,
|
|
dynamic-load.h): Use $(srcdir) properly for these targets.
|
|
* checks/Makefile.in: Executables now depend on libobjects.a, not
|
|
@LIBOBJECTS_A_OR_SO@.
|
|
(LIBS): Don't look in $(srcdir) for library.
|
|
(copy-dist): Don't use $(srcdir).
|
|
(Makefile): Likewise.
|
|
* examples/Makefile.in: Executables now depend on libobjects.a,
|
|
not @LIBOBJECTS_A_OR_SO@.
|
|
(LIBS): Don't look in $(srcdir) for library.
|
|
(OBJECTS_NEXT_INCLUDES): Don't look in non-existant next-includes dir.
|
|
(copy-dist): Don't use $(srcdir).
|
|
(Makefile): Likewise.
|
|
* doc/Makefile.in (TEXT_FILES): New variable.
|
|
(info): Use it.
|
|
(MAKEINFO_FLAGS): New variable. Use it in TEXT_FILES targets.
|
|
(DIST_FILES): Remove version.texi.
|
|
(clean): rm version.texi and $(TEXT_FILES).
|
|
|
|
* src/NSProcessInfo.m (_gnu_process_args): Use "char **argv"
|
|
instead of "char *argv[]". Remove cast in assignment of NSArgv.
|
|
|
|
Thu Jan 4 23:12:11 1996 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/Set.m ([Set -removeElement:ifAbsentCall:]): Fix typo; method
|
|
renamed from -removeElement:ifAbsent:. (Reported by Albert Mietus
|
|
<albert@gamp.hacom.nl>.)
|
|
|
|
Wed Dec 20 11:30:37 1995 Adam Fedor <fedor@mode.Colorado.EDU>
|
|
|
|
* src/NSGeometry.m (NSMouseInRect): Handle flipped y-axis.
|
|
|
|
* src/Foundation/NSException.h: Include NSString interface.
|
|
|
|
Fri Nov 24 15:09:22 1995 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/NSArray.m ([NSMutableArray -addObject:]): Use
|
|
-subclassResponsibility:, not -notImplemented:.
|
|
([NSMutableArray -replaceObjectAtIndex:withObject:]): Likewise.
|
|
([NSMutableArray -insertObject:atIndex:]): Likewise.
|
|
([NSMutableArray -removeObjectAtIndex:]): Likewise.
|
|
([NSMutableArray -removeAllObjects]): Likewise.
|
|
|
|
Sun Nov 19 15:29:41 1995 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/NSString.m ([NSString +allocWithZone:]): New method.
|
|
([NSString +stringWithCString:byteString]): Use it.
|
|
([NSString +stringWithCString:length:]): Likewise.
|
|
([NSString +stringWithFormat:]): Likewise.
|
|
([NSString +stringWithFormat:arguments:]): Likewise.
|
|
([NSMutableString +allocWithZone:]): New method.
|
|
([NSMutableString +stringWithCapacity:]): Use it.
|
|
([NSMutableString +stringWithCString:length:]): Likewise.
|
|
|
|
Tue Nov 14 11:39:41 1995 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
Some improvement to shared lib support, but since I can't test it,
|
|
I still don't know if it works.
|
|
|
|
* src/Makefile.in (CFLAGS): Added -O.
|
|
(SHAREDLIB_CFLAGS,SHAREDLIB_ARFLAGS): Set values here, not in
|
|
configure.in.
|
|
(USING_SHAREDLIB_CFLAGS,USING_SHAREDLIB_ARFLAGS): New vars, set by
|
|
configure.
|
|
(ALL_CFLAGS, ALL_OBJCFLAGS): Use them.
|
|
(libobjects.so.$(OBJECTS_VERSION): New target, replacing
|
|
libobjects.so. Use version numbers.
|
|
(install): Try to do the right thing with shared/non-shared libs.
|
|
* configure.in: Update shared library variable names.
|
|
|
|
* checks/Makefile.in: Use configure var, not libobjects.a.
|
|
Include ../Version.
|
|
|
|
* examples/Makefile.in: Use configure var, not non-existant
|
|
Makefile var. Include ../Version.
|
|
|
|
Mon Nov 6 12:24:16 1995 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
Shared library support; I'm not sure it works, though.
|
|
|
|
* configure.in: Look for --enabled-shared.
|
|
(LIBOBJECTS_A_OR_SO, SHAREDLIB_CFLAGS, SHAREDLIB_ARFLAGS): New
|
|
substitutions.
|
|
* src/Makefile.in (SHAREDLIB_CFLAGS): New variable.
|
|
(ALL_CFLAGS): Use it.
|
|
(ALL_OBJCFLAGS): Likewise.
|
|
(SHAREDLIB_ARFLAGS): New variable.
|
|
(libobjects.so): Use it; new target.
|
|
(all): Depend on configure variable.
|
|
(install): Changes to install shared library.
|
|
* examples/Makefile.in: Look for LIBOBJECTS_A_OR_SO, not
|
|
libobjects.a.
|
|
|
|
* src/NSProcessInfo.m (NSArgv): New global.
|
|
(_gnu_process_args): Set it.
|
|
|
|
* NSMethodSignature.m: New file; not finished, though.
|
|
* src/Makefile.in (GNUSTEP_MFILES): Added NSMethodSignature.m.
|
|
|
|
* src/Foundation/NSMethodSignature.h (NSArgumentInfo): Declared.
|
|
([NSMethodSignature -argumentInfoAtIndex:]): Uncommented.
|
|
|
|
* doc/install.texi: Warn them that compiling in a different
|
|
directory than the source will not currently work.
|
|
|
|
Fri Nov 3 11:12:11 1995 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/NSDictionary.m ([NSDictionary +dictionary]): Use +alloc, not
|
|
_concreteClass. This makes [NSMutableDictionary +dictionary] and
|
|
friends do the right thing.
|
|
([NSDictionary +dictionaryWithObjects:forKeys:count:]): Likewise.
|
|
([NSMutableDictionary +dictionaryWithCapacity:]): Likewise.
|
|
(Problem reported by Kim Shrier <kim@media.com>.)
|
|
|
|
* src/NSSet.m ([NSSet +set]): Use +alloc, not _concreteClass.
|
|
This makes [NSMutableSet +set] and friends do the right thing.
|
|
([NSSet +setWithObjects:count:]): Likewise.
|
|
([NSSet +setWithArray:]): Likewise.
|
|
([NSSet +setWithObject:]): Likewise.
|
|
([NSSet +setWithObjects:]): Likewise.
|
|
([NSMutableSet +setWithCapacity:]): Likewise.
|
|
|
|
* src/NSArray.m ([NSArray +array]): Use +alloc, not
|
|
_concreteClass. This makes [NSMutableArray +array] and friends do
|
|
the right thing.
|
|
([NSArray +arrayWithObjects:]): Likewise.
|
|
([NSMutableArray +arrayWithCapacity:]): Likewise.
|
|
([NSArray +arrayWithObject:]): Likewise; and fix condition on
|
|
exception.
|
|
|
|
* src/NSProcessInfo.m ([NSProcessInfo -hostName]): Remove
|
|
unnecessary inefficiency: use stack to hold temporary string, not
|
|
malloc/free; just return the string, not a copy. Conform to GNU
|
|
coding standards in use of braces.
|
|
([NSProcessInfo -processName]): Likewise. Just return the string, not
|
|
a copy.
|
|
([NSProcessInfo -environment]): Likewise.
|
|
([NSProcessInfo -arguments]): Likewise.
|
|
(_gnu_arguments, _gnu_environment): Make them constant classes, not
|
|
mutable.
|
|
(_gnu_process_args): Alloc _gnu_processName NSString, don't get an
|
|
autoreleased string and then retain it. Initialize _gnu_arguments
|
|
as a constant NSArray, not NSMutableArray. Initialize
|
|
_gnu_environment as a constant NSDictionary, not
|
|
NSMutableDictionary. Conform to the GNU coding standards in use
|
|
of braces.
|
|
|
|
* src/Foundation/NSDictionary.h ([NSDictionary
|
|
-initWithObjects:forKeys:]): Declare method.
|
|
|
|
This is called dissertation-procrastination.
|
|
|
|
Sun Oct 29 19:41:16 1995 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* checks/nsset.m: New file.
|
|
* checks/Makefile.in (SRCS): Added nsset.m.
|
|
(nsset): New target.
|
|
|
|
* src/NSGArray.m ([NSGArray -objectAtIndex:]): Fix condition on
|
|
exception.
|
|
|
|
* src/objects/NSSet.h: Moved method declarations from NSMutableSet
|
|
to NSSet.
|
|
|
|
* NSCountedSet.m, NSGCountedSet.m: New files.
|
|
* src/objects/NSSet.h: Added NSCountedSet interface.
|
|
* src/Foundation/NSSet.h: Likewise.
|
|
* src/Foundation/NSGSet.h: Added NSGCountedSet interface.
|
|
* src/NSGSet.m: Implemented many methods.
|
|
* src/Makefile.in (GNUSTEP_MFILES): Added NSCountedSet.m and
|
|
NSGCountedSet.m.
|
|
|
|
* src/NSArray.m ([NSArray -objectEnumerator]): Autorelease it.
|
|
([NSArray -reverseObjectEnumerator]): Likewise.
|
|
|
|
* src/NSGDictionary.m ([NSGDictionary -keyEnumerator]):
|
|
Autorelease it.
|
|
([NSGDictionary -objectEnumerator]): Likewise.
|
|
|
|
Wed Oct 25 20:37:15 1995 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/NSSet.m, src/Foundation/NSSet.h: New files.
|
|
* src/NSGSet.m, src/Foundation/NSGSet.h: New files.
|
|
* src/Makefile.in (GNU_HEADERS): Added objects/NSSet.h.
|
|
(GNUSTEP_MFILES): Added NSGSet.m and NSSet.m.
|
|
(GNUSTEP_HEADERS): Added Foundation/NSGSet.h and Foundation/NSSet.h.
|
|
|
|
* src/Foundation/NSDictionary.h: Include objects/stdobjects.h, not
|
|
objects/Dictionary.h.
|
|
* src/Foundation/NSGDictionary.h: Include objects/Dictionary.h.
|
|
|
|
* src/collhash.c (coll_hash_next): Set STATE to 0 before returning
|
|
when the list is exhausted. This interacts with [Dictionary
|
|
-freeEnumState:] and [Set -freeEnumState]. This will all be
|
|
cleaned up when we start using Albin Jones' tables. (This bug
|
|
found by Allan Clearwaters.)
|
|
|
|
* src/NSGDictionary.m ([NSGDictionaryKeyEnumerator
|
|
-initWithDictionary:]): Retain dictionary after it is initialized.
|
|
|
|
* src/NSString.m ([NSString -cString]): Use
|
|
-subclassResponsibility: instead of -notImplemented:
|
|
([NSString -cStringLength]): Likewise.
|
|
|
|
Sun Oct 22 13:53:39 1995 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
Start adding proper NSException's; not done yet.
|
|
* src/NSGArray.m ([NSGArray -initWithObjects:count:]): Raise
|
|
exception for nil objects.
|
|
([NSGArray -objectAtIndex:]): Raise exception when index too high.
|
|
* src/NSArray.m ([NSArray +arrayWithObject:]): Raise
|
|
exception on nil argument.
|
|
|
|
Wed Oct 18 09:48:24 1995 Adam Fedor <fedor@mode.Colorado.EDU>
|
|
|
|
* NSBundle.REAMDE: Rewrote documentation.
|
|
|
|
* examples/Makefile.example.in: New file.
|
|
* examples/configure.example.in: Likewise.
|
|
* examples/Makefile.in: Add new files to RCS_FILES.
|
|
|
|
* src/Foundation/NSGCString.h: New _free_contents ivar.
|
|
* src/Foundation/String.h: Likewise.
|
|
* src/CString.m ([CString -initWithCString:range:]): Set
|
|
_free_contents to YES. ([CString -initWithCoder:]): Likewise.
|
|
([CString -dealloc]): Free contents if needed.
|
|
* src/MutableCString.m ([MutableCString -initWithCapacity:]): Set
|
|
_free_contents to YES. ([MutableCString -initWithCoder:]):
|
|
Likewise. ([MutableCString -dealloc]): Free contents if needed.
|
|
* src/NSGCString ([NSGCString
|
|
-initWithCStringNoCopy:length:freeWhenDone:]): set _free_contents.
|
|
([NSGCString -initWithCoder:]): Set _free_contents to YES;
|
|
([NSGCString -dealloc]): Free contents if needed.
|
|
([NSGMutableCString -initWithCapacity:]): Set _free_contents to
|
|
YES. ([NSGMutableCString -initWithCoder:]): Likewise.
|
|
|
|
* src/NSString.m ([NSString -initWithCString:length:]): Set free
|
|
string. ([NSString -compare:options:]): Range should be
|
|
maximum of both strings.
|
|
|
|
* src/NSGArray.m ([NSGArray -replaceObjectAtIndex:withObject:]):
|
|
Implement.
|
|
|
|
* src/NSGeometry.m (NSMouseInRect): Point should not touch sides.
|
|
|
|
Sat Oct 14 14:16:04 1995 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
Remove remnants of "stack of dictionaries"; we only need one.
|
|
* src/objects/Coder.h (Coder): Renamed ivars from
|
|
root_object_tables to root_object_table, from
|
|
forward_object_tables to forward_object_table; changed classes
|
|
from Stack (of Dictionary's) to Dictionary.
|
|
* src/Coder.m ([Coder -doInitOnStream:isDecoding:]): Use new ivar
|
|
names.
|
|
([Coder -_coderPushRootObjectTable]): Use new ivar names and don't use
|
|
Stack.
|
|
([Coder -_coderPopRootObjectTable]): Likewise.
|
|
([Coder -_coderTopRootObjectTable]): Likewise.
|
|
([Coder -_coderPushForwardObjectTable]): Likewise.
|
|
([Coder -_coderPopForwardObjectTable]): Likewise.
|
|
([Coder -_coderTopForwardObjectTable]): Likewise.
|
|
([Coder -_coderForwardObjectsAtReference:]): Don't access ivar
|
|
directly.
|
|
([Coder -_coderPutForwardObjects:atReference:]): Likewise.
|
|
([Coder -finishDecodingInterconnectedObjects]): Use new ivar name.
|
|
([Coder -dealloc]): Likewise.
|
|
|
|
Mon Oct 9 10:33:13 1995 Andrew McCallum <mccallum@cs.rochester.edu>
|
|
|
|
* src/IndexedCollection.m ([IndexedCollection
|
|
-shallowCopyInReverseAs:]): Return newColl, not self.
|
|
([IndexedCollection -withElementsInReverseCall:]): Set flag to YES.
|
|
([IndexedCollection -safeWithElementsInReverseCall:]): Likewise.
|
|
Reported by MURATA, Shuuichirou <mrt@mickey.ai.kyutech.ac.jp>.
|
|
|
|
* doc/readme.texi (The Class Heirarchy): Fixes from Aleksey
|
|
Sudakov <zander@cnext.crec.mipt.ru>.
|
|
|
|
Thu Oct 5 11:31:44 1995 Adam Fedor <fedor@mode.colorado.edu>
|
|
|
|
* src/objc-malloc.c (objc_malloc): Declare res before any
|
|
statements.
|
|
(__objc_valloc): Likewise.
|
|
(__objc_realloc): Likewise.
|
|
(__objc_calloc): Likewise.
|
|
|
|
Sat Sep 30 18:00:22 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* src/objc-malloc.c (CHECK_ZERO_SIZE): New macro; for making sure
|
|
we don't pass 0 to malloc and its friends. (Needed on DEC Alpha;
|
|
problem reported by Adam Fedor.)
|
|
(__objc_malloc): Use it.
|
|
(__objc_valloc): Likewise.
|
|
(__objc_realloc): Likewise.
|
|
(__objc_calloc): Likewise.
|
|
|
|
Wed Sep 27 18:45:46 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* Makefile.in (DIST_FILES): Removed DISCUSSION.
|
|
|
|
* src/IndexedCollection.m ([IndexedCollection
|
|
-getNextElement:withEnumState:]): if isEmpty, return NO.
|
|
|
|
* src/NSObject.m ([NSObject +initialize]): Set default
|
|
autorelease_class to NSAutoreleasePool.
|
|
|
|
* src/NSProcessInfo.m: Don't try to use __attribute__ ((section
|
|
..)) #if (sgi). It doesn't seem to be supported. This probably
|
|
means that aclocal.m4 needs to be fixed so that it doesn't define
|
|
SYS_AUTOLOAD in this case. No time now. Adam?
|
|
|
|
* src/Collection.m: Avoid cache_flush when releasing contents.
|
|
(send_release): Remove function.
|
|
([Collection -_releaseContents]): New method.
|
|
([Collection -dealloc]): Use it.
|
|
([Collection -empty]): Likewise.
|
|
([Collection -_safeWithElementsCallNoRetain:]): Use
|
|
-getNextElement:withEnumState instead of -withElementsCall: to
|
|
avoid cache_flush.
|
|
|
|
Thu Sep 21 11:07:38 1995 Adam Fedor <fedor@mode.colorado.edu>
|
|
|
|
* src/NSArray.m ([NSArray -indexOfObjectIdenticalTo:
|
|
-indexOfObject: -containsObject: -removeObjectIdenticalTo:
|
|
-removeObject:]): Use NSNotFound for non-existant objects.
|
|
|
|
* src/NSBundle.m ([NSBundle -initWithPath:]): Check if bundle
|
|
for path already exists.
|
|
|
|
* src/NSGArray.m ([NSGArray -indexOfObject:]): Force message to
|
|
go to super rather than behavior class.
|
|
|
|
* src/NSGCString.m ([NSGCString -emptyCopy]): start with
|
|
allocCopy.
|
|
|
|
* NSGData.m ([NSGData -copyWithZone: -mutableCopyWithZone:],
|
|
[NSGMutableData -copyWithZone:]): New methods.
|
|
|
|
Tue Sep 12 18:33:25 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* Makefile.in (RCS_FILES): Add file aclocal.m4.
|
|
|
|
Tue Sep 12 15:30:27 1995 Adam Fedor <fedor@mode.colorado.edu>
|
|
|
|
This should make dynamic loading work under Solaris.
|
|
|
|
* aclocal.m4: New file.
|
|
|
|
* configure.in: Remove dynamic linking checks. Use
|
|
OBJC_SYS_DYNAMIC_FLAGS macro from aclocal.m4.
|
|
|
|
* src/NSBundle.m: Make sure index is defined.
|
|
|
|
* src/NSProcessInfo.m: Check ifdef SYS_AUTOLOAD as well as __ELF__
|
|
* src/objc-load.c: Likewise.
|
|
* src/objects/LibobjectsMain.h: Likewise.
|
|
|
|
Sun Sep 10 18:17:56 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* src/TextCoder.m ([TextCoder
|
|
-decodeValueOfSimpleType:at:withName:]): Assert the data pointer.
|
|
|
|
* src/Coder.m ([Coder -doInitOnStream:isDecoding:]): Temporarily
|
|
change in_progress_table from a Set to an Array. I need to fix
|
|
some problems with Set.
|
|
([Coder -startEncodingInterconnectedObjects]): Deal with
|
|
interconnected_stack_height.
|
|
([Coder -finishEncodingInterconnectedObjects]): Likewise.
|
|
([Coder -startDecodingInterconnectedObjects]): Likewise.
|
|
([Coder -finishDecodingInterconnectedObjects]): Likewise.
|
|
([Coder -encodeRootObject:withName:]): Fix bug, whereby we weren't
|
|
giving what decodeObjectAt:withName: expected.
|
|
([Coder -encodeArrayOfType:at:count:withName:]): Don't encode the
|
|
array count.
|
|
([Coder -decodeArrayOfType:at:count:withName:]): Don't expect the
|
|
array count. Change type on 3rd argument.
|
|
* src/objects/Coder.h (interconnected_stack_height): New ivar for
|
|
Coder.
|
|
|
|
* src/objects/Coding.h ([Coding
|
|
-decodeArrayOfType:at:count:withName:]): Change the 3rd argument
|
|
type; pass the count directly, not as a pointer. The encoding and
|
|
decoding of array's no longer records the array count; if
|
|
necessary, you must do that yourself ahead of time.
|
|
|
|
Fri Sep 8 18:30:54 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* src/objects/Coder.h (in_progress_table): New ivar in Coder.
|
|
* src/Coder.m ([Coder -doInitOnStream:isDecoding:]): Init
|
|
in_progress_table.
|
|
([Coder -dealloc]): Release in_progress_table.
|
|
([Coder -_encodeObject:withName:isBycopy:isForwardReference:]):
|
|
If the object is in progress, treat it like a forward reference.
|
|
Add the object to the in_progess_table before really encoding the
|
|
object; remove it when done. (NOTE, this isn't an excuse not to
|
|
set up "encoding interconnected objects" mode; you still must do
|
|
this first.)
|
|
|
|
Wed Sep 6 09:30:15 1995 Andrew McCallum <mccallum@vein.cs.rochester.edu>
|
|
|
|
* Makefile.in (snapshot): Remove the snapshot name so we don't get
|
|
nested snapshots on failure.
|
|
|
|
Wed Aug 30 09:33:07 1995 Adam Fedor <fedor@mode.colorado.edu>
|
|
|
|
* src/NSCTemplateValue.m ([NSCTemplateValue -encodeWithCoder:]):
|
|
Code type as a char_ptr. ([NSCTemplateValue -initWithCoder:]):
|
|
Leave decoding to NSValueDecoder class.
|
|
* src/NSConcreteNumber.m: Likewise.
|
|
* src/NSConcreteValue.m: Likewise.
|
|
|
|
* src/NSNumber.m: Clarify error message for abstract methods
|
|
with "subclassResponsibility".
|
|
|
|
* src/NSValue.m: New NSValueDecoder class. Clarify error
|
|
message for abstract methods.
|
|
|
|
* /src/TextCoder.m ([TextCoder encodeValueOfSimpleType:at:withName:]):
|
|
Write reals using "%g".
|
|
([TextCoder decodeValueOfSimpleType:at:withName:]): Decode
|
|
double as "%lf".
|
|
|
|
Mon Aug 28 16:27:03 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* src/Collection.m ([Collection -empty]): Check if already empty.
|
|
This avoids a previous malloc(0).
|
|
|
|
Sat Aug 26 13:56:40 CDT 1995 Jeremy Bettis <jeremy@hksys.com>
|
|
|
|
* src/NSProcessInfo.m: Added Linux/ELF support. Linux calls the
|
|
__libc_subinit functions before the global constructors, therefore
|
|
the subinit functions must be just vanilla C.
|
|
|
|
Sat Aug 26 12:36:37 1995 Andrew McCallum <mccallum@vein.cs.rochester.edu>
|
|
|
|
* Makefile.in (snapshot): Put README.first in the snapshot
|
|
distribution.
|
|
* README.first: New file.
|
|
|
|
Thu Aug 24 12:32:54 1995 Andrew McCallum <mccallum@vein.cs.rochester.edu>
|
|
|
|
* src/Makefile.in (GNUSTEP_MFILES): Added NSObjCRuntime.m.
|
|
* src/NSObjCRuntime.m: New file.
|
|
(NSStringFromSelector, NSSelectorFromString, NSClassFromString,
|
|
NSStringFromClass): New functions.
|
|
|
|
* src/NSObject.m: Include <NSString.h>
|
|
([NSObject -description]): Implemented.
|
|
([NSObject +description]): Implemented.
|
|
|
|
* src/Makefile.in (FILE_AUTHORS): Added Peter Burka.
|
|
|
|
* volunteers: No longer a soft link to the http file; now it is a
|
|
text file giving the http address and explaining task coordination.
|
|
|
|
* Makefile.in (snap): New target.
|
|
(snapshot): New target.
|
|
(dist): Use new target snap.
|
|
|
|
Wed Aug 23 10:39:21 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* src/NSTimeZone.m ([NSTimeZone -encodeWithCoder:]): Avoid warning
|
|
by removing type from argument.
|
|
([NSTimeZone -initWithCoder:]): Likewise.
|
|
|
|
* Makefile.in (DIST_FILES): Add file README.foundation.
|
|
|
|
* src/String.m: Fix bug by which [NSString mutableCopy] returned a
|
|
String, not NSString.
|
|
([String -copyWithZone:]): Renamed from -copy.
|
|
([String -mutableCopyWithZone:]): Renamed from -mutableCopy.
|
|
|
|
* src/behavior.c: Added comment about superclass methods being
|
|
overriden.
|
|
|
|
* Makeconf (install, uninstall): New targets.
|
|
|
|
* src/NSAutoreleasePool.m ([NSAutoreleasePool -dealloc]): Removed
|
|
question comment.
|
|
|
|
Thu Aug 17 17:41:05 1995 Adam Fedor <fedor@mode.colorado.edu>
|
|
|
|
* src/NSData.m ([NSData +allocWithZone:]): New method.
|
|
([NSMutableData +allocWithZone:]): Likewise.
|
|
([NSData +data, +dataWithBytes:length:,
|
|
+dataWithBytesNoCopy:length:, +dataWithContentsOfFile:,
|
|
+dataWithContentsOfMappedFile:]): Allocate using designated
|
|
allocator. ([NSMutableData +dataWithCapacity:,
|
|
+dataWithLength:]): Likewise.
|
|
|
|
Wed Aug 17 19:54:17 1995 Peter Burka <peter@bert.psyc.upei.ca>
|
|
|
|
* src/NSZone.c: malloc.h isn't included on NeXTStep
|
|
* src/Foundation/NSZone.h: use NeXT's zones only if we're using
|
|
their runtime, too
|
|
|
|
* src/Foundation/NSDate.h (NSTimeZone, NSTimeZoneDetail):
|
|
interfaces declared
|
|
|
|
* src/Makefile.in (GNUSTEP_MFILES): Added NSTimeZone.m.
|
|
* src/NSTimeZone.m: New file.
|
|
* src/NSTimeZone.m: (NSTimeZone, NSConcreteTimeZone,
|
|
NSTimeZoneDetail, NSConcreteTimeZoneDetail): implementations
|
|
defined
|
|
* src/Foundation/NSDate.h: Added declaration of NSTimeZone.
|
|
|
|
Wed Aug 16 11:58:24 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* Version (OBJECTS_SUBMINOR_VERSION): Version 0.1.14.
|
|
|
|
* checks/Makefile.in (nsprocessinfo): New target.
|
|
|
|
* src/objects/LibobjectsMain.h: Comment out args to LibobjectsMain
|
|
so we don't get errors from people's "int main ()".
|
|
|
|
* admin/Makefile.in (ADMIN_FILES): Added tasks.
|
|
(tasks): New target.
|
|
* doc/Makefile.in (copy-dist): Remove linking of 'tasks' to admin.
|
|
|
|
* src/NSProcessInfo.m (_GNU_MISSING_MAIN_FUNCTION_CALL): Added
|
|
Tuparev's email address.
|
|
|
|
* admin/Makefile.in (copy-dist): Use cp instead of ln. (Some of
|
|
these files are symbolic links themselves, and tar gets confused).
|
|
|
|
* src/Makefile.in (FILE_AUTHORS): Added "Georg Tuparev".
|
|
|
|
* Makefile.in (DIST_FILES): Remove GNUStep-volunteers. It's now
|
|
in admin/volunteers.
|
|
|
|
* checks/nsprocessinfo.m: Fix typo in includes.
|
|
(main): Fix warnings in while test.
|
|
Add newlines to end of printf's.
|
|
|
|
* src/NSProcessInfo.m: Fix indentation.
|
|
|
|
* src/NSProcessInfo.m: Use ELF _libc_subinit for initialization
|
|
instead of LibobjectsMain.
|
|
* src/objects/LibobjectsMain.h: Only redefine main if we don't
|
|
have __ELF__.
|
|
|
|
* src/objects/stdobjects.h.in: Include <objects/LibobjectsMain.h>
|
|
|
|
* src/Makefile.in (GNUSTEP_MFILES): Added NSProcessInfo.m.
|
|
(GNUSTEP_HEADERS): Added Foundation/NSProcessInfo.h and
|
|
LibobjectsMain.h.
|
|
* checks/Makefile.in (SRCS): Added nsprocessinfo.m.
|
|
|
|
* src/NSProcessInfo.m, src/Foundation/NSProcessInfo.h,
|
|
src/objects/LibobjectsMain.h, checks/nsprocessinfo.m: New files
|
|
from Georg Tuparev <Tuparev@EMBL-Heidelberg.de>
|
|
|
|
Wed Aug 9 11:27:42 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* src/NSString.m: Replaced "notImplemented" with
|
|
"subclassResponsibilty" where appropriate.
|
|
|
|
* admin/Makefile.in (RCS_FILES): Renamed Makefile to Makefile.in.
|
|
(Makefile, ../config.status): New targets.
|
|
|
|
* admin/Makefile.in: Renamed from Makefile.
|
|
(srcdir, VPATH): new vars.
|
|
* configure.in (AC_OUTPUT): Added admin/Makefile.
|
|
|
|
* src/NSString.m: Rename NSCString to NSGCString.
|
|
([NXConstantString -release]): Fix return type and return.
|
|
([NSString +_setConcreteClass:]): New method.
|
|
([NSString +_setConcreteCClass:]): New method.
|
|
([NSString +_setMutableConcreteClass:]): New method.
|
|
([NSString +_setMutableConcreteCClass:]): New method.
|
|
([NSString +_concreteClass]): New method.
|
|
([NSString +_concreteCClass]): New method.
|
|
([NSString +_mutableConcreteClass]): New method.
|
|
([NSString +_mutableConcreteCClass]): New method.
|
|
([NSString +initialize]): Initialize new statics that hold concrete
|
|
classes.
|
|
([NSString +stringWithCString:byteString]): Use concrete class method.
|
|
([NSString +stringWithCString:length:]): Likewise.
|
|
([NSString +stringWithFormat:]): Likewise.
|
|
([NSString +stringWithFormat:arguments:]): Likewise.
|
|
([NSString -mutableCopyWithZone:]): Likewise.
|
|
([NSMutableString +stringWithCapacity:]): Likewise.
|
|
([NSMutableString +stringWithCString:length:]): Likewise.
|
|
|
|
* src/Makefile.in: Rename NSCString to NSGCString.
|
|
* src/Foundation/NSString.h: Likewise.
|
|
* src/Foundation/NSGCString.h: Likewise.
|
|
* src/NSGCString.m, src/Foundation/NSGCString.h: Likewise.
|
|
* src/NSGCString.m: Likewise.
|
|
|
|
* admin/Makefile: New file.
|
|
* Makefile.in (SUBDIRS): Added admin.
|
|
|
|
* doc/Makefile.in (TOP_DOC_FILES): Remove TODO.
|
|
(DIST_FILES): Add TODO.
|
|
(copy-dist): Link TODO to ../snap/admin/tasks.
|
|
|
|
Tue Aug 8 11:32:13 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* src/NSDate.m ([NSDate -copyWithZone:]): New method.
|
|
([NSDate -descriptionWithCalendarFormat:timeZone:]): Uncommented.
|
|
([NSDate -dateWithCalendarFormat:timeZone:]): Uncommented.
|
|
|
|
* src/NSAutoreleasePool.m ([NSAutoreleasePool -dealloc]): Use
|
|
object_get_class() instead of ->isa.
|
|
|
|
* src/Makefile.in (GNUSTEP_HEADERS): Added Foundation/NSDate.h.
|
|
(GNUSTEP_MFILES): Added NSDate.m.
|
|
|
|
Fri Aug 4 13:39:05 1995 Adam Fedor <fedor@mode.colorado.edu>
|
|
|
|
* src/NSAutoreleasePool.m ([NSAutoreleasePool -addObject:]):
|
|
Remove double_release checking. Increment released_count after
|
|
setting released array.
|
|
([NSAutoreleasePool -dealloc]): Catch release errors.
|
|
([NSAutoreleasePool -enableDoubleReleaseCheck:]): Removed method.
|
|
|
|
* src/NSObject.m ([NSObject -autorelease], [NSObject -release]):
|
|
Add double_release checking.
|
|
([NSObject +enableDoubleReleaseCheck:]): New method.
|
|
|
|
* src/Foundation/NSAutoreleasePool.h: Remove
|
|
+enableDoubleReleaseCheck:, add +autoreleaseCountForObject:.
|
|
|
|
* src/Foundation/NSObject.h: Add +enableDoubleReleaseCheck:.
|
|
|
|
* src/Foundation/objc-load.h: Include objc-api file.
|
|
|
|
Fri Aug 4 11:08:05 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* src/MemoryStream.m (debug_memory_stream): Turn debugging off by
|
|
default.
|
|
|
|
* src/Makefile.in (install): Remove README links before relinking.
|
|
|
|
* src/mframe.m (make_method_call) [__mips__]: Add 4 to offset for
|
|
float retframe. Yipes, this may be needed for other architectures
|
|
too.
|
|
|
|
* src/Makefile.in (GNUSTEP_HEADERS): Removed Foundation/NSUser.h.
|
|
(GNUSTEP_CFILES): Removed NSUser.c.
|
|
|
|
Thu Aug 3 15:48:21 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* src/mframe.m (make_method_call): Added comment about looking
|
|
into a problem with returning floats. I need to get back to this
|
|
later.
|
|
|
|
Mon Jul 31 10:44:22 1995 Adam Fedor <fedor@mode.colorado.edu>
|
|
|
|
* configure.in: Check for HP version of dld library. Add new
|
|
DYNAMIC_LDFLAGS if hpux version found.
|
|
|
|
* checks/Makefile.in (DYNAMIC_LDFLAGS): New macro. (nsbundle): Use
|
|
macro in linking.
|
|
|
|
* src/hpux-load.h (__objc_dynamic_link): Specify linking flags to
|
|
shl_load. (__objc_dynamic_find_symbol): Check for return error
|
|
from shl_findsym.
|
|
|
|
Fri Jul 28 12:38:22 1995 Adam Fedor <fedor@mode.colorado.edu>
|
|
|
|
* configure.in: Added DYNAMIC_CFLAGS and extra test for hpux.
|
|
|
|
* checks/Makefile.in (DYNAMIC_BUNDLER_LINKER, DYNAMIC_CFLAGS,
|
|
BUNDLE_NAME, DYNAMIC_MFILES, DYNAMIC_HFILES, DYNAMIC_OFILES,
|
|
nsbundle, bundles): New macros and targets.
|
|
|
|
* checks/LoadMe.[hm], checks/SecondClass.[hm],
|
|
checks/MyCategory.[hm], checks/nsbundle.m: New files.
|
|
|
|
* src/NSBundle.m (bundle_object_name, bundle_resource_path,
|
|
[NSBundle +mainBundle], [NSBundle +setSystemLanguages:]): Remove
|
|
dependency on NSString for calculating paths.
|
|
|
|
Wed Aug 2 12:04:51 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* NSBundle.README: Remove reference to gcc-dynamic.patch.
|
|
|
|
Fri Jul 14 17:11:20 1995 Adam Fedor <fedor@mode.colorado.edu>
|
|
|
|
* src/MallocAddress.m ([MallocAddress -dealloc]): Check for object in
|
|
dictionary before removing.
|
|
|
|
* src/NSArchiver.m: Include NSData header.
|
|
|
|
* src/NSAutoreleasePool.m ([NSAutoreleasePool
|
|
+autoreleaseCountForObject:]): Initialize count to 0.
|
|
|
|
* src/NSGData.m ([NSGMutableData -setLength:]): Reset eofPosition
|
|
to size.
|
|
|
|
Wed Aug 2 11:21:55 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* src/NSString.m ([NXConstantString -dealloc]): New method.
|
|
([NXConstantString -cString]): New method.
|
|
([NXConstantString -retain]): New method.
|
|
([NXConstantString -release]): New method.
|
|
([NXConstantString -autorelease]): New method.
|
|
([NXConstantString -copyWithZone:]): New method.
|
|
(From Jeremy Bettis).
|
|
|
|
* src/NSDate.m ([NSDate -isEqual:]): Fix typo. (From Jeremy
|
|
Bettis).
|
|
|
|
Wed Jul 12 10:22:48 1995 Adam Fedor <fedor@mode.colorado.edu>
|
|
|
|
* NSString.m (componentsSeparatedByString:, substringFromRange:,
|
|
rangeOfCharacterFromSet:, rangeOfCharacterFromSet:options:,
|
|
rangeOfCharacterFromSet:options:range:, rangeOfString:,
|
|
rangeOfString:options:, caseInsensitiveCompare:, hasPrefix:,
|
|
hasSuffix:, lastPathComponent, pathExtension,
|
|
stringByAppendingPathComponent:, stringByAppendingPathExtension:,
|
|
stringByDeletingLastPathComponent, stringByDeletingPathExtension):
|
|
Implemented methods.
|
|
|
|
* Foundation/NSException.h (_NSAssertArgs, _NSCAssertArgs): Made
|
|
',' a separate token to work with ## macro.
|
|
|
|
* Foundation/NSRange.h: Added NSMakeRange declaration.
|
|
|
|
Fri Jun 30 16:02:12 1995 Adam Fedor <fedor@colorado.edu>
|
|
|
|
* NSData.m ([NSData +allocWithZone:]): New method.
|
|
(_initWithBytesNoCopy:length): New (designated initializer) method.
|
|
(initWithBytesNoCopy:length:): Make subclass responsibility.
|
|
(init): Call new designated initializer. ([NSMutableData
|
|
+allocWithZone:]) New Method. (dataWithCapacity:, dataWithLength:):
|
|
Allocate using designated allocator. (initWithBytesNoCopy:length:):
|
|
Make subclass responsibility.
|
|
|
|
* NSGData.m (_initWithBytesNoCopy:length:): Make designated
|
|
initializer. (initWithBytesNoCopy:length:) Call designated initializer.
|
|
|
|
Wed Aug 2 10:35:31 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* src/Makefile.in (FILE_AUTHORS): Added "Martin Michlmayr".
|
|
|
|
* NSUser.c, Foundation/NSUser.h: New files from Martin Michlmayr
|
|
<tbm@ihq.com>.
|
|
* src/Makefile.in (GNUSTEP_HEADERS): Added Foundation/NSUser.h.
|
|
(GNUSTEP_MFILES): Added NSUser.c.
|
|
|
|
Thu Jul 6 10:11:11 1995 Adam Fedor <fedor@colorado.edu>
|
|
|
|
* src/MemoryStream.m ([MemoryStream -writeBytes:length]): Realloc
|
|
buffer to at least minimum required length.
|
|
|
|
* src/NSCString.m ([NSCString -cString]): Malloc extra byte for
|
|
'\0' terminator.
|
|
|
|
* src/NSGArray.m ([NSGArray -initWithObjects:count:]): Set
|
|
_capacity to minimum of 1.
|
|
([NSGMutableArray -initWithCapacity:]): Likewise.
|
|
|
|
Wed Jul 5 17:19:21 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
Released version 0.1.13.
|
|
|
|
* src/NSString.m ([NSString -getCharacters:range:]): Decrement,
|
|
not increment in loop. (Reported by Harmut
|
|
<benz@sophie-scholl.dbag.ulm.DaimlerBenz.COM>).
|
|
|
|
Mon Jul 3 18:10:50 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* src/NSMethodSignature.m ([NSMethodSignature -dealloc]): Free
|
|
returnTypes.
|
|
|
|
* src/NSUnarchiver.m: Allow easy user-modification of concrete class.
|
|
([NSUnarchiver +_setConcreteClass:]): New method.
|
|
([NSUnarchiver +_concreteClass]): New method.
|
|
([NSUnarchiver +initialize]): New method.
|
|
|
|
* src/NSArchiver.m: Allow easy user-modification of concrete
|
|
class. Removed references to NSGData.
|
|
([NSArchiver +_setConcreteClass:]): New method.
|
|
([NSArchiver +_concreteClass]): New method.
|
|
([NSArchiver +initialize]): New method.
|
|
|
|
* src/NSData.m: Allow easy user-modification of concrete class.
|
|
([NSData +_setConcreteClass:]): New method.
|
|
([NSData +_setMutableConcreteClass:]): New method.
|
|
([NSData +_concreteClass]): New method.
|
|
([NSData +_mutableConcreteClass]): New method.
|
|
([NSData +initialize]): New method.
|
|
|
|
Sat Jul 1 14:32:52 1995 Andrew McCallum <mccallum@artery.cs.rochester.edu>
|
|
|
|
* src/objects/README: Capitalize Foundation.
|
|
|
|
* src/NSArray.m: Moved NSArrayEnumerator interface and
|
|
implementation from separate files to here.
|
|
* src/Makefile.in (GNUSTEP_MFILES): Remove NSArrayEnumerator.m.
|
|
(GNUSTEP_HEADERS): Remove Foundation/NSArrayEnumerator.h.
|
|
|
|
* src/Foundation/NSZone.h: Update copyright.
|
|
* src/Foundation/NSValue.h: Likewise.
|
|
* src/Foundation/NSGeometry.h: Likewise.
|
|
* src/Foundation/NSException.h: Likewise.
|
|
* src/Foundation/NSUnarchiver.h: Likewise.
|
|
* src/Foundation/NSTimer.h: Likewise.
|
|
* src/Foundation/NSString.h: Likewise.
|
|
* src/Foundation/NSSerialization.h: Likewise.
|
|
* src/Foundation/NSRange.h: Likewise.
|
|
* src/Foundation/NSObject.h: Likewise.
|
|
* src/Foundation/NSObjCRuntime.h: Likewise.
|
|
* src/Foundation/NSMethodSignature.h: Likewise.
|
|
* src/Foundation/NSInvocation.h: Likewise.
|
|
* src/Foundation/NSDictionary.h: Likewise.
|
|
* src/Foundation/NSData.h: Likewise.
|
|
* src/Foundation/NSCoder.h: Likewise.
|
|
* src/Foundation/NSCharacterSet.h: Likewise.
|
|
* src/Foundation/NSBundle.h: Likewise.
|
|
* src/Foundation/NSBitmapCharSet.h: Likewise.
|
|
* src/Foundation/NSAutoreleasePool.h: Likewise.
|
|
* src/Foundation/NSArray.h: Likewise.
|
|
* src/Foundation/NSArchiver.h: Likewise.
|
|
* src/Foundation/NSDate.h: Likewise.
|
|
* src/NSDate.m: Likewise.
|
|
|
|
Fri Jun 30 16:42:10 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* src/Foundation/NSRange.h (NSLocationInRange): Added
|
|
__attribute__ ((unused)).
|
|
(NSMaxRange): Likewise.
|
|
|
|
Fri Jun 30 13:19:24 1995 Adam Fedor <fedor@colorado.edu>
|
|
|
|
* Makefile.in (install): Fixed directory typo.
|
|
|
|
* NSCharacterSets/Makefile.in (INSTALL, INSTALL_PROGRAM,
|
|
INSTALL_DATA): New variables.
|
|
(install): Depend on installdirs.
|
|
|
|
Fri Jun 30 09:45:14 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* (install-sh, mkinstalldirs): Change file permissions to group
|
|
and all can read and execute. (Reported by Paul Kunz.)
|
|
|
|
* Version (OBJECTS_SUBMINOR_VERSION): Version 0.1.13.
|
|
|
|
* doc/news.texi (Noteworthy changes since version 0.1.12): New
|
|
section.
|
|
|
|
The "concrete class" configuration idea was proposed by Albin
|
|
Jones <ajones@oxy.edu>, 10 Jun 1995.
|
|
|
|
* src/NSDictionary.m: Allow easy user-modification of concrete class.
|
|
([NSDictionary +_setConcreteClass:]): New method.
|
|
([NSDictionary +_setMutableConcreteClass:]): New method.
|
|
([NSDictionary +_concreteClass]): New method.
|
|
([NSDictionary +_mutableConcreteClass]): New method.
|
|
([NSDictionary +initialize]): New method.
|
|
(NSDictionary_concrete_class, NSMutableDictionary_concrete_class): New
|
|
static variables.
|
|
([NSDictionary -copyWithZone:]): Make a deep copy to conform to spec;
|
|
it was a shallow copy.
|
|
|
|
* src/NSArray.m: Allow easy user-modification of concrete class.
|
|
([NSArray +_setConcreteClass:]): New method.
|
|
([NSArray +_setMutableConcreteClass:]): New method.
|
|
([NSArray +_concreteClass]): New method.
|
|
([NSArray +_mutableConcreteClass]): New method.
|
|
([NSArray +initialize]): New method.
|
|
(NSArray_concrete_class): New static variable.
|
|
(NSMutableArray_concrete_class): New static variable.
|
|
([NSArray +arrayWithObject:]): Don't use addObject:.
|
|
([NSArray -copyWithZone:]): Make a deep copy to conform to spec; it
|
|
was a shallow copy.
|
|
|
|
Wed Jun 28 18:31:36 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* Makefile.in (rcs-list-locked): Fix typo.
|
|
|
|
Released Version 0.1.12.
|
|
|
|
* Makefile.in (DIST_FILES): Remove gcc patch files.
|
|
* doc/install.texi: Remove instructions for gcc patches.
|
|
|
|
* examples/Makefile.in (ALL_CPPFLAGS): Look in ../src for includes.
|
|
|
|
* examples/second-server.m: Use release instead of free.
|
|
* examples/textcoding.m: Likewise.
|
|
* examples/stdio-stream.m: Likewise.
|
|
|
|
* src/objects/Dictionary.h ([Dictionary
|
|
initWithType:keyType:capacity]): Declare it.
|
|
([Dictionary initWithType:capacity]): Likewise.
|
|
|
|
* Makefile.in (RCS_FILES): Added Makeconf.
|
|
|
|
* checks/Makefile.in (DIST_FILES): Added RCS_FILES.
|
|
|
|
* src/Time.m: Include Sequent support. (Thanks to Matt Nelson
|
|
<nelsonm@ctron.com>).
|
|
* src/objects/Time.h: Likewise.
|
|
|
|
* checks/test09.m: Add _SEQUENT_ to lrand48 conditional.
|
|
* checks/test04.m: Likewise.
|
|
* checks/test01.m: Likewise.
|
|
|
|
* checks/client.m (main): Use -invalidate, not -release.
|
|
* examples/first-client.m (main): Likewise.
|
|
* examples/second-client.m (main): Likewise.
|
|
|
|
* src/Connection.m ([Connection
|
|
+newForInPort:outPort:ancestorConnection:]): Add comment. I need
|
|
to fix retain/release for Connection.
|
|
|
|
* checks/Makefile.in: Put src in all dependencies on libobjects.a.
|
|
(OBJECTS_NEXT_INCLUDES): Look in src directory.
|
|
(LIBS): Likewise.
|
|
(ALL_CPPFLAGS): Likewise.
|
|
|
|
* checks/test08.m: Use libobjects' Coder instead of GNU
|
|
TypedStream. Comment out BinaryTree testing.
|
|
|
|
* src/BinaryTree.m ([BinaryTree -_initCollectionWithCoder:]):
|
|
Disabled with -notImplemented. I need to fix decoding of this
|
|
class.
|
|
|
|
* src/LinkedList.m: Added comment. I need to fix decoding of this
|
|
class.
|
|
|
|
* src/Collection.m ([Collection -_safeWithElementsCallNoRetain:]):
|
|
Use malloc not alloca.
|
|
|
|
* src/Dictionary.m ([Dictionary -putElement:atKey:]): Release
|
|
previous element. (Thanks to Paul Burchard <burchard@math.utah.edu>).
|
|
|
|
* src/NSObject.m (NSDecrementExtraRefCountWasZero): Return correct
|
|
value. (Thanks to Paul Burchard <burchard@math.utah.edu>).
|
|
|
|
* src/Makefile.in (CFLAGS): Remove -Wall.
|
|
|
|
* doc/announce.texi: Use machines.texi.
|
|
* doc/advertisement.texi: Likewise.
|
|
|
|
* doc/machines.texi: New file.
|
|
* doc/Makefile.in (TEXI_FILES): Added machines.texi.
|
|
(info): Removed libobjects.texi and objective-c.texi.
|
|
(objective-c): Print apology about makeinfo.
|
|
|
|
Sun Jun 25 18:08:26 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* src/Makefile.in (objects/stdobjects.h): Depend on ../Version,
|
|
not Makefile.in.
|
|
(AUTHORS): Fix echo'ing of newlines.
|
|
|
|
* Version (OBJECTS_SUBMINOR_VERSION): Version 0.1.12.
|
|
(OBJECTS_GCC_VERSION): Upped from 2.6.3 to 2.7.0.
|
|
|
|
Tue Jun 20 12:06:36 1995 Andrew McCallum <mccallum@vein.cs.rochester.edu>
|
|
|
|
* Makefile.in (rcs-list-locked): Print subdir names.
|
|
|
|
* checks/Makefile.in: Include $(srcdir)/../Makeconf.
|
|
(RCS_FILES): New variable.
|
|
(install, uninstall): New targets.
|
|
(copy-dist): Converted to new scheme.
|
|
* examples/Makefile.in: Likewise.
|
|
|
|
* doc/Makefile.in: Change the way top-level dir info files are
|
|
handled.
|
|
(TOP_FILES): Variable removed.
|
|
(.SUFFIXES): Removed.
|
|
(prefix, infodir): New variables.
|
|
(copy-dist): Converted to new scheme.
|
|
|
|
* doc/news.texi (Noteworthy changes since version 0.1.10): New
|
|
section.
|
|
|
|
* src/NSGArchiver.m ([NSGArchiver -initForWritingWithMutableData:]):
|
|
New method.
|
|
|
|
* src/Makefile.in (prefix, exec_prefix, libdir, includedir): New
|
|
variables.
|
|
|
|
* Makefile.in: Convert to new scheme with subdirs. Many variable
|
|
and targets moved to subdir Makefiles.
|
|
(maintainer-clean, %-subdirs): New targets.
|
|
|
|
* configure.in (AC_OUTPUT): Added NSCharacterSets/Makefile.
|
|
|
|
* NSCharacterSets/Makefile.in (prefix, datadir, charsetdir,
|
|
INSTALL_FILES): New variables.
|
|
(installdirs, install, uninstall): New targets.
|
|
|
|
Fri May 26 11:17:54 1995 Adam Fedor <fedor@mode.colorado.edu>
|
|
|
|
* src/objc-load.c (objc_load_module): Don't execute ctor_list on
|
|
__ELF__ systems.
|
|
|
|
Fri May 19 11:22:42 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* doc/Makefile.in (copy-dist): Renamed from "dist".
|
|
* examples/Makefile.in (copy-dist): Renamed from "dist".
|
|
* checks/Makefile.in (copy-dist): Renamed from "dist".
|
|
|
|
* configure.in (AC_OUTPUT): Prepend "src/" to "objects/config.h".
|
|
|
|
* configure.in (AC_OUTPUT): Added src/Makefile. Changed
|
|
INSTALL_HEADERS to HEADERS_INSTALL. Changed INSTALL_OBJS to
|
|
OBJS_INSTALL.
|
|
|
|
Thu May 11 16:09:36 1995 Andrew McCallum <mccallum@moose.cs.rochester.edu>
|
|
|
|
* Makefile.in (datadir): According to new standards, use "share"
|
|
instead of "lib".
|
|
|
|
Mon May 8 16:39:42 1995 Andrew McCallum <mccallum@vein.cs.rochester.edu>
|
|
|
|
* Makefile.in (dist): Rename "share" to "NSCharacterSets".
|
|
(datadir): New variable.
|
|
(charsetdir): New variable.
|
|
(install): Install files from NSCharacterSets directory.
|
|
(installdirs): Make $(datadir) and $(charsetdir).
|
|
* NSCharacterSets: Directory renamed from "share".
|
|
|
|
Fri May 5 10:46:37 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* doc/Makefile.in (TOP_FILES): New variable.
|
|
(dist): Copy TOP_FILES.
|
|
(version.texi): Remove $(MAKEFLAGS).
|
|
|
|
* Makefile.in (OBJECTS_SUBMINOR_VERSION): Version 0.1.11.
|
|
(dist): mkdir src and config. Copy share and contents.
|
|
|
|
* configure.in: Use config/ directory prefix where needed.
|
|
|
|
* config: New subdirectory.
|
|
* config.*: Files moved there.
|
|
|
|
* src/NSException.m (encodeWithCoder:, initWithCoder:): Remove
|
|
class names from arg type to avoid bogus warnings about protocol
|
|
conformance.
|
|
|
|
* Makefile.in: Use doc/ and src/ directories. Many changes.
|
|
* src: New subdirectory. Move source files there.
|
|
|
|
* configure.in: Look for src/Collection.m, not Collection.
|
|
|
|
* configure.in: Create doc/Makefile.
|
|
* doc: New subdirectory.
|
|
* doc/Makefile.in: New file.
|
|
|
|
* checks/nsdictionary.m: New file.
|
|
* checks/Makefile.in (SRCS): Added nsdictionary.m.
|
|
|
|
* Foundation/NSDictionary.h: Uncomment -keyEnumerator and
|
|
-objectEnumerator.
|
|
* NSDictionary.m [NSDictionary] (+allocWithZone, +dictionary,
|
|
+dictionaryWithObjects:forKeys:count:, -initWithObjects:forKeys:,
|
|
+dictionaryWithObjects:forKeys:, -initWithObjects,forKeys:count:,
|
|
-init, -initWithDictionary, -count, -objectForKey, -keyEnumerator,
|
|
-isEqual:, -isEqualToDictionary, -descriptionWithIndent, -allKeys,
|
|
-allValues, allKeysForObject:, -objectEnumerator, -copyWithZone,
|
|
-mutableCopyWithZone): Implemented.
|
|
[NSMutableDictionary] (+allocWithZone:, +dictionaryWithCapacity:,
|
|
-initWithCapacity:, -initWithObjects:forKeys:count:,
|
|
-setObject:forKey:, -removeObjectForKey:, removeAllObjects,
|
|
-removeObjectsForKeys:, addEntriesFromDictionary:): Implemented.
|
|
(NSGDictionaryKeyEnumerator, NSGDictionaryObjectEnumerator): New
|
|
classes.
|
|
* NSGDictionary.m, Foundation/NSGDictionary.h,
|
|
objects/NSDictionary.h: New files.
|
|
* Makefile.in (GNU_HEADERS): Added NSDictionary.h.
|
|
(GNUSTEP_MFILES): Added NSGDictionary.m.
|
|
(GNUSTEP_HEADERS): Added NSGDictionary.h.
|
|
|
|
* objects/NSArray.h: Fix #ifndef macro name; NSArray, not NSString!
|
|
|
|
* NSString.m (-compare:options:range:): Simple implementation; not
|
|
complete.
|
|
|
|
* NSArray.m (NSArray +allocWithZone:): Implemented.
|
|
(NSMutableArray +allocWithZone:): Implemented.
|
|
|
|
* NSGArray.m (-initWithObjects:count:): Retain objects.
|
|
|
|
Thu May 4 11:51:04 1995 Adam Fedor <fedor@colorado.edu>
|
|
|
|
* NSBitmapCharSet.m, Foundation/NSBitmapCharSet.h: Replaced NSData
|
|
instance variable with char array and rewrote methods to reflect
|
|
this.
|
|
|
|
* NSCharacterSet.m (characterSetWithCharactersInString:): Create
|
|
mutable data object for bitmap. (characterSetWithRange:): Added
|
|
error checking. (deepen): removed. (copyWithZone:,
|
|
mutableCopyWithZone:): More efficient implementation.
|
|
(characterSetWithBitmapRepresentation:): Override implementation
|
|
from super.
|
|
|
|
Wed May 3 15:05:17 1995 Adam Fedor <fedor@colorado.edu>
|
|
|
|
* Makefile.in (GNUSTEP_MFILES, GNUSTEP_HEADERS): Added
|
|
NSBitmapCharSet.
|
|
|
|
* NSCTemplateValue.m, NSConcreteNumber: Added #line macro so gdb
|
|
knows which file source came from.
|
|
|
|
* NSBitmapCharSet.m, Foundation/NSBitmapCharSet.h: New files.
|
|
|
|
* NSCharacterSet.m (all methods): Implemented.
|
|
|
|
* NSDictionary.m, Foundation/NSDictionary.h (keyEnumerator,
|
|
objectEnumerator): Uncommented but left unimplemeneted.
|
|
|
|
* NSNumber.m (valueClassWithObjCType:): Added break's to avoid
|
|
falling through case statements.
|
|
|
|
* Foundation/NSException.h (_NSAssertArgs, _NSCAssertArgs): Made
|
|
',' a separate token to work with ## macro.
|
|
|
|
Wed Apr 26 10:15:51 1995 Adam Fedor <fedor@colorado.edu>
|
|
|
|
* Makefile.in (GNUSTEP_MFILES, GNUSTEP_HEADERS): Added
|
|
NSCharacterSet.
|
|
|
|
* NSCharacterSet.m, Foundation/NSCharacterSet.h: New files.
|
|
|
|
* NSString.m (componentsSeparatedByString:, substringFromRange:,
|
|
rangeOfCharacterFromSet:, rangeOfCharacterFromSet:options:,
|
|
rangeOfCharacterFromSet:options:range:, rangeOfString:,
|
|
rangeOfString:options:, caseInsensitiveCompare:, hasPrefix:,
|
|
hasSuffix:, lastPathComponent, pathExtension,
|
|
stringByAppendingPathComponent:, stringByAppendingPathExtension:,
|
|
stringByDeletingLastPathComponent, stringByDeletingPathExtension):
|
|
Implemented methods.
|
|
|
|
* Foundation/NSRange.h: Added NSMakeRange declaration.
|
|
|
|
Wed Apr 26 15:01:07 1995 Andrew McCallum <mccallum@vein.cs.rochester.edu>
|
|
|
|
* install.texi: Fixed typo in patch instructions. Too many "..".
|
|
(Reported by Daniel L. Green <dang@mcs.com>.)
|
|
|
|
Thu Apr 20 20:11:23 1995 Andrew McCallum <mccallum@zebra.cs.rochester.edu>
|
|
|
|
* NSData.m: Include <Foundation/NSException.h>
|
|
|
|
* NSData.m (dataWithBytesNoCopy:length:): Send alloc to NSGData
|
|
class, not self.
|
|
|
|
Sun Apr 16 02:41:39 1995 Albin L. Jones <ajones@oxy.edu>
|
|
|
|
* NSData.m([NSData -getBytes:range:],
|
|
[NSData -subdataWithRange:]): Coded these, including the range
|
|
checking bits. The proper exception is raised.
|
|
|
|
* NSData.m([NSData -dataWithContentsOfFile:],
|
|
[NSData -dataWithContentsOfMappedFile:],
|
|
[NSData -initWithContentsOfFile:],
|
|
[NSData -initWithContentsOfMappedFile:],
|
|
[NSData -writeToFile:atomically:]): Filled
|
|
these out, made them do what they were suppossed to.
|
|
|
|
* NSData.m: Added many comments. Maybe I shouldn't have.
|
|
|
|
Thu Apr 20 11:26:45 1995 Adam Fedor <fedor@boulder.colorado.edu>
|
|
|
|
* NSCTemplateValue.m, NSConcreteNumber.m, NSConcreteValue.m,
|
|
NSException.m, NSNumber.m, NSValue.m (encodeWithCoder:,
|
|
initWithCoder:): Include call to super since NSObject now
|
|
implements these methods.
|
|
|
|
Mon Apr 17 16:37:06 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* Makefile.in (OBJECTS_SUBMINOR_VERSION): Version 0.1.10.
|
|
|
|
* examples/second-client.h: Make AppellationObject inherit from
|
|
NSObject, not Object.
|
|
|
|
* examples/second-server.h: Include NSObject.h from Foundation,
|
|
not objc.
|
|
|
|
* NSData.m (replaceBytesInRange:withBytes:): Get pointer with
|
|
-mutableBytes, not -bytes.
|
|
|
|
* Makefile.in (FILE_AUTHORS): Added Jeremy Bettis.
|
|
|
|
* Makefile.in: Change "foundation" to "Foundation".
|
|
|
|
* Foundation: Directory renamed from "foundation".
|
|
|
|
* Connection.m, NSArchiver.m, NSArray.m, NSArrayEnumerator.m,
|
|
NSAssertionHandler.m, NSAutoreleasePool.m, NSBundle.m,
|
|
NSCString.m, NSCTemplateValue.m, NSCoder.m, NSConcreteNumber.m,
|
|
NSConcreteValue.m, NSData.m, NSDate.m, NSDictionary.m,
|
|
NSEnumerator.m, NSException.m, NSGArchiver.m, NSGArray.m,
|
|
NSGCoder.m, NSGData.m, NSGUnarchiver.m, NSGeometry.m, NSNumber.m,
|
|
NSObject.m, NSRange.m, NSString.m, NSUnarchiver.m, NSValue.m,
|
|
NSZone.c, objc-load.c: Include from <Foundation/...>, not
|
|
<foundation/...>.
|
|
* objects/Collection.h, objects/NSCoder.h, objects/String.h,
|
|
objects/stdobjects.h.in: Likewise.
|
|
* foundation/NSArchiver.h, foundation/NSArray.h,
|
|
foundation/NSArrayEnumerator.h, foundation/NSAutoreleasePool.h,
|
|
foundation/NSBundle.h, foundation/NSCString.h,
|
|
foundation/NSCoder.h, foundation/NSConcreteNumber.h,
|
|
foundation/NSConcreteValue.h, foundation/NSData.h,
|
|
foundation/NSDate.h, foundation/NSException.h,
|
|
foundation/NSGArchiver.h, foundation/NSGArray.h,
|
|
foundation/NSGCoder.h, foundation/NSGData.h,
|
|
foundation/NSGUnarchiver.h, foundation/NSMethodSignature.h,
|
|
foundation/NSObject.h, foundation/NSRange.h,
|
|
foundation/NSString.h, foundation/NSUnarchiver.h,
|
|
foundation/NSUtilities.h, foundation/NSValue.h: Likewise.
|
|
* examples/first-server.h: Likewise.
|
|
* checks/nsarchiving.m, checks/nsarray.m, checks/string.m,
|
|
checks/values.m: Likewise.
|
|
|
|
* objects/NSCoder.h: Fix typo: We're declaring methods of NSCoder,
|
|
not NSConcreteCoder.
|
|
|
|
* foundation/NSData.h: Insert the interface for NSMutableData.
|
|
|
|
* NSData.m: Insert the implementation of NSMutableData.
|
|
|
|
* foundation/NSGData.h: Don't include
|
|
<foundation/NSMutableData.h>. The interface can now be found in
|
|
<foundation/NSData.h>
|
|
|
|
Sat Apr 15 14:12:57 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* Makefile.in (OBJECTS_SUBMINOR_VERSION): Version 0.1.9.
|
|
|
|
* checks/Makefile.in (SRCS): Comment out nsarchiving.m. It's
|
|
not done yet.
|
|
|
|
* Makefile.in (GNUStep-volunteers): New target to deal with "ln"
|
|
and disparate filesystem problems.
|
|
(DIST-FILES): Use the local GNUStep-volunteers file, not the remote
|
|
volunteers-gnustep file.
|
|
(dist): Switch back to "ln", not "ln -s".
|
|
|
|
* Stream.m (-initWithMode:, -streamMode): Methods removed.
|
|
(-isWritable): New method.
|
|
(-initWithCoder): Renamed from +newWithCoder.m.
|
|
* objects/Stream.h: Method removed and put into Streaming
|
|
protocol. Included from objects/Streaming.h.
|
|
(mode): Instance variable removed.
|
|
(STREAM_READONLY, STREAM_WRITEONLY, STREAM_READWRITE): enum removed.
|
|
* objects/Streaming.h: New file.
|
|
* Makefile.in (GNU_HEADERS): Added objects/Streaming.h.
|
|
|
|
* objects/StdioStream.h (mode): New instance variable, to replace
|
|
one removed from Stream class.
|
|
* StdioStream.m (-isWriteable): New method.
|
|
(-initWithCoder): Renamed and rewritten from +newWithCoder.
|
|
(-isAtEof): Renamed from -streamEof.
|
|
(-initWithFilePointer:fmode:): Use new mode ivar.
|
|
|
|
* objects/MemoryStream.h: New protocol <MemoryStreaming>. Make
|
|
MemoryStream class conform to it.
|
|
* MemoryStream.m (-setStreamBufferCapacity:): Renamed from
|
|
-setStreamBufferSize.
|
|
(-streamBufferCapacity): Renamed from -streamBufferSize.
|
|
(-isWriteable): New method.
|
|
(-streamBufferPrefix): Renamed from -streamPrefix.
|
|
|
|
* NSArchiver.m, foundation/NSArchiver.m, NSGArchiver.m,
|
|
NSUnarchiver.m, foundation/NSUnarchiver.h,
|
|
foundation/NSGArchiver.h, NSGData.m, foundation/NSGData.h: New
|
|
files.
|
|
* Makefile.in (GNUSTEP_MFILES): Added NSArchiver.m, NSGArchiver.m,
|
|
NSGData.m, NSGUnarchiver.m, NSUnarchiver.m.
|
|
(GNUSTEP_HEADERS): Added foundation/NSArchiver.h,
|
|
foundation/NSGArchiver.h, foundation/NSGData.h,
|
|
foundation/NSGUnarchiver.h, foundation/NSUnarchiver.h.
|
|
|
|
* checks/nsarchiving.m: New file.
|
|
* checks/Makefile.in (SRCS): Added nsarchiving.m.
|
|
|
|
* Makefile.in (GNU_HEADERS): Added objects/NSCoder.h.
|
|
|
|
The GNU-interoperating concrete subclasses of NS classes have the
|
|
prefix NSG. If people want to write other concrete subclasses
|
|
(some of which could be more lowlevel-compatible with NeXT's
|
|
classes, such as in the low-level format used by NSConcreteCoder),
|
|
they can do so, and use NeXT's classnames, or their own.
|
|
* NSGArray.m, foundation/NSGArray.h: Renamed from NSConcreteArray.
|
|
* NSGCoder.m, foundation/NSGCoder.h: Renamed form NSGNUCoder.
|
|
* Makefile.in: Renamed appropriate files for NSG prefix.
|
|
* NSCoder.m: Change names from "Concrete"-style to "G"-style.
|
|
* NSGCoder.m: Likewise.
|
|
* foundation/NSGArray.h: Likewise.
|
|
* NSArray.m: Likewise.
|
|
* NSGArray.m: Likewise.
|
|
|
|
Fri Apr 14 10:59:41 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* NSAutoreleasePool.m (+enableRelease:, +enableDoubleReleaseCheck:,
|
|
+setPoolCountThreshhold:): New methods.
|
|
* foundation/NSAutoreleasePool.h: Declare new methods.
|
|
|
|
* Makefile.in (GNUSTEP_MFILES): Removed NSDate.m; it causes a bunch
|
|
of compilation errors.
|
|
(GNUSTEP_OTHER_SRCFILES): Added NSDate.m.
|
|
|
|
Thu Apr 13 11:03:13 1995 Andrew McCallum <mccallum@vein.cs.rochester.edu>
|
|
|
|
* NSDate.m: Compare against [NSDate class], not NSDate.
|
|
|
|
* NSDate.m: Fixed indentation. Added some calls to
|
|
-notImplemented:.
|
|
|
|
* NSDate.m, foundation/NSDate.h: New files from Jeremy Bettis
|
|
<jeremy@hksys.com>.
|
|
* Makefile.in (GNUSTEP_HEADERS): Added foundation/NSDate.h.
|
|
(GNUSTEP_MFILES): Added NSDate.m.
|
|
|
|
* readme.texi: Updated for changes since addition of string
|
|
classes and retain/release.
|
|
|
|
* NSData.m (-getBytes:range:): Implemented.
|
|
(-isEqual:): New method.
|
|
|
|
* Now using new ObjC Emacs mode from cc-mode.el (to be included
|
|
with emacs 19.29), with (c-set-style "GNU"). This will change the
|
|
way multi-line methods are indented: I used to indent with three
|
|
spaces, now colons are lined up. All contributors should use the
|
|
same style. Note that (c-set-style "GNU") has different
|
|
c-basic-offset than the default.
|
|
|
|
Wed Apr 12 11:15:57 1995 Andrew McCallum <mccallum@vein.cs.rochester.edu>
|
|
|
|
* BinaryTree.m (removeElement:): Fix bug whereby the deleted
|
|
node's parent still had the deleted node as a right child.
|
|
(Reported by Stephen Peters <SPETERS@us.oracle.com>).
|
|
|
|
* Collection.m (write:, read:): Put back these old-style archiving
|
|
methods. (Reported by Stephen Peters <SPETERS@us.oracle.com>).
|
|
|
|
Sun Apr 9 20:34:32 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* NSAssertionHandler.m: Fix copyright date and indentation.
|
|
|
|
Sun Apr 9 16:43:03 1995 Adam Fedor (fedor@boulder.colorado.edu)
|
|
|
|
* Makefile.in (GNUSTEP_MFILES): Added NSAssertionHandler.m.
|
|
|
|
* NSAssertionHandler.m: New file.
|
|
|
|
* foundaton/NSException.h: Added NSAssert macros and
|
|
NSAssertionHandler interface.
|
|
|
|
Sun Apr 9 13:55:28 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* MallocAddress.m (objectForAddress:): Return nil if address is
|
|
not maintained by a MallocAddress object. (Used to simply die.)
|
|
|
|
Sat Apr 8 13:04:08 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* Makefile.in (GNUSTEP_MFILES): Added NSGNUCoder.m.
|
|
(GNUSTEP_HEADERS): Added foundation/NSGNUCoder.h.
|
|
(GNUSTEP_OTHER_SRCFILES): Added files NSArchiver.m,
|
|
foundation/NSArchiver.h.
|
|
* NSGNUCoder.m, foundation/NSGNUCoder.h, NSArchiver,
|
|
foundation/NSArchiver.h: New files.
|
|
|
|
* Makefile.in: Rearranged source variables to put
|
|
GNU/NEXTSTEP/GNUStep files close together.
|
|
(GNUSTEP_OTHER_SRCFILES): Added NSData.m, foundation/NSData.h.
|
|
* NSData.m, foundation/NSData.h: New files.
|
|
|
|
* Array.m, BinaryTree.m, BinaryTreeNode.m, CString.m,
|
|
CircularArray.m, Collection.m, Connection.m, DelegatePool.m,
|
|
Dictionary.m, EltNodeCollector.m, GapArray.m, LinkedList.m,
|
|
LinkedListNode.m, MappedCollector.m, MemoryStream.m,
|
|
MutableCString.m, NSCString.m, NSCoder.m, NSObject.m, NSString.m,
|
|
Port.m, RBTreeNode.m, RNGAdditiveCongruential.m, RNGBerkeley.m,
|
|
Random.m, Set.m, Stream.m, TextCoder.m, Time.m: Convert to new
|
|
Coder scheme. Use -initWithCoder instead of +newWithCoder where
|
|
appropriate. Remove arguments typed (Coder*). Replace
|
|
+_newCollectionWithCoder with -_initCollectionWithCoder.
|
|
|
|
* objects/Coding.h (CommonCoding, Encoding, Decoding): New
|
|
protocols.
|
|
(SelfCoding): New category of NSObject, interface only, no
|
|
implementation. This takes the place of the Coding Protocol.
|
|
(Coding): Protocol removed.
|
|
|
|
* objects/IndexedCollecting.h: Use ConstantIndexedCollecting
|
|
protocol where appropriate.
|
|
* objects/Collecting.h: Use ConstantCollecting protocol where
|
|
appropriate.
|
|
|
|
* objects/KeyedCollection.h: Move protocol conformance to category
|
|
to avoid bogus gcc complaints.
|
|
* objects/IndexedCollection.h: Likewise.
|
|
|
|
* Coder.m (-decodeObjectAt:withName:): Create the instance and
|
|
send -initWithCoder if the object doesn't respond to
|
|
+newWithCoder. Convert to new protocol and method type scheme.
|
|
|
|
* Proxy.m (RemoteSelfCoding): Renamed category from RemoteCoding.
|
|
* objects/Proxy.h: Likewise.
|
|
* objects/Connection.h (ConnectedSelfCoding): Renamed protocol
|
|
from ConnectedCoding.
|
|
|
|
* objects/Collection.h: Removed Coding protocol. It's already
|
|
provided by NSObject.
|
|
* objects/BinaryTreeNode.h: Likewise.
|
|
* objects/Port.h: Likewise.
|
|
* objects/LinkedListNode.h: Likewise.
|
|
|
|
* objects/IndexedCollecting.h (ConstantIndexedCollecting): New
|
|
protocol extracted from IndexedCollecting.
|
|
* objects/KeyedCollecting.h (ConstantKeyedCollecting): New
|
|
protocol extracted from KeyedCollecting.
|
|
* objects/Collecting.h (ConstantCollecting): New protocol
|
|
extracted from Collecting.
|
|
|
|
Fri Apr 7 16:36:08 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* checks/nsarray.m (main): Fix serious bug by including `nil' at
|
|
end of contents list. Test forward and reverse enumerator
|
|
objects.
|
|
|
|
* NSArray.m (-objectEnumerator, -reverseObjectEnumerator):
|
|
Implemented methods.
|
|
* Makefile.in (GNUSTEP_MFILES): Added NSArrayEnumerator.m,
|
|
NSEnumerator.m.
|
|
(GNUSTEP_HEADERS): Added foundation/NSArrayEnumerator.h.
|
|
* NSEnumerator.m, NSArrayEnumerator.m,
|
|
foundation/NSArrayEnumerator.h: New files.
|
|
|
|
* Connection.m (-dealloc): Remove dealloc of remote_proxies
|
|
contents.
|
|
|
|
* NSArray.m (-componentsJoinedByString:): Implemented method.
|
|
|
|
* NSCString.m (initWithCapacity:): Make sure that capacity is
|
|
greater than zero.
|
|
|
|
* Makefile.in (DIST_FILES): Added volunteers-gnustep.
|
|
|
|
Fri Apr 7 15:41:46 1995 Mark Lakata (lakata@nsdssp.lbl.gov)
|
|
|
|
* foundation/NSZone.h: Fixed clash with linux unistd.h.
|
|
|
|
Thu Apr 6 14:47:09 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* Makefile.in (FILE_AUTHORS): New variable.
|
|
(AUTHORS): New target.
|
|
(DIST_FILES): Added AUTHORS.
|
|
|
|
* Makefile.in (DIST_FILES): Add objective-c.texi objective-c.info.
|
|
(RCS_FILES): Add objective-c.texi.
|
|
(objective-c.info): New target.
|
|
(info): Add objective-c.info.
|
|
|
|
* Array.m (-_encodeCollectionWithCoder:): Fix typo. Fix super call.
|
|
(+_newCollectionWithCoder:): Fix super call.
|
|
(Reported by allan-europa@mct.co.uk (Allan Clearwaters)).
|
|
|
|
Wed Apr 5 11:22:30 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* Makefile.in (OBJECTS_SUBMINOR_VERSION): Version 0.1.8.
|
|
|
|
* Makefile.in (NEXTSTEP_DERIVED_CFILES): New variable.
|
|
(NEXTSTEP_CFILES): NXStringTable_scan.c moved to above.
|
|
(NEXTSTEP_OBJS): Use NEXTSTEP_DERIVED_CFILES.
|
|
(DIST_FILES): Add NEXTSTEP_DERIVED_CFILES.
|
|
(objects/stdobjects.h): Target overhauled.
|
|
(libobjects.a): Add dependancy on objects/stdobjects.h.
|
|
(GNU_HEADERS): Remove objects/config.h, objects/stdobjects.h.
|
|
(INSTALL_HEADERS): Add objects/config.h, objects/stdobjects.h.
|
|
(NEXTSTEP_HEADERS): Removed README.
|
|
(GNUSTEP_HEADERS): Likewise.
|
|
(RCS_FILES): New variable.
|
|
(rcs-list-locked): New target.
|
|
(dynamic-load.h): Depend on config.status, for less re-making.
|
|
(version.texi): Depend on Makefile.in, not Makefile.
|
|
(realclean): Add objects/stdobjects.h objects/config.h.
|
|
|
|
* objects/stdobjects.h.in: New file.
|
|
|
|
* Makefile.in (GNUSTEP_OTHER_SRCFILES): Added NSConcreteNumber.m,
|
|
NSCTemplateValue.m.
|
|
|
|
* objects/DelegatePool.h (_last_message_had_receivers): New
|
|
instance variable.
|
|
* DelegatePool.m (-delegatePoolLastMessageHadReceivers): New method.
|
|
(-forward::, init): Set new ivar.
|
|
|
|
* objects/behavior.h (CALL_METHOD_IN_CLASS): Fix typo.
|
|
|
|
* NSArray.m (allocWithZone): Removed method.
|
|
(arrayWithObjects:, initWithObjects:, initWithArray:, count,
|
|
indexOfObjectIdenticalTo:, indexOfObject:, isEqualToArray:,
|
|
makeObjectsPerform:, makeObjectsPerform:withObject:, lastObject,
|
|
firstObjectCommonWithArray:, arrayWithCapacity:, addObject:,
|
|
replaceObjectAtIndex:, removeLastObject, insertObject:atIndex:,
|
|
removeObjectAtIndex:, removeObjectIdenticalTo:, removeObject:,
|
|
removeAllObjects, addObjectsFromArray:,
|
|
removeObjectsFromIndices:numIndices:, removeObjectsInArray:,
|
|
copyWithZone:, mutableCopyWithZone:): Newly implemented or
|
|
overhauled.
|
|
|
|
* behavior.c (class_add_methods_if_not_there): Only put method
|
|
implementation in dtable if the dtable is already installed,
|
|
otherwise, just add it to the class's methods list and let
|
|
__objc_install_dispatch_table_for_class put it in. Also, change
|
|
arguments. All callers updated.
|
|
(check_class_methods): New function.
|
|
|
|
* NSString.m (+initialize): Use static "done".
|
|
* NSCString.m: Likewise.
|
|
|
|
* checks/test01.m (main): "release" collections intead of
|
|
"emtpy"ing them.
|
|
|
|
* NSDeallocateObject.m (NSDeallocateObject): Set
|
|
anObject->class_pointer to 0xdeadface, to help catch message-sends
|
|
to deallocated objects.
|
|
|
|
* Collection.m (_safeWithElementsCallNoRetain:): New method.
|
|
(dealloc, empty): Use it.
|
|
(send_release): New function.
|
|
(Problem reported by allan-europa@mct.co.uk (Allan Clearwaters)).
|
|
|
|
* Time.m (CLK_TCK): Use _CS_CLK_TCK instead of 3.
|
|
|
|
Tue Apr 4 18:48:59 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* NSObject.m (+retain, +retainCount, +release, +autorelease): New
|
|
methods.
|
|
|
|
* checks/Makefile.in (SRCS): Added nsarray.m.
|
|
|
|
* foundation/NSArray.h: Inherit from NSObject, not Array.
|
|
|
|
* NSConcreteArray.m, foundation/NSConcreteArray.h,
|
|
foundation/NSUtilities.h, objects/NSArray.h: New files.
|
|
* Makefile.in (GNUSTEP_MFILES): Added NSConcreteArray.m.
|
|
(GNUSTEP_HEADERS): Added foundation/NSConcreteArray.h,
|
|
foundation/NSUtilities.h.
|
|
(GNU_HEADERS): Added objects/NSArray.h.
|
|
|
|
* objects/behavior.h: Added warning in comments.
|
|
(CALL_METHOD_IN_CLASS): New macro.
|
|
|
|
* objects/String.h: Add <IndexedCollecting> Protocol to String
|
|
Protocol.
|
|
|
|
Tue Apr 4 10:56:02 1995 Andrew McCallum <mccallum@vein.cs.rochester.edu>
|
|
|
|
* NSDictionary.m: Fix indentation.
|
|
* NSCoder.m: Likewise.
|
|
|
|
* NSArray.m: Fixed indentation.
|
|
(arrayWithObject, arrayWithObjects, initWithArray, initWithObjects,
|
|
initWithObjects:count:, indexOfObjectIdenticalTo:,
|
|
firstObjectCommonWithArray, isEqualToArray,
|
|
sortedArrayUsingFunction, sortedArrayUsingSelector): Implemented.
|
|
|
|
* Time.m (#ifndef CLK_TCK): Define it using sysconf() if not
|
|
already defined. (CLK_TCK wasn't defined on Solbourne S4000
|
|
running OS/MP 4.1B. Reported by Pekka Yrjola <py@fipnet.fi>.)
|
|
|
|
Mon Apr 3 19:02:37 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* NSString.m (initialize): No need to add IndexedCollection
|
|
behavior to NSString, we already added String, and String inherits
|
|
from IndexedCollection.
|
|
|
|
* Makefile.in (dynamic-load.h): New target, replacing the
|
|
"one-step" target, which got invoked too often.
|
|
|
|
* Makefile.in (GNUSTEP_HEADERS): Add foundation/NSArray.h,
|
|
foundation/NSCoder.h, foundation/NSDictionary.h.
|
|
|
|
Mon Apr 3 16:36:36 1995 Adam Fedor (fedor@boulder.colorado.edu)
|
|
|
|
Placeholder non-implementations from Fedor until McCallum does
|
|
real implementations (that will be aided by and coexist with GNU
|
|
versions).
|
|
|
|
* NSArray.m, NSCoder.m, NSDictionary.m, foundation/NSArray.h,
|
|
foundation/NSCoder.h, foundation/NSDictionary.h: new files.
|
|
|
|
Mon Apr 3 15:58:35 1995 Adam Fedor (fedor@boulder.colorado.edu)
|
|
|
|
* configure.in: check for dynamic linking libraries to figure out
|
|
which *-load.h file to include in objc-load.c.
|
|
|
|
* Makefile.in (one-time): new target.
|
|
|
|
Mon Apr 3 14:55:47 1995 Adam Fedor (fedor@boulder.colorado.edu)
|
|
|
|
* Makefile.in (GNUSTEP_MFILES, GNUSTEP_CFILES, GNUSTEP_HEADERS):
|
|
Added files from corresponding FEDOR_ lists, removed FEDOR_ lists.
|
|
(DIST_FILES): added gcc-dynamic.patch, NSBundle.README and
|
|
GNUSTEP_OTHER_SRCFILES. (NSVALUE_OFILES, NSNUMBER_OFILES): removed
|
|
multiple target declarations.
|
|
|
|
* NSBundle.m (_bundle_load_callback): Changed Class* to Class.
|
|
|
|
* find_exec.c: new file.
|
|
|
|
* checks/Makefile (LIBS): added math library. (SRCS): Added values.m.
|
|
|
|
Mon Apr 3 11:17:18 1995 Adam Fedor (fedor@boulder.colorado.edu)
|
|
|
|
* Makefile.in: New class cluster targets NSVALUE_OFILES and
|
|
NSNUMBER_OFILES.
|
|
|
|
* NSBundle.README, NCSTemplateValue.m,
|
|
NSConcreteNumber.m, NSConcreteValue.m: new files.
|
|
|
|
* NSBundle.m: Use @"" constructs, change Class to a pointer.
|
|
|
|
* NSException.m (encodeWithCoder:, initWithCoder:): take out calls
|
|
to super until NSCoder gets implemented.
|
|
|
|
* NSGeometry.m: Change includes to look in foundation subdir.
|
|
|
|
* NSNumber.m, NSValue.m: Rewrote as class cluster.
|
|
|
|
* NSRange.m (NSUnionRange): fixed typo - point should be range.
|
|
(NSMaxRange, NSLocationInRange): Moved to header file.
|
|
(NSStringFromRange): use @"" construct.
|
|
|
|
* String.m (contentType) : new method.
|
|
|
|
* checks/values.m: new file.
|
|
|
|
* dld-load.h, null-load.h, simple-load.h, hpux-load.h: new files.
|
|
* foundation/NSArray.h, foundation/NSConcreteNumber.h,
|
|
foundation/NSConcreteValue.h, foundation/objc-load.h: new files.
|
|
* gcc-dynamic.patch: likewise.
|
|
|
|
* foundation/NSValue.h: Added methods valueClassWithObjCType: and
|
|
initValue:withObjCType: for class clusters.
|
|
|
|
* objc-load.c: new file.
|
|
|
|
Mon Apr 3 10:43:11 1995 Andrew McCallum <mccallum@vein.cs.rochester.edu>
|
|
|
|
* String.m (initWithType:): Fix previous attempt at avoiding
|
|
infinite loop. (Reported by Jeremy Bettis <jbettis@cse.unl.edu>)
|
|
|
|
Sun Apr 2 20:05:04 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* Makefile.in (OBJECTS_SUBMINOR_VERSION): Version 0.1.7.
|
|
|
|
* checks/string.m: Test mutable strings and "strings as
|
|
collections of char's".
|
|
|
|
* Connection.m, MutableString.m, NSString.m, Port.m, SocketPort.m,
|
|
String.m, objects/Connection.h, objects/Invocation.h,
|
|
objects/Port.h, objects/SocketPort.h, objects/ValueHolding.h,
|
|
objects/stdobjects.h: Use (id <String>) instead of (String*).
|
|
|
|
* objects/String.h: Use (id <String>) instead of (String*) Have
|
|
String protocol include NSString protcol.
|
|
|
|
* foundation/NSString.h: Define NSString and NSMutableString as
|
|
protocols. Make the classes conform to them.
|
|
|
|
* NSCString.m: Have increment and decrement functions take int
|
|
arguments instead of unsigned because I was getting (0 >= -234) == 1.
|
|
|
|
* NSString.m: Added implementations.
|
|
|
|
* foundation/NSString.h: Uncomment method declarations. Now
|
|
subclass of NSObject, not String.
|
|
(stringWithFormat:arguments:): Added method.
|
|
(NSMutableString): Added declaration for class.
|
|
(NXConstantString): Moved declaration for class to here from
|
|
objects/String.h. Now subclass of NSCString, not ConstantString.
|
|
|
|
* NSObject.m (perform:with:with:): New method added to (NEXTSTEP)
|
|
category.
|
|
|
|
* NSException.m: Fix #include's. Fix @"" strings.
|
|
|
|
* ConstantString.m: #if'ed out NXConstantString implementation.
|
|
Moved to NSString.m
|
|
* objects/String.h (NXConstantString): Declaration #if'ed out.
|
|
Moved to foundation/NSString.h.
|
|
|
|
* MallocAddress.m, objects/MallocAddress.h, NSCString.m,
|
|
foundation/NSCString.m: New files.
|
|
|
|
* Makefile.in (GNU_MFILES): Added MallocAddress.m.
|
|
(GNU_HEADERS): Added objects/MallocAddress.h, objects/NSString.h.
|
|
(GNUSTEP_MFILES): Added NSCString.m.
|
|
(GNUSTEP_HEADERS): Added foundation/NSCString.h.
|
|
(objects/stdobjects.h): Fixed typo.
|
|
|
|
Sat Apr 1 16:09:04 1995 Andrew McCallum <mccallum@vein.cs.rochester.edu>
|
|
|
|
* String.m (initWithType:): Avoid infinite loop by calling
|
|
designated initializer instead of init. (Reported by
|
|
Jeremy Bettis <jbettis@cse.unl.edu>)
|
|
|
|
Sat Apr 1 12:19:13 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* Makefile.in (OBJECTS_SUBMINOR_VERSION): Version 0.1.6.
|
|
|
|
* NSObject.m (+superclass): New method.
|
|
|
|
* behavior.c (behavior_debug): Fix typo in variable name use.
|
|
|
|
* NSObject.m (+conformsToProtocol:): For now, send conformsTo: to
|
|
Protocol object.
|
|
|
|
* objects/stdobjects.h (OBJECTS_MAJOR_VERSION,
|
|
OBJECTS_MINOR_VERSION, OBJECTS_SUBMINOR_VERSION): New #define's.
|
|
* Makefile.in (OBJECTS_MAJOR_VERSION,
|
|
OBJECTS_MINOR_VERSION, OBJECTS_SUBMINOR_VERSION): New variables.
|
|
(OBJECTS_VERSION): define in terms of above.
|
|
(objects/stdobjects): Set values for OBJECTS_MAJOR_VERSION,
|
|
OBJECTS_MINOR_VERSION, OBJECTS_SUBMINOR_VERSION.
|
|
|
|
Fri Mar 31 09:10:50 1995 Adam Fedor <fedor@boulder.colorado.edu>
|
|
|
|
* NXStringTable.m (readFromFile:): Return the return value from
|
|
readFromSteam so that errors get passed along.
|
|
|
|
* NXStringTable_scan.l (main): Restart the parser for each new
|
|
file. This fix works correctly with flex, but is a bad hack and
|
|
still doesn't work right with lex.
|
|
|
|
Fri Mar 31 10:28:52 1995 Andrew McCallum <mccallum@vein.cs.rochester.edu>
|
|
|
|
* configure.in: Added check for times().
|
|
* Time.m (HAVE_TIMES): Use this instead of test for solaris and
|
|
hpux.
|
|
|
|
* configure.in: Added check for valloc().
|
|
* objc-malloc.c (HAVE_VALLOC): if not defined, #define valloc
|
|
malloc. (Reported by Mike Perik <mikep@crt.com> for HPUX).
|
|
|
|
Tue Mar 28 12:37:22 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* gcc-string.patch: New version from Pieter Schoenmakers
|
|
<tiggr@es.ele.tue.nl> that should fix patching problems. From
|
|
ftp://ftp.es.ele.tue.nl/pub/tiggr/gcc-2.6.3-statics.patch.
|
|
|
|
Mon Mar 27 09:35:30 1995 Andrew McCallum <mccallum@vein.cs.rochester.edu>
|
|
|
|
* NSObject.m (+conformsToProtocol:): Renamed from
|
|
-conformsToProtocol.
|
|
(-conformsToProtocol:): New method.
|
|
(-conformsTo:): New method.
|
|
|
|
* Time.m (__hpux): Add this to #if for using times(). (Reported
|
|
by Jan Springer <springer@nessi.informatik.hab-weimar.de>.)
|
|
|
|
Fri Mar 24 12:33:27 1995 Mark Lakata (lakata@nsdssp.lbl.gov)
|
|
|
|
* NSZone.c : added #define WORDSIZE sizeof(double)
|
|
(NSZoneMalloc): returns machine word aligned pointers. Actually,
|
|
the word size is assumed to be equal to or smaller than
|
|
sizeof(double).
|
|
|
|
Fri Mar 24 10:04:54 1995 Andrew McCallum <mccallum@vein.cs.rochester.edu>
|
|
|
|
* Makefile.in (GNU_HEADERS): Added new file behavior.h.
|
|
(GNU_CFILES): Added new file behavior.c.
|
|
* behavior.c, objects/behavior.h: New files.
|
|
|
|
* NSObject.m (retain): Call NSIncrementExtraRefCount(), not
|
|
NSShouldRetainWithZone(). (Of course!) (Reported by Adam Fedor
|
|
<fedor@mode.Colorado.EDU>)
|
|
|
|
* Invocation.m (invoke): Fix typo. (Reported by hjl@nynexst.com
|
|
(H.J. Lu).)
|
|
|
|
Wed Mar 22 16:37:06 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* Makefile.in (OBJECTS_VERSION): Version 0.1.5.
|
|
(OBJECTS_FTP_DIRECTORY): Fixed for alpha.gnu.
|
|
Added many GNUSTEP files.
|
|
|
|
* checks/test06.m: Inherit from NSObject, not Object.
|
|
* checks/test13.m: Likewise.
|
|
* checks/server.h: Likewise.
|
|
* checks/server.m: Likewise.
|
|
* examples/first-server.h: Likewise.
|
|
* foundation/NSInvocation.h: Likewise.
|
|
* examples/second-server.h: Likewise.
|
|
|
|
* checks/client.m: Inherit from NSObject, not Object. Don't free
|
|
connection object, release it.
|
|
|
|
* IndexedCollection.m: Cast aCollectionClass to (id) so we can
|
|
send NSObject protocol messages that aren't in Collecting.
|
|
|
|
* Stack.m (initialize): Return void.
|
|
|
|
* examples/port-client.m: Use @"" constant strings.
|
|
* examples/second-server.m: Likewise.
|
|
* examples/first-client.m: Likewise.
|
|
* examples/first-server.m: Likewise.
|
|
* examples/second-client.m: Likewise.
|
|
|
|
* checks/test03.m (main): Added some #if 0'ed out new tests.
|
|
|
|
* objects/CollectionPrivate.h (DeallocationHelpers): New category
|
|
containing _empty and _collectionDeallocate.
|
|
|
|
* BinaryCoder.m (encodeValueOfSimpleType:at:withName:): Use
|
|
#ifndef __CHAR_UNSIGNED__ to prevent compiler warning.
|
|
|
|
* Magnitude.m (compare:): Implemented.
|
|
|
|
* foundation/NSAutoreleasePool.h: Comment fixes.
|
|
* foundation/NSBundle.h: Likewise.
|
|
* foundation/NSException.h: Likewise.
|
|
* foundation/NSGeometry.h: Likewise.
|
|
* foundation/NSRange.h: Likewise.
|
|
* foundation/NSValue.h: Likewise.
|
|
* NSZone.c: Include objects/objc-malloc. Likewise.
|
|
* objects/String.h: Additional comments.
|
|
* Invocation.m: Add header comment.
|
|
|
|
* foundation/NSArray.h (arrayWithObjects): Add missing s.
|
|
|
|
* NSBundle.m: Don't include NSObjectPrivate.h.
|
|
|
|
* SocketPort.m: Include objects/String.h.
|
|
|
|
* foundation/NSMethodSignature.h (argumentInfoAtIndex:): Comment
|
|
out for now.
|
|
|
|
* Set.m (_collectionDealloc): Fix super call.
|
|
* Dictionary.m (_collectionDealloc): Likewise.
|
|
* Array.m (_collectionDealloc): Likewise.
|
|
|
|
* RetainingNotifier.m (autorelease): Implemented.
|
|
|
|
* Collection.m (shallowCopyAs:, emptyCopyAs:, copyAs:): Change arg
|
|
type to (Class).
|
|
(dealloc, empty): Don't use safe version of makeObjectsPerform:.
|
|
(_empty, _collectionDealloc): Move to a category.
|
|
|
|
* objects/Collecting.h (shallowCopyAs:, emptyCopyAs:, copyAs:):
|
|
Change arg type to (Class).
|
|
* KeyedCollection.m: Likewise.
|
|
|
|
* foundation/NSObject.h (compare:, autoreleaseClass,
|
|
setAutoreleaseClass, read:, write:): Declare new category methods.
|
|
|
|
* NSObject.m (class): Fix return value.
|
|
(encodeWithCoder:) #ifdef out for now, until we fix compatibility with
|
|
GNU Coder.
|
|
(perform:with:): New method in NEXTSTEP category.
|
|
|
|
* objects/Coder.h (isProxy): Method removed from
|
|
NSObject(CoderAdditions).
|
|
|
|
* Proxy.m (zone): New method.
|
|
(isProxy): Remove method from NSObject category.
|
|
Don't include objects/AutoreleasePool.h.
|
|
|
|
* Coder.m (encodeSelector:withName:): Use sel_get_any_uid() to get
|
|
sel type if we can't get it the normal way.
|
|
(newWithCoder:): Use NSAllocateObject.
|
|
(isProxy): Removed from NSObject category.
|
|
|
|
* objects/Collecting.h (releaseObjects, release): Methods removed.
|
|
|
|
Sat Mar 18 10:38:06 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* NSObject.m (zone): Implemented.
|
|
|
|
* Makefile.in (GNUSTEP_MFILES): New files NSAllocateObject.m,
|
|
NSBundle.m, NSCopyObject.m, NSDeallocateObject.m, NSException.m,
|
|
NSGeometry.m, NSNumber.m.
|
|
(GNUSTEP_HEADERS): New files foundation/NSBundle.h,
|
|
foundation/NSException.h, foundation/NSGeometry.h,
|
|
foundation/NSNumber.h.
|
|
|
|
* NSZone.c: Base on objc_malloc and friends, not malloc. Reformat
|
|
header comment.
|
|
|
|
* NSAllocateObject.m, NSDeallocateObject.m, NSCopyObject.m: New
|
|
files.
|
|
* NSObject.m (NSAllocateObject, NSDeallocateObject, NSCopyObject):
|
|
These functions moved to separate files.
|
|
|
|
* objc-malloc.c (objc_valloc): New function pointer.
|
|
(__objc_valloc): New function.
|
|
* objects/objc-malloc.h (objc_valloc): New function declared.
|
|
(OBJC_VALLOC): New macro.
|
|
|
|
* Proxy.m (dealloc): Call NSDeallocateObject().
|
|
|
|
* KeyedCollection.m (dealloc): Deleted.
|
|
|
|
* Dictionary.m (_collectionDealloc): Renamed from dealloc.
|
|
* Set.m (_collectionDealloc): Likewise.
|
|
* Array.m (_collectionDealloc): Likewise.
|
|
|
|
* Connection.m: Removed Object(Retaining) category.
|
|
|
|
* Set.m (_empty): Renamed from emtpy.
|
|
* LinkedList.m (_empty): Likewise.
|
|
* GapArray.m (_empty): Likewise.
|
|
* EltNodeCollector.m (_empty): Likewise.
|
|
* Dictionary.m (_empty): Likewise.
|
|
* CircularArray.m (_empty): Likewise.
|
|
* BinaryTree.m (_empty): Likewise.
|
|
* Bag.m (_empty): Likewise.
|
|
* Array.m (_empty): Likewise.
|
|
|
|
Fri Mar 17 11:09:29 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* Coder.m (dealloc): Remove unneccesary releaseObjects.
|
|
* EltNodeCollector.m (dealloc): Likewise.
|
|
|
|
* Collection.m: Rename method "empty" to "_empty". Rename
|
|
"releaseObjects" to "empty".
|
|
|
|
* Set.m: Do retain/release/autorelease of contents as appropriate.
|
|
* BinaryTree.m: Likewise.
|
|
* CircularArray.m: Likewise.
|
|
* SplayTree.m: Likewise.
|
|
* RBTree.m: Likewise.
|
|
* LinkedList.m: Likewise.
|
|
* Heap.m: Likewise.
|
|
* GapArray.m: Likewise.
|
|
* Dictionary.m: Likewise.
|
|
|
|
* Proxy.m (autorelease): Ask NSObject for autoreleaseClass.
|
|
|
|
Wed Mar 15 17:56:57 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* Array.m: Do retain/release/autorelease of contents as appropriate.
|
|
* Bag.m: Likewise.
|
|
|
|
* Makefile.in (DIST_FILES): Added gcc-class.patch and
|
|
gcc-string.patch.
|
|
(OBJECTS_GCC_VERSION): Changed from version 2.6.1 to 2.6.3.
|
|
|
|
Tue Mar 14 11:50:23 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* objects/CollectionPrivate.h (RETAIN_ELT, RELEASE_ELT,
|
|
AUTORELEASE_ELT): New macros.
|
|
|
|
Sun Mar 12 11:37:10 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu>
|
|
|
|
* objects/stdobjects.h: Declare @class String;
|
|
|
|
* objects/Collecting.h (alloc, respondsToSelector:,
|
|
conformsToProtocol:) removed.
|
|
|
|
* objects/Connection.h: Use String* instead of char*.
|
|
* objects/SocketPort.h: Likewise.
|
|
* objects/Port.h: Likewise.
|
|
* Connection.m: Likewise.
|
|
* SocketPort.m: Likewise.
|
|
* Port.m: Likewise.
|
|
* checks/client.m, checks/server.m: Likewise.
|
|
|
|
* objects/IndexedCollecting.h (IndexRange): changed to
|
|
location/length from start/end.
|
|
* IndexedCollection.m: Use location/length instead of start/end.
|
|
|
|
* *.[hm]: Use `release' and `dealloc' instead of `free'.
|
|
* *.[hm] (initialize): return void.
|
|
|
|
* objects/Collecting.h: Use `release' and `dealloc' instead of `free'.
|
|
(write:, read:): Removed.
|
|
(respondsToSelector:, conformsToProtocol:) Renamed from old Object
|
|
method names to NSObject method names.
|
|
|
|
* NSZone.c: New file, renamed from zone.c. Include
|
|
foundation/NSZone, not foundation/zone.h.
|
|
|
|
* Makefile.in (GNU_MFILES): Remove AutoreleasePool.m,
|
|
AutoreleaseStack.m, ObjectRetaining.m.
|
|
(GNU_HEADERS): Remove AutoreleasePool.h, AutoreleaseStack.h,
|
|
ObjectRetaining.h
|
|
|
|
* checks/Makefile.in (string): New test program.
|
|
|
|
* objects/Coder.h: Changed superclass from Object to NSObject.
|
|
* objects/Collection.h: Likewise.
|
|
* objects/Stream.h: Likewise.
|
|
* objects/RNGAdditiveCongruential.h:
|
|
* objects/RNGBerkeley.h: Likewise
|
|
* objects/Random.h: Likewise.
|
|
* objects/Magnitude.h: Likewise.
|
|
* objects/RetainingNotifier.h: Likewise.
|
|
* objects/BinaryTreeNode.h: Likewise.
|
|
* objects/LinkedListNode.h: Likewise.
|
|
* objects/Lock.h: Likewise.
|
|
|
|
* objects/stdobjects.h: Include foundation/NSObject.h instead of
|
|
objc/Object.h.
|
|
|
|
Sat Mar 11 16:39:18 1995 Andrew McCallum <mccallum@tbird.cs.rochester.edu>
|
|
|
|
* Makefile.in (NEXTSTEP_MFILES): Renamed from NeXT_MFILES.
|
|
(NEXTSTEP_CFILES): Renamed from NeXT_CFILES.
|
|
(NEXTSTEP_OTHER_SRCFILES): Renamed from NeXT_OTHER_SRCFILES.
|
|
(GNUSTEP_MFILES, GNUSTEP_CFILES, GNUSTEP_HEADERS, GNUSTEP_OBJS): New
|
|
variables.
|
|
(GNU_MFILES): Added CString.m, ConstantString.m, MutableCString.m,
|
|
MutableString.m, String.m.
|
|
(GNU_HEADERS): Added String.h.
|
|
(GNUSTEP_HEADERS): Added NSAutoreleasePool.h, NSObjCRuntime.h,
|
|
NSString.h.
|
|
(DIST_FILES): Added GNUSTEP files.
|
|
* configure.in: Renamed variables from NeXT... to NEXTSTEP. Added
|
|
GNUSTEP variables.
|
|
|
|
* objects/ValueHolding.h (ValueSetting): Methods now return `void'
|
|
instead of `self'.
|
|
|
|
* foundation/NSZone.h: Renamed from foundation/zone.h.
|
|
|
|
Thu Mar 9 15:05:45 1995 Andrew McCallum <mccallum@vein.cs.rochester.edu>
|
|
|
|
* zone.c, foundation/zone.h: New files from Mark Lakata.
|
|
* Makefile.in (GNUSTEP_HEADERS): Added foundation/NSZone.h.
|
|
|
|
Wed Mar 8 17:35:01 1995 Andrew McCallum <mccallum@vein.cs.rochester.edu>
|
|
|
|
* Coder.m: `CLASS' #define no longer necessary, using `Class'.
|
|
* Proxy.m: Likewise.
|
|
* Connection.m: Likewise.
|
|
|
|
* objects/stdobjects.h (CLASS): #define removed.
|
|
|
|
* objects/Proxy.h (class): use "Class" instead of "Class*" to
|
|
match new runtime.
|
|
|
|
* Makefile.in (GNUSTEP_HEADERS): New variable.
|
|
(DIST_FILES): Added GNUSTEP_HEADERS.
|
|
* configure.in: Likewise.
|
|
|
|
* configure.in: Renamed NeXT_HEADERS to NEXTSTEP_HEADERS.
|
|
* Makefile.in: Likewise.
|
|
|
|
* Makefile.in (NeXT_HEADERS): Move from objects/next-includes up
|
|
to top.
|
|
(OBJECTS_NEXT_INCLUDES): Look directly in top level directory.
|
|
(dist, mostlyclean, installdirs): Likewise.
|
|
|
|
Sat Feb 11 16:20:49 1995 Andrew McCallum <mccallum@mustang.cs.rochester.edu>
|
|
|
|
* Makefile.in (OBJECTS_VERSION): Version 0.1.4.
|
|
|
|
Wed Feb 1 15:26:11 1995 Andrew McCallum <mccallum@leopard.cs.rochester.edu>
|
|
|
|
* checks/test01.m: Use lrand48() instead of random() if
|
|
defined(__hpux).
|
|
* checks/test09.m: Likewise.
|
|
* checks/test04.m: Likewise.
|
|
(Patch from Timothy Mooney <mooney@golem.phys.ndsu.NoDak.edu>)
|
|
|
|
Thu Jan 26 12:52:33 1995 Andrew McCallum <mccallum@vein.cs.rochester.edu>
|
|
|
|
* objc-gnu2next.m: Convert Class* to Class.
|
|
* Proxy.m: Likewise.
|
|
* Coder.m: Likewise.
|
|
|
|
Fri Jan 13 12:57:50 1995 Andrew McCallum <mccallum@moose.cs.rochester.edu>
|
|
|
|
* Makefile.in (OBJECTS_VERSION): Version 0.1.3.
|
|
|
|
* ConnectedCoder.m (newDecodingWithConnection:timeout:): On
|
|
timeout use objc_free to free the buffer.
|
|
|
|
* checks/client.m (main): Only release remote_peer_obj if it
|
|
really is a remote object.
|
|
|
|
* examples/second-client.m (main): Only free appellation string if
|
|
it's from a remote object.
|
|
|
|
Mon Jan 9 12:14:03 1995 Andrew McCallum <mccallum@vein.cs.rochester.edu>
|
|
|
|
* RetainingNotifier.m (autorelease): New (unimplemented) method.
|
|
(Reported by Peter Kristensen <pkr@kom.auc.dk>).
|
|
|
|
Fri Jan 6 17:57:08 1995 Andrew McCallum <mccallum@leopard.cs.rochester.edu>
|
|
|
|
* Makefile.in (DIST_FILES): Added file MACHINES.
|
|
|
|
Tue Dec 13 11:53:54 1994 Andrew McCallum <mccallum@mustang.cs.rochester.edu>
|
|
|
|
* Makefile.in (OBJECTS_VERSION): Version 0.1.2.
|
|
|
|
* Coder.m (Object (CoderAdditions)): Removed methods retainCount,
|
|
dealloc, release, retain.
|
|
* objects/Coder.h (Object (CoderAdditions)): Likewise.
|
|
|
|
Mon Dec 12 14:13:58 1994 Andrew McCallum <mccallum@leopard.cs.rochester.edu>
|
|
|
|
* Makefile.in (dvi): Now points at libobjects.dvi.
|
|
(libobjects.dvi): New target, disabled until texinfo.tex is fixed.
|
|
|
|
Fri Dec 9 20:00:56 1994 Andrew McCallum <mccallum@edsel.cs.rochester.edu>
|
|
|
|
* Makefile.in (ANNOUNCE): depends on news.texi.
|
|
|
|
* Makefile.in (version.texi): Output FTP vars only if non-empty.
|
|
|
|
* Makefile.in (OBJECTS_FTP_MACHINE,OBJECTS_FTP_DIRECTORY): New vars.
|
|
(version.texi): set OBJECTS_FTP_MACHINE and OBJECTS_FTP_DIRECTORY.
|
|
|
|
* Makefile.in (OBJECTS_VERSION): Bumped to 0.1.1.
|
|
|
|
Wed Dec 7 12:59:32 1994 Andrew McCallum <mccallum@vein.cs.rochester.edu>
|
|
|
|
* SocketPort.m: Include <sys/select.h> #if _AIX. (Reported by
|
|
Todd B. Templeton <toddt@phelpsd.com>.)
|
|
|
|
Sun Nov 20 19:19:13 1994 Andrew McCallum (mccallum@mustang.cs.rochester.edu)
|
|
|
|
* Connection.m (connectionForward,connectionPerformAndDismissCoder):
|
|
Removed old #if'ed-out versions.
|
|
|
|
Mon Nov 14 10:58:46 1994 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* objects/objc-gnu2next.h: (sel_get_uid): Fix typo.
|
|
(class_is_class, class_is_meta_class, object_is_class,
|
|
object_is_instance, object_is_meta_class): New functions.
|
|
The above from a patch by Matthias Klose <doko@cs.tu-berlin.de>
|
|
|
|
Sun Nov 13 14:29:37 1994 Andrew McCallum (mccallum@moose.cs.rochester.edu)
|
|
|
|
* Makefile.in (diff): Fix tar call. Add proper arguments to diff.
|
|
|
|
Thu Nov 10 16:51:48 1994 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* news.texi (Noteworthy changes since version @samp{0.1.0}): New
|
|
section.
|
|
|
|
* Makefile.in (TAGS): Use DIST_FILES, not non-existant SRCS.
|
|
|
|
Wed Nov 9 18:34:53 1994 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* configure.in: Remove duplicate NeXT_runtime=0.
|
|
|
|
Tue Nov 8 10:44:30 1994 Andrew McCallum (mccallum@moose.cs.rochester.edu)
|
|
|
|
* libobjects.texi (Organization): Updated inheritance tree.
|
|
* checks/test12.m (main): Free "rng", not "r" twice.
|
|
* TextCoder.m (encodeName): Do right thing for NULL name.
|
|
(Above three reported by Stephen Peters <SPETERS@us.oracle.com>)
|
|
|
|
* Proxy.m (autorelease): New method.
|
|
|
|
* Time.m: Patch for Solaris 2.4. Use times() instead of
|
|
getrusage(). (Patch from Stephen Peters <speters@us.oracle.com>)
|
|
|
|
* Makefile.in (GNU_MFILES,GNU_HEADERS): Added AutoreleasePool,
|
|
AutoreleaseStack and ObjectRetaining.
|
|
|
|
* AutoreleasePool.m: Removed retain_count stuff. Now setting
|
|
autorelease_class.
|
|
|
|
* ObjectRetaining.m: Removed stack release code.
|
|
(autorelease_class): New variable.
|
|
|
|
* objects/Retaining.h (autorelease): New method.
|
|
Added comments.
|
|
|
|
* objects/objc-gnu2next.h: Moved Object(GNUExtentions) category
|
|
from stdobject.h to here.
|
|
|
|
* Makefile.in (DIST_FILES): Added README.ULTRIX.
|
|
|
|
* Makefile.in (install,installdirs,includedir): Make NEXT_HEADERS
|
|
install to proper place: objects/next-include/.
|
|
|
|
Fri Nov 4 01:32:27 1994 Andrew McCallum (mccallum@moose.cs.rochester.edu)
|
|
|
|
* Makefile.in (diff): New target.
|
|
|
|
* Makefile.in (ADVERTISEMENT): New target.
|
|
|
|
* Version 0.1.0 released.
|
|
|
|
Thu Nov 3 19:20:28 1994 Andrew McCallum (mccallum@mustang.cs.rochester.edu)
|
|
|
|
* Connection.[hm] (connectionForward:::): Added object argument.
|
|
Use selectorTypeForProxy: if defined (NeXT_runtime).
|
|
* Proxy.m (forward::): Added object argument to connectionForward.
|
|
(selectorTypeForProxy:): Add an Object Category with this method.
|
|
|
|
* Coder.m (decodeName:): Terminate char* with 0.
|
|
|
|
* collhash.c: Use objc_malloc and friends instead of
|
|
__objc_xmalloc and friends.
|
|
|
|
* StdioStream.m (writeBytes:length:): Use fwrite, not write.
|
|
(readBytes:length:): Use fread, not read.
|
|
|
|
Wed Nov 2 20:59:36 1994 Andrew McCallum (mccallum@leopard.cs.rochester.edu)
|
|
|
|
* configure.in: Updated for Autoconf 2.0
|
|
* Makefile.in (DIST_FILES): Changed install.sh to install-sh.
|
|
(distclean): Added config.log, config.cache.
|
|
(prefix, exec_prefix): Updated for Autoconf 2.0
|
|
|
|
Fri Oct 28 18:20:28 1994 Andrew McCallum (mccallum@mustang.cs.rochester.edu)
|
|
|
|
* *.[hm]: Change many "NeXT_cc" to "NeXT_runtime"
|
|
* Proxy.[hm]: Add and use _method_types ivar if NeXT_runtime.
|
|
* objects/objc-gnu2next.h: Many addtional functions #define'd.
|
|
* objc-gnu2next.m: New file.
|
|
* Makefile.in (GNU_MFILES): Added objc-gnu2next.m.
|
|
|
|
* BinaryCoder.m (encode,decodeValueOfSimpleType:...): Added code
|
|
to write to stream directly (i.e. it does its own architecture
|
|
independent coding). This replaces previous messy code that
|
|
interfaced with the internals of GNU TypedStream's.
|
|
* Makefile.in (GNU_MFILES,GNU_HFILES): Removed bcoder-stream.[hm].
|
|
|
|
Thu Oct 27 17:39:49 1994 Andrew McCallum (mccallum@mustang.cs.rochester.edu)
|
|
|
|
* SocketPort.m (sendPacket:toPort:timeout:,
|
|
newRemoteWithNumber:onHost:): Added casts to (char*) to prevent
|
|
warnings on systems that don't have "const" on args to
|
|
gethostbyname() and sendto().
|
|
|
|
* ConnectedCoder.h: New #define's METHODTYPE_REQUEST,
|
|
METHODTYPE_REPLY.
|
|
* Connection.m (_typeForSelector:remoteTarget:): New method.
|
|
(_handleMethodTypeRequest:): New method.
|
|
(doReceivedRequestsWithTimeout:): Watch for METHODTYPE_* msgs.
|
|
(newReceivedReplyRmcWithSequenceNumber:): Likewise.
|
|
* Proxy.m (selectorTypeForProxy:): New method.
|
|
* Proxy.h (_method_types): New instance variable.
|
|
|
|
* mframe.[hm], mtypes.[hm]: New files.
|
|
* Makefile.in (GNU_MFILES): Added mframe.m
|
|
(GNU_HFILES): Added mframe.h.
|
|
(GNU_CFILES): mtypes.c.
|
|
(GNU_OTHER_SRCFILES): Added mtypes.h.
|
|
* Connection.m (connectionForward,connectionPerformAndDismissCoder):
|
|
Use functions in mframe.m instead of previous DO-specific method
|
|
frame code.
|
|
|
|
Mon Oct 24 18:41:35 1994 Andrew McCallum (mccallum@leopard.cs.rochester.edu)
|
|
|
|
* configure.in: Added AC_HEADER_CHECK for sys/rusage.h and
|
|
ucbinclude/sys/resource.h needed in Time.m on various SYSV
|
|
systems.
|
|
|
|
* *.[hm]: Changed method name encodeType: to encodeValueOfType:.
|
|
Likewise for decodeType and SimpleType method names.
|
|
|
|
Makefile.in (GNU_OTHER_SRCFILES): Removed bzero.c.
|
|
(DIST_FILES): Added README.BZERO.
|
|
configure.in: Removed bzero stuff.
|
|
|
|
Thu Oct 20 13:10:50 1994 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* IndexedCollection.m (putElement:atKey:): New method, needed for
|
|
KeyedCollecting protocol. (reported by Niels Mvller
|
|
<nisse@lysator.liu.se>)
|
|
|
|
Wed Oct 19 19:35:32 1994 Andrew McCallum (mccallum@zebra.cs.rochester.edu)
|
|
|
|
* configure.in: Look for libraries "socket" and "nsl", needed for
|
|
the distributed objects check/example programs on Solaris machine.
|
|
|
|
* checks/test01.m,test04.m,test09.m: Use lrand48 instead of random
|
|
if on Solaris machine.
|
|
|
|
Tue Oct 18 10:27:29 1994 Andrew McCallum (mccallum@graphite.cs.rochester.edu)
|
|
|
|
* Set.[hm] (*WithCollection:): Renamed from *With:.
|
|
|
|
* *.[hm]: Changed method name "initCapacity" to
|
|
"initWithCapacity". Changed method names "...Encoding:" to
|
|
"...(With)Type:" to match Coder method names.
|
|
|
|
Fri Oct 7 17:08:57 1994 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* DelegatePool.[hm], Makefile.in: Renamed "DelegateList" to
|
|
"DelegatePool" to avoid false association with List object.
|
|
|
|
Thu Sep 22 10:06:19 1994 Andrew McCallum (mccallum@llama.cs.rochester.edu)
|
|
|
|
* configure.in: Check for bzero, and include bzero.o in the
|
|
library if not. (This works around a bug in libobjc.)
|
|
* Makefile.in (GNU_OBJS): Added @BZERO@.
|
|
(GNU_OTHER_SRCFILES): Added bzero.c.
|
|
|
|
* *.m: Added methods for Coding where necessary; a few just send
|
|
-notImplemented: for now.
|
|
|
|
Tue Sep 20 20:11:57 1994 Andrew McCallum (mccallum@llama.cs.rochester.edu)
|
|
|
|
* objects/ValueHolding.h: Divided ValueHolding protocol into
|
|
ValueGetting and ValueSetting.
|
|
|
|
* GCC-BUGS, CREDITS: new files.
|
|
* Makefile.in (DIST_FILES): Added GCC-BUGS, CREDITS.
|
|
|
|
Mon Sep 19 14:42:26 1994 Andrew McCallum (mccallum@llama.cs.rochester.edu)
|
|
|
|
* LinkedList.m (successorOfElement,predecessorOfElement): return
|
|
nil when there is no such element because arg was first or last in
|
|
list; previously it raised an error.
|
|
|
|
Mon Sep 12 18:54:47 1994 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* HashTable.[hm]: Changed GNUHashState to NXHashState.
|
|
|
|
Tue Sep 6 21:11:38 1994 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* LinkedList.m, LinkedListNode.m EltNode-m: Added methods for
|
|
Coding.
|
|
|
|
Sat Aug 20 18:34:38 1994 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* examples/*: Added example files: Makefile.in, dictionary.m,
|
|
port-server.m, port-client.m, first-server.[hm], first-client.m,
|
|
second-server.[hm], second-client.[hm], textcoding.m
|
|
|
|
Fri Aug 19 18:39:06 1994 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* Collection.m, Set.m: Added new methods for Coding.
|
|
|
|
* Makefile.in: Include new files in the distribution. Add new
|
|
classes: Stream, StdioStream, MemoryStream, Coder, TextCoder,
|
|
BinaryCoder, Port, SocketPort, Connection, Proxy, ConnectedCoder,
|
|
Lock, RetainingNotifier. New protocols: Coding, Retaining,
|
|
Locking. New text files: announce.texi, ANNOUNCE, readme.texi,
|
|
README.
|
|
|
|
Thu Aug 11 12:30:20 1994 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* checks/Makefile.in (CC): Changed from gcc to @CC@.
|
|
|
|
* CircularArray.m (insertElement:atIndex:): Swapped order of
|
|
incrementCount and CIRCULAR_TO_BASIC. (Test case crash reported
|
|
by Matthias Klose <doko@cs.tu-berlin.de>.)
|
|
|
|
Wed Aug 10 12:30:45 1994 Andrew McCallum (mccallum@raccoon.cs.rochester.edu)
|
|
|
|
* Makefile.in: Defined GNU_MFILES, NeXT_MFILES, GNU_CFILES,
|
|
NeXT_CFILES, GNU_HEADERS, NeXT_HEADERS, GNU_OTHER_SRCFILES,
|
|
NeXT_OTHER_SRCFILES. Removed *OFILES. Renamed DISTFILES to
|
|
DIST_FILES.
|
|
|
|
Tue Aug 9 15:21:43 1994 Andrew McCallum (mccallum@mink.cs.rochester.edu)
|
|
|
|
* Changed name to libobjects. All files changed accordingly.
|
|
|
|
* Makefile.in (DISTFILES): Added install.sh.
|
|
|
|
Mon Aug 8 13:15:46 1994 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* Makefile.in (GOBJC_HDRS): Removed gobjc/ReferenceCounting.h.
|
|
Will be replaced by Retaining protocol.
|
|
|
|
Sun Aug 7 17:13:08 1994 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* config.nextcc.h: Created.
|
|
* configure.in: Update to use config.nextcc.h, define NeXT_cc
|
|
instead of NXcc.
|
|
Flipped the logic on NeXT32plus. (Reported by Matthias Klose
|
|
<doko@cs.tu-berlin.de>)
|
|
|
|
* Time.[hm]: Hack to make it work with Solaris rusage.
|
|
|
|
Fri Jul 22 11:41:32 1994 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* Makefile.in (dist): Makefile.depend and Makefile.local forced to
|
|
be empty files by touch.
|
|
|
|
Sat Jul 16 13:18:10 1994 R. Andrew McCallum (mccallum@ngoma)
|
|
|
|
* configure.in: Define NXcc if using NeXT's cc. Sources
|
|
#ifdef'ing (NeXT) don't distinguish between NeXT cc and gcc on a
|
|
NeXT.
|
|
*.[hm]: Change #ifdef (NeXT) to #ifdef (NXcc)
|
|
|
|
* Makefile.in: include Makefile.local.
|
|
* zone.c, gobjc/next-includes/zone.h: New files.
|
|
|
|
Wed Jul 6 16:23:16 1994 Andrew McCallum (mccallum@swan.cs.rochester.edu)
|
|
|
|
Changed name to from libcoll to libgobjc:
|
|
* All files: Changed name to "GNU Objective-C Class Library" in all
|
|
header comments.
|
|
* gobjc: Renamed coll to gobjc.
|
|
* gobjc/stdgobjc.h: Renamed from coll/collstd.h. Removed some
|
|
declarations that were already in gobjc/objc-malloc.h.
|
|
* gobjc/next-includes/objc: Created
|
|
* gobjc/next-includes/objc/
|
|
{List.h,HashTable.h,Storage.h,NXStringTable.h}: Moved from gobjc.
|
|
* Makefile.in: Names changed from libcoll to libgobjc.
|
|
* gobjc/next-include/objc/*.h: Look in objc instead of coll.
|
|
|
|
* gobjc/next-include/objc/List.h: Changed GNU_ to NX_.
|
|
|
|
Tue Jul 5 15:51:58 1994 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* Storage.m (_makeRoomForAnotherIfNecessary): Added self-> to find
|
|
ivar in assert() call. Reported by ratlifc@ctron.com (Christian
|
|
A. Ratliff).
|
|
|
|
Tue Jun 7 16:21:57 1994 Andrew McCallum (mccallum@raccoon.cs.rochester.edu)
|
|
|
|
* List.m (incrementCount): Compare numElements and maxElements by
|
|
>= instead of ==. (Reported by Paul Kunz.)
|
|
|
|
Fri Jun 3 13:26:42 1994 Andrew McCallum (mccallum@zebra.cs.rochester.edu)
|
|
|
|
* LinkedList.m (successorOfElement:,predecessorOfElement:): Added.
|
|
* (removeElementAtIndex:): Return old element.
|
|
(Both reported by nisse@lysator.liu.se)
|
|
|
|
Tue May 24 10:13:38 1994 Andrew McCallum (mccallum@brain.cs.rochester.edu)
|
|
|
|
* coll/objc-gnu2next.h (objc_read_types): Removed ## from
|
|
NXWriteTypes() and NXReadTypes(). -cpp-traditional doesn't like
|
|
it, and 'args' should never be emtpy anyway. (Reported by Stefan
|
|
Reich <reich@wmax60.mathematik.uni-wuerzburg.de>)
|
|
|
|
* checks/Makefile.in (LIBS): Removed -lobjc, added LIBOBJC, made
|
|
it conditional on NeXT cc test from configure.in.
|
|
|
|
* configure.in: Added LIBOBJC substitution.
|
|
|
|
* collstd.m: Added missing semicolon to coll_NeXT_cc_version line.
|
|
|
|
* Storage.m (_makeRoomForAnotherIfNecessary): Added assert()
|
|
checking for non-zero maxElements.
|
|
|
|
* Makefile.in (install): Changed HDRS to INSTALLHDRS. (Reported
|
|
by Matthias Klose <doko@cs.tu-berlin.de>)
|
|
|
|
Mon May 9 18:30:05 1994 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* Storage.m (initCount:elementSize:description): Make sure
|
|
maxElements >= 1. (Reported by Paul Kunz.)
|
|
|
|
These from Kresten Thorup:
|
|
* collstd.[hm] (#if NeXT): Added @interface/@end. Added
|
|
-shouldNotImplement:.
|
|
* configure.in, collstd.m: Changed NX_COMPILER_RELEASE to
|
|
NX_CURRENT_COMPILER_RELEASE.
|
|
|
|
Sun May 8 19:40:40 1994 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* configure.in: Added check for nested function support.
|
|
* config.nested.c: Created.
|
|
|
|
* Makefile.in: Removed "-include Makefile.depend". Removed
|
|
"-include Makefile.local".
|
|
|
|
* List.m (removeObjectAt:): Now returns old object. (Reported by
|
|
Paul Kunz.)
|
|
|
|
Fri May 6 11:11:17 1994 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* collstd.[hm]: Defined coll_NeXT_cc_version.
|
|
* checks/test11.m: Modified from NXStringTable test code provided
|
|
by <fedor@focus.Colorado.EDU>
|
|
* checks/Makefile.in: Added test11.m, NXStringTable.example.
|
|
* Makefile.in: Added support for NXStringTable_scan.lex
|
|
* eltfuncs.m (elt_get_encoding): Fixed bug by adding char_ptr_u.
|
|
(__init_comp_func_hashtable(): Passing elt_{hash,compare}... to
|
|
coll_hash_new.
|
|
|
|
Thu May 5 09:47:08 1994 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* Makefile.in, configure.in: Automatically check if using NeXT's
|
|
compiler. If so, add -cpp-traditional, don't compile or install
|
|
NeXT compatibility classes. If not, compile and install NeXT
|
|
compatibility classes. MAKEDEFINES now includes $(INCLUDEFLAGS).
|
|
|
|
* StringTable*: Changed name to NXStringTable*.
|
|
|
|
* collstd.[hm]: #ifdef NeXT -compare:. Added.
|
|
|
|
* eltfuncs.m: Changed to use coll/collhash.[hc] instead of
|
|
objc/hash.[hc]. Added (void*) casts to __objcx[mc]alloc.
|
|
|
|
Tue May 3 14:09:03 1994 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* Makefile.in: Removed Makefile.depend target.
|
|
|
|
Tue Apr 19 17:55:45 1994 Andrew McCallum (mccallum@zebra.cs.rochester.edu)
|
|
|
|
* Storage.m (initCount:elementSize:description, setNumSlots):
|
|
Clear the allocated memory. Patch contributed by Adam Fedor
|
|
<fedor@focus.Colorado.EDU>
|
|
|
|
* List.m (addObject:): Now calls insertObject:at:, as does NeXT's.
|
|
(removeLastObject): Now calls removeObjectAt:, as does NeXT's.
|
|
|
|
The following are minor changes to enable compilation with
|
|
NeXTSTEP 3.3 cc. Thanks to Kresten Krab Thorup.
|
|
|
|
* Collection.m (allocCopy): #ifdef NeXT object_copy takes 2 args.
|
|
* DelegateList.m (+initialize): Added.
|
|
* eltfuncs.m: Define _C_ATOM. Fix hash function types. #ifdef
|
|
NeXT add definitions for assert, objc_fatal, __objc_xmalloc,
|
|
__objc_xcalloc.
|
|
|
|
Sat Feb 26 11:39:26 1994 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* DelegateList.[hm] (delegateListCollection): Changed name from
|
|
delegateListList. Changed because what's returned is not a List.
|
|
(delegateListAddObjectIfAbsent:) Created.
|
|
|
|
Fri Jan 21 13:29:48 1994 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* Collection.m (safeWithElementsCall:,
|
|
safeWithElementsCall:whileTrue:): Removed extra -addContentsOf:.
|
|
(Reported by Allan Clearwaters <allan%mct.uucp@britain.eu.net>)
|
|
|
|
Fri Dec 17 14:45:30 1993 Andrew McCallum (mccallum@raccoon.cs.rochester.edu)
|
|
|
|
* List.m (insertObject:at:): Fixed bug that occured when trying to
|
|
insert at index zero on an empty list. (Reported by Paul Kunz)
|
|
|
|
Tue Nov 16 18:40:12 1993 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* Collecting.h, Collection.m, *.m: Renamed -includesSameContents:
|
|
to -contentsEqual:. "Equal" reminds the programmer that "isEqual"
|
|
is called on content objects. I think "Same" is used by Brad
|
|
Cox's code to mean something different from "isEqual". Later we
|
|
could add "contentsSame:" if it proves useful. Don't use
|
|
"includes" because programmers might think that we are talking
|
|
about a subset operation here---no this method tests for complete
|
|
membership equality.
|
|
IndexedCollecting.h, IndexedCollection.m: Renamed
|
|
-includesSameContentsInOrder: to -contentsEqualInOrder:.
|
|
|
|
Collection.m (isEqual:): Removed. Now we just let Object take
|
|
care of equality testing. If you want to test equality of
|
|
contents, use -hasEqualContents:.
|
|
|
|
Thu Nov 11 17:01:37 1993 Andrew McCallum (mccallum@llama.cs.rochester.edu)
|
|
|
|
* coll/KeyedCollecting.h, KeyedCollection.m: Changed
|
|
-insertObject:atKey: to putObject:atKey:. In KeyedCollection
|
|
"insert" doesn't really insert. If there already an object at
|
|
that key, it replaces. But we can't use replace because there
|
|
might not be an object at that key yet. "Insert" was a bad name
|
|
because the method replaces an element if there already is one at
|
|
that key. "Put" is different from "replace" because "put" can
|
|
place elements at keys that don't already have elements associated
|
|
with them. This naming scheme also has the advantage that we can
|
|
later use "insertObject:atKey: for a collection that allows
|
|
multiple elements at a single key.
|
|
|
|
* Makefile.in, coll/collstd.h, collstd.m: Moved version
|
|
information from version.c to collstd files.
|
|
(version.c): Removed.
|
|
|
|
* Time.m: (indexOf...Name, nameOf...Index): Implemented.
|
|
|
|
Wed Nov 10 13:36:06 1993 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* Collection.m: (-includesSameContents:): Added a check for same
|
|
comparisonFunction.
|
|
(-compare:): Implemented.
|
|
|
|
* IndexedCollection.m (-indexOfFirstIn:, -indexOfFirstNotIn:):
|
|
Implemented.
|
|
|
|
* readme.texi, news.texi: Created. Changed Makefile to support
|
|
these.
|
|
|
|
* checks, checks/Makefile.in: Renamed tests directory to checks.
|
|
Created autoconf Makefile.in for checks directory.
|
|
|
|
Wed Nov 3 10:27:52 1993 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* coll/Collecting.h: (newEnumState, freeEnumState:) Added. Now
|
|
we can avoid memory leaks. Later we can built an Iterator class
|
|
on top of these methods if we like.
|
|
*.m: Make use of new enum state methods.
|
|
|
|
* IndexedCollection.m (indexOfFirstDifference:) Implemented.
|
|
|
|
Tue Nov 2 13:40:34 1993 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* RBTree.m (removeElement:,_RBTreeDeleteFixup): Added. RBTree
|
|
should now be operational.
|
|
|
|
* BinaryTree.m, RBTree (nilNode): Added. Now using this sentinal
|
|
to make a few operations more efficient.
|
|
|
|
Mon Nov 1 15:07:48 1993 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* *.m: Made sure all function pointers are dereferenced when
|
|
called.
|
|
|
|
* SplayTree.m (-splayNode:, -sortAddElement:byCalling:,
|
|
-insertElement:after:, -insertElement:before:,
|
|
-insertElement:atIndex:, -removeElement:,
|
|
-_doSplayOperationOnNode:): Added. SplayTree should now be
|
|
operational.
|
|
|
|
* eltfuncs.m (elt_fprintf_elt): Now passing "l" when fprintf'ing
|
|
... long elements.
|
|
|
|
* coll/CollectionPrivate.h (RETURN_BY_CALLING_EXCEPTION_FUNCTION):
|
|
No longer uses __builtin_apply and __builtin_return unnecessarily.
|
|
|
|
Sun Oct 31 12:34:55 1993 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* BinaryTree.m (-leftRotateAroundNode:, -rightRotateAroundNode:):
|
|
Fixed bug occurring when rotation child is nil.
|
|
(rootNode): Added.
|
|
|
|
* Collection.m, KeyedCollection.m, IndexedCollection.m
|
|
(-...Object:...): Added CHECK_CONTAINS_OBJECTS_ERROR;
|
|
|
|
Fri Oct 29 14:22:41 1993 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* KeyedCollection.m, Collection.m: Removed use of LAMBDA().
|
|
|
|
Thu Oct 28 15:44:23 1993 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* coll/Time.h: Removed <Ordering> from @interface line.
|
|
|
|
Tue Oct 26 8:32:48 1993 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* Released version 931026.
|
|
|
|
Mon Oct 25 12:41:28 1993 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* coll/*Collecting.h: Removed shallowCopy... methods with weird
|
|
options. These can be done easily and more flexibly with
|
|
enumerations.
|
|
|
|
* coll/*Collecting.h, *Colletion.m: Removed definition and use of
|
|
COLL_NO_ELEMENT, COLL_NO_OBJECT, COLL_NO_KEY, COLL_NO_INDEX.
|
|
Added ...ifAbsentCall: methods to replace this functionality.
|
|
|
|
* coll/Collecting.h, Collection.m: ...AllOccurrences... methods
|
|
now return self.
|
|
|
|
Thu Oct 21 17:41:49 1993 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* libcoll.texi: Created.
|
|
|
|
Tue Oct 19 10:25:34 1993 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* coll/Collecting.h: Changed method name -freeContents to
|
|
-freeObjects. Both names are pretty clear, and the later has the
|
|
advantage of compatibility with NeXT.
|
|
|
|
* coll/Collecting.h: Changed method name -containsObjects to
|
|
-contentsAreObjects. The previous name could be interpretted as
|
|
testing whether or not the collection was empty; in fact this
|
|
method just tests whether or not the collection was initialized to
|
|
hold objects (i.e. initEncoding:@encode(id)).
|
|
|
|
* coll/collstd.h: Added #define's for defining nested functions
|
|
in the argument position: LAMBDA, LAMBDA_VOID_PERFORM,
|
|
LAMBDA_ID_PERFORM, LAMBDA_BOOL_PERFORM.
|
|
|
|
* coll/Collecting.h, KeyedCollecting.h, IndexedCollecting.h:
|
|
Removed many methods for various combinations of perform:,
|
|
perform:with:, perform:in, perform:in:with:. All these can now be
|
|
replaced with ...ByCalling: methods now that we can easily define
|
|
nested functions with the LAMBDA macro's. These methods really
|
|
ballooned the size of the protocols, and they still didn't provide
|
|
all the potentially useful conbinations. This new scheme is far
|
|
more flexible. I left the -makeObjectsPerform: and
|
|
-makeObjectsPerform:with: for compatibility with NeXT.
|
|
|
|
Mon Oct 18 15:18:01 1993 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* eltfuncs.m: Fixed overflow bug in compare functions.
|
|
|
|
Fri Oct 8 11:47:56 1993 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* List.m (replaceObjectAt:): Now returns oldObject.
|
|
(makeObjectsPerform:with:): Now uses perform:with:.
|
|
Removed -sortUsingMethod:inObject:.
|
|
|
|
* coll/SortedArray.h: removed.
|
|
|
|
Thu Sep 30 10:52:14 1993 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* List.m (makeObjectsPerform:, makeObjectsPerform:with:): Removed
|
|
dependence on _makeObjects...:reverseOrder:. Using #if instead.
|
|
|
|
* Bag.m (removeElement:occurrences:): Added. Bag will now cause
|
|
error if you try to remove an element that's not there, or not
|
|
there enough times.
|
|
|
|
Tue Sep 28 11:49:42 1993 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* List.m, Storage.m: Now use objc_malloc/OBJC_MALLOC and friends
|
|
instead of malloc and friends.
|
|
|
|
* Makefile.in, configure.in: Created. Now libcoll works with
|
|
autoconf. Also made some changes to *.m to take advantage of
|
|
autoconf.
|
|
|
|
* collstd.m: Changed definition of free(). (thanks to
|
|
krab@iesd.auc.dk)
|
|
|
|
Mon Sep 27 09:59:25 1993 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* Bag.m (-uniqueCount): Added.
|
|
|
|
* HashTable.m (-initKeyDesc:valueDesc:capacity:) Increased
|
|
portability for {long, unsigned} ints.
|
|
|
|
* IndexedCollecting.h, IndexedCollection.m: Added
|
|
-safe...InReverse methods.
|
|
|
|
* List.m (copy): Added. In order to force -shallowCopy for
|
|
compatibility with NeXT.
|
|
|
|
* collhash.[hc] (coll_hash_empty): Added.
|
|
|
|
* Collecting.h, Collection.m: (-safe...) Added these enumerators
|
|
for doing enumerations while changing the contents of the
|
|
collection.
|
|
|
|
* Collecting.h, Collection.m: (-initWithContentsOf:) Added. This
|
|
allows for certain efficiencies, like init'ing an Array with the
|
|
needed capacity from the start.
|
|
|
|
Sat Sep 25 12:20:18 1993 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* Collection.m, KeyedCollection, IndexedCollection.m: Extracted
|
|
message -comparisonFunction from inside loops to improve
|
|
efficiency.
|
|
|
|
* Collecting.h, Collection.m: Removed the -shallowCopySelect...,
|
|
etc methods and replaced them with -withElementsTrueBy..., etc
|
|
methods. These shallowCopy methods make lots of sense in
|
|
SmallTalk where garbage collection makes enumeration on
|
|
temporary collections useful for iteration, but in ObjC I think
|
|
methods with a little more flexibility would be more helpful. I
|
|
also wanted to add more options to those {select,reject,collect}
|
|
methods: 1) the option of deep or shallow copies, 2) the option of
|
|
changing the class of the new copy. But if done in the old
|
|
framework this would have exploded the number of methods. The new
|
|
framework allows all the old functionality, plus the new options,
|
|
plus the option to do something useful without creating a new
|
|
collection.
|
|
|
|
Tue Sep 21 11:52:46 1993 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* *.m: Added -emptyCopy based on -allocCopy. Subclasses override
|
|
to take care of instance vars that must change.
|
|
|
|
* Collecting.h, Collection.m: Changed -addCount:... to
|
|
-addObjectsCount:... and -addElementsCount:...
|
|
|
|
Mon Sep 20 17:05:10 1993 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* *.[hm]: Added code for archiving: -write:, writeInit:,
|
|
writeContents:, -read:, readInit:, readContents:. I'm not sure
|
|
this division of labor is the best. I'm open to suggestions for
|
|
different implementations.
|
|
|
|
* *.[hm]: Changed all instances of the word "description" to
|
|
"encoding". Objective-C already uses @encode() for these things.
|
|
We shouldn't introduce new vocabulary for refering to the same
|
|
thing.
|
|
|
|
* *.[hm]: Removed methods that allowed specification of
|
|
comparison function independent of encoding. This will allow us
|
|
to archive the comparison function by archiving the encoding.
|
|
Most people will be able to get custom comparisons by overriding
|
|
-compare:. If you really, really need some new weird comparisons
|
|
for non-objects, you can still subclass the collection and
|
|
override -comparisonFunction. If people think that we will want
|
|
to want custom comparisons of non-objects *very often*, then we
|
|
come up with another scheme that still allows meaningful archiving
|
|
of comparison functions.
|
|
|
|
Sun Sep 19 19:30:02 1993 Andrew McCallum (mccallum@swan.cs.rochester.edu)
|
|
|
|
* coll/eltfuncs.[hm]: Created. Moved functions for manipulating
|
|
elt's from CollectionPrivate.h to eltfuncs.h. This makes elt a
|
|
little more separate from libcoll, so others can use it too. I
|
|
changed the prefix on the names accordingly from coll_ to elt_.
|
|
Also, added function for getting encoding from comparison
|
|
function. Also, declared all elt_compare_ and elt_hash_ functions
|
|
extern.
|
|
|
|
Thu Sep 9 09:49:29 1993 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* LinkedListEltNode.[hm], BinaryTreeEltNode.[hm],
|
|
RBTreeEltNode.[hm]: Created these files and moved EltNode code
|
|
into them. This cleanly separates the basic LinkedList code from
|
|
the EltNodeCollector stuff (and similarly for BinaryTree and
|
|
RBTree). The EltNode stuff strikes me as being a little messy;
|
|
with this separation we can easily replace it later with something
|
|
cleaner (if we can think of something cleaner).
|
|
|
|
* elt.h, *.m: Changed elt union names from *_t to *_u, following
|
|
suggestion of Burchard: *_t should be reserved for type names.
|
|
|
|
Tue Aug 31 11:40:29 1993 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* Storage.[hm], List.[hm]: Removed many extra features that
|
|
aren't in the NeXT implementations. Our goal for these NeXT-based
|
|
objects should be compatibility, not kitchen-sink features. Let
|
|
people add features in Categories if they need them.
|
|
|
|
* Storage.[hm]: Fixed return type for -removeLastElement to match
|
|
NeXT. Unfortunately this conflicts with the IndexedCollecting
|
|
declaration (NeXT's returns self, IndexedCollecting returns the
|
|
removed element). I really think methods that remove elemements
|
|
should return that element. We're just going to have to live with
|
|
this conflict.
|
|
|
|
* Storage.[hm]: Changed declaration of instance var 'dataPtr'
|
|
from void** to void*, to match NeXT.
|
|
|
|
* IndexedCollecting.h, IndexedCollection.m: Added -sortContents;
|
|
|
|
Thu Aug 26 17:47:59 1993 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* List.m: Changed default order of -makeObjectsPerform... and
|
|
fixed comment to match NeXTSTEP reality.
|
|
|
|
Wed Jul 10 14:38:23 1993 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* BinaryTree.m, RBTree.m, EltNodeCollector.[hm]: Created.
|
|
|
|
Wed Jun 2 11:48:08 1993 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* IndexedCollecting.h: Added
|
|
- successorOfObject: anObject;
|
|
- predecessorOfObject: anObject;
|
|
- (elt) successorOfElement: (elt)anElement;
|
|
- (elt) predecessorOfElement: (elt)anElement;
|
|
|
|
* BinaryTree.h, RBTree.h: Created.
|
|
|
|
Mon May 31 13:33:42 1993 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* Time.[hm]: Threw a Time object I wrote a while ago into the
|
|
.tar file. Maybe someone will find it useful.
|
|
|
|
* IndexedCollecting.h, IndexedCollection.m: Added methods:
|
|
- (unsigned) indexOfFirstDifference: (id <IndexedCollecting>)aColl;
|
|
- (unsigned) indexOfFirstIn: (id <Collecting>)aColl;
|
|
- (unsigned) indexOfFirstNotIn: (id <Collecting>)aColl;
|
|
They fit well with desired functionality for Strings, but may also
|
|
be generally useful.
|
|
|
|
* Created preliminary String class. It's very preliminary; I just
|
|
want to see how it will fit with IndexedCollecting.
|
|
|
|
* Overhauled instance variables in heirarchy. Removed all
|
|
instance variables from abstract superclasses. This makes
|
|
subclassing an abstract superclass a bit more of a pain, but it
|
|
helps keep memory requirements down, especially for String,
|
|
LinkList and all IndexedCollections.
|
|
|
|
Sat May 29 11:27:01 1993 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* IndexedCollection.m: Made cast of void* to unsigned more
|
|
portable.
|
|
|
|
Fri May 28 17:00:14 1993 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* IndexedCollecting.h, IndexedCollection.m: Added
|
|
-insertContentsOf:atIndex: modified from Kresten Krab Thorup.
|
|
|
|
* Collecting.h, Collection.m: Added {Object,Element} to inject,
|
|
detect, max and min methods.
|
|
|
|
Wed May 26 12:20:21 1993 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* Overhauled error generation. Changed #define's so error
|
|
generation is easier to change again later, if necessary. Error
|
|
methods now have forwarding capability. See CollectionPrivate.h,
|
|
Collection.m, IndexedCollectionPrivate.h, IndexedCollection.m.
|
|
|
|
* *.m: Fixed many small bugs found with -Wall.
|
|
|
|
* Created Heap object.
|
|
|
|
* Collection.m: Fixed -includesSameContents.
|
|
|
|
* Collecting.h, Collection.m: Added -isSubsetOf: as written by
|
|
Kresten Krab Thorup. Removed -includesSubsetOf:.
|
|
|
|
Tue May 25 14:14:33 1993 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* Removed ComparedCollecting protocol. Its only purpose was to
|
|
allow the user to manage a comparison function---this was silly,
|
|
though, because there already was a comparison function inherited
|
|
from Collection! No need to have two of them. Now that there is
|
|
a general interface for user-specified comparison functions, we
|
|
don't need the ComparedCollecting methods. This is a big help
|
|
because we no longer have the problem of trying to combine a
|
|
ComparedCollection class and Array class with some ugly multiple
|
|
inheritance issues. One disadvantage, however, is that it is
|
|
slightly more complicated to specify a comparator that is a
|
|
selector.
|
|
|
|
* Overhauled comparison and hash functions. More changes than I
|
|
want to describe in detail here... 1) Created temporary versions
|
|
of hash.[hc] that do what I want, hopefully Kresten's new versions
|
|
of hash.[hc] will do something like this. Created collhash.[hc].
|
|
2) Added -init... methods that allow the users to specify their own
|
|
comparison and hash functions instead of accepting the defaults.
|
|
|
|
Mon May 24 10:46:21 1993 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* Collecting.h, Collection.m: Removed -initWith:,... and
|
|
-initDescription:with:,... methods. I don't want to add ..with:
|
|
version of all -init... methods. People can use addCount,...
|
|
instead.
|
|
|
|
* Created IdListLink.[hm]. Changed -linkClass in ListedList.m to
|
|
return [IdListLink class] if LinkedList contains objects.
|
|
|
|
* Collecting.h, elt.h: Moved definition of elt union to
|
|
<coll/elt.h>
|
|
|
|
* List.m: -isEqual: now checks [List count] at beginning.
|
|
|
|
* List.m: -empty no longer realloc()'s. (for compatibility with
|
|
NeXT.)
|
|
|
|
* List.[hm]: Added
|
|
- makeObjectsPerform:(SEL)aSel reverseOrder:(BOOL)flag;
|
|
- makeObjectsPerform:(SEL)aSel with:anObject reverseOrder:(BOOL)flag;
|
|
and changed -makeObjectsPerform: and -makeObjectsPerform:with: to
|
|
call them. This gives the option of compatibility with
|
|
pre-NeXTSTEP 3.0 List's.
|
|
|
|
Sat May 22 13:53:25 1993 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* Collection.m, Collecting.h: Changed type of initialArg from
|
|
void* to elt in inject.. methods.
|
|
|
|
Fri May 21 18:52:03 1993 Andrew McCallum (mccallum@vein.cs.rochester.edu)
|
|
|
|
* First alpha release announced on gnu-objc@prep.ai.mit.edu
|
|
|