Adam Fedor | 6 Nov 03:19 2000

Weekly Update

Week ending 5 November 2000

gstep-base (Foundation)

Some work done towards making use of Apple objc runtime possible.
Encapsulation of runtime access routines in inline methods in NSObjCRuntime.h
Old file for runtime standardization and class caching (fast.x) removed.
NSString - all initialisation methods rewritten to work in terms of a
single designated initialiser, to make subclassing easier.  XML property-list
parsing fixed.  Support added for use of a placeholder class to enable more
efficient memory management for constant strings - major optimisation of
string creation/destruction.
NSUserDefaults - minor bugfix for uninitialised variable.
NSURLHandle - wrap lock-protected areas with exception handlers to ensure
that locks are released.
NSURL - fix parsing of username/password information in URL.
XML parsing classes - API modified to make loading of external entities
easier.  New method to get properties for a node as a dictionary.
NSCalendarDate - minor fixes for initialising from string.

gstep-gui (AppKit frontend)

Various NSText, NSLayoutManager simplifications.
Some modifications to use new gstep-base API for objc runtime independence.

gsweb (WebObjects compatible library)

Updates to deal with changes to XML parsing in gstep-base.
(Continue reading)

Adam Fedor | 13 Nov 21:21 2000

Weekly Update


<H3>Week ending 12 November 2000</H3>

<DT>gstep-base (Foundation)
<LI>NSThread - added GNUstep specific API to let non-GNUstep libraries make

their threads work in GNUstep.  Specifically, so that JIGS can ensure that
multi-threaded java applications work cleanly with GNUstep threads.
<LI>NSBundle - fixed crash with frameworks when attempting to get bundle  
using a nil class.
<LI>NSPort - minor fix to permit a nil delegate to be set.
<LI>NSString - fixed some bugs introduced by last rewrite.
<LI>Documentation - updated to simplify creation and to install neatly in
${GNUSTEP_SYSTEM_ROOT}/Documentation/Developer directory.

<DT>gstep-gui (AppKit frontend)
<LI>Info panel - use non-italic text in titles for improved consistency with

the NeXTstep look.
<LI>NSText - support setting of size of text container when NSText object is

<LI>NSScreen - optimisation - use a shared instance for the main screen.
(Continue reading)

Adam Fedor | 20 Nov 04:12 2000

Weekly Update


Adam Fedor, Digital Optics            | Fudd's law of opposition: Push
fedor <at>     | something hard enough, and it 
fedor <at> | will fall over.
Week ending 19 November 2000

gstep-base (Foundation)

NSURL - bugfix to parse username/password from URL correctly.
NSURLHandle - Added support for getting and setting properties on files.   
Added support for http and https GET and POST with proxying and basic  
NSDecimal - added support in configuration scripts for detecting GMP for  
the time (not yet) when NSDecimal can use that library for better performance
and precision.
GSMime - new GNUstep specific classes for parsing mime and http documents.
Used by NSURLhandle http support, but also fully documented and providing an
extensible api for parsing mail/web data.
GSTcpPort - many thread-safety fixes to ensure that Distributed Objects is
now thread safe.  Also fixes to improve communication between machines with
multiple network interfaces, only some of which share a common network.
NSFileHandle - new subclass for SSL support (used for https support in
NSURLHandle).  configure scripts modified to detect openssl library.
NSBundle - tidyups to get rid of compiler warnings.
NSFileManager - tidyups to get rid of compiler warnings.
NSUserDefaults - fix to avoid getting an empty string in the language list.
Locale handling - fix for systems without langinfo.h
(Continue reading)

Adam Fedor | 27 Nov 17:06 2000

Weekly Update

Week ending 26 November 2000

This week the work on gstep-gui has mostly been in bringing printer support
closer to reality, and in adding documentation.  Of course, we always need
more work on documentation, and volunteers are very welcome.

In gstep-base, fixes have been made to threading and distributed objects so
that a multi-threaded java servlets engine can safely have servlets in  
different threads use distributed objects to communicate with other processes.

gstep-base (Foundation)

NSBundle - autorelease bug in framework support fixed.

GSTcpPort - locking fixes for thread-safety of DO.

NSThread - autorelease problems on thread exit fixed.

NSConnection - typo fixed in lock management on connection invalidation.

GSHTTPURLHandle - various tidyups.

NSURLHandle - documentation for private subclasses added, to describe  
operation with different URL schemes.

gstep-gui (AppKit frontend)

Printing support - various further work towards making this usable.
(Continue reading)

Adam Fedor | 28 Nov 03:07 2000

Announce: JIGS 1.0.0 is out

 From: Nicola Pero <nicola <at>>

This is the announcement of JIGS 1.0.0.  It is the first release (shyly)
marked as `stable'.  JIGS is not totally complete, but it is quickly
approaching completion.

What is JIGS ?

JIGS stands for Java Interface for GnuStep. It is a package allowing
integration between Java and Objective-C. The main purpose of JIGS is
to allow Java programmers to use the GNUstep libraries from Java.

JIGS is more than a set of bindings for GNUstep from Java; JIGS takes
advantage of the fact that Objective-C and Java are very similar
languages to make it possible to use Objective-C classes from Java
using exactly the same API (and vice versa). You have to learn the
GNUstep API only once, and then you can use it both from Objective-C
and from Java in the same way! Moreover, JIGS can generate
automatically wrappers for your own Objective-C GNUstep libraries.

JIGS allows you to write optimized classes and components in
Objective-C, and make them available to Java developers. In the
typical configuration, fast Objective-C components and libraries are
used in the backend, and JIGS is used to integrate them smoothly in a
Java front-end. Moving from one language to the other is as easy as it
can possibly be with two different languages.

JIGS is free software and part of the GNU project, freely available
from the Free Software Foundation under the GNU LGPL license.
(Continue reading)