Commit graph

984 commits

Author SHA1 Message Date
mccallum
32b5f18ba1 ([NSUnarchiver +initialize]): Test self against NSUnarchiver class.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1482 72102866-910b-0410-8b05-ffd578937521
1996-04-19 23:13:51 +00:00
mccallum
6687fc397a (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.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1481 72102866-910b-0410-8b05-ffd578937521
1996-04-19 23:12:59 +00:00
mccallum
1e171d13a7 (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.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1480 72102866-910b-0410-8b05-ffd578937521
1996-04-19 23:05:57 +00:00
mccallum
e16a142cde Include gnustep/base/Archiver.h.
([Coder +archivedDataWithRootObject:]): Use Archiver class, not
NSArchiver, it matters because now the two classes handle forward
references differently.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1479 72102866-910b-0410-8b05-ffd578937521
1996-04-19 22:59:11 +00:00
mccallum
26d90fec56 (Foundation): Fix dependancy to force proper handling after a cvs
checkout.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1476 72102866-910b-0410-8b05-ffd578937521
1996-04-18 12:31:52 +00:00
mccallum
986b9760cf ([Decoder -decodeObjectAt:anObjPtr:name]): Decode the Unindent
*before* decoding the fref; as does Encoder!


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1466 72102866-910b-0410-8b05-ffd578937521
1996-04-18 01:47:52 +00:00
mccallum
3228ed0477 Change R. Andrew McCallum to post-marriage name: Andrew Kachites McCallum
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1456 72102866-910b-0410-8b05-ffd578937521
1996-04-17 20:17:45 +00:00
mccallum
c9390386a4 Rename in comments from GNU Objective C Class Library to Gnustep Base Library.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1454 72102866-910b-0410-8b05-ffd578937521
1996-04-17 20:01:09 +00:00
mccallum
dbe4613ced Rename in comments from GNU Objective C Class Library to Gnustep Base Library.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1451 72102866-910b-0410-8b05-ffd578937521
1996-04-17 19:55:26 +00:00
mccallum
2361a6f94f Rename all objects_* to o_*.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1445 72102866-910b-0410-8b05-ffd578937521
1996-04-17 19:26:04 +00:00
mccallum
e819b08f9c ([NSGSet -isEqual:]): Call isEqualToSet: (in superclass).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1444 72102866-910b-0410-8b05-ffd578937521
1996-04-17 19:21:57 +00:00
mccallum
db3c8a5a51 Use preface.h instead of stdobjects.h.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1439 72102866-910b-0410-8b05-ffd578937521
1996-04-17 19:04:15 +00:00
mccallum
e667c9e3fa Change all include objects/*.h to include gnustep/base/*.h.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1438 72102866-910b-0410-8b05-ffd578937521
1996-04-17 19:02:37 +00:00
mccallum
82d3aa098e File deleted.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1437 72102866-910b-0410-8b05-ffd578937521
1996-04-17 19:01:47 +00:00
mccallum
2e03d0fb4d Change all include objects/*.h to include gnustep/base/*.h.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1436 72102866-910b-0410-8b05-ffd578937521
1996-04-17 19:01:22 +00:00
mccallum
27129f6452 ([CStream -writeSignature]): Use new version macro names.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1435 72102866-910b-0410-8b05-ffd578937521
1996-04-17 18:59:34 +00:00
mccallum
8d708fb335 (__gnustep_base_subinit_args__): Renamed from libobjects...
(main): Use gnustep_base_user_main, not LibobjectsMain.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1431 72102866-910b-0410-8b05-ffd578937521
1996-04-17 17:37:22 +00:00
mccallum
b6640ad777 Include objc-malloc.h from gnustep/base.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1429 72102866-910b-0410-8b05-ffd578937521
1996-04-17 17:31:02 +00:00
mccallum
a937ffc633 (Foundation): Add step to get rid of old Foundation directory that
would come from a CVS checkout.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1428 72102866-910b-0410-8b05-ffd578937521
1996-04-17 17:10:43 +00:00
mccallum
3bfd520e88 Adjust comment.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1427 72102866-910b-0410-8b05-ffd578937521
1996-04-17 16:58:44 +00:00
mccallum
7b0fbbd162 (include/preface.h): Make substitutions for macro name, as well as value.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1421 72102866-910b-0410-8b05-ffd578937521
1996-04-17 15:40:18 +00:00
mccallum
89d67bb808 Fix typo; it is preface.h, not prefix.h.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1420 72102866-910b-0410-8b05-ffd578937521
1996-04-17 15:34:35 +00:00
mccallum
d4b12b4053 Change all include objects/*.h to include gnustep/base/*.h.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1419 72102866-910b-0410-8b05-ffd578937521
1996-04-17 15:23:00 +00:00
mccallum
6cc570eca1 (all): Add dependancy on `Foundation'.
(Foundation): New target.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1418 72102866-910b-0410-8b05-ffd578937521
1996-04-17 15:17:52 +00:00
mccallum
54a1fed9d9 Update names of global const char's.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1417 72102866-910b-0410-8b05-ffd578937521
1996-04-17 15:08:10 +00:00
mccallum
6fe53d1e3c Don't assume the `lib' prefix is included in $(LIBRARY_NAME).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1413 72102866-910b-0410-8b05-ffd578937521
1996-04-17 14:52:22 +00:00
mccallum
2ad329bbc6 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.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1409 72102866-910b-0410-8b05-ffd578937521
1996-04-17 14:41:15 +00:00
mccallum
643ad61075 File deleted.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1408 72102866-910b-0410-8b05-ffd578937521
1996-04-17 14:33:00 +00:00
mccallum
46a2a3d9f3 File deleted.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1406 72102866-910b-0410-8b05-ffd578937521
1996-04-17 13:34:36 +00:00
mccallum
46d78ca8f1 File deleted.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1404 72102866-910b-0410-8b05-ffd578937521
1996-04-17 13:14:40 +00:00
mccallum
9a8e1a650b ([NotificationDispatcher
-_addObserver:notificationRequest:name:object:]): Don't release NR here.
([NotificationDispatcher -addInvocation:name:object:]): Release it here.
([NotificationDispatcher -addObserver:selector:name:object:]): Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1388 72102866-910b-0410-8b05-ffd578937521
1996-04-17 00:29:24 +00:00
mccallum
4836bf8c2e (debug_tcpport): Changed from 1 to 0; don't print debugging messages.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1386 72102866-910b-0410-8b05-ffd578937521
1996-04-16 23:28:35 +00:00
mccallum
8f242feadf (debug_proxy): Changed from 1 to 0; don't print debugging messages.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1385 72102866-910b-0410-8b05-ffd578937521
1996-04-16 23:28:14 +00:00
mccallum
4544d06b79 (debug_connection): Changed from 1 to 0; don't print debugging
messages.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1384 72102866-910b-0410-8b05-ffd578937521
1996-04-16 23:27:53 +00:00
mccallum
aff8870c71 ([NSArrayNonCore -arrayByAddingObject:]): Autorelease the returned
array.
([NSArrayNonCore -arrayByAddingObjectsFromArray:]): Likewise.
([NSArrayNonCore -subarrayWithRange:]): Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1383 72102866-910b-0410-8b05-ffd578937521
1996-04-16 23:22:08 +00:00
mccallum
3ecc0f9d4d (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.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1381 72102866-910b-0410-8b05-ffd578937521
1996-04-16 22:38:28 +00:00
mccallum
eebe43a13b Only declare "id MemoryExchaustedException" #ifdef __OBJC__. This
allows <objects/objc-malloc.h> to be include in non-ObjC files, i.e. C
files.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1380 72102866-910b-0410-8b05-ffd578937521
1996-04-16 22:18:32 +00:00
mccallum
1ba2a634c9 Include <objects/stdobjects.h> first.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1379 72102866-910b-0410-8b05-ffd578937521
1996-04-16 22:17:34 +00:00
mccallum
5b483ea611 ([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.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1375 72102866-910b-0410-8b05-ffd578937521
1996-04-16 22:01:18 +00:00
mccallum
313ef47ba4 ([Heap -heapifyFromIndex:]): Swap -compare: receiver and argument, so
firstObject is minimum instead of maximum object.
([Heap -addObject:]): Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1371 72102866-910b-0410-8b05-ffd578937521
1996-04-16 21:29:00 +00:00
mccallum
062a995fe7 ([NSGDictionaryObjectEnumerator -nextObject]): Return the key, not the
object.
([NSGDictionary -objectForKey:]): Method moved from
NSGMutableDictionary.
([NSGMutableDictionary +initialize]): Don't use static variable in
test.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1370 72102866-910b-0410-8b05-ffd578937521
1996-04-16 02:52:13 +00:00
mccallum
6ae9416376 ([KeyEnumerator -initWithCollection:]): New method.
([KeyEnumerator -nextObject]): New method.
([KeyEnumerator -dealloc]): New method.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1369 72102866-910b-0410-8b05-ffd578937521
1996-04-16 02:50:42 +00:00
mccallum
811ad24881 ([LinkedList -encodeWithCoder:]): New method.
([LinkedList -initWithCoder:]): New method.
([LinkedList -_initCollectionWithCoder:]): Method removed.
([LinkedList -_encodeContentsWithCoder:]): Method removed.
([LinkedList -_decodeContentsWithCoder:]): Method removed.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1366 72102866-910b-0410-8b05-ffd578937521
1996-04-14 16:00:07 +00:00
mccallum
fc619424b7 ([Coder -encodeConditionalObject:]): Don't use old, removed method
name to see if object has already been encoded.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1365 72102866-910b-0410-8b05-ffd578937521
1996-04-14 15:58:03 +00:00
mccallum
f64eb0baae (debug_binary_coder): Explicitly set to zero.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1364 72102866-910b-0410-8b05-ffd578937521
1996-04-14 00:59:58 +00:00
mccallum
a692b70a7a Fix typo.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1363 72102866-910b-0410-8b05-ffd578937521
1996-04-13 19:57:11 +00:00
mccallum
918e1fcfd3 ([Coder (Private) -_coderReferenceForObject:): Renamed from
old-xref-scheme "_coderHasObjectReference:.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1362 72102866-910b-0410-8b05-ffd578937521
1996-04-13 19:55:26 +00:00
mccallum
192ff064ea Add comments to CONNECTION_WIDE_OBJECT_REFERENCES section.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1361 72102866-910b-0410-8b05-ffd578937521
1996-04-13 19:54:19 +00:00
mccallum
d544aacf47 ([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.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1359 72102866-910b-0410-8b05-ffd578937521
1996-04-13 19:29:39 +00:00
mccallum
12a9901113 ([Encoder -_encodeObject:withName:isBycopy:isForwardReference:]): See
if object satisfies a forward reference *after* encoding it.  This is
necessary because the encoding of subobjects may generate forward
references.  (In a sense, this undoes the last change, but it is
significantly different in that we test whether the object is in the
object_2_fref table *after* encoding the object; before 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.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1358 72102866-910b-0410-8b05-ffd578937521
1996-04-13 19:27:23 +00:00
mccallum
9f5a3aa82c (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.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1357 72102866-910b-0410-8b05-ffd578937521
1996-04-13 19:21:07 +00:00
mccallum
0ebd08872c ([ConstantCollection -_decodeContentsWithCoder:]): Use alloca(), not
objc_malloc(), plugging memory leak.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1356 72102866-910b-0410-8b05-ffd578937521
1996-04-13 18:37:57 +00:00
mccallum
eba65f78eb ([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.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1355 72102866-910b-0410-8b05-ffd578937521
1996-04-13 17:49:22 +00:00
mccallum
94ed47bd55 (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.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1354 72102866-910b-0410-8b05-ffd578937521
1996-04-12 21:13:12 +00:00
mccallum
82098fd24f ([StdioStream -writeBytes:length:]): Check for error condition, and
report.  Reporting scheme needs fixing.
([StdioStream -readBytes:length:]): Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1353 72102866-910b-0410-8b05-ffd578937521
1996-04-12 21:11:11 +00:00
mccallum
2332831d4f ([LinkedList -_decodeContentsWithCoder:]): Step through the new list,
and send -setLinkedList:, otherwise the links don't properly know
about their parent LinkedList.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1352 72102866-910b-0410-8b05-ffd578937521
1996-04-12 21:10:15 +00:00
mccallum
7e4f9c510e ([Encoder -initForWritingToStream:withFormatVersion:cStreamClass
:cStreamFormatVersion:]): Initialize new ivar.
([Encoder -_coderCreateForwardReferenceForObject:]): Use new ivar to
`gensym' a new forward reference.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1351 72102866-910b-0410-8b05-ffd578937521
1996-04-12 21:09:24 +00:00
mccallum
38b8b74f50 ([Decoder -_coderSatisfyForwardReference:withObject:]): Create
fref_2_object with NSNonOwnedPointerMapValueCallBacks, not
NSObjectMapValueCallBacks.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1350 72102866-910b-0410-8b05-ffd578937521
1996-04-12 21:08:06 +00:00
mccallum
caf331e0e6 ([Encoder -_coderCreateForwardReferenceForObject:]): Initialize the
OBJECT_2_FREF ivar, if it hasn't been already.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1349 72102866-910b-0410-8b05-ffd578937521
1996-04-10 21:30:10 +00:00
mccallum
03d62d7e71 (MemoryExhaustedException): Declare this global variable; note that
now objc-malloc.h cannot be included in .c files, only .m files.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1348 72102866-910b-0410-8b05-ffd578937521
1996-04-10 20:47:02 +00:00
mccallum
dce5dfe236 Changed from objc-malloc.c. Raise a MemoryExhaustedException with
NSException instead of calling objc_fatal.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1347 72102866-910b-0410-8b05-ffd578937521
1996-04-10 20:46:03 +00:00
mccallum
daea1ad502 File deleted.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1346 72102866-910b-0410-8b05-ffd578937521
1996-04-10 20:30:35 +00:00
mccallum
a12d8aba24 (GNU_CFILES): Removed objc-malloc.c.
(GNU_MFILES): Added objc-malloc.m.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1344 72102866-910b-0410-8b05-ffd578937521
1996-04-10 20:21:46 +00:00
mccallum
724e71f960 (GNUSTEP_MFILES): Added NSRunLoop.m.
(GNUSTEP_HEADERS): Added Foundation/NSRunLoop.h.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1343 72102866-910b-0410-8b05-ffd578937521
1996-04-10 18:21:47 +00:00
mccallum
3c5f1b1640 New file.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1341 72102866-910b-0410-8b05-ffd578937521
1996-04-10 18:20:36 +00:00
mccallum
7df9cb9436 ([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.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1340 72102866-910b-0410-8b05-ffd578937521
1996-04-10 16:40:25 +00:00
mccallum
272a2c30fd (mframe_do_call): Use sel_get_type() instead of
class_get_instance_method() to get the selector type.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1339 72102866-910b-0410-8b05-ffd578937521
1996-04-10 16:37:30 +00:00
mccallum
ea181197c4 (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.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1337 72102866-910b-0410-8b05-ffd578937521
1996-04-09 23:55:42 +00:00
mccallum
a2f9fe90a6 ([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().


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1336 72102866-910b-0410-8b05-ffd578937521
1996-04-09 03:02:20 +00:00
mccallum
2cff25e764 ([NSDictionary -allKeysForObject:]): Ask SELF for objectForKey:, not K.
(Reported by Robert Quillen <rquillen@csugrad.cs.vt.edu>).


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1335 72102866-910b-0410-8b05-ffd578937521
1996-04-08 17:19:16 +00:00
mccallum
b6064633dc (ABS): Remove macro.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1333 72102866-910b-0410-8b05-ffd578937521
1996-04-01 02:52:12 +00:00
mccallum
49d377aca8 ([MappedCollector -nextObjectAndKey:withEnumState:]): Add comment.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1331 72102866-910b-0410-8b05-ffd578937521
1996-04-01 02:50:55 +00:00
mccallum
e31f91035b ([MappedCollector -newEnumState]): New method.
([MappedCollector -freeEnumState:]): New method.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1329 72102866-910b-0410-8b05-ffd578937521
1996-04-01 02:41:44 +00:00
mccallum
fa05569ce8 (ABS): Remove macro; now defined in objects/stdobjects.h.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1328 72102866-910b-0410-8b05-ffd578937521
1996-03-31 23:15:12 +00:00
mccallum
9a4abde655 Declare new function names.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1327 72102866-910b-0410-8b05-ffd578937521
1996-03-31 22:46:59 +00:00
mccallum
5b640895e7 Add #ifndef/#endif wrapper around header file.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1326 72102866-910b-0410-8b05-ffd578937521
1996-03-31 22:46:44 +00:00
mccallum
c20c905fe0 (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.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1325 72102866-910b-0410-8b05-ffd578937521
1996-03-31 22:46:14 +00:00
mccallum
ff771f9d6b ([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.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1324 72102866-910b-0410-8b05-ffd578937521
1996-03-31 22:34:27 +00:00
mccallum
048f55528d Divide methods between NSArray and NSArrayNonCore classes. Add
NSArrayNonCore behavior to NSArray.
Divide methods between NSMutableArray and NSMutableArrayNonCore
classes.  Add NSArrayNonCore behavior to NSArray.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1323 72102866-910b-0410-8b05-ffd578937521
1996-03-31 22:23:37 +00:00
mccallum
e5e9e8c0e8 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).


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1319 72102866-910b-0410-8b05-ffd578937521
1996-03-31 21:54:02 +00:00
mccallum
a4e8ca1af5 (GNU_CFILES): Removed behavior.c.
(GNU_MFILES): Added behavior.m.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1318 72102866-910b-0410-8b05-ffd578937521
1996-03-31 21:43:41 +00:00
mccallum
af64387855 *** empty log message ***
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1317 72102866-910b-0410-8b05-ffd578937521
1996-03-31 21:41:02 +00:00
mccallum
00e53dbf51 ([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.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1314 72102866-910b-0410-8b05-ffd578937521
1996-03-30 23:00:27 +00:00
mccallum
b5e1608e0c 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.
(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.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1311 72102866-910b-0410-8b05-ffd578937521
1996-03-30 22:39:48 +00:00
mccallum
48f6007abf Fix typo.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1310 72102866-910b-0410-8b05-ffd578937521
1996-03-30 22:22:20 +00:00
mccallum
007a6058c4 Change return types of "grow factor" methods from unsigned to int.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1309 72102866-910b-0410-8b05-ffd578937521
1996-03-30 22:21:48 +00:00
mccallum
7fec33d756 ([IndexedCollection -removeObject:]): Use unsigned for index, not int.
([IndexedCollection -replaceObject:withObject:]): Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1308 72102866-910b-0410-8b05-ffd578937521
1996-03-30 22:21:11 +00:00
mccallum
21ac08e531 (NO_INDEX): Change from UINT_MAX to NSNotFound, so that Array and
NSArray can coexist.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1305 72102866-910b-0410-8b05-ffd578937521
1996-03-30 22:07:46 +00:00
mccallum
7c3fd4aafc ([NSArray -isEqualToArray:]): Fix typo; reverse test before 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.
([NSMutableArray -removeObject:]): Likewise.
([NSMutableArray -removeAllObjects]): Implemented by Scott Christley.
([NSMutableArray -setArray:]): New function, from Scott Christley.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1304 72102866-910b-0410-8b05-ffd578937521
1996-03-30 19:14:43 +00:00
mccallum
674f7c6e4c ([IndexedCollection -removeObject:]): Now removes *all* instances of
ANOBJECT, not just one.
([IndexedCollection -replaceObject:withObject:]): Now replaces *all*
instances of OLDOBJECT, not just one.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1303 72102866-910b-0410-8b05-ffd578937521
1996-03-30 19:04:35 +00:00
mccallum
378daed2e4 (ABS): New macro, defined if not already defined.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1302 72102866-910b-0410-8b05-ffd578937521
1996-03-30 16:01:43 +00:00
mccallum
56a21444df Fix typos in method types.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1301 72102866-910b-0410-8b05-ffd578937521
1996-03-30 15:58:28 +00:00
mccallum
5a42421e5b (Array _grow_factor): Change type of ivar from unsigned to int.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1300 72102866-910b-0410-8b05-ffd578937521
1996-03-30 15:06:46 +00:00
mccallum
dfe09402ef ([Array +defaultGrowFactor]): Return type changed to int.
([Array -growFactor]): Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1299 72102866-910b-0410-8b05-ffd578937521
1996-03-30 15:06:20 +00:00
mccallum
98e317d924 Add new semantic to ivar _grow_factor: if it is less than 0, the array
grows by -_grow_factor, but never shrinks.
(incrementCount): Use the ABS() of _grow_factor.
(decrementCount): Only shrink the array if _grow_factor is > 0.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1298 72102866-910b-0410-8b05-ffd578937521
1996-03-30 15:05:15 +00:00
mccallum
0a05a8cab0 Declare new method names, and comment.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1293 72102866-910b-0410-8b05-ffd578937521
1996-03-30 01:33:05 +00:00
mccallum
d1f34854a7 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.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1292 72102866-910b-0410-8b05-ffd578937521
1996-03-30 01:29:07 +00:00
mccallum
064b35b0af ([BinaryCStream -encodeValueOfCType:at:withName:]): Encode the
exponent as a short, not an int.
([BinaryCStream -decodeValueOfCType:at:withName:]): Likewise, decoding.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1291 72102866-910b-0410-8b05-ffd578937521
1996-03-30 00:50:30 +00:00
mccallum
4bb93b1005 ([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.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1290 72102866-910b-0410-8b05-ffd578937521
1996-03-29 17:55:15 +00:00
mccallum
4efe2c488b ([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.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1289 72102866-910b-0410-8b05-ffd578937521
1996-03-29 17:53:05 +00:00