(ok to update during freeze by wiz@)
Extension Modules
-----------------
- expat: Fix DoS via XML document with malformed UTF-8 sequences
(CVE_2009_3560).
- expat: Fix DoS via malformed XML (CVE-2009-3720).
Core and builtins
-----------------
- Issue #6990: Fix threading.local subclasses leaving old state around
after a reference cycle GC which could be recycled by new locals.
Library
-------
- Issue #7403: logging: Fixed possible race condition in lock creation.
- Issue #5068: Fixed the tarfile._BZ2Proxy.read() method that would loop
forever on incomplete input. That caused tarfile.open() to hang when used
with mode 'r' or 'r:bz2' and a fileobj argument that contained no data or
partial bzip2 compressed data.
the extensions were not actually built since necessary libraries were not found due to pkgsrc
framework, but better be explicit
fix MESSAGE_SRC to use lang/php53 locations
bump PKGREVISION
Squeak 4.0 is functionally equivalent to the previous Squeak 3.10.2 release
but licensed under the MIT license original parts remaining under the Apache
license.
Current development work will be released as 4.1 as soon as possible
following the release of 4.0.
pkgsrc changes:
- move machine-independent files into "share" hierarchy;
- set licence;
- fix homepage.
Pkgsrc changes:
o Adapt patches to upstream changes.
Upstream changes:
- Core changes
+ Most internal allocations now use the GC
+ RNG non-randomness fixes
+ Elimination of much dead code
- API changes
+ PMCs can now be initialized from an int
+ Many legacy ops are removed
- Platforms
+ Sun cc and Intel icc support have been restored
+ Compiler invocation no longer goes through a Perl script
- Tools
+ NCI thunks are now generated by self-hosted PIR code
This package and lang/php5 aren't installed at the same time.
Setting PHP_VERSION_DEFAULT as "5" or "53" to select PHP 5.2.x or 5.3.x.
PHP is an HTML-embedded scripting language. It is modular, with
some object-oriented features. Much of its syntax is borrowed from
C, Java and Perl with a couple of unique PHP-specific features
thrown in. The language is designed to allow web developers to
write dynamically generated pages quickly.
* Add "53" as PHP 5.3.x for several PHP_VERSION_* and its frends.
* Add PKG_PHP_MAJOR_VERS which currently only takes "5".
* Add "php53" to PHP_PKG_PREFIX.
* Add checking installed PHP's version against required version.
0.9.8.6
-------
Enhancements:
- Check for gil when calling a function declared 'execpt *' or 'except ?'.
Acquire gil when reporting unraisable exception.
- Added iter2() function for 2-argument form of iter().
Bug fixes:
- Compiler crashed if base class of extension type was incompletely
defined.
- Compiler crash on misspelled method name in property declaration.
[Stefan Behnel]
- Fixed deprecation warnings in 2.6
- Always preserve explicit type casts for non-Python types.
[Alexander Belchenko]
- Added workaround for threading initialisation bug in Python 2.3.
[Lisandro Dalcin]
- Deleting dict item with integer key did not work. [Titus Brown]
- Header files for cimported modules included in wrong order.
[Stephane Drouard]
- Don't allow a member of a ctypedef struct to reference itself.
[Tim Wakeham]
- Compiler crash due to attribute reference in compile-time expression.
[Hoyt Koepke]
- Public extension type attribute with cname didn't work.
[Mark Ellis]
- Memory leak related to exporting C functions. [Lisandro Dalcin]
- Compiler crash on return outside function. [Kurt Smith]
- Scope problem with extension types declared in pxd. [KS Sreeram]
- Calling a builtin method of a subclass of a builtin class did not work.
- Builtin hash() function had wrong return type. [John Arbash Meinel]
Modifications:
- Added 'tags' to .hgignore file. [Kirill Smelkov]
- Disallow overriding a builtin method in a subclass of a builtin class.
The GNU project and the GCC developers are pleased to announce the
release of GCC 4.4.3.
This release is a bug-fix release, containing fixes for regressions in
GCC 4.4.1 relative to previous releases of GCC.
ECL 10.3.1:
===========
This release has three important focuses: performance improvements in various
fronts (garbage collection and hash tables), extending the run-process function
and important fixes to let ECL work better with Slime. To quote one lisper
ECL "this feels like a real Lisp implementation now"
* Bugs fixed:
- DIRECTORY used stat() also on files that did not match the directory masks.
- The syntax for matching strings in DIRECTORY is now the same as in
PATHNAME-MATCH-P. Formerly there were small differences, such as DIRECTORY
understanding characters #\? and #\\ and PATHNAME-MATCH-P not.
- Standalone executables do not require the existence of the ECLDIR directory
to start up -- it may be required, though, for working Unicode because the
encodings are stored there.
- PROCESS-JOIN was exported from the wrong package.
- PROCESS-JOIN failed when invoked with a thread that was in the process of
being set up.
- The output values of a process or thread are now collected in the process
object and returned by PROCESS-JOIN.
- ECL's interrupt servicing thread could not be shut down.
- When compiling LET forms, ECL emitted warnings about removal of variables
even when they were declared IGNORABLE.
- An internal variable MP:*ALLOW-WITH-INTERRUPTS* was not declared special.
- The compiler now understands function type proclamations with &OPTIONAL
values.
- The compiler now accepts THE special forms with a VALUES type.
- If file A.lsp explicitely loads B.lsp to use a package that is only defined
in B, then ECL signaled an error in the compiled version of A even after
this one had required B.lsp.
- ECL accepts FTYPE proclamations for SETF-functions.
- On platforms where a stack overflow does not trigger a SIGSEGV, ECL was
unable to recover from the overflow. Now it jumps to the outermost
protection frame (typically the toplevel).
- Socket streams are now two-way streams. This solves a problem with certain
platforms (OS X) where a C stream can not be used to read and write
simultaneously by two different threads.
- TRUENAME and PROBE-FILE were not thread safe.
* Visible changes:
- Hash tables now use hand-coded specialized loops for EQ, EQL, EQUAL, EQUALP
and package types, achieving a reduction of about 30% time in lookups.
- A new function EXT:ENVIRON returns the list of strings that makes up the
process environment. This is the equivalent of POSIX (char **environ)
and Windows' GetEnvironmentStrings.
- EXT:RUN-PROGRAM now accepts a keyword argument, :ENVIRON, with a list of
strings used to configure the environment of the child process. For instance
'("PWD=/home" "PATH=/usr/bin")
- EXT:RUN-PROGRAM returns as third value an EXT:EXTERNAL-PROCESS structure,
which supports the queries EXT:EXTERNAL-PROCESS-{PID,INPUT,OUTPUT,STATUS},
following CCL's conventions.
- The new function EXT:EXTERNAL-PROCESS-WAIT can be used to wait indefinitely
for termination of a process or simply to query its status.
- ECL implements a new garbage collector marking mode which at the overhead of
one word per object achieves precise marking of heap objects, reducing
accidental data retention and improving the time spent in garbage
collection. This mode is only available when using --enable-boehm=system at
configuration time.
- ECL now ships with ASDF version 1.604
- The variables C:*USER-CC-FLAGS* and C:*USER-LD-FLAGS* are lists of strings
which can used to change the behavior of the C compiler and the
linker. Note, however, that the flags that ECL uses may take priority.
- In the C code we are beginning to use GCC's attributes (__attribute__) and
branch annotation (__builtin_expect). This decreases the size of code that
checks for errors and improves performance.
- When printing compiler notes, instead of printing the macroexpanded form,
ECL now prints the toplevel form, as follows
;;; Warning: in file src:lsp;autoload.lsp.NEWEST, position 1178 and top form
;;; (DEFMACRO WITH-COMPILATION-UNIT (OPTIONS &REST BODY) ...)
;;; The variable OPTIONS is not used.
- ECL now implements EXT:*INVOKE-DEBUGGER-HOOK*, which works like *DEBUGGER-HOOK*
but is also observed by BREAK. (SBCL extension adopted by ECL)
- The UFFI interface now supports C99 types, such as :int8-t, :uint32-t, etc,
but only when the corresponding types do exist in the underlying C environment.
- SOCKET-MAKE-STREAM defaults :BUFFERING to :FULL and allows three new keyword
arguments, :INPUT, :OUTPUT and :EXTERNAL-FORMAT, as in SBCL.
- COMPILE-FILE admits the keyword argument :EXTERNAL-FORMAT.
- A new function EXT:ALL-ENCODINGS lists all encondings known to ECL.
- Improved readability of compiler messages.
- SERVE-EVENT now allows time resolution of less than one second.
- The PROFILE package now has an alias, SB-PROFILE.
- ECL now stores the location of its source files in a logical hostname,
"SRC:", which points to the directory where Announcement is located.
- When building ECL, if "etags" is installed, a file TAGS is created which
contains references to the location of all C functions. This file can be
used to locate functions from the core library in Slime, using M-.
- Documentation files now allow for annotation of arbitrary symbols,
based on a key and a sub-key which are both symbols.
- New function EXT:FUNCTION-LAMBDA-LIST which currently only works with
functions from the core ECL library, generic functions and interpreted
functions.
- The debugger now is capable of showing the special variable bindings
from a function, as well as the restarts newly bound by that function.
- When using git, a new function EXT:LISP-IMPLEMENTATION-VCS-ID returns a
unique identifier denoting the last commit. This can be used to discriminate
between unstable releases and remove stale FASL files.
- COMPILE-FILE admits two new keyword arguments, :SOURCE-TRUENAME and
:SOURCE-OFFSET which can be used to change the value returned by
EXT:COMPILED-FUNCTION-FILE when acting on compiled functions.
Contributed by Peter Bex.
New in Chicken 4.4.0:
- the system can now be built with llvm-gcc and/or "clang" (the
LLVM C compiler which doesn't use the GNU C frontend)
- added new option `-trunk' to `chicken-install', which forces
building and installing the development version of extensions
in combination with `-t local'
- added new option `-deploy' to `chicken-install', which builds
extension for use in "deployed" applications (see below)
- added option `-deploy' to `csc', the compiler driver. With this
option `csc' can build fully self-contained application bundles
and double-clickable Macintosh GUI apps; see the "Deployment"
manual chapter for more information
- the directory given to the `-prefix' option of `chicken-install'
may now be a relative pathname.
- removed GUI-specific runtime library (`libchicken-gui') from
Windows build - GUI- and non-GUI applications now use the same
runtime library
- special forms of the foreign-function interface have been replaced
with an internal form and syntax to allow renaming and shadowing of
these forms
- the new `-private-repository' option in `csc' compiles executables
with the extension-repository path set to the directory from which
the program was started
- `csc': deprecated the `-W' and `-windows' options, added `-gui' as
a platform-independent replacement
- `require-extension'/`use' accepts now import-specifications
- user-defined extension-specifiers and `set-extension-specifier!'
have been removed
- `delete-file[*]', `rename-file', `create-directory', `file-copy',
`file-move', `delete-directory' and `change-directory' return their
argument/destination filename on success
- added the missing procedure `condition-variable-name' to the
srfi-18 library unit (Thanks to Joerg Wittenberger)
- the `glob?' function from the `regex' unit has been deprecated
- added the procedure `scan-input-lines' to the `utils' library unit
- added new runtime option `-:g' which enables GC debugging output
- reclamation of unused symbols in "symbol-gc" mode (`-:w') now only
takes place for symbols with an empty property-list
- on Windows loading of code compiled with [non-]GUI runtime libraries
will fail and produce an error message when the loading executable
is linked with a different runtime system
- on Windows, GUI libraries were not correctly linked by `csc'
- unit posix: added setter for `file-modification-time'
- the banner shows the branchname of the build, unless it's "master"
- the `-no-install' option to `chicken-install' is ignored when
building/installing dependencies
- `chicken-uninstall' takes a glob instead of a regular expression as
argument
- the rename and compare functions for low-level macro-definitions
accept now arbitrary s-expressions and renames/compares them recursively
- `number->string' handles negative-numbers with bases different from 10
correctly (thanks to Peter Danenberg)
- removed deprecated `setup-install-flag' and `setup-verbose-flag' from
the `setup-api' module
- added new option `-repository' to `chicken-install' (Thanks to Christian
Kellermann)
- removed `chicken-setup' stub program
- fix to `csc' to use the correct library when fixing dynamic load paths
(Thanks to Derrell Piper)
- removed html documentation from distribution (the wiki manual will
now be installed)
- fixed bug in `reexport' which caused syntax not to be correctly
reexported
- previous assignments to a toplevel variable that are separated by
side effect free expressions are removed
- fixed windows version of `find-files' (thanks to Jim Ursetto)
- documentation for extensions is not installed automatically by
`chicken-install' anymore
- changed binary version from "4" to "5", because the new runtime
libraries are not binary-compatible with previous releases; this
means all eggs have to be reinstalled and existing programs be
recompiled!
- added unboxing pass to compiler which results in partially dramatical
performance improvements for unsafe floating-point-intensive code;
unboxing is enabled on optimization levels 4 and 5
- removed rest-argument-vector optimization as it could conflict
with inlining (thanks to Sven Hartrumpf)
- renamed `pointer-offset' to `pointer+' and deprecated `pointer-offset'
- toplevel assignments that have no other side-effects can be eliminated
if it can be shown that the value is not used (the compiler will
generate a warning in this case)
- removed deprecated `-quiet' option in `chicken' program
- removed deprecated `run-time-macros' declaration
- removed deprecated `-v2' and `-v3' options in `csc' program
- removed deprecated `list-of' function (it is exclusively available
as `list-of?' now)
- removed deprecated `stat-...' functions in posix library unit
- removed deprecated `for-each-line' and `for-each-argv-line' procedures
in utils library unit
- added `fpinteger?' and `fpabs'
- deprecated `define-compiled-syntax'
- added new floating-point primitives `fpsin', `fpcos', `fptan',
`fpasin', `fpacos', `fpatan', `fpatan2', `fpexp', `fplog',
`fpexpt' and `fpsqrt'
- heavy cleanup of floating math functions which gives much better performance,
especially for code compiled in unsafe mode
- calling `assert' with a single argument shows the tested expression
on failure
- various bugfixes and cleaning up
New in version 1.0.36
- new feature: SB-EXT:TYPEXPAND-1, SB-EXT:TYPEXPAND, and
SB-EXT:TYPEXPAND-ALL behave exactly like their MACROEXPAND
counterparts but work on type specifiers.
- new feature: SB-EXT:DEFINED-TYPE-NAME-P returns whether a
symbol is known to name a type specifier.
- new feature: SB-EXT:VALID-TYPE-SPECIFIER-P returns whether a
given type specifier is valid where "valid" basically means
"would be accepted as second argument of TYPEP".
- new feature: SB-INTROSPECT:FUNCTION-TYPE takes a
function-designator and returns the function's declared, or
derived FTYPE.
- new feature: SB-POSIX now supports accessing the d_ino
member of dirent structures. (Thanks to Philipp Marek and
Pierre THEIRRY)
- new feature: The function SB-EXT:SEED-RANDOM-STATE has been
added to provide for seeding a RANDOM-STATE object with
user-provided data or from the operating system's PRNG.
Also, (MAKE-RANDOM-STATE T) will attempt to initialize the
returned state from the operating system's PRNG where
possible. (Thanks to Fare Rideau; launchpad bug #310116)
- bug fix: Fix SB-SIMPLE-STREAMS:READ-VECTOR to correctly set
the FILE-POSITION of the stream being read from. (launchpad
bug #491087)
- bug fix: Fix grammar and style issues for the docstrings of
printer-related variables and functions. (Thanks to mon_key;
launchpad bug #518696)
- bug fix: Fix compilation on chenygc platforms. Thanks to
Larry Valkama and Bruce O'Neel.
- bug fix: SB-THREAD:CONDITION-WAIT sometimes signaled a
deadline twice in a row even though a handler defered the
deadline long into the future. (#512914)
- bug fix: A deadline handler was run without interrupts
enabled for a deadline signaled within
SB-THREAD:CONDITION-WAIT.
That could result in infinitely spinning, non-killable threads.
- bug fix: Backtrace from internal-errors on x86-64 os x was
truncated before reaching the erring stack frame.
- bug fix: Fix type derivation for EXPT when raising a fixnum
to a real power. (launchpad bug #525949)
- bug fix: Fix SB-EXT:GENERATION-* accessors for generations >
0 on GENCGC platforms. (launchpad bug #529014)
- bug fix: More robust checks for invalid DEFMETHOD argument
specializers. (launchpad bug #525916)
- bug fix: Fix building on Darwin when sysctl is not in the
user's PATH. (Thanks to Robert Goldman)