GNU Smalltalk 2.2a release announcement

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

GNU Smalltalk 2.2a release announcement

Paolo Bonzini-2
I got mistaken last week and this is 9 years I've been working on GNU
Smalltalk, not 10.  I guess I'll have to hand back the party hat for
another 11 months.

Now, the serious part.

GNU Smalltalk 2.2a is a release candidate for 2.3.  There were many
additions to 2.2 that are relatively important and incompatible
(image-wise) with 2.2, that justify the new release number.  The release
can be found at ftp://alpha.gnu.org/gnu/smalltalk/smalltalk-2.2a.tar.gz

I would like to thank the people on [hidden email] for the
renewed vitality of the list, which ultimately spurred me to find new
interest in GNU Smalltalk, and to do all the work leading to this release.

The changes from 2.2 are as follows:

NEWS FROM 2.2 TO 2.2a

* FileStreams can now use pwrite for more efficient operation on files
opened for read/write, and will do many less gratuitous lseek
operations.  pread will also be used by FileStream>>#copyFrom:to:. The
number of system calls issued when generating the documentation, for
example, is reduced by a third.

* Fixed bug in methods containing both -0.0 and 0.0 (positive and
negative floating-point zero).

* Fixed bug in Directory class>>#create:, that could not create a
directory relative to the current directory.

* Fixed bug in File>>#touch, which did not work really.  There are also
methods to modify a file's atime and mtime.

* Fixed bug in SortedCollection.  After #removeAtIndex:, adds would
leave the collection unordered.

* Introduced a method to efficiently convert a WriteStream into a
ReadStream. It is called #readStream and makes WriteStream more
polymorphic with ReadStream.

* Introduced another class shape, #character, that can be used for String.

* More reliable detection of at-end-of-file condition for pipes, TTYs,
and so on (especially on Mac OS X).

* Moved gdk_draw_ functions to GdkDrawable.

* New goodie to parse the command line.  Look at the documentation for
the Getopt class and for SystemDictionary>>#arguments:do:.

* New example, lazy callections.  When loaded, #select:, #reject: and
#collect: do not create a new collection unless necessary.  Idioms like

        (a select: [ :each | ... ]) do: [ : each | ... ]

or

        a := a select: [ :each | ... ].
        a := a reject: [ :each | ... ].
        a := a select: [ :each | ... ].
        ^a size

can be much faster when this example is loaded.

* Regular expressions are now included in the default image.  The
interface is now definitive and is similar to 2.2.  The concrete classes
for RegexResults are in a private namespace (since the user need not
instantiate them anyway).  Right now, regular expressions are only
usable for String objects (see Unicode support below).  This may change
in the future.

* The backtraces now omit again the internal methods in the exception
handling system.

* The class above which super-send bytecodes start searching is now
embedded in the bytecode stream.  This provides the infrastructure to
implement 'here' in Smalltalk/X (not implemented) or 'self.Foo b' to
execute the Foo>>#b method (also not implemented).

* Various speedups.


Unicode support:

* Characters above 127 are no longer used to represent extended ASCII
characters.  Instead, they are only used to represent a byte in the
encoding of the Unicode characters from 128 on.  To create them use the
Blue Book method Character class>>#value:.

To represent Unicode characters above 127 use the (ANSI Smalltalk)
Character class>>#codePoint: method, or the new syntax $<13> which
allows to express characters using their Unicode code point.  The new
syntax will create instances of the new UnicodeCharacter class when the
number is > 127.

Note that these characters *cannot* be shown on a stream with #nextPut:
(use #display: instead) nor compared with #== (use #= instead).
Character constants like $+ or $A are guaranteed to create normal
"Character" objects, for which you can safely use #nextPut:.

* New UnicodeCharacter and UnicodeString classes.  These new classes can
also be passed to and received from C functions.  See the manual for
more information.

* Part of the I18N module was separated into the Iconv module, which
provides support for printing Unicode characters and strings correctly.


Have fun, and report bugs.

Paolo



_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: GNU Smalltalk 2.2a release announcement

Brad Watson
Congratulations and thank you for release 2.2a.

I'm working on compiling and installing Smalltalk
2.2a, however, I encountered a problem with the probe
for comint.el in the configure script: it halts
indefinately until I C-c out of it.

comint.elc is installed and xemacs21 has no problems
loading it, so I ripped out the test for it and hard
coded the result to "yes" which permitted the
configure script to run to completion.

Kind regards




__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around
http://mail.yahoo.com 


_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: Re: GNU Smalltalk 2.2a release announcement

Lukas Renggli
Hi Paolo,

looks nice the latest changes in this release, however I have some
problems building it. When running configure on Mac OS X Intel I get:

configure: creating libtool
configure: error: "libffi has not been ported to i686-apple-darwin8.7.1."
configure: error: ./configure failed for libffi

And then in the make part I get:

Making all in libffi
make[2]: *** No rule to make target `all'.  Stop.
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

I couldn't find anything about this is the documentation. Any solutions?

Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch


_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk
Reply | Threaded
Open this post in threaded view
|

RE : Re: GNU Smalltalk 2.2a release announcement

Paolo Bonzini
> configure: error: "libffi has not been ported to i686-apple-darwin8.7.1."
> configure: error: ./configure failed for libffi
> I couldn't find anything about this is the documentation. Any solutions?

It is in the error message, unfortunately: no Mac Intel port yet.  libffi is taken from gcc, so blame Apple for not being so good at supporting their own products.
 
Paolo


_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk
Reply | Threaded
Open this post in threaded view
|

RE : GNU Smalltalk 2.2a release announcement

Paolo Bonzini
In reply to this post by Brad Watson
> I'm working on compiling and installing Smalltalk
> 2.2a, however, I encountered a problem with the probe
> for comint.el in the configure script: it halts
> indefinately until I C-c out of it.

I see.  I'll try the test on an XEmacs system.
 
Can you try executing
 
emacs -batch -q -no-site-file -l comint.el
 
and
 
emacs -batch -q -no-site-file -l comint.elc
 
Thanks,
 
Paolo


_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk