Change in GNU Prolog version 1.3.0:
* official release (Jan 4 2007)
* change error messages emitted by the compiler to follow GNU standards
* modify doc (mainly rename manual.xxx to gprolog.xxx)
* add DESTDIR variable support in main Makefile for staged installs
* fix a bug with Prolog floats in x86_64/linux (bad stack alignment)
* port for ix86/darwin (Mac OS X)
* add check target to main Makefile
* improve Win32 ports (cygwin, MinGW, MSVC 6.0 and 2005 Express Edition)
(MSVC port uses MinGW as.exe instead of nasm.exe - named mingw-as.exe
provided in the setup.exe)
* rename call/2 to call_det/2
* implement call/2-11 as will be defined in the next standard
* fix various problems when compiling with gcc 4 (gcc 4.1.1)
* emit .note.GNU-stack to mark the stack as no executable
in x86_any.c, x86_64_any.c and powerpc_any.c
* change the way objects are found (obj_chain.c) using gcc ctors
* use Doug Lea malloc for OpenBSD (problem with malloc using mmap)
* fix problems in various ports:
alpha/linux, powerpc/darwin (Mac OS X), sparc/solaris, ix86/OpenBSD
Change in GNU Prolog version 1.2.19:
* fix 2 bugs in global variables
Change in GNU Prolog version 1.2.18:
* fix problem when compiling with gcc 3.4.0
* fix bug in term comparison involving negative integers
* add consult, ... and fix minor bugs in the Win32 GUI console menu
* fix the stack overflow detection under cygwin
* port to ix86/MinGW - many thanks to:
Cesar Rabak <csrabak@ig.com.br>
* fix a problem in the port to x86/OpenBSD
* port to sparc/NetBSD and powerpc/NetBSD - many thanks to:
Jason Beegan <jtb@netbsd.org>
* fix a bug in =../2 involving FD variables
* fix a bug in arithmetics (in float_{integer/fractional}_part)
* fix a bug in FD solver (wrong union with a singleton)
Change in GNU Prolog version 1.2.17:
* change configure.in: by default ebp is not used
* fix a but with CTRL+C handler not reinstalled
* fix a bug with _XXX (re)displayed under the top-level
* port to x86_64/linux - many thanks to:
Gwenole Beauchesne <gbeauchesne@mandrakesoft.com>
to avoid jemalloc. The simple allocator used by clisp in the NetBSD
case appears to use some assumptions, like allocations below sbrk(), which
don't hold with jemalloc. We might switch to another allocator later,
but as the code looks this needs more work and testing.
From Aleksej Saushev per PR pkg/37381; the patch is attributed to
Arnaud Degroote.
Should also fix PR pkg/37304 from Yakovetsky Vladimir.
* Security Enhancements and Fixes in PHP 5.2.5:
Fixed dl() to only accept filenames. Reported by Laurent Gaffie.
Fixed dl() to limit argument size to MAXPATHLEN (CVE-2007-4887). Reported by Laurent Gaffie.
Fixed htmlentities/htmlspecialchars not to accept partial multibyte sequences. Reported by Rasmus Lerdorf
Fixed possible triggering of buffer overflows inside glibc implementations of the fnmatch(), setlocale() and glob() functions. Reported by Laurent Gaffie.
Fixed "mail.force_extra_parameters" php.ini directive not to be modifiable in .htaccess due to the security implications. Reported by SecurityReason.
Fixed bug 42869 (automatic session id insertion adds sessions id to non-local forms).
Fixed bug 41561 (Values set with php_admin_* in httpd.conf can be overwritten with ini_set()).
* Key enhancements in PHP 5.2.5 include:
Upgraded PCRE to version 7.3
Updated timezone database to version 2007.9
Added ability to control memory consumption between request using ZEND_MM_COMPACT environment variable.
Improved speed of array_intersect_key(), array_intersect_assoc(), array_uintersect_assoc(), array_diff_key(), array_diff_assoc() and array_udiff_assoc() functions
Fixed bug 43139 (PDO ignores ATTR_DEFAULT_FETCH_MODE in some cases with fetchAll())
Fixed bug 42785 (json_encode() formats doubles according to locale rather then following standard syntax)
Fixed bug 42549 (ext/mysql failed to compile with libmysql 3.23)
Over 60 bug fixes.
For all the details see:
http://www.php.net/ChangeLog-5.php#5.2.5
=> 9.0 as it breaks the build. This should just be considered a temporary
work around until the actual problem can be fixed as this worked for
Darwin < 9.0.
There are no changes to perl on any other platforms.
This should address PR# 37225
A flaw was found in Perl's regular expression engine. Specially crafted
input to a regular expression can cause Perl to improperly allocate memory,
possibly resulting in arbitrary code running with the permissions of the
user running Perl.
- don't call the linker directly to build shared libraries,
use ${CC} -G
- link libsunmath statically, as it is provided by SUNWspro and
therefore not available on systems where the compiler is not
installed.
1. `gawk 'program' /non/existant/file' no longer core dumps.
2. gawk now only uses the locale's decimal point
3. `gawk -v BINMODE=1 ...' works again.
4. Internal file names like `/dev/user' now work again. (Note that these
file names are obsolete and will go away eventually.)
5. Problems with wide strings in non "C" locales have been straightened
out everywhere. (At least, we think so.)
6. Use of `ansi2knr' is no longer supported. Please use an ANSI C compiler.
7. Updated to Autoconf 2.61, Automake 1.10, and Gettext 0.16.1.
8. The getopt* and regex* files were synchronized with current GLIBC CVS.
See the ChangeLog for the versions and minor edits made.
9. There are additional --lint-old warnings.
10. Gawk now uses getaddrinfo(3) to look up names and IP addresses. This
allows the use of an IPv6 format address and paves the way for
eventual addition of `/inet6/...' and `/inet4/...' hostnames.
11. We believe gawk to now be valgrind clean. At least when run against
the test suite.
12. A number of issues dealing with the formatting and printing of very
large numbers in integer formats have been dealt with and fixed.
13. Gawk now converts "+inf", "-inf", "+nan" and "-nan" into the corresponding
magic IEEE floating point values. Only those strings (case independent)
work. With --posix, gawk calls the system strtod directly. You asked
for it, you got it, you deal with it.
14. Defining YYDEBUG enables the -D command line option.
15. Gawk should now work out of the box on Tandem NSK/OSS systems.
16. Lint messages rationalized: many more of the messages are now printed
only once, instead of every time they are encountered.
17. The strftime() function now accepts an optional third argument, which
if non-zero or non-null, indicates that the time should be formatted
as UTC instead of as local time.
18. The precedence of concatenation and `| getline' (in something like
"echo " "date" | getline stuff) has been reverted to the earlier
behavior and now once again matches Unix awk.
19. New configure time flag --disable-directories-fatal which causes
gawk to silently skip directories on the command line. This behavior
is also enabled for --traditional, since it's what Unix awk does.
20. A new option, --use-lc-numeric, forces use of the locale's decimal
point without the rest of the draconian restrictions imposed by
--posix. This softens somewhat the stance taken in item 2.
21. Everything relevant has been updated to the GPL 3.
22. Array growth should be faster now, at no cost in space.
23. Lots more tests.
24. One new translation.
25. Various bugs fixed, see the ChangeLog for details.
then automatically generate a PLIST that says "${PKGNAME} has no files".
* If PLIST_SRC and GENERATE_PLIST are not set in a package Makefile,
and no PLIST files exist, then fail during the package build with
PKG_FAIL_REASON.
* Remove "intentionally empty" PLISTs again.
Now, the easy way to say that a package installs no files is to just
add the following to the package Makefile:
PLIST_SRC= # empty
that directly manipulate empty PLISTs.
Modify plist/plist.mk so that if the PLIST files are missing and no
GENERATE_PLIST is defined, then the package fails to build.
Basically, no change since previous update except Net::HTTP default
@enable_post_connection_check was wrongly set to true. (It might
cause compatibility problem.)
removed unavailable ftp://alpha.gnu.org/budne/snobol/.
add new entry ftp://ftp.snobol4.org/snobol/old/.
(ftp://ftp.snobol4.org/snobol/ have newer version 1.1).
By using /bin/ksh (${SH}), we get the desired value of $CWD in on of the
scripts called by the programs install procedure.
Fixes installation under solaris, other platforms unaffected.
Approved by wiz@.
This is bug fix release of Ruby 1.8.6. Especially it fixes thread/eval
function problem on Mac OS X. It also contains an openssl extention's
portablity problem which was bad patch by pkgsrc.
For more detail, please refer CHANGES file.
Instead use the older tarball that does have the version as part of the
name. It has same checksum.
It is really beta but at least the file name exists tomorrow.
We will wait until developer releases a real version.
Sorry about going back in time in versioning in pkgsrc
-- hopefully nobody hit this in the past few minutes.
This fixes PR # 37014
Also take MAINTAINERship.
Update DESCR to not be first person.
Note: man pages not installed as they still need a little cleanup.
latest version of the portable C compiler.
The compiler is based on the original Portable C Compiler by S. C.
Johnson, written in the late 70's. Even though much of the compiler
has been rewritten, some of the basics still remain.
The intention is to write a C99 compiler while still keeping it small,
simple, fast and understandable. I think of it as if it shall be able
to compile and run on PDP11 (even if it may not happen in reality).
But with this in mind it becomes important to think twice about what
algorithms are used.
The compiler is conceptually structured in two parts; pass1 which is
language-dependent, does parsing, typechecking and build trees, and
pass2 which is mostly language-independent.
About 50% of the frontend code and 80% of the backend code has been
rewritten. Most stuff is written by me, with the exception of the
data-flow analysis part and the SSA conversion code which is written
by Peter A Jonsson, and the Mips port that were written as part of a
project by undergraduate students at LTU.
As discussed at great length at EuroBSDcon 2007.
- New language features
- New tools
- Faster type-checking of functor applications.
- Referencing an interface compiled with -rectypes from a module
not compiled with -rectypes is now an error.
- Revised the "fragile matching" warning.
- Print a stack backtrace on an uncaught exception.
- Stack overflow detection on MS Windows 32 bits.
- Stack overflow detection on MacOS X PPC and Intel.
- Intel/AMD 64 bits: generate position-independent code by default.
- Fixed bug involving -for-pack and missing .cmx files.
- Fixed bug causing duplication of literals.
- C/Caml interface functions take "char const *" arguments
instead of "char *" when appropriate.
- Faster string comparisons (fast case if strings are ==).
- Other
extension loading code to export all symbols (i.e. do equivalent
of dlopen(..., RTLD_GLOBAL)), so that older Mac OS X without dlopen()
(before 10.4) also load extensions properly
patch also submitted as PHP bug# 42629
and to support the "inet6" option instead.
Remaining usage of USE_INET6 was solely for the benefit of the scripts
that generate the README.html files. Replace:
BUILD_DEFS+= USE_INET6
with
BUILD_DEFS+= IPV6_READY
and teach the README-generation tools to look for that instead.
This nukes USE_INET6 from pkgsrc proper. We leave a tiny bit of code
to continue to support USE_INET6 for pkgsrc-wip until it has been nuked
from there as well.
so that symbols of loaded modules are available for other, dependant modules;
dlopen() is native function since 10.4, so actually apparently preferable interface
now
this is necessary for PDO family of modules (pdo_* depends on symbols of PDO module),
and for XSL module (which depends on symbols of DOM module); doing it this way
allows for PDO and DOM modules to be also shared and dynamically loaded, this avoids
need to compile them into main PHP binary
bump PKGREVISION, this is functionality change for Mac OS X (no change for other
platforms)
List of user-visible changes in GNU Smalltalk
NEWS FROM 2.3.4 TO 2.3.5
o Added more examples of continuations.
o Fixed a floating-point accuracy problem in the test suite.
o Fixed a 64-bit cleanliness problem in the GDBM bindings.
o Generational GC enabled on x86_64.
o Support for writing a block with arguments and no statements
as [ :a :b ] in addition to [ :a :b | ].
o The StreamFilter.st example, which provided lookahead, filtering,
concatenation and other kinds of manipulation for Streams, has been
promoted into the default image.
-----------------------------------------------------------------------------
NEWS FROM 2.3.3 TO 2.3.4
o Behavior>>#evaluate: and MethodDictionary>>#removeAt:ifAbsent: would
cause the method dictionary's size to double. This caused sometimes
spurious failures in floatmath.st.
o Fixed bug in LargeInteger division on systems not equipped with GMP.
o Fixed bug in socket #nextHunk implementation, which lost the first
or second byte in the input buffer.
o Fixed paths in the image when "make DESTDIR" was used.
o Fixed implementation of Dictionary>>#addAll:, and fixed Integer>>#binomial:
when the argument is 0 or self.
o Fixed various minor bugs and imprecisions in the documentation.
o Improvements to the ancillary scripts gst-load and gst-sunit. In
particular, a package can describe the classes that constitute its
testsuite, and gst-sunit allows to quickly run the testsuite for a
package.
o Improvements to the test suite. Several of the modules included with
GNU Smalltalk are tested. The testsuite is now written using Autotest.
o Some libffi files (for IA64 and PA) were missing from the distribution.
o Upgraded libsigsegv, for improved Mac OS X on Intel support
o zlib bindings provided in package ZLib.
-----------------------------------------------------------------------------
NEWS FROM 2.3.2 TO 2.3.3
o Introduced the --with-imagedir configure option to specify the directory
used for the image.
o The manual was not properly generated in version 2.3.2.
o Removed text relocations from the virtual machine's shared library.
-----------------------------------------------------------------------------
NEWS FROM 2.3.1 TO 2.3.2
o #copyFrom:to: is uniformly 0-based for all Streams (unlike in Collections),
because a Stream has 0-based #position and #position: methods.
o Fixed many floating point rounding bugs in LargeIntegers and Fractions,
thanks to Nicolas Cellier.
-----------------------------------------------------------------------------
NEWS FROM 2.3 TO 2.3.1
o configure does not lock up when the system emacs is XEmacs and does not
include both the comint package and the package's source code.
o Fixed a garbage collection bug that typically occurred when installing
GNU Smalltalk, or when launching the installed image.
o gst-package honors the INSTALL command found by configure.
o gst-config does not "forget" to prefix the library directories with -L.
o Segmentation violations on large integer operations (on 64-bit hosts)
were fixed.
-----------------------------------------------------------------------------
NEWS FROM 2.2 TO 2.3
IMPORTANT: GNU Smalltalk now adds an explicit exception to the GNU GPL
license, allowing the programs running under the virtual machine to use
a GPL-incompatible license. This exception is used both by the
virtual machine and by the library bindings included in GNU Smalltalk.
This clears gray areas when a Smalltalk program is using functions
in the external library bindings via dynamic linking and the foreign
function call interface (C call-outs).
o C call-outs returning #void now return self rather than nil.
Performance of code heavily using C call-outs has improved.
o 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.
o Fixed bug in methods containing both -0.0 and 0.0 (positive and negative
floating-point zero).
o Fixed bug in Directory class>>#create:, that could not create a
directory relative to the current directory.
o Fixed bug in File>>#touch, which did not work really. There are also
methods to modify a file's atime and mtime.
o Fixed bug in SortedCollection. After #removeAtIndex:, adds would leave
the collection unordered.
o Fixed many more bugs.
o Introduced a method to efficiently convert a WriteStream into a ReadStream.
It is called #readStream and makes WriteStream more polymorphic with String.
o Introduced two more class shapes, #character and #utf32, that can be used
for String and UnicodeString.
o More reliable detection of at-end-of-file condition for pipes, TTYs,
and so on (especially on Mac OS X), and of sockets closed by the peer.
Due to incompatibilities between various OSes, you are advised to test
end-of-stream conditions *before* rather than after reading a character
from stdin. In 2.2, either way would work, but serious bugs were
found on Mac OS X unless stdin was redirected from a file.
o Moved gdk_draw_ functions to GdkDrawable.
o New goodie to parse the command line. Look at the documentation for
the Getopt class and for SystemDictionary>>#arguments:do:.
o New example, lazy collections. 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.
o 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.
o The backtraces now omit again the internal methods in the exception
handling system.
o The class above which super-send bytecodes start searching is now embedded
in the bytecode stream. This provides the infrastructure to implement
'here' as in Smalltalk/X or 'self.Foo b' to execute the Foo>>#b method
(these possible extensions have not been implemented).
o The header files compile cleanly with a C++ compiler. For the occasion,
the preferred name of the old `mst_Object' has changed to `gst_object'.
o Various speedups.
Unicode support:
o 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. Note that these characters
*cannot* be shown on a stream with #nextPut: (use #display: instead)
nor compared with #== (use #= instead).
Character literals like $+ or $A are guaranteed to create normal
"Character" objects, for which you can safely use #nextPut:. Right
now, these are valid only for characters between 0 and 127. To create
Character literals for unicode characters, use the new syntax to
express characters using their Unicode code point. This may be
extended in the future to support Unicode character literals.
A ``safe'' way to obtain the character whose encoding is between
128 and 255 is this (which requires the Iconv module to be loaded):
##('<your character>' asUnicodeString first)
(This snippet has no shortcut by design because, in general, converting
a Character to a UnicodeCharacter is not a well-defined operation).
o New UnicodeCharacter and UnicodeString classes. These new classes
can also be passed to and received from C functions. See the
manual for more information.
o New syntax $<13> to express characters using their Unicode code point.
As anticipated, this syntax will create instances of the new UnicodeCharacter
class when the number is > 127.
o Part of the I18N module was separated into the Iconv module, which
provides support for printing Unicode characters and strings correctly.
Other goodies:
o NCurses bindings, contributed by Brad Watson.
-----------------------------------------------------------------------------
NEWS FROM 2.1.12 TO 2.2
Scripting improvements:
o A sharp-bang sequence at the beginning of a file is parsed as a
one-line comment.
o Provides an "-f" option (long option "--file") to be used in a #! line,
as in "#! /usr/bin/env gst -f", which has the same effect of -Q,
processing the file indicated by the option's argument, and passing
the rest of the command line to GNU Smalltalk. In other words, the
two invocations that follow are equivalent:
gst -f script.st ARG1 ARG2
gst script.st -Qa ARG1 ARG2
o Load.st installed as gst-load, Reload.st installed as gst-reload,
Test.st installed as gst-sunit.
VM changes:
o Can define subclasses of CompiledMethod and have a method invoked on
the instances whenever the method is called.
o Can pass a "void **" to C using the #cObjectPtr parameter specifier
(previously undocumented and broken).
o The #class method can be overridden. This is useful for example
for debuggers and proxies.
o Code for decoding/interpreting the bytecode set is for the most part
automatically generated. Take a look at the ``genbc'' and ``genvm''
programs if you are going to write an high performance interpreter, and
write to the mailing list for any information on them or on the other
program ``superops'' (this one is much more specialized).
o CompiledBlocks and CompiledMethods are read-only.
o Dollars are allowed in the middle of identifiers and method names.
This is unportable, so do not abuse it. As with underscores, it is not
possible to use them at the beginning of an identifier or method name.
o Fixed bug that caused the compiler to accept duplicate argument or
temporary names.
o GCC needed to compile GNU Smalltalk.
o gst_smalltalk_args accepts a const char **.
o Improved clarity and portability using intptr_t, size_t and ptrdiff_t
more widely and wisely.
o Indexed instance variables can be 8-bit and 16-bit, signed and unsigned
integers; or they can be 32-bit and 64-bit, signed integers and unsigned
integers and floating point values; or objects of course. Previously
the only three possibilities were objects, 8-bit unsigned ints, and
pointer-sized unsigned ints.
o Instance variables are scanned backwards: if a subclass declares an
instance variable with the same name of the superclass, it wins when
compiling code in the subclass (fixes the so-called "fragile subclass"
problem).
o Keywords and parameters need not be separated by a space (as in
`self x: y z:w').
o New bytecode set. This is a significant departure from the Blue Book's
instruction set, and it improves performance by ~20%. Over 150 common
bytecode sequences are optimized, saving on dispatching overhead and
minimizing the cost of decoding arguments.
o Options -l and -L (--log-changes and --log-file) are no more. The
change log is not useful outside the GUI, while inside the GUI it
ought to be maintained by the GUI itself.
o Option -s is no more. It was made the default in 2.1.5.
o Passing floating-point arguments to C works.
o Prefetching instructions are used wherever supported (Alpha, SPARC,
PPC, AMD K6 or newer, Intel PIII or newer, all with GCC 3.2). This
speeds up the startup by up to 20%.
o Instances of subclasses of CompiledBlock and CompiledMethod can be
created using the same primitive that creates CompiledBlocks and
CompiledMethods, but sent to the subclass.
o Several important bug fixes in event handling and asynchronous file
input/output.
o Subclasses of MethodInfo can be used as the descriptors for CompiledMethod
objects.
o Two-character binary messages ending with a minus are scanned differently
if followed by a number: "1+-2" is now read as "1 + -2", not "1 +- 2".
This is what you would usually expect; however, including spaces explicitly
is recommended.
o When GCC 3.3 or later is used, a shared library is also built. The
code has been to some extent optimized to make this less expensive, but
the shared library still has a 5-10% performance hit. Note that the x86
shared library is undebuggable (-fomit-frame-pointer) with GCC < 4.0
because of the dearth of registers. The installed virtual machine is not
linked to the shared library for optimal speed.
o Wider set of operations available to modules that plug into GNU Smalltalk,
including access to system classes, queries on the method dictionaries,
and access to indexed instance variables.
Smalltalk changes:
o CLongDouble class allows one to access long doubles; long doubles are
supported by CStruct, Memory and ByteArray as well.
o CompiledCode>>#literalsDo: does what CompiledCode>>#allLiteralsDo:
used to do. CompiledCode>>#allLiteralsDo: recurses into literal
arrays.
o Glorp, a layer for mapping objects to relational databases, is provided
and integrated with the MySQL driver.
o GNU Smalltalk includes a mechanism for defining security policies
on a class-by-class basis. See below for more information.
o Interval can return a #first and #last even if the Interval is empty.
These are the start and stop object that it was created with. The
private methods #start, #stop and #step have thus been superseded by
#first, #last and #increment.
o #min: and #max: always return a NaN when one of the two operands is
a NaN; previously they would always return the other operand.
o New syntax for C call-outs, can be transparently filed out from the
image and then filed back in. See the documentation or the
kernel/CFuncs.st file for more information.
o PackageLoader can be told the namespace in which to load the package.
Most package loading scripts are now no longer necessary or can be
reduced to simple initialization duties.
o #raisedToInteger: is better optimized and does the minimum number of
multiplications for exponents up to 256.
o SequenceableCollection has a more efficient implementation of #fold:,
as well as #second, #third, and #fourth (and I'm going to stop here!).
o #return and #return: now reinstate exception handlers, which will
therefore be active while executing pending #ensure: or #ifCurtailed:
blocks.
o Stored CompiledBlocks into the method's literal frame for non-clean
blocks, and turned #blockCopy: into a `make dirty block' bytecode
without introducing a method of unclear utility. This is a little
faster and (consistently) saves around 1% on image files.
o The syntax for primitives has been generalized into a "method attribute"
mechanism; pragmas are accessible through methods in CompiledMethod.
o The thisContext variable is compiled as a message send like
"ContextPart thisContext".
o When a send to super fails, #doesNotUnderstand: is also sent to super
and not to self. This change is experimental; these semantics look more
coherent to me. As a result (think about it...) sends to super from a
root class are now forbidden.
o When a non-existing message is sent with the wrong number of arguments
(using #perform:), #doesNotUnderstand: is invoked. In the past, the
wrong number of arguments error would have been printed. The reason
for this is to allow selector names that would be invalid for the
Smalltalk language.
Work in progress:
o Blox-GTK interface, to use the browser under Gtk+. Currently, only
the browser works; to try it, configure with --enable-gtk=blox or
load the BloxGTK package. Thanks to Robert Collins.
o GNU Smalltalk now supports executing (some) Java programs. See the
info documentation for more information. The class library is based
on GCJ 3.4, but should be reasonably upwards-compatible. There is no
AWT nor JNI support, and it is not planned; networking, reflection and
serialization are not there but should be added in the future.
Overview of the security mechanism:
o Implemented class-level permissions. Each class can have its own
permission set, and if this is not trivial (all-allowed) the class
is marked untrusted; then instances of that class, as well as contexts
that have at least an untrusted object as the receiver in the sender
chain, are considered untrusted. In the future, security checks will
be made for untrusted objects in such methods as
C call-outs [#memoryAccess]
CObject class>>#alloc: [#memoryAccess]
CObject class>>#alloc:type: [#memoryAccess]
CObject>>#free [#memoryAccess]
CObject>>#at: [#memoryAccess]
CObject>>#at:put: [#memoryAccess]
Memory>>#at: [#memoryAccess]
Memory>>#at:put: [#memoryAccess]
FileDescriptor>>#fileOp:... [#io]
ObjectMemory>>#snapshot: [#io]
ObjectMemory>>#quit: [#system]
ObjectMemory>>#abort [#system]
ObjectMemory>>#setSpaceGrowRate: [#system]
ObjectMemory>>#setSmoothingFactor: [#system]
ObjectMemory>>#setGrowThresholdPercent: [#system]
ObjectMemory>>#setBigObjectThreshold: [#system]
ObjectMemory>>#growTo: [#system]
Object>>#makeUntrusted: [#securityManagement]
Object>>#instVarAt: [#debugging]
Object>>#instVarAt:put: [#debugging]
Object>>#perform:... [#debugging]
Object>>#changeClassTo: [#debugging]
Process>>#suspend [#processManagement]
Process>>#resume [#processManagement]
UndefinedObject>>#subclass:... etc... [#system]
Class>>#subclass:... etc... (mutation) [#system]
Metaclass>>#instanceVariableNames: [#system]
MethodDictionary>>#at:put: [#system]
o Instance variables of an untrusted class that are declared by a trusted
class are read-only. This is necessary to avoid that a misbehaving
class method screws up the instance variables of Behavior that are known
to the VM.
o Methods are verified.
o Permissions can be granted by a method to its callees if the method's
definition class owns those permissions. This can be used to invoke
trusted C call-outs.
o Primitives cannot be declared for untrusted objects (this might be
fine-grained in the future).
-----------------------------------------------------------------------------
NEWS IN 2.1.12
This is a bugfix release. It fixes several problems on 64-bit systems.
-----------------------------------------------------------------------------
NEWS IN 2.1.11
This is a bugfix release.
-----------------------------------------------------------------
NEWS IN 2.1.10
This is a bugfix release, but with this visible change:
o PackageLoader supports loading package source code from multiple
directories.
Directory packages.xml is in Directories looked in
/usr/share/smalltalk /usr/share/smalltalk
parent of local kernel directory, if any
image directory
parent of local kernel directory parent of local kernel directory
image directory
image directory image directory
o Directory>>#append:to: supports passing an absolute path as the file
name (first argument). In this case, the file name itself is returned.
This release works under MacOS X 10.3 and 10.4 as well. It also works
around bugs in MacOS X Tiger's poll function.
to install and use this NetBSD/i386 JRE/JDK distribution.
* Make the scsl-* packages look more like the sun-* JRE and JDK packages.
* The scsl-jre15 package was built on NetBSD-2.0.x and needs libstdc++.5.0,
so require netbsd>=2.0. Bump the PKGREVISION of scsl-jre15 to 1 to
reflect the potential new dependencies on the compat20 and compat30
packages. This addresses part of PR pkg/36797.
available "somehow" -- for X11_TYPE == "native", then just fail,
otherwise for X11_TYPE == "modular", then build the libX11 package to
satisfy the library requirements for "javaws" and "policytool".
This fixes pkg/36838 reported by Ondrej Tuma.
Bump the PKGREVISIONs for sun-jre14, sun-jre15, and sun-jre6.
of an emulated operating system. Instead of proliferating things like
SUSE_VERSION_REQD, NETBSD_VERSION_REQD, SOLARIS_VERSION_REQD, etc., a
package can say:
EMUL_REQD= suse>=9.1 netbsd>=2.0 solaris>=10
all in one, succinct line.
depend upon to supply the Linux shared libraries already tell the user
this. The JDK packages also depend on the corresponding JRE package,
so they don't need to show the same message -- keep the message with
the JRE packages instead.
the Sun JDK/JRE packages require the "compat" Linux module, so make
that a hard requirement in EMUL_MODULES.linux.
Bump the PKGREVISION for sun-{jdk,jre}{13,14,15,6}.
* JS 1.6.0 is based on the same branch (1.8.0.9) as Firefox 1.5.0.9
and includes the same stability and security fixes.
* JS 1.6.0 includes support for JavaScript 1.6 with support for
E4X, several new Array methods, and Array and String generics.
We use the flat installation mode (e.g. no multiple versions by
default) by default. That avoids having to run DEINSTALL/INSTALL
scripts and allows DESTDIR installation.
Update lang/sun-jre15 from sun-jre15-5.0.11 to sun-jre15-5.0.12
i386 fully tested. amd64 by inspection
Bug fixes since 5.0.11 below
6451451 hotspot compiler2 EXCEPTION_ACCESS_VIOLATION caused by -XX:+AggressiveOpts flag in Bigapps ATG test for 1.5.0_08b03
6472714 hotspot compiler2 crash compiling com.sun.jndi.ldap.sasl.LdapSasl::saslBind
6487381 hotspot compiler2 Additional path for 5.0 jvm crash on exhaustion of CodeBuffer
6502317 hotspot compiler2 Deoptimization code of Java 1.5.x looks leaking memory.
6297094 hotspot compiler2 The result type of Class.getModifiers is labeled as a "boolean" to the optimizer instead of "int"
6471004 hotspot compiler2 Incorrect displacement check for short branches.
6519527 hotspot compiler2 PartialSubtypeCheckNode without a control edge could get scheduled too high (5.0)
6518092 hotspot compiler2 1.5.0_05 crash in method::handler_for_exception_and_pc
6454444 hotspot compiler2 SEGV on solaris-i586 -server running ConcurrentQueueLoops
6461827 hotspot compiler2 Performance: java.lang.Class.isAssignable
6472335 hotspot garbage_collector Allocation of huge array which would cause OutOfMemoryError causes JVM to hang with -Xincgc
6468516 hotspot garbage_collector CMS: deal correctly with concurrently cleared or enqueued Reference objects
6487931 hotspot runtime_system JVM reports EXCEPTION_FLT_STACK_CHECK when calling a Java method through JNI
6502780 java build Adjustment jprt rules
6459676 java classes_2d JDK 1.5 should flush metrics caches when using alternate composite fonts
6353972 java classes_2d REGRESSION: GUI fails to paint text with large heap size setting
6500903 java classes_2d PrintServices are incorrectly listed as "not accepting jobs"
6542419 java classes_2d SharedMemoryPixmapsTest.sh failed on 5.0u12b02 but passed on previous one
6405311 java classes_awt XtVaSetValues call does not work when running in 64-bit Java 1.5 on Linux
6473485 java classes_awt No keyboard focus in a focusable JWindow
6496958 java classes_awt incorrect backoff in the process of dispatching lw requests queue
4052517 java classes_lang (process) Runtime.exec won't execute programs belonging to other groups on Unix
6370080 java classes_lang (ann) Method.getAnnotations() sometimes throw SecurityException: doPrivileged or javadoc missing?
6480566 java classes_management TEST_BUG: several tests fail because TESTVMOPTS are passed to javac directly
6415062 java classes_net 30 MB memory trashed to get 30 kb string url encoded
6446855 java classes_net https connections failing when connecting through a proxy
6347873 java classes_nio (so) Ports opened with ServerSocketChannel blocks when using Runtime.exec
6321453 java classes_security Remove GTE CyberTrust root CA cert after it expires
6495567 java classes_sound CR 4964288 (sound, Unexpected IAE raised while getting TargetData) is not fixed in windows-amd64 JDK
6498661 java classes_sound api/javax_sound/sampled/TargetDataLine/index.html#TargetDataLine fails
5036146 java classes_swing REGRESSION: problems with 1.5.0 action listeners
6432667 java classes_swing Vista: Menu dropdown differs while compare with naitve in vista laf.
6491714 java classes_swing JFileChooser does not work properly with File selection when filter is changed
6432397 java classes_swing Windows l&f on Vista JComboBox does not look like native
6500302 java classes_swing GTKLAF:Check mark/bullet is not visible for selected checkbox & radio menu items in disabled state.
6542335 java classes_swing different behavior on knob of scroll bar between 1.4.2 and 5.0
6523518 java classes_swing javax/swing/AbstractButton/6298940/bug6298940.java failed against 1.5.0_12_01 but passed on 1.5.0_11
6396844 java classes_swing JFileChooser seems to cause OutOfMemory in 1.4.2, 5.0u4 and mustang-b75
6511568 java classes_swing JFileChooser throws OOM in 1.4.2, 5.0u4 and 1.6.0
6530336 java classes_text (tz) DST bug in latest jdk releases when using EST MST and HST abbreviations
6470111 java classes_util_concurrent Deadlock in Exchanger
6460501 java classes_util_concurrent Synchronizer timed acquire still leaks memory
6492173 java classes_util_i18n Please delete or modify test/java/util/TimeZone/4261506 test
6496224 java classes_util_i18n Slovenian currency change
6541843 java classes_util_i18n (tz) Support tzdata2007e
4879507 java classes_util_jarzip ZipInputStream does not check CRC for stored (uncompressed) files
6467152 java classes_util_logging deadlock occurs in LogManager initialization and JVM termination
6520670 java install 1.5.0_11 installer writes wrong JavaHome value in Windows registry
6525690 java install offline non -s installer pops up "internal error 2762" after clicking "finish"
6526421 java install Truncated localized texts in finish dialog
6416988 java localization [ko]Translation of 'Certificate' is inconsistent
6386647 java localization Full date format in DateFormat does not include day of the week for UK locale
6450945 java localization The week day for Saturday and the first week day in Romania locale are incorrect
6500174 java localization [ja] wrong translation in Java Update warning message
6497154 java localization getFirstDayOfWeek() not works correctly for Slovak locale
6488119 java localization en_ZA local has unusable time format
4494727 java localization [Fmt-Nu] Formatting of percents incorrect for some locales
6486607 java localization incorrect french localization for GY country code
6485516 java localization incorrect french localization for GF country code
4225362 java localization localized DateFormatSymbols for fr_FR is wrong
6379214 java localization Danish Translation of the word Danish is wrong
6481177 java localization Add Eras for Dutch LocaleElements
6414459 java localization Wrong first day of week for Croatian locale
6311411 java serviceability SA: jmap -histo reports wrong histogram with CMS
4753347 java serviceability OutOfMemoryError - Stack Trace missing
6484462 java_plugin converter Applet HTML generated by HTML converter tool crashes the new IE7
6424564 java_plugin iexplorer Browser window is not blocked by the modal dialog
6404972 java_plugin iexplorer IE Window and Dialogue are displayed in different order from the order of button click.
6523707 java_plugin iexplorer IE browser thread dead after modal dialog created from liveconnect in another window
6395737 java_plugin iexplorer IE hangs when a modal dialog is active with concurrent window re-focus activities
6502189 java_plugin iexplorer applet hang when try to reload a page with the applets in a frame
6501186 java_plugin iexplorer JVM crashes when IE windows are opened and closed so many times thru JavaScript in 5.0u10
6418035 java_plugin other Applets freeze in 5u7 on XP Japanese
6216340 java_plugin other Java to support Firefox browser
6475032 jaxp parse Regression: declaring a a duplicate Namespace mapping to an exisitng prefix:URI throws an Exception
6428590 jaxp sax com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager does not demand namespace-prefixes
6401137 jaxp xslt Null Pointer Exception in Java 1.5
6434840 jaxp xslt Memory Leak in XSL Transform leading to OutOfMemory Exception
6475157 jmx classes RMIConnectorServer.stop: deadlock
6524112 tooldocs all sloppy developer missed testcase when fixing 6490790
Based on patch provided by Aleksej Saushev in PR 36471.
pkgsrc changes:
Enable to build x11 feature (optional, default=on).
Previously, depend on x11, but not build x11 feature.
scm5e3 news:
Richard Harke ported SCM to the Linux-ia64.
SRFI-94 Type-Restricted Numerical Functions.
SRFI-63 uniform array type support expanded to:
A:floC64b inexact 64.bit binary flonum complex
A:floC32b inexact 32.bit binary flonum complex
A:floC16b inexact 16.bit binary flonum complex
A:floR64b inexact 64.bit binary flonum real
A:floR32b inexact 32.bit binary flonum real
A:floR16b inexact 16.bit binary flonum real
A:fixZ32b exact 32.bit binary fixnum
A:fixZ16b exact 16.bit binary fixnum
A:fixZ8b exact 8.bit binary fixnum
A:fixN32b exact 32.bit nonnegative binary fixnum
A:fixN16b exact 16.bit nonnegative binary fixnum
A:fixN8b exact 8.bit nonnegative binary fixnum
A:bool boolean
string char
Radey Shouman has changed LETREC to behave like LETREC*:
* eval.c (ceval_1): Change LETREC behavior to that of LETREC*:
initializers are run in left to right order, and may use
previously evaluated variables bound in the same contour. This
change also applies to LETRECs resulting from internal DEFINE.
* eval.c (macroexp1): Add #ifdef to switch case handling line numbers
in ceval_1 so that they are safely discarded when MEMOIZE_LOCALS is
not #defined. Perhaps line number generation should be disabled in
that case.
* scl.c: Changes to allow compilation with MinGW (gnu-win32);
asinh, acosh, and atanh are not yet supported.
From Aubrey Jaffer:
* indexes.texi (Indexes): Give each index its own node when not in
info mode. Moved index stuff here so it doesn't break
texinfo-every-node-update.
* scm.texi (Index): Replaced nodes under Indexes with node Index
when in info mode; fixes indexing in Emacs 21.4.1.
Converted to use @copying.
(Indexes): Reorganized.
(Data Type Representations): Corrected pattern for specfun and cclo.
* byte.c (subbytes): Added.
(scm_subbytes_read, scm_subbytes_write): Renamed from substring.
* Makefile (dscm4, dscm5): != is string operator in shell.
"mv -f" for previous scm, slibcat, and implcat.
* Init5e2.scm (boot-tail): Don't load ScmInit.scm if *script*.
(string-index, read-line): Defined for login->home-directory, which
may be called before REQUIRE is defined.
* Makefile (dscm4, dscm5): Added randomize_va_space machinations.
(dvi, pdf): New tetex-3.0(-20.FC5) broke them -- fixed.
(SETARCH): Workarounds allow dumping in recent Linux.
* time.c (linux): defined CLKTCK to (sysconf(_SC_CLK_TCK)).
* repl.c (scm_read_numbered): Don't #ifndef MEMOIZED_LOCALS.
* build.scm (dont-memoize-locals): Added feature.
(stack-limit): Removed feature.
* scmfig.h (STACK_LIMIT): Always defined.
(CHECK_STACK): Condition on scm_verbose.
* sys.c (stack_check): Always present.
* Makefile (docs): Added target to make all documentation files;
then invoke xdvi.
* ugsetjmp.s (_setjump, _longjump): For Ultrix VAX circa 1997.
* subr.c (mkbig, adjbig): Improved overflow message.
* mkimpcat.scm (wbtab, rwb-isam): moved to "Simple associations".
(add-source): Use 'source form and check file's existence.
* scl.c (scm_magnitude): Extend dynamic range by eliminating
intermediate expression swell.
(divide): Use "Smith's formula" to extend dynamic range;
but makes an insignificant difference when compiled with -O3.
(atanh, acosh, asinh): define if #ifndef HAVE_ATANH.
* scmfig.h (HAVE_ATANH): Decides whether atanh, asinh, and acosh
are supported.
* r4rstest.scm (5 2 1): Expose Bigloo tprint redefinition bug.
(test-bignum): Convert test bignums from strings.
(have-bignums?): Check bignum arithmetic works.
(test-inexact): Do complex tests only if non-real numbers are
supported.
(test-inexact): Added equal? tests.
(test-inexact): Test for -0.0 lossage.
(test-inexact): Check that / and magnitude work for
very large and very small complex numbers (1e300; 1e-300);
binary-only packages that require binary "emulation" on the native
operating system. Please see pkgsrc/mk/emulator/README for more
details.
* Teach the plist framework to automatically use any existing
PLIST.${EMUL_PLATFORM} as part of the default PLIST_SRC definition.
* Convert all of the binary-only packages in pkgsrc to use the
emulator framework. Most of them have been tested to install and
deinstall correctly. This involves the following cleanup actions:
* Remove use of custom PLIST code and use PLIST.${EMUL_PLATFORM}
more consistently.
* Simplify packages by using default INSTALL and DEINSTALL scripts
instead of custom INSTALL/DEINSTALL code.
* Remove "SUSE_COMPAT32" and "PKG_OPTIONS.suse" from pkgsrc.
Packages only need to state exactly which emulations they support,
and the framework handles any i386-on-x86_64 or sparc-on-sparc64
uses.
* Remove "USE_NATIVE_LINUX" from pkgsrc. The framework will
automatically detect when the package is installing on Linux.
Specific changes to packages include:
* Bump the PKGREVISIONs for all of the suse100* and suse91* packages
due to changes in the +INSTALL/+DEINSTALL scripts used in all
of the packages.
* Remove pkgsrc/emulators/suse_linux, which is unused by any
packages.
* cad/lc -- remove custom code to create the distinfo file for
all supported platforms; just use "emul-fetch" and "emul-distinfo"
instead.
* lang/Cg-compiler -- install the shared libraries under ${EMULDIR}
instead of ${PREFIX}/lib so that compiled programs will find
the shared libraries.
* mail/thunderbird-bin-nightly -- update to latest binary
distributions for supported platforms.
* multimedia/ns-flash -- update Linux version to 9.0.48 as the
older version is no longer available for interactive fetch.
* security/uvscan -- set LD_LIBRARY_PATH explicitly so that
it's not necessary to install library symlinks into
${EMULDIR}/usr/local/lib.
* www/firefox-bin-flash -- update Linux version to 9.0.48 as the
older version is no longer available for interactive fetch.
others required significant adjustment due to upstream changes.
Tested on NetBSD-current/i386.
Changes in 1.8.2 (since 1.8.1):
* New procedures (see the manual for details)
** set-program-arguments
** make-vtable
* Incompatible changes
** The body of a top-level `define' no longer sees the binding being created
In a top-level `define', the binding being created is no longer visible
from the `define' body. This breaks code like
"(define foo (begin (set! foo 1) (+ foo 1)))", where `foo' is now
unbound in the body. However, such code was not R5RS-compliant anyway,
per Section 5.2.1.
* Bugs fixed
** Fractions were not `equal?' if stored in unreduced form.
(A subtle problem, since printing a value reduced it, making it work.)
** srfi-60 `copy-bit' failed on 64-bit systems
** "guile --use-srfi" option at the REPL can replace core functions
(Programs run with that option were ok, but in the interactive REPL
the core bindings got priority, preventing SRFI replacements or
extensions.)
** `regexp-exec' doesn't abort() on #\nul in the input or bad flags arg
** `kill' on mingw throws an error for a PID other than oneself
** Procedure names are attached to procedure-with-setters
** Array read syntax works with negative lower bound
** `array-in-bounds?' fix if an array has different lower bounds on each index
** `*' returns exact 0 for "(* inexact 0)"
This follows what it always did for "(* 0 inexact)".
** SRFI-19: Value returned by `(current-time time-process)' was incorrect
** SRFI-19: `date->julian-day' did not account for timezone offset
** `ttyname' no longer crashes when passed a non-tty argument
** `inet-ntop' no longer crashes on SPARC when passed an `AF_INET' address
** Small memory leaks have been fixed in `make-fluid' and `add-history'
** GOOPS: Fixed a bug in `method-more-specific?'
** Build problems on Solaris fixed
** Build problems on HP-UX IA64 fixed
** Build problems on MinGW fixed
are present if the complex.h header exists. csqrt on the contrary
is actively checked. For now, disable complex double handling on
DragonFly to work around this.
in lang/guile16. Many, many changes since the last 1.6.x release including
bug fixes, build fixes, and many feature additions. See the NEWS file for the
full (> 1,000 lines) list of changes.
Patch provided by Yorick Hardy in PR 36335.
And added test target (but fail if effective user == root direcoty owner).
Release notes for version 1.6
* Additions:
o An autogen.sh script for generating the various generated files from source was added.
o Infrastructure for creating, running and composing test suites was added. As a result, "make check" now runs more tests than before.
o It is now possible for adventurous users to run the linker in PLT Scheme.
* Changes:
o make image now assumes a Unicode-capable Scheme 48.
* Bug fixes:
o A bug where automatic port-flushing would churn trying to write to a blocking socket was fixed.
o An infinite loop upon (/ 0.0 0.0) was fixed. (reported by Taylor Campbell)
o A bug that made system unusable was fixed. (reported by Marco Benelli)
o A bug with package mutation, which made running the PreScheme compiler on the VM break was fixed.
o Bugs related to the conversion between OS strings and strings on command-line handling were fixed. (reported by Andreas Rottmann)
o Compilation using gcc now uses the -munaligned-doubles flag where available, which is needed on SPARCs to make floating-point arithmetic work.
o Compilation older versions Cygwin that don't have langinfo.h should be fixed.
o Some problems with installing and running on Windows Vista were fixed. (thanks to Axel T. Schreiner)
Release notes for version 1.5
* Additions:
o Comprehensive Unicode support was added. See the manual for details.
o An implementation of SRFI 19 was added. (thanks to Emilio Lopes)
o Syntax-rules now supports vector patterns and templates.
o The ,bound? command now produces more output. (thanks to Taylor Campbell)
* Changes:
o Many of the POSIX procedures that accepted or returned strings previously now accept or return OS strings. See the manual for details.
o The ,build command now accepts a procedure that will be called with a list of OS strings rather than regular strings.
o The ascii->char and char->ascii procedures from the ascii structure covers only ASCII (codes 0-127) now. (Previously, the range included 128-255 as well.)
* Bug fixes:
o A bug with package mutation was fixed. (reported by Taylor Campbell)
Release notes for version 1.4
* Additions:
o Regexp? is now exported from the rexexps structure.
o SRFIs 4, 39, 40, 43, 43, 60, 61, 63, 66, 67, 71, 78 (mostly thanks to David Van Horn)
o In the command processor, switches were generalized to settings, specifically to customize various printing parameters. See the manual for details.
o A generic byte-code parser was added to the system; the disassembler uses it.
o A reinitializers for register actions to be performed after resuming an image was added.
o A variable-arguments-lists structure implementing a macro for dealing with optional default parameters was added.
o A get-interrupt-handler procedure was added.
o An --enable-universal-binary option was added to configure to facilitate building universal binaries on Mac OS X. (thanks to Eric Knauel)
o The C code now has access to enum sets.
* Changes:
o File-options (in the POSIX libary) are now enum sets; this allows using enum-set operations on them.
o Various changes were made to the VM to enable native-code compilation.
o Socket addresses are always reusable.
o 1+ and 1- are no longer valid identifiers.
o The ordering of in/out thunks of dynamic-wind was changed to be consistent with itself and with the upcoming R6RS.
o The Windows build is now done using Visual Studio 2005.
* Bug fixes:
o Macro-defining macros now work in PreScheme.
o Opening a file for both read and write via the POSIX libraries wouldn't work correctly. (Reported by Andreas Rottmann.)
o PreScheme's copy-memory! now works for overlapping regions.
o Various C compilation problems were fixed.
o cmuscheme48.el should now work under GNU Emacs as well as XEmacs.
o Numerous problems with floating-point arithmetic were fixed.
o A race condition with queues was fixed. (thanks to David Frese)
o Part of script messages were printed on stdout rather than stderr; fixed. (thanks to Andreas Rottmann)
o A shadowing bug in the debugging package was fixed. (thanks to Taylor Campbell)
o A bug in the CML sync-group primitive was fixed. (thanks to Heath Putnam)
o Various errors in SRFI 13 were fixed.
o A bug in the auto-integrator was fixed. (thanks to Taylor Campbell)
o A bug in load-dynamic-externals was fixed. (thanks to Taylor Campbell)
o Several bugs in vector-merge were fixed. (reported by Matthias Radestock)
o The CML wrap was made correctly tail-recursive. (reported by Heath Putnam)
o A bug in the PreScheme C backend, that would sometimes incorrectly delete tail calls without a return value, was fixed. (reported by Eric Merritt)
o Several bugs in interface walking were fixed. (reported by Taylor Campbell)
o A bug in the PreScheme compiler affecting the removal of unused procedures was fixed. (thanks to Eric Knauel)
o Some precedence bugs in the C stubgs for the regexp code were fixed. (thanks to Matthew Dempsky)
o A bug in the regexps package for regexps without submatches was fixed.
o (set-current-proposal! (current-proposal)) no longer raises an exception. (thanks to Taylor Campbell)
o A bug in package caching was fixed. (thanks to Taylor Campbell)
o A bug in the generation of environment maps was fixed. (thanks to Taylor Campbell)
o The Windows installer package should now work even on systems that have delayed variable expansion on by default. (thanks to Emilio Lopes)
o Exception handlers that return from raise are now handled correctly. (reported by Norbert Freudemann)
Based on patch provided by Yorick Hardy in PR 36334, I ajust patch files.
2.41 (2006-10-13)
=================
User visible changes
--------------------
* New module libsvm interfaces to <http://www.csie.ntu.edu.tw/~cjlin/libsvm>
and makes Support Vector Machines available in CLISP.
See <http://clisp.cons.org/impnotes/libsvm.html> for details.
* The same internal interface now handles FFI forms DEF-CALL-OUT and
DEF-C-VAR regardless of the presence of the :LIBRARY argument.
(:LIBRARY NIL) is now identical to omitting the :LIBRARY argument.
The default for the :LIBRARY argument is provided by
FFI:*DEFAULT-FOREIGN-LIBRARY* (bound in a compilation unit).
See <http://clisp.cons.org/impnotes/dffi.html#dffi-default-lib> for details.
* Bug fixes:
+ DOCUMENTATION on built-in functions was broken on some platforms.
[ 1569234 ]
+ Fixed FFI callbacks, broken since the 2.36 release.
+ Fixed the way the top-level driver handles the "--" option terminator.
+ Fixed COMPILE of APPLY in LABELS for local function. [ 1575946 ]
2.40 (2006-09-23)
=================
Important notes
---------------
* All .fas files generated by previous CLISP versions are invalid and
must be recompiled. This is because DOCUMENTATION and LAMBDA-LIST are
now kept with the closures.
Set CUSTOM:*LOAD-OBSOLETE-ACTION* to :COMPILE to automate this.
See <http://clisp.cons.org/impnotes.html#loadfile> for details.
User visible changes
--------------------
* Infrastructure
+ Top-level configure now accepts a new option --elispdir which specifies
the installation directory for the Emacs Lisp files (clhs.el et al).
The default value is ${datadir}/emacs/site-lisp/.
Thus, clhs.el at al are now installed by "make install", and should
be included in the 3rd party distributions.
+ Top-level configure now accepts variables on command line, e.g.,
./configure CC=g++ CFLAGS=-g
* Function PCRE:PCRE-EXEC accepts :DFA and calls pcre_dfa_exec() when
built against PCRE v6. See <http://clisp.cons.org/impnotes/pcre.html>.
* New functions RAWSOCK:IF-NAME-INDEX, RAWSOCK:IFADDRS.
See <http://clisp.cons.org/impnotes/rawsock.html>.
* When the OPTIMIZE SPACE level is low enough, keep function
documentation and lambda list.
See <http://clisp.cons.org/impnotes/declarations.html#space-decl>.
* Bug fixes:
+ Make it possible to set *IMPNOTES-ROOT-DEFAULT* and *CLHS-ROOT-DEFAULT*
to local paths, as opposed to URLs. [ 1494059 ]
+ Fix the evaluation order of initialization and :INITIALLY forms in
then extended LOOP. [ 1516684 ]
+ Do not allow non-symbols as names of anonymous classes. [ 1528201 ]
+ REINITIALIZE-INSTANCE now calls FINALIZE-INHERITANCE. [ 1526448 ]
+ Fix the RAWSOCK module on big-endian platforms. [ 1529244 ]
+ PRINT-OBJECT now works on built-in objects. [ 1482533 ]
+ ADJUST-ARRAY signals an error if :FILL-POINTER is supplied and non-NIL
but the non-adjustable array has no fill pointer, as per ANSI. [ 1538333 ]
+ MAKE-PATHNAME no longer ignores explicit :DIRECTORY NIL (thanks to
Stephen Compall <s11001001@us...>). [ 1550803 ]
+ Executable images now work on ia64 (thanks to Dr. Werner Fink
<werner@su...>).
+ MAKE-PATHNAME on win32 now handles correctly directories that start
with a non-string (e.g., :WILD). [ 1555096 ]
+ SOCKET-STREAM-PEER and SOCKET-STREAM-LOCAL had do-not-resolved-p
inverted since 2.37.
+ Set functions with :TEST 'EQUALP were broken on large lists. [ 1567186 ]
We are pleased to announce the release of Python 2.4.4 (FINAL), a
bugfix release of Python 2.4, on October 18, 2006.
Important: 2.4.4 includes a security fix (PSF-2006-001) for the
repr() of unicode strings in wide unicode builds (UCS-4) [does not
affect pkgsrc]
Python 2.4 is now in bugfix-only mode; no new features are being
added. At least 80 bugs have been squished since Python 2.4.3,
including a number of bugs and potential bugs found by with the
Coverity and Klocwork static analysis tools. We'd like to offer
our thanks to both these firms for making this available for open
source projects - see their websites if you're interested.
last released version that we have as devel/ffcall. Arrange for
powerpc files (from files/) to end up in the right place and get used
by the build:
tramp-* files are no longer used, so don't copy them. They can
probably be deleted from files/ now.
powerpc is now known to ffcall as powerpc, not rs6000 so change the
target name accordingly and make the makefile rule recognize netbsd
and pick up our file.
Makes clisp build/work on my macppc.
Ok wiz@ (except any typos in this commit message).
Security Fixes
* Fixed an integer overflow inside chunk_split() (by Gerhard Wagner, CVE-2007-2872)
* Fixed possible infinite loop in imagecreatefrompng. (by Xavier Roche, CVE-2007-2756)
* Fixed ext/filter Email Validation Vulnerability (MOPB-45 by Stefan Esser, CVE-2007-1900)
* Fixed bug #41492 (open_basedir/safe_mode bypass inside realpath()) (by bugs dot php dot net at chsc dot dk)
* Improved fix for CVE-2007-1887 to work with non-bundled sqlite2 lib.
* Added mysql_set_charset() to allow runtime altering of connection encoding.
* Upgraded bundled SQLite 3 to version 3.3.17. (Ilia)
* Fixed gd build when used with freetype 1.x (Pierre, Tony)
And a fair few bugs fixed, see: http://www.php.net/ChangeLog-5.php#5.2.3
for all the details.
JamVM 1.4.5 released on 4th February 2007
=========================================
A summary of changes since 1.4.4:
- Support for Java 1.5 Annotations. This includes the following
methods for reflection access to Annotations:
- VMClass.getDeclaredAnnotations
- java.lang.reflect.Field.getDeclaredAnnotations
- java.lang.reflect.Constructor
- getAnnotation, getDeclaredAnnotations, getParameterAnnotations
- java.lang.reflect.Method
- getDefaultValue, getAnnotation, getDeclaredAnnotations,
getParameterAnnotations
- Class sun.misc.Unsafe implemented, providing VM support for
JSR-166 (Concurrency Utilities).
- Ported to the mipsel architecture. This is a full port, with hand-
coded assembler to handle the construction of a call-frame for calling
JNI native methods. This supports the O32 ABI (for other ABIs libffi
can be used).
- Bug fix in registering references external to the heap with the GC.
The table should be locked for references registered after VM
initialisation.
- Bug fix when expanding the heap and the free-list is empty.
- Fixed race-condition when rewriting OPC_NEW in the indirect-threaded
interpreter (by default the direct-threaded interpreter is used).
- Bug fix in the GC compaction phase. The class-loader references
within the loaded DLL hashtable must be updated when the class-loader
is moved during compaction. This is a regression introduced in
JamVM 1.4.3 (DLL unloading), seen while running Eclipse.
- Bug fix in JNI_GetStringUTFLength. The reported length should not
include space for a NULL terminator.
- Various compile fixes for uClibc. Support for the JNI invocation
API requires glibc features not implemented in uClibc.
- Command line option -fullversion implemented.
JamVM 1.4.4 released on 2nd November 2006
=========================================
A summary of changes since 1.4.3:
- Full JNI Invocation API implemented, enabling JamVM to be linked into
another program.
- JNI_CreateJavaVM, DestroyJavaVM, AttachCurrentThread,
- AttachCurrentThreadAsDaemon, DetachCurrentThread
- JNI_GetDefaultJavaVMInitArgs
- JamVM is now also built as a shared library (lib/libjvm.so).
- The executable (bin/jamvm) is statically linked with this library
instead of being a wrapper. This is because the shared library
runs slower than static linking on some architectures. As JamVM
is small this is not a problem.
- Improved class-loader and shared library support
- When a class-loader (and all its classes) is unloaded all shared
libraries loaded by the class-loader are unloaded and JNI_OnUnload
called (if defined)
- A shared library can no longer be opened by two class-loaders
at once
- A class can only resolve native methods defined in shared libraries
opened by its defining class-loader
- Major re-working of thread/locking code to support additional Java 1.5
functionality
- Thread.getState() implemented
- correct thread states and their transistions (e.g. BLOCKING,
WAITING, TIMED_WAITING, etc.)
- native support for the ThreadMXBean thread system management API
- thread creation statistics (count of live, started and
peak threads)
- Information about a thread (ThreadInfo)
- execution information (thread state, stack backtrace to
a particular depth, object upon which the thread is blocked
or waiting to be notified)
- synchronization statistics (counts of the times the thread
has been blocked or waited for notification)
- Thread.interrupt() re-implemented fixing several bugs
- if a thread was waiting on a monitor, previous implementation
required the monitor lock to be obtained. If a 3rd thread
was holding this, the interrupt could not occur to avoid
deadlock. New thread-code does not require lock to be obtained.
- in rare circumstances another thread waiting on the monitor
could be notified (when there was pending notifications,
and then an interrupt, and subsequent threads waiting on the
monitor).
- a thread waiting on a thin-lock (waiting for inflation)
could erroneously report an InterruptedException
- GC bug fix for class-unloading when only using the compactor
(-Xcompactalways). The compactor in some circumstances could move
objects ontop of the object holding the native class-loader VM data
before it was freed leading to a SEGV.
- Bug fix for abstract methods which fell through previous
AbstractMethodError checks (using a stub method)
- AbstractMethodError now also gives the method name
- Bug fix to not allow abstract classes to be instantiated
- Bug fix for NULL in identityHashCode (a regression in JamVM 1.4.3)
- Bug fix for NULL in JNI method GetStringUTFLength|Chars
- Bug fix for $ in native method names
- FirstNonNullClassLoader implemented
- Access-checking bug fix. In reflection method/field access, also
check class access in addition to method/field.
- Ensure created threads have a native stack size of at least 2MB. This
fixes SEGVs due to stack overflow seen on OpenBSD/Darwin
(default 512KB).
- Property sun.boot.class.path is now also defined in addition to
java.boot.classpath. Certain applications look for the Sun property
(e.g. Dacapo bloat benchmark).
- Extra bootclasspath command line options
- bootclasspath/v overrides the default VM classes path
- bootclasspath/c overrides the default GNU Classpath classes path
- java.endorsed.dirs support added
- directories are scanned and any jar/zip files are added to the
boot classpath.
- Improved thread dump (produced via ctrl-\). Now shows thread state.
- JamVM by default now installs in its own directory (/usr/local/jamvm)
JamVM 1.4.3 released on 21st May 2006
=====================================
A summary of changes since 1.4.2:
- Heap compaction implemented. Previously on some programs the object
allocation pattern could lead to a highly fragmented heap (lots of
small holes). This caused early heap expansion, and in some cases
an OutOfMemory exception (a result of repeated heap expansion until
heap fully expanded).
JamVM now includes a mark/compact collector in addition to the
mark/sweep GC. This is normally ran after forced finalisation, and
before heap expansion. It removes fragmentation by sliding the objects
to the bottom of the heap, closing the holes.
Two new command line options can be used to control compaction :
-Xnocompact : don't do compaction and just use the mark/sweep
collector. This is equivalent to JamVM 1.4.2 behaviour.
-Xcompactalways : do compaction on every garbage-collection. In
some cases this may lead to less collections, but
the compactor is slower than the sweeper.
- The interned String table is now garbage-collected (JamVM uses its
own interned String hashtable).
- Additional Java 1.5 support
- New methods within VMClass implemented
- isMemberClass, isLocalClass, isAnonymousClass,
getEnclosingClass, getEnclosingMethod,
getEnclosingConstructor, getClassSignature.
- Generic signature support in reflection classes (Constructor, Method
Field).
- getTypeParameters, getSignature, getGenericExceptionTypes,
getGenericParameterTypes, toGenericString, getGenericType,
getGenericReturnType
- Uncaught exceptions will now use the thread's uncaughtExceptionHandler
(if available).
- Fix for Non-ASCII characters in class name parameter
- affected methods Class.ForName, ClassLoader.defineClass
- Use getcwd() instead of PWD enviroment variable for user.dir
property. This fixes problems seen on some applications.
- Fix in VMClass.defineClass on 64-bit machines (protection domain
parameter assumed to be 4 bytes).
- Minor interpreter optimisation in direct-mode with handler
prefetch (reload of handler address in aload_0/getfield pair).
- Command line options -version and -showversion now prints a "Java
compatible" version number. This is to work with shell scripts which
parse the output to get the Java version.
- Set the java.home property to the JAVA_HOME environment variable if set.
- Ported to Mac OS X on Intel.
- Runtime.availableProcessors implemented (Linux, Mac OS X and BSD
systems).
- Updated to be compatible with Classpath 0.91.
- Merged in changes to GNU Classpath's VM reference classes and
JamVM's classes.
- Various compiler warnings.
pkgsrc, in preparation for gnome1-libs removal(*).
There was no feedback for keeping these packages after my
HEADS UP mail to pkgsrc-users a week ago.
(*) More to come before that can happen, though.
* Fixed CVE-2007-1001, GD wbmp used with invalid image size (by Ivan Fratric)
* Fixed asciiz byte truncation inside mail() (MOPB-33 by Stefan Esser)
* Fixed a bug in mb_parse_str() that can be used to activate register_globals
(MOPB-26 by Stefan Esser)
* Fixed unallocated memory access/double free in in array_user_key_compare()
(MOPB-24 by Stefan Esser)
* Fixed a double free inside session_regenerate_id() (MOPB-22 by Stefan Esser)
* Added missing open_basedir & safe_mode checks to zip:// and bzip:// wrappers.
(MOPB-21 by Stefan Esser).
* Limit nesting level of input variables with max_input_nesting_level as fix for
(MOPB-03 by Stefan Esser)
* Fixed CRLF injection inside ftp_putcmd(). (by loveshell[at]Bug.Center.Team)
* Fixed a possible super-global overwrite inside import_request_variables().
(by Stefano Di Paola, Stefan Esser)
* Fixed a remotely trigger-able buffer overflow inside bundled libxmlrpc
library. (by Stanislav Malyshev)
* Fixed a header injection via Subject and To parameters to the mail() function
(MOPB-34 by Stefan Esser)
* Fixed wrong length calculation in unserialize S type (MOPB-29 by Stefan Esser)
* Fixed substr_compare and substr_count information leak
(MOPB-14 by Stefan Esser) (Stas, Ilia)
* Fixed a remotely trigger-able buffer overflow inside make_http_soap_request()
(by Ilia Alshanetsky)
* Fixed a buffer overflow inside user_filter_factory_create().
(by Ilia Alshanetsky)
* the PEAR installer, for creating, distributing and installing packages
* the PEAR_Exception PHP5 error handling mechanism
* the PEAR_ErrorStack advanced error handling mechanism
* the PEAR_Error error handling mechanism
* the OS_Guess class for retrieving info about the OS where PHP is running on
* the System class for quick handling of common operations with files and
directories
* the PEAR base class
Many, many bugs have been fixed relative to 6.6. Far too many to list here.
The other changes in this release are:
* GHC works on Windows Vista.
* GHC can now be used to compile C++ files.
* There is an --install-signal-handlers=<yes|no> RTS flag. The main use is
to stop GHC installing signal handlers when you are putting your code in
a DLL.
* Newtypes can now be defined using GADT syntax.
* Linear implicit parameters are no longer accepted.
* There is a manpage for ghc and ghci.
* The building guide has been moved to the wiki.
* GHC now comes with the filepath library.
Based on patch provided in PR 36157, update to 0.4.10.
New in 0.4.11
- Compilers:
+ IMCC: added documentation for C-based Parrot Calling Conventions,
refactorings and bug fixes
+ PGE: new perl6regex front end reflecting recent S05 syntax changes
+ PIRC: new prototype PIR parser
- Languages:
+ Updated Lua, PHP ("Plumhead"), BASIC, pynie
+ Lua implements environment
- Design:
+ PDD15 "Objects" - details added, and draft approved
- Documentation:
+ Added guidelines for PMC documentation
- Implementation:
+ PDD15 implementation is largely complete, including role-based composition,
introspection, and C3 method resolution order
+ new Exporter PMC for importing globals between namespaces
+ new string utilities for radix conversion
+ PCCINVOKE and Parrot_PCCINVOKE allow calling using the full Parrot Calling
Conventions from PMCs and C code respectively
- Build:
+ Refactorings and improvements in test coverage for 'Configure.pl'
- Misc:
+ many bugfixes, enhancements, and code cleanup
+ added example subversion config file
+ extended support for gcc, icc, and other compilers
+ extended support for Solaris and other platforms
New in 0.4.10
- Compilers:
+ IMCC: Parrot calling conventions now available between two C PMCs (PMINVOKE)
+ PGE: Match object improvements
+ smop: added Attribute and Class PMCs
+ HLLCompiler: improvements for interactive mode
- PAST:
+ extended binding to a list of variables
- Languages:
+ Updated Lua, PHP ("Plumhead"), Tcl ("ParTcl"), Ruby ("Cardinal")
+ Update PIR, regex, Zcode
+ New language: Pynie - a Python compiler for Parrot
+ Lua implements require and many other ops, improved regex support
+ Remove parakeet
- Design:
+ PDD01 "Overview" - updated architecture and platform information
+ PDD15 "Objects" - details on roles, objects, and classes added
+ PDD22 "I/O" - added async ops and Status PMC details
- Documentation:
+ Added guides for Metacommitter, Relase Manager, and Cage Cleaner roles
- Implementation:
+ Object, Class, Role, and Attribute PMC implementation has begun
+ Perl 5 module "Parrot::Embed" now compiles and links on all platforms
- Build:
+ Major improvements in test coverage for 'ops2c.pl'
- Misc:
+ New utility: Crow, a template processor
+ New library module: Config/JSON for reading/writing JSON files
+ many bugfixes, enhancements, and coding standard updates, code cleanup
New in 0.4.9
- Compilers:
+ IMCC: Parrot calling conventions now available in C PMCs, allowing
named, optional, slurpy, and flat parameter passing
+ PGE: extended support for Perl 5 Regexes
+ smop: prototype object model implementation
+ hllcompiler: refactored to run a configurable set of compilation stages
- PAST:
+ redesigned assign/binding to support Perl 6 binding semantics
- Languages:
+ Updated Lua, PHP ("Plumhead"), Tcl ("ParTcl"), perl6, perl5
+ New language: PIR - a PGE-based implementation of Parrot PIR
+ perl6 now supports binding (':=') and 'join'
+ lua generates tail calls, and supports its own regex flavor (PGE-based)
+ Pheme still works, huzzah!
- Design:
+ PDD21 "Objects" - rewritten
+ PDD22 "I/O" - updated and 'TODO' tests added
- Documentation:
+ Interface stability classification standards approved
+ Roles and Responsibilities documented approved
+ Official 'drafts' directory created (was 'clip')
- Implementation:
+ More NameSpace and OS PMC methods implemented
+ Parrot executable fullname and basename now available in PIR/PASM code
+ new 'chomp' library function
- Build:
+ Major improvements in test coverage for 'ops2pm.pl'
- Misc:
+ many bugfixes, enhancements, and coding standard updates
+ extended support for Sun Workshop Compilers
+ Parrot now builds on PocketPC platform
New in 0.4.8
- Compilers:
+ HLLCompiler: added tracing options, modified api
+ PGE & TGE bugfixes and updates
- PAST:
+ added global and lexical variable support
+ added looping constructs, arrays, hashes
- Languages:
+ Updated PHP ("Plumhead"), Tcl ("ParTcl"),
forth, perl6, lua, abc, APL, WMLScript, punie
+ ParTcl is passing > 24.9% of Tcl cvs-latest test suite
+ perl6 now supports hashes, arrays, method calls, arity-based
multisubs, quoted terms, ranges (non-lazy), try blocks, $!
- Design:
+ PDD01 "Overview" - updated
+ PDD22 "I/O" - rewritten and approved
- Test Suite:
+ Converted Perl 5 Regex tests to PIR, with notable speedup
+ Added tests for opcodes, compilers, languages, and coding standards
- Build:
+ Major improvements in test coverage for 'pmc2c.pl'
- Misc:
+ many bugfixes, enhancements, and coding standard updates
+ extended support for non-core platforms including Cygwin, Tru64
New in 0.4.7
- New languages: PHP ("Plumhead"), Forth
- Updated languages: Ruby ("Cardinal"), Tcl, Lua
- Remove old Python implementation from Parrot repository; the new Python
language code is hosted at http://pirate.tangentcode.com
- Compilers:
+ PGE updated with more expressions, latest changes to S05
+ new Perl6 grammar compiler
- Integration:
+ Perl 5 module "Parrot::Embed" allows easy embedding of a Parrot
runtime into a Perl 5 program
- PIR:
+ new :init pragma for subs that must run before the main function
+ new :vtable pragma to identify subs that override PMC vtable methods,
eliminating the need for special subroutine names
+ PIR parser/compiler does not stop on first syntax error
+ Vanilla register allocator ("register alligator") greatly improves
performance compiling large functions
+ Eliminated limit on number of PIR macros
- PMCs:
+ hash lookups return null instead of None for missing keys
- Design:
+ PDD13 "Bytecode files: format and manipulation" - new
+ PDD10 "Embedding" - new
+ PDD25 "Concurrency" - rewritten
+ PDD15 "Objects" - new section on redesign requirements
+ PDD07 "Coding standards" - significant updates and automated tests
- Test Suite:
+ Many many more new tests
- Build Process:
+ autoconf compatible install options
- Misc:
+ Namespace refinements
+ Coroutine improvements
+ An impressive swarm of other bugfixes and enhancements
New in 0.4.6
- New languages: Ruby ("Cardinal"), Javascript ("ecmascript")
- Updated languages: Tcl, dotnet, bc, Pheme, Punie, WMLScript
- Updated compilers: PGE, TGE
- IMCC updates:
+ ".loadlib" directive expresses dependencies
+ ".namespace" with no parameter goes to HLL root
+ lexer is reentrant (reentrant grammar in progress)
- Namespace improvements:
+ new suite of opcodes to access namespaces and globals
("find_global" and "store_global" will be phased out)
+ namespace '' no longer means HLL root
- Design document updates:
namespaces (pdd23), basic types (pdd17), embedding
- Updated tool requirements for developers:
flex 2.5.33, bison 2.1, perl 5.6.1
- New to-do list for people new to Parrot:
cage/todo.pod
- The usual plethora of bugfixes and enhancements
New in 0.4.5
- unicode subroutine names
- hierarchical class names finished including MMD support
- new dotnet CLI to PIR translator
- improved TGE code and compiler
- APL: vector handling
- new STM branch in the svn repository
- the usual bugfixes and enhancements
New in 0.4.4
- hierarchical class names
- APL compiler
- under development
- understands simple vector ops, strings
- demonstrates use of Unicode in Parrot
- pgc, a compiler for rules and operator precedence parsers
- Major redesign and improvements for PGE
- compilers understand named parameter options
- :ratchet option implemented to support non-backtracking quantifiers
- TGE (tree grammar engine) for tree transformations
- tgc, tree grammar compiler
- perl6 compiler
- support for many operators, lexical scalars, regex matches
- new pheme (Parrot scheme) compiler
New in 0.4.3
- namespaces partially implemented
- rulec, Perl6 rule compiler
- PGE improvements including return values for closure
- parts of a Perl6 parser based on PGE
- complex trigonometric methods
- type of Sub PMC is now overridable by HLL
- NetBSD support
- many bug fixes and improvements
New in 0.4.2
- improved PPC and x86 JIT support including JIT compilation
of very simple PASM/PIR subroutines
- preliminary libreadline support
- better trace and debug features
- pkgconfig support
- META.yml to support proper indexing on CPAN
- new opcode: hcf (in "my_ops" in dynamic op library)
- new File pmc for file specific ops (is_dir, is_file, copy, rename...)
- named arguments and parameters (both :named("") and => syntaxes)
- ongoing config improvements
- tons of bug fixes and other small improvements - too much to list all
Based on patch provided by Alaric Snell-Pym in pkgsrc-users@.
Things changed since the last release (2.5):
- Many bugfixes
- Better support for Sun's C compiler
- Input-performance has been improved
- PCRE (Perl compatible regular expressions) by Philip Hazel is now
bundled with CHICKEN
- Static linking of extensions is now possible (when supported by
the egg)
- The interpreter warns about references to potentially unbound variables
in loaded code and expressions entered on the REPL
- The expansion process is traced during compilation and interpretation
to give (slightly) more usable syntactic context in error messages
- library:
* added `any?`, `bit-set?' and `on-exit'
- eval:
* new procedure `set-parameterized-read-syntax!'
- posix:
* SRFI-17 setters for `file-position`, `current-user-id',
`current-group-id', `process-group-id'; the respective setter-procedures
are still available but have been deprecated
* `file-stat' returns more information (including device info)
* added `process*'
- extras:
* added `read-string!'
- utils:
* `apropos' and `apropos-list' procedures
- srfi-4:
* added `read-u8vector', `read-u8vector!' and `write-u8vector'
- srfi-18:
* added `time->milliseconds' and `milliseconds->time'
- csi:
* `-ss SCRIPTNAME' option
- csc:
* accepts options given in the environment variable `CSC_OPTIONS'
* new options `-static-extensions' and `-host'
- chicken/csc:
* new option `-keep-shadowed-macros'
- chicken-setup:
* accepts options given in the environment variable `CHICKEN_SETUP_OPTIONS'
* allows retrieval and installation of eggs from subversion a repository
and the local filesystem
* new options `-tree FILENAME', `-svn', `-local', `-revision' and
`-destdir PATHNAME'
* added helper procedures `required-chicken-version' and
`required-extension-version'
- Lots of improvements in the CMake build
newer pear packages.
* Fix the case where an extra slash would be appended to the file path in the
PLIST.
* Both fixes from from Loic Hoguin and tested by Loic and myself.
such as types and values, natively in OCaml programs.
The goal of the OCamlDuce project is to extend the OCaml language with features
to make it easier to write safe and efficient complex applications that need to
deal with XML documents. In particular, it relies on a notion of types and
patterns to guarantee statically that all the possible input documents are
correctly processed, and that only valid output documents are produced.
WWW: http://www.cduce.org/ocaml
RUBY_SITERIDIR.
It fixes install error of textproc/ruby-redcloth when ruby18-base didn't
biild with ruby-build-ri-db option.
Noted by obache@ via private mail and approved by wiz@.
Bump PKGREVISION.