preparation for avoiding the duplication of these methods in Coder.m.
([NSCoder +initialize]): New method.
(NSCoderNonCore): New class.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1510 72102866-910b-0410-8b05-ffd578937521
assertion to inside conditional for FREF being true.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1502 72102866-910b-0410-8b05-ffd578937521
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)!
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1499 72102866-910b-0410-8b05-ffd578937521
(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>.)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1492 72102866-910b-0410-8b05-ffd578937521
(NSGArchiverNullCStream): New class, interface and implementation.
([NSGArchiverNullCStream -decodeValueOfCType: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.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1483 72102866-910b-0410-8b05-ffd578937521
([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
([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
([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
(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
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