Submitted by Peter Bex on IRC.
Changes in 4.5.0
- internal fixes of handling of alternative installation-prefix
in setup-api
- certain compiler-warnings that are in really just notes
and don't indicate a possible error (like reimport of
identifiers) are only shown with -S or in verbose mode
- fixed handling of VARDIR in `chicken-install' (thanks to
Davide Puricelli)
- `chicken-install -test' doesn't runs tests for dependencies
- when a non-else clause follows an else-clause in `cond',
`case' or `select' a warning (note) is shown in verbose
mode
- removed the deprecated `define-extension' and
`define-compiled-syntax'
- `chicken-uninstall' now always asks before removing
extensions, unless `-force' is given
- improved performance of keyword-argument processing slightly
- `export' outside of a module definition has no effect
- `number->string' now accepts arbitrary bases between 2 and 16
(thanks to Christian Kellermann)
- fixed `standard-extension' in `setup-api' module
- literal constants keep their identity, even when inlined
- Unit library: added `fxodd?' and `fxeven?'
- All hardcoded special forms have been replaced with
syntax definitions that expand into internal forms, this
allows redefinition and shadowing of all Scheme core forms
- faster implementations of `get' and `put!'
- faster implementation of `assq' in unsafe mode
- the `-sx' option prefixes each output line with `;'
- slightly better expansion performance
- more documentation of the C API (thanks to Peter Bex)
- `module' supports a shorthand form that refers directly
to a file to be included as the module body
- added runtime option `-:G' to force GUI mode (on platforms
that distinguish between GUI and non-GUI applications)
- removed the unsafe runtime library (`libuchicken'), this
simplifies and speeds up the build and reduces the risk
of executables loading library units from different
variants of the runtime system
- removed the `-unsafe-libraries' option from `chicken'
and `csc'
- removed bootstrapping target and bootstrapping files from
development repository; to bootstrap the system, either
use a release or development-snapshot tarball or fetch
a statically linked precompiled `chicken' binary from
http://chicken.wiki.br/chicken-projects/bootstrap/
- Jim Ursetto provided some fixes for building universal
binaries on Mac OS X
- `csc' now compiles and links Windows resource (.rc) files
when given on the command line
- `chicken-install' and `chicken-uninstall' have an embedded
manifest that suppresses the elevation dialog on Windows
Vista and later when UAC is activated (Thanks to Thomas Chust)
- the `install' program is not used in the build on mingw
and mingw/MSYS platforms, since this is broken on older
mingw versions
- line-number-information is now properly handled (in the
few places where it is used) correctly for included files;
the source file is given in trace-output in addition to
the line number
- removed compiler warning for shared objects compiled in
unsafe mode
- unboxing is now only done in unsafe mode
- in unsafe mode, pointer-accessors from the `lolevel' unit
are now handled intrinsically by the compiler
- `chicken-install' accepts now relative pathnames for the
`-prefix' option
- `define-record-type' now optionally allows using SRFI-17
setters as record-field modifiers
- `integer?' returns `#f' for NaN and infinite numbers
- `csc' now has an `-no-elevation' option for embedding a
manifest that prevents the elevation dialog on Windows
Vista and later when IAC is activated
- the `,d' csi command displays qualified symbols properly
- symbols starting with the `#\#' character trigger an
error when encountered by the reader
- Unit posix: `glob->regexp' now always returns a regular
expression object or optionally an SRE
- Unit posix: `terminal-port?' and `terminal-size' have been
implemented for Windows, the latter always returns `0 0',
though (thanks to Jim Ursetto)
- Unit regex: `regexp' now accepts a regular expression
object as argument
- Unit regex: removed `glob?'
- fixed bug in `chicken-install'/`chicken-uninstall' and
`chicken-status' that prevented collapsed command-line
options to be handled correctly.
- disabled runpath-fix for deployed applications for netbsd
(but resurrected providing a runpath at all, thanks to
Peter Bex)
- Peter Bex provided documentation for the `C_closure' C API
function
The [1]GNU project and the GCC developers are pleased to announce the
release of GCC 4.4.4.
This release is a bug-fix release, containing fixes for regressions in
GCC 4.4.3 relative to previous releases of GCC.
PR pkg/43237 by NAKAJIMA Yoshihiro.
This isn't too useful yet due to an incompatibility (apparently
a bug in gcc-4.1) which will be fixed soon.
bump PKGREVISION
What's New in Python 2.6.5?
===========================
*Release date: 2010-03-18*
What's New in Python 2.6.5 rc 2?
================================
*Release date: 2010-03-09*
Core and Builtins
-----------------
- Issue #8089: a OS X framework build with --with-universal-archs=3-way|intel
had no way to select a 32-bit executable.
- Issue #8084: fixes build issues on OSX 10.6 when targetting OSX 10.4.
Library
-------
- Reverting the changes made in r78432. Discussed in the tracker issue #7540.
- Issue #8107: Fixed test_distutils so it doesn't crash when the source
directory cannot be found.
Extension Modules
-----------------
- Issue #7670: sqlite3: Fixed crashes when operating on closed connections.
- Issue #8053: logic was inverted on which platforms to run a test on.
caused test_thread to fail on Windows.
What's New in Python 2.6.5 rc 1?
================================
*Release date: 2010-03-01*
Core and Builtins
-----------------
- Issue #7309: Fix unchecked attribute access when converting
UnicodeEncodeError, UnicodeDecodeError, and UnicodeTranslateError to
strings.
- Issue #7649: "u'%c' % char" now behaves like "u'%s' % char" and raises a
UnicodeDecodeError if 'char' is a byte string that can't be decoded using
the default encoding.
- Issue #5677: Explicitly forbid write operations on read-only file objects,
and read operations on write-only file objects. On Windows, the system C
library would return a bogus result; on Solaris, it was possible to crash
the interpreter. Patch by Stefan Krah.
- Issue #4978: Passing keyword arguments as unicode strings is now allowed.
- Issue #7819: Check sys.call_tracing() arguments types.
- Issue #7788: Fix an interpreter crash produced by deleting a list
slice with very large step value.
- Issue #7561: Operations on empty bytearrays (such as `int(bytearray())`)
could crash in many places because of the PyByteArray_AS_STRING() macro
returning NULL. The macro now returns a statically allocated empty
string instead.
- Issue #7604: Deleting an unset slotted attribute did not raise an
AttributeError.
- Issue #7413: Passing '\0' as the separator to datetime.datetime.isoformat()
used to drop the time part of the result.
- Issue #6108: unicode(exception) and str(exception) should return the same
message when only __str__ (and not __unicode__) is overridden in the
subclass.
- Issue #7491: Metaclass's __cmp__ method was ignored.
- Add Py3k warnings for parameter names in parenthesis.
- Issue #7362: Give a proper error message for def f((x)=3): pass.
- Issue #7085: Fix crash when importing some extensions in a thread
on MacOSX 10.6.
- Issue #7070: Fix round bug for large odd integer arguments.
- Issue #7078: Set struct.__doc__ from _struct.__doc__.
- Issue #1722344: threading._shutdown() is now called in Py_Finalize(), which
fixes the problem of some exceptions being thrown at shutdown when the
interpreter is killed. Patch by Adam Olsen.
- Issue #7084: Fix a (very unlikely) crash when printing a list from one
thread, and mutating it from another one. Patch by Scott Dial.
- Issue #1747858: Fix lchown & fchown to work with large uid's and gid's on
64-bit platforms.
Library
-------
- Issue #7250: Fix info leak of os.environ across multi-run uses of
wsgiref.handlers.CGIHandler.
- Issue #1729305: Fix doctest to handle encode error with "backslashreplace".
- Issue #691291: codecs.open() should not convert end of lines on reading and
writing.
- Issue #7975: correct regression in dict methods supported by bsddb.dbshelve.
- Issue #7959: ctypes callback functions are now registered correctly
with the cycle garbage collector.
- Issue #6243: curses.getkey() can segfault when used with ungetch.
Fix by Trundle and Jerry Chen.
- Issue #7597: curses.use_env() can now be called before initscr().
Noted by Kan-Ru Chen.
- Issue #7970: email.Generator.flatten now correctly flattens message/rfc822
messages parsed by email.Parser.HeaderParser.
- Issue #3426: ``os.path.abspath`` now returns unicode when its arg is unicode.
- Issue #7835: shelve should no longer produce mysterious warnings during
interpreter shutdown.
- Issue #4772: Raise a ValueError when an unknown Bluetooth protocol is
specified, rather than fall through to AF_PACKET (in the `socket` module).
Also, raise ValueError rather than TypeError when an unknown TIPC address
type is specified. Patch by Brian Curtin.
- Issue #6939: Fix file I/O objects in the `io` module to keep the original
file position when calling `truncate()`. It would previously change the
file position to the given argument, which goes against the tradition of
ftruncate() and other truncation APIs. Patch by Pascal Chambon.
- Issue #7773: Fix an UnboundLocalError in platform.linux_distribution() when
the release file is empty.
- Issue #7748: Since unicode values are supported for some metadata options
in Distutils, the DistributionMetadata get_* methods will now return an utf-8
encoded string for them. This ensure that the upload and register commands
send the right values to PyPI without any error.
- Issue #1670765: Prevent email.generator.Generator from re-wrapping
headers in multipart/signed MIME parts, which fixes one of the sources of
invalid modifications to such parts by Generator.
- Issue #7701: Fix crash in binascii.b2a_uu() in debug mode when given a
1-byte argument. Patch by Victor Stinner.
- Issue #3299: Fix possible crash in te _sre module when given bad
argument values in debug mode. Patch by Victor Stinner.
- Issue #5827: Make sure that normpath preserves unicode. Initial patch
by Matt Giuca.
- Issue #5372: Drop the reuse of .o files in Distutils' ccompiler (since
ing the .c
file). Initial patch by Collin Winter.
- Issue #7617: Make sure distutils.unixccompiler.UnixCCompiler recognizes
gcc when it has a fully qualified configuration prefix. Initial patch
by Arfrever.
- Issue #7071: byte-compilation in Distue.
- Issue #7092: Remove py3k warning when importing cPickle. 2to3 handles
renaming of `cPickle` to `pickle`. The warning was annoying since there's
no alternative to cPickle if you care about performance. Patch by Florent
Xicluna.
- Issue #745tch by
Victor Stinner.
- Issue #6511: ZipFile now raises BadZipfile (instead of an IOError) when
opening an empty or very small file.
- Issue #7552: Removed line feed in the base64 Authorization header in
the Distutils upload command to avoid an ers on long passwords. Initial patch by JP St. Pierre.
- Issue #7231: urllib2 cannot handle https with proxy requiring auth. Patch by
Tatsuhiro Tsujikawa.
- Issue #7348: StringIO.StringIO.readline(-1) now acts as if it got no argument
like other file objects.
- Issue #5949: fixed IMAP4_SSL hang when the IMAP server response is
missing proper end-of-line termination.
- Fix variations of extending deques: d.extend(d) d.extendleft(d) d+=d
- Issue #1923: Fixed the removal of meaningful spaces when PKG-INFO is
generated in Distutils. Patch by Stephen Emslie.
- Issue #4120: Drop reference to CRT from manifest when building extensions
with msvc9compiler.
- Issue #7410: deepcopy of itertools.count() erroneously reset the count.
- Issue #7403: logging: Fixed possible race condition in lock creation.
- Issue #7341: Close the internal file object in the TarFile constructor in
case of an error.
- Issue #7328: pydoc no longer corrupts sys.path when run with the '-m' switch
- Issue #7318: multiprocessing now uses a timeout when it fails to establish
a connection with another process, rather than looping endlessly. The
default timeout is 20 seconds, which should be amply sufficient for
local connections.
- Issue #7282: Fix a memory leak when an RLock was used in a thread other
than those started through `threading.Thread` (for example, using
`thread.start_new_thread()`.
- Issue #7264: Fix a possible deadlock when deallocating thread-local objects
which are part of a reference cycle.
- Issue #7249: Methods of io.BytesIO now allow `long` as well as `int`
arguments.
- Issue #6665: Fix fnmatch to properly match filenames with newlines in them.
- Issue #1008086: Fixed socket.inet_aton() to always return 4 bytes even on
LP64 platforms (most 64-bit Linux, bsd, unix systems).
- Issue #7246 & Issue #7208: getpass now properly flushes input before
reading from stdin so that existing input does not confuse it and
lead to incorrect entry or an IOError. It also properly flushes it
afterwards to avoid the terminal echoing the input afterwards on
OSes such as Solaris.
- Issue #7244: itertools.izip_longest() no longer ignores exceptions
raised during the formation of an output tuple.
- Issue #7233: Fix a number of two-argument Decimal methods to make
sure that they accept an int or long as the second argument. Also
fix buggy handling of large arguments (those with coefficient longer
than the current precision) in shift and rotate.
- Issue #7082: When falling back to the MIME 'name' parameter, the
correct place to look for it is the Content-Type header.
- Issue #7099: Decimal.is_normal now returns True for numbers with exponent
larger than emax.
- Issue #7205: Fix a possible deadlock when using a BZ2File object from
several threads at once.
- Issue #7048: Force Decimal.logb to round its result when that result
is too large to fit in the current precision.
- Issue #1488943: difflib.Differ() doesn't always add hints for tab characters
- Issue #5037: Proxy the __unicode__ special method to __unicode__ instead of
__str__.
- Issue #7481: When a threading.Thread failed to start it would leave the
instance stuck in initial state and present in threading.enumerate().
- Issue #1068268: The subprocess module now handles EINTR in internal
os.waitpid and os.read system calls where appropriate.
Extension Modules
-----------------
- Issue #7808: Fix reference leaks in _bsddb and related tests.
- Stop providing crtassem.h symbols when compiling with Visual Studio 2010, as
msvcr100.dll is not a platform assembly anymore.
- Issue #6877: Make it possible to link the readline extension to libedit
on OSX.
- Expat: Fix DoS via XML document with malformed UTF-8 sequences
(CVE_2009_3560).
- Issue #7242: On Solaris 9 and earlier calling os.fork() from within a
thread could raise an incorrect RuntimeError about not holding the import
lock. The import lock is now reinitialized after fork.
- Issue #7999: os.setreuid() and os.setregid() would refuse to accept a -1
parameter on some platforms such as OS X.
Build
-----
- Issue #3920, #7903: Define _BSD_SOURCE on OpenBSD 4.4 through 4.9.
- Issue #7661: Allow ctypes to be built from a non-ASCII directory path.
Patch by Florent Xicluna.
- Issue #7589: Only build the nis module when the correct header files are
found.
- Switch to OpenSSL 0.9.8l on Windows.
- Issue #6603: Change READ_TIMESTAMP macro in ceval.c so that it
compiles correctly under gcc on x86-64. This fixes a reported
problem with the --with-tsc build on x86-64.
- Ensure that it possible to build extensions for the default
binary distribution on OSX 10.6 even when the user does not
have the 10.4u SDK installed.
- Issue #7541: when using ``python-config`` with a framework install the
compiler might use the wrong library.
Documentation
-------------
- Updating `Using Python` documentation to include description of CPython's
-J, -U and -X options.
- Update python manual page (options -B, -O0, -s, environment variables
PYTHONDONTWRITEBYTECODE, PYTHONNOUSERSITE).
Tests
-----
- issue #7728: test_timeout was changed to use test_support.bind_port
instead of a hard coded port.
- Issue #7498: test_multiprocessing now uses test_support.find_unused_port
instead of a hardcoded port number in test_rapid_restart.
- Issue #7431: use TESTFN in test_linecache instead of trying to create a
file in the Lib/test directory, which might be read-only for the
user running the tests.
- Issue #7324: add a sanity check to regrtest argument parsing to
catch the case of an option with no handler.
- Issue #7295: Do not use a hardcoded file name in test_tarfile.
- Issue #7270: Add some dedicated unit tests for multi-thread synchronization
primitives such as Lock, RLock, Condition, Event and Semaphore.
- Issue #7055: test___all__ now greedily detects all modules which have an
__all__ attribute, rather than using a hardcoded and incomplete list.
0.9.9
-----
New features:
- C++ struct declarations, 'new' operator, and del for C++ delete.
- As well as the 'not None' modifier for extension type arguments, there
is now 'or None' to explicitly allow passing None. It is planned to make
'not None' the default in a future version. For now, a warning is issued
(once per Pyrex run) if you do not specify one or the other.
- Extension types may have a 'nogc' option to suppress GC support.
Modifications:
- Exceptions caught by an except clause are no longer put into the thread
state and cannot be retrieved using sys.exc_info(). To access the caught
exception, it must be bound to a name in the except clause. A third name
can be supplied to capture the traceback.
- PyString_InternFromString is now exposed under the name 'cintern' because
it is not a complete substitute for 'intern' (it can't handle strings
containing null bytes). [John Arbash Meinel]
- Disabled size check for cimported types because it was generating too
many false positives in the field.
- Added __fastcall calling convention. Also no longer assuming that an
unspecified calling convention is the same as __cdecl.
- Operations between signed and unsigned ints of the same size now have
an unsigned result.
- Py_ssize_t now ranked between long and long long.
- Declaration of __new__ in an extension type is now an error, in
preparation for introducing new semantics.
- Added size_t type, and made sizeof() return it.
Bug fixes:
- When casting the result of a function call to a Python type, the
function could be called twice. [David Martinez]
- __Pyx_GetException was not taking account of the fact that the traceback
could be NULL.
- sizeof(module.typename) did not work. [Daniele Pianu]
changes in sbcl-1.0.38 relative to sbcl-1.0.37:
* incompatible change: Thread names are now restricted to SIMPLE-STRINGs
like for any other thread-related datastructure, MUTEX, etc. (lp#547095)
* deprecation: the SB-QUEUE contrib was merged into the SB-CONCURRENCY
contrib module. New code should depend on SB-CONCURRENCY, not SB-QUEUE.
* deprecation: SB-THEAD:GET-MUTEX was deprecated in favor of
SB-THREAD:GRAB-MUTEX.
* new contributed module: SB-CONCURRENCY is a new contrib; it's supposed to
contain additional data structures and tools for concurrent programming;
at the moment it contains a lock-free queue, and a lock-free mailbox
implementation.
* new feature: added SB-THREAD:GRAB-MUTEX; it's like the now deprecated
GET-MUTEX but takes &key rather than &optional parameters. Also added
:TIMEOUT argument to GRAB-MUTEX on non-sb-lutex platforms like Linux and
BSD.
* new feature: added SB-THREAD:TRY-SEMAPHORE, a non-blocking variant of
SB-THREAD:WAIT-ON-SEMAPHORE.
* new feature: SB-EXT:ATOMIC-DECF has been added as a companion to
SB-EXT:ATOMIC-INCF.
* new feature: a CANCEL-DEADLINE is associated with DEADLINE-TIMEOUT
conditions to defer the deadline for forever.
* enhancement: *STANDARD-OUTPUT*, *STANDARD-INPUT*, and *ERROR-OUTPUT* are
now bivalent.
* enhancement: errors from NO-APPLICABLE-METHOD and
NO-PRIMARY-METHOD now have a RETRY restart available to retry the
generic function call.
* enhancement: SB-BSD-SOCKET improvements
** sockets and socket streams now have a more informative printed
representation based on the corresponding SOCKET-NAME and
SOCKET-PEERNAME.
** SOCKET-MAKE-STREAM once more supports the :AUTO-CLOSE option.
(lp#540413)
** SOCKET-CLOSE now accepts :ABORT argument, which is passed on to
CL:CLOSE when appropriate, and no longer disassociates the stream
from the socket if close failed. (lp#543951)
* improvements to the instrumenting profiler
** new feature: report per-function GC overhead. (thanks to John Fremlin)
** optimization: counters no longer use locks for the overflow mode.
** bug fix: whenever a profiling counter wrapped into overflow mode, it
incurred an off-by-one miscount.
* enhancement: improved MAKE-HASH-TABLE documentation (lp#543473)
* enhancement: improved DEFMETHOD pretty-printing.
* enhancement: perform range reduction when arguments are too large for
x87's transcendentals (instead of returning 0). (lp#327192)
* enhancement: eliminate some spurious TYPE-WARNINGs. Should help with
some of CL-PPCRE's macros. (lp#570079)
* enhancement: our machine code is slightly less hostile to valgrind on
x86-64.
* enhancement: up-to-date versions of NetBSD-current are supported. (Thanks
to Robert Swindells and Aleksej Saushev)
* bug fix: correct restart text for the continuable error in MAKE-PACKAGE.
* bug fix: a rare case of startup-time page table corruption.
* bug fix: a semaphore with multiple waiters and some of them unwinding due
to timeouts could be left in an inconsistent state.
* bug fix: fix typo in "Reporting Bugs" section of the manual (lp#520366)
* bug fix: misoptimization of multiplication by one in
(SB-C::FLOAT-ACCURACY 0) policies.
* bug fix: miscounts in SB-PROFILE.
* bug fix: Fix lost wakeup bug between SB-THREAD:CONDITION-WAIT and
CONDITION-NOTIFY on Linux. See threads "lost wakeup in condition-wait /
condition-notify" (Feb 2010) and "Condition-Wait, Deadline handler, waking
up itself" (March 2010) for further details.
* bug fix: allow forward FIND and POSITION on lists to elide checking :END
against length of the list if the element is found before the specified
END is reached. (thanks to Alec Berryman, lp#554385)
* bug fix: errors signalled during package graph modification no longer
block FIND-SYMBOL and FIND-PACKAGE in other threads. (lp#511072)
* bug fix: SB-POSIX build was broken when SBCL was compiled without the
:SB-DOC feature. (lp#552564)
* bug fix: SB-INTROSPECT build issues on GENGC/PPC. (lp#490490)
* bug fix: more robust runtime executable path detection. (lp#375549)
* bug fix: GCD always returns positive values. (lp#413680)
* bug fix: Converting division to multiplication by reciprocal handles
denormals.
* bug fix: We were too eager in eliding range reduction tests on x87.
The maximal magnitude is 2^63, not 2^64.
* bug fix: Transforms for TRUNCATE don't die when the result is completely
ignored anymore.
* bug fix: Maybe restore buildability on Alpha.
* bug fix: READ-BYTE isn't inline anymore, fixing weird streams failures.
(lp#569404)
* bug fix: RANDOM-STATE can be printed readably again.
* bug fix: Unreadable objects were sometimes printed like #<\nFoo>.
* bug fix: Using EQL with non-constant values of constant type (e.g. EQL
types) could result in type mismatches during compilation.
changes in sbcl-1.0.37 relative to sbcl-1.0.36:
* enhancement: Backtrace from THROW to uncaught tag on x86oids now shows
stack frame thrown from.
* enhancement: WITH-COMPILATION-UNIT :POLICY allows restricting changes to
compiler optimization qualities inside dynamic extent of its body.
* enhancement: LOAD-LOGICAL-PATHNAME-TRANSLATIONS can be used to load
translations from SYS:SITE;<HOST>.TRANSLATIONS.NEWEST (thanks to Michael
Weber)
* optimization: SLOT-VALUE and (SETF SLOT-VALUE) take advantage of
constraint propgation, allowing better compilation eg. when used to
access structures with WITH-SLOTS. (lp#520366)
* optimization: the compiler is now more aware of the type of the underlying
storage vector for multidimensional simple arrays resulting in better code
for accessing such arrays.
* optimization: passing NIL as the environment argument to TYPEP no longer
inhibits optimizing it. (lp#309788)
* optimization: more efficient register usage when handling single-float
arguments on x86-64. (thanks to Lutz Euler)
* optimization: ADJUST-ARRAY and STABLE-SORT on vectors no longer use
pre-allocated temporary vectors. (lp#496249)
* bug fix: Fix compiler error involving MAKE-ARRAY and IF forms
in :INITIAL-CONTENTS. (lp#523612)
* bug fix: FUNCTION-LAMBDA-EXPRESSION lost declarations from interpreted
functions. (lp#524707)
* bug fix: bogus style warnings from certain (SETF SLOT-VALUE) and
WITH-SLOTS usages during compilation.
* bug fix: SB-C::CLASS-INFO now prints correctly. (lp#514762)
* enhancement: Can now build with ud2 instead of int3 as trap instruction on
all x86oid platforms with :UD2-BREAKPOINTS target feature.
* bug fix: Breakpoints now work when using ud2 instead of int3 as trap
instruction (tested on x86oid linux with ud2-breakpoints).
* bug fix: slam.sh now works on win32.
* bug fix: better differences of numeric types. (lp#309124)
* bug fix: arrays declared intersection and union types can have their
upgraded element type derived. (lp#316078)
* bug fix: SB-SPROF allocation profiling for all threads failed to profile
threads started during profiling. (lp#472499)
* bug fix: SB-INTROSPECT test failure when building without SB-EVAL feature.
(lp#535658)
* bug fix: SB-CLTL2:DECLARATION-INFORMATION did not take
SB-EXT:RESTRICT-COMPILER-POLICY into account. (lp#313337)
* bug fix: Comma inside a backquoted array or structure resulted in nonsense
values instead of signaling an error. (lp#309093)
* bug fix: Spurious unused variable warning in a DEFSTRUCT edge case.
(lp#528807)
* bug fix: More consistent warnings and notes for ignored DYNAMIC-EXTENT
declarations (lp#497321)
* bug fix: FIND and POSITION on lists did not check sequence bounds properly
and failed to detect circular lists (lp#452008)
* bug fix: leakage from ~/.asdf-install into the ASDf-INSTALL contrib build
(lp#538974)
* bug fix: LOOP OF-TYPE VECTOR compile-time error. (lp#540186)
* bug fix: SIGNAL SB-SYS:INTERACTIVE-INTERRUPT before entering the debugger
due to it, so that handlers can run.
* bug fix: reparsing undefined types if they have become defined since
parsing. (lp#309128)
* bug fix: missing &REST type in a proclamation for a function with both
&REST and &KEY in lambda-list caused miscompilation (lp#458354)
* bug fix: WHO-CALLS information for source-transformed and compiler-macro
expanded calls (lp#542174)
* bug fix: more accurate WHO-MACROEXPANDS information; point into rather
than just at toplevel form.
Apply some openbsd changes from openbsd ports.
Check whenever g++ is installed, since libtool requires it
even if no c++ files will be compiled.
Set default for with_moonlight to fix "Moon Profile:" output.
Append -lgc to libmono_ldflags if using an external libgc
gmake[2]: *** No rule to make target `.../parser-tab.h', needed by `parser-tab.o'. Stop.
gmake[2]: *** Waiting for unfinished jobs....
mv y.tab.c .../parser-tab.c
mv y.tab.h .../parser-tab.h
:
The update lets camlp5 and what depends on it work with the updated ocaml.
Changes:
* Added compatibility with OCaml 3.11.2.
* Updated compatibility with OCaml 3.12.0.
* Added 'lazy' patterns (added in OCaml version 3.11).
* Fixed bug in pr_r.cmo: did not always break after "in" (in
"let..in" statements) even with -flag l.
* Fixed bug in pr_r.cmo: missing case "#use" for structure and
signature items.
Pkgsrc changes:
o Adapt our patches to up-stream changes.
o Fix PLIST to match what's being installed.
Upstream changes:
- Core
+ Allow passing parameters to the dynamic linker ('dlopen' improved)
+ loadlib opcode added
+ Calling conventions are now much more consistent, and follows natural
semantics of handling arguments and return values
+ Recursive make for src/dynpmc removed
+ Datatype STRINGNULL for a single Null STRING added
+ config_lib.pasm replaced with config_lib.pir
- Platforms
+ Improved handling of new compilers
+ Cygwin packages will be updated again with Parrot releases
+ Fedora packages add desktop files
+ gzip and bzip2 compressed tar files for releases
- Tools
+ tapir executable added; tapir is a TAP test harness
+ Added TAP options --merge --ignore-exit
- Miscellaneous
+ 3 month cycle for supported releases
+ Review and vote of GSoC applications
Changelog:
Bug fixes:
- PR#4151: better documentation for min and max w.r.t. NaN
- PR#4421: ocamlbuild uses wrong compiler for C files
- PR#4710, PR#4720: ocamlbuild does not use properly configuration information
- PR#4750: under some Windows installations, high start-up times for Unix lib
- PR#4777: problem with scanf and CRLF
- PR#4783: ocamlmklib problem under Windows
- PR#4810: BSD problem with socket addresses, e.g. in Unix.getnameinfo
- PR#4813: issue with parsing of float literals by the GNU assembler
- PR#4816: problem with modules and private types
- PR#4818: missed opportunity for type-based optimization of bigarray accesses
- PR#4821: check for duplicate method names in classes
- PR#4823: build problem on Mac OS X
- PR#4836: spurious errors raised by Unix.single_write under Windows
- PR#4841, PR#4860, PR#4930: problem with ocamlopt -output-obj under Mac OS X
- PR#4847: C compiler error with ocamlc -output-obj under Win64
- PR#4856: ocamlbuild uses ocamlrun to execute a native plugin
- PR#4867, PR#4760: ocamlopt -shared fails on Mac OS X 64bit
- PR#4873: ocamlbuild ignores "thread" tag when building a custom toplevel
- PR#4890: ocamlbuild tries to use native plugin on bytecode-only arch
- PR#4896: ocamlbuild should always pass -I to tools for external libraries
- PR#4900: small bug triggering automatic compaction even if max_overhead = 1M
- PR#4902: bug in %.0F printf format
- PR#4910: problem with format concatenation
- PR#4922: ocamlbuild recompiles too many files
- PR#4923: missing \xff for scanf %S
- PR#4933: functors not handling private types correctly
- PR#4940: problem with end-of-line in DOS text mode, tentative fix
- PR#4953: problem compiling bytecode interpreter on ARM in Thumb mode.
- PR#4955: compiler crash when typing recursive type expression with constraint
- Module Printf: the simple conversion %F (without width indication) was not
treated properly.
- Makefile: problem with cygwin, flexdll, and symbolic links
- Various build problems with ocamlbuild under Windows with msvc
Feature wishes:
- PR#9: (tentative implementation) make ocamldebug use #linenum annotations
- PR#123, PR#4477: custom exception printers
- PR#3456: Obj.double_field and Obj.set_double_field functions
- PR#4003: destination directory can be given to Filename.[open_]temp_file
- PR#4647: Buffer.blit function
- PR#4685: access to Filename.dir_sep
- PR#4703: support for debugging embedded applications
- PR#4723: "clear_rules" function to empty the set of ocamlbuild rules
- PR#4921: configure option to help cross-compilers
Changelog:
20091220
+ bump version to 1.3.4
+ update INSTALL and README files.
+ improve configure checks for math library.
+ change test for NaN to use sqrt() rather than log() to work around
cygwin's partly broken math functions.
+ add/use isnanf() to work around other breakage in cygwin math
functions.
+ add configure check for _XOPEN_SOURCE, etc., needed to define
proper function pointer for sigaction, e.g., on Tru64.
+ add check for sigaction function pointer, whose POSIX form is
absent from the cygwin header.
+ extend MAWKBINMODE, adding a third bit which when set will suppress
the change for RS or ORS to use CR/LF rather than LF. This is used
for MinGW to make the "check" rule in a build work, for instance.
+ add configure check for functions used for pipe/system calls, e.g.,
for MinGW where these are absent.
+ add runtime check for floating-point underflow exceptions
+ fix an old 1.3.3 bug in re_split(), which did not check properly for
the end of buffer; this broke on Tru64.
+ drop obsolete config-user, v7 and atarist subdirectories
+ improve configure checks for sigaction, making the definitions used
in fpe_check.c consistent with matherr.c
+ build fixes for AIX, Tru64.
+ add configure check for 'environ'.
+ remove redundant setlocale() calls; only LC_CTYPE and LC_NUMERIC
are used.
20091213
+ add makedeps.sh script to aid in updating object dependencies in
Makefile.in
+ use "mkdir -p" rather than mkdirs.sh (suggested by Aleksey Cheusov).
+ reformatted this file, to simplify extraction of contributor names.
+ update config.guess and config.sub
> patches by Jonathan Nieder:
+ modify CF_DISABLE_ECHO autoconf macro to ensure that command lines
in Makefile.in begin with a tab.
+ the makefile does not use $(MAKE); remove the SET_MAKE substitution.
+ add some files to the "make clean" rule, in case make gets
interrupted in the middle of a rule.
+ add a maintainer-clean rule to the makefile, to remove files which
could be regenerated.
+ fix an unescaped "-" in man/mawk.1
+ remove an unneeded cast in bi_funct.c
+ fix an unused parameter warning in matherr.c
+ drop unused line_no parameter from compile_error() and its callers.
+ convert makescan.c to ANSI C, do further cleanup of that file.
+ split-out scancode.h from scan.h
(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)
25 Feb 2010, PHP 5.2.13
- Updated timezone database to version 2010.2. (Derick)
- Upgraded bundled PCRE to version 7.9. (Ilia)
- Removed automatic file descriptor unlocking happening on shutdown and/or
stream close (on all OSes excluding Windows). (Tony, Ilia)
- Changed tidyNode class to disallow manual node creation. (Pierrick)
- Added missing host validation for HTTP urls inside FILTER_VALIDATE_URL.
(Ilia)
- Improved LCG entropy. (Rasmus, Samy Kamkar)
- Fixed safe_mode validation inside tempnam() when the directory path does
not end with a /). (Martin Jansen)
- Fixed a possible open_basedir/safe_mode bypass in session extension
identified by Grzegorz Stachowiak. (Ilia)
- Fixed bug in bundled libgd causing spurious horizontal lines drawn by
gdImageFilledPolygon (libgd #100). (Takeshi Abe)
- Fixed build of mysqli with MySQL 5.5.0-m2. (Andrey)
- Fixed bug #50940 Custom content-length set incorrectly in Apache sapis.
(Brian France, Rasmus)
- Fixed bug #50930 (Wrong date by php_date.c patch with ancient gcc/glibc
versions). (Derick)
- Fixed bug #50859 (build fails with openssl 1.0 due to md2 deprecation).
(Ilia, hanno at hboeck dot de)
- Fixed bug #50847 (strip_tags() removes all tags greater then 1023 bytes
long). (Ilia)
- Fixed bug #50832 (HTTP fopen wrapper does not support passwordless HTTP
authentication). (Jani)
- Fixed bug #50823 (ReflectionFunction::isDeprecated producing "cannot be called
statically" error). (Jani, Felipe)
- Fixed bug #50791 (Compile failure: Bad logic in defining fopencookie
emulation). (Jani)
- Fixed bug #50787 (stream_set_write_buffer() has no effect on socket
streams). (vnegrier at optilian dot com, Ilia)
- Fixed bug #50772 (mysqli constructor without parameters does not return a
working mysqli object). (Andrey)
- Fixed bug #50761 (system.multiCall crashes in xmlrpc extension). (hiroaki
dot kawai at gmail dot com, Ilia)
- Fixed bug #50732 (exec() adds single byte twice to $output array). (Ilia)
- Fixed bug #50728 (All PDOExceptions hardcode 'code' property to 0). (Joey,
Ilia)
- Fixed bug #50727 (Accessing mysqli->affected_rows on no connection causes
segfault). (Andrey, Johannes)
- Fixed bug #50680 (strtotime() does not support eighth ordinal number).
(Ilia)
- Fixed bug #50661 (DOMDocument::loadXML does not allow UTF-16). (Rob)
- Fixed bug #50657 (copy() with an empty (zero-byte) HTTP source succeeds but
returns false). (Ilia)
- Fixed bug #50636 (MySQLi_Result sets values before calling constructor).
(Pierrick)
- Fixed bug #50632 (filter_input() does not return default value if the
variable does not exist). (Ilia)
- Fixed bug #50576 (XML_OPTION_SKIP_TAGSTART option has no effect). (Pierrick)
- Fixed bug #50575 (PDO_PGSQL LOBs are not compatible with PostgreSQL 8.5).
(Matteo)
- Fixed bug #50558 (Broken object model when extending tidy). (Pierrick)
- Fixed bug #50540 (Crash while running ldap_next_reference test cases).
(Sriram)
- Fixed bug #50508 (compile failure: Conflicting HEADER type declarations).
(Jani)
- Fixed bug #50394 (Reference argument converted to value in __call). (Stas)
- Fixed bug #49851 (http wrapper breaks on 1024 char long headers). (Ilia)
- Fixed bug #49600 (imageTTFText text shifted right). (Takeshi Abe)
- Fixed bug #49585 (date_format buffer not long enough for >4 digit years).
(Derick, Adam)
- Fixed bug #49463 (setAttributeNS fails setting default namespace). (Rob)
- Fixed bug #48667 (Implementing Iterator and IteratorAggregate). (Etienne)
- Fixed bug #48590 (SoapClient does not honor max_redirects). (Sriram)
- Fixed bug #48190 (Content-type parameter "boundary" is not case-insensitive
in HTTP uploads). (Ilia)
- Fixed bug #47601 (defined() requires class to exist when testing for class
constants). (Ilia)
- Fixed bug #47409 (extract() problem with array containing word "this").
(Ilia, chrisstocktonaz at gmail dot com)
- Fixed bug #47002 (Field truncation when reading from dbase dbs with more
then 1024 fields). (Ilia, sjoerd-php at linuxonly dot nl)
- Fixed bug #45599 (strip_tags() truncates rest of string with invalid
attribute). (Ilia, hradtke)
- Fixed bug #44827 (define() allows :: in constant names). (Ilia)
Tested on FreeBSD, known not to work on NetBSD/i386.
News
changes in sbcl-1.0.35 relative to sbcl-1.0.34:
* optimization: ROUND with a single single-float or double-float argument
is properly inlined when possible.
* optimization: Slightly better code is generated for integer<->float
conversions and for single-float<->double-float conversions on x86-64.
* optimization: SB-ROTATE-BYTE:ROTATE-BYTE now generates more efficient
code for 32-bit and 64-bit rotations on x86-64.
* bug fix: The install script changes the ownership of directories as well
as files for contrib modules using asdf. (thanks to Eugene Ossintsev;
launchpad bug lp#508485)
* bug fix: TRUNCATE with a single single-float or double-float argument is
properly inlined when possible. (launchpad bug lp#489388)
* bug fix: Passing a rotation count of zero to SB-ROTATE-BYTE:ROTATE-BYTE
no longer causes a compiler error on x86 and ppc.
* bug fix: GET-MACRO-CHARACTER bogusly computed its second return value
always relative to *READTABLE* rather than the passed argument.
changes in sbcl-1.0.34 relative to sbcl-1.0.33:
* minor incompatible change: threading support is now enabled by default
on x86[-64] Linux.
* enhancement: SB-INTROSPECT:DEFTYPE-LAMBDA-LIST now also works on most
builtin types.
* enhancement: Errors during compile-time-too processing (i.e. EVAL-WHEN)
are now caught and reported just like errors during macroexpansion.
* enhancement: SB-POSIX now provides access to tcdrain(), tcflow(),
tcflush(), tcgetsid(), and tcsendbreak(). (thanks to Jerry James)
* enhancement: ASDF systems can now depends on SB-QUEUE.
* fixes and improvements related to Unicode and external formats:
** bug fix: error handling and restart usage in the ucs-2 external format
has been improved.
** there is now an implementation of the ucs-4 external format.
** the utf-16 and utf-32 external formats are supported.
* bug fix: SB-POSIX wrapper for putenv no longer tries to put lisp strings
in the environment. setenv() and unsetenv() are also provided. (reported by
Fare Rideau; launchpad bug lp#460455)
* bug fix: LOAD of both .fasl and .FASL type files now forces fasl-style
loading. This ensures sensible errors for .FASL files from other
implementations on case-insensitive filesystems. (reported by Willem
Broekema; launchpad bug lp#489417)
* bug fix: #p"\\\\" can now be read without error on Win32. (reported by
Willem Broekema; launchpad bug lp#489698).
* bug fix: some minor code rearrangements to reenable warning-free building
from CMUCL (reported by xme@gmx.net; launchpad bug lp#491104)
* bug fix: PRINT-OBJECT for clos instances respects the right margin when
pretty printing
* bug fix: FIND-PACKAGE & DEFPACKAGE were not thread safe. (reported by
Attila Lendvai)
changes in sbcl-1.0.33 relative to sbcl-1.0.32:
* new port: support added for x86-64 NetBSD. (thanks to Aymeric Vincent)
* improvement: support O_LARGEFILE access to files larger than 2GB on
x86-64/linux. (thanks to Daniel Janus; launchpad bug lp#453080)
* new feature: SB-INTROSPECT:WHO-SPECIALIZES-DIRECTLY to get a list of
definitions for methods specializing on the passed class itself.
* new feature: SB-INTROSPECT:WHO-SPECIALIZES-GENERALLY to get a list of
definitions for methods specializing on the passed class itself, or on
subclasses of it.
* new build flag: :sb-xref-for-internals; SBCL will collect xref information
about itself during the build (e.g. for M-? in Slime), if this flag is
enabled in customize-target-features.lisp. This will increase the core
size by about 5-6mb, though, so it's mostly interesting to SBCL
developers.
* new feature: various GENCGC tuning parameters have been experimentally
documented and exported from SB-EXT. See documentation for details.
* fixes and improvements related to Unicode and external formats:
** the Unicode character database has been upgraded to the
Unicode 5.2 standard, giving names and properties to a number of new
characters, and providing a few extra characters with case
transformations.
** improvement: restarts for providing replacement input/output on coding
errors for fd-stream external formats.
** improvement: where :<encoding> is a keyword corresponding to an
external format the system supports, it is now possible to specify
(:<encoding> :replacement <character>) as an external format which will
automatically substitute <character> on encoding or decoding errors for
streams and for STRING-TO-OCTETS and its inverse. (launchpad bug
lp#317072)
** improvement: the file streams underlying the standard streams (such as
*STANDARD-INPUT*, *TERMINAL-IO*) are opened with an external format
which uses the replacement mechanism to handle encoding errors,
preventing various infinite error chains and unrecoverable I/O
confusion.
** minor incompatible change: the utf-8 external format now correctly
refuses to encode Lisp characters in the surrogate range (char-codes
between #xd800 and #xdfff).
** fix a typo preventing conversion of strings into octet vectors
in the latin-2 encoding. (reported by Attila Lendvai; launchpad bug
lp#471689)
** fix a bug in the octet multibyte handling of decoding errors and the
USE-VALUE restart. (launchpad bug lp#314939)
** fix the bug underlying the expected failure in the FORCE-END-OF-FILE
restart on fd-stream decoding errors.
** fix a bug in the ATTEMPT-RESYNC fd-stream decoding restart when the
error is near the end of file.
** fix a double-error case in unibyte octet conversions, when the first
use of USE-VALUE is ignored.
** fix bugs in handling of undefined code points in unibyte encodings.
** fix LISTEN (and consequent hangs in READ-CHAR-NO-HANG) on bivalent
streams after an UNREAD-CHAR.
* enhancement: SB-INTROSPECT:ALLOCATION-INFORMATION also reports if the
object is allocated in a boxed region of dynamic space.
* enhancement: SB-POSIX:FORK now signals an error if an attempt to
fork with multiple Lisp threads running is made, instead of going
ahead with unpredictable consequences. (reported by Leslie Polzer)
* bug fix: uses of slot accessors on specialized method parameters within
the bodies of SLOT-VALUE-USING-CLASS methods no longer triggers a type
error while finalizing the class. This fix may cause classes with slot
accessors to be finalized later than previously. (reported by Lars Rune
Nøstdal; launchpad bug lp#473699)
* bug fix: restore buildability on the MIPS platform. (regression from
1.0.30.38, reported by Samium Gromoff)
* bug fix: inspecting closures is less likely to fail with a type error.
* bug fix: no timer starvation when setting the system clock back.
(launchpad bug lp#460283)
* bug fix: WITH-STANDARD-IO-SYNTAX now binds *PRINT-PPRINT-DISPATCH* to the
standard pprint dispatch table as specified by CLHS.
* bug fix: give CLISP a hint about a type declaration to enable it to build
the cross-compiler without warnings. (thanks to Josh Elasser; launchpad
bug lp#396597)
* bug fix: correctly dump literal objects in defaulting forms of arglists.
(reported by Attila Lendvai; launchpad bug lp#310132)
* bug fix: distinguish in type specifiers between arrays that might be
complex and arrays that are definitely complex. (launchpad bug lp#309129)
* bug fix: SUBTYPEP knows that the SYMBOL type is not SUBTYPEP the KEYWORD
type. (reported by Levente Mészáros; launchpad bug lp#485972)
* bug fix: setting the value of a symbol-macro within a method in the
presence of type declarations works properly again. (reported by Iban
Hatchondo; launchpad bug lp#485019)
changes in sbcl-1.0.32 relative to sbcl-1.0.31:
* optimization: faster FIND and POSITION on strings of unknown element type
in high SPEED policies. (thanks to Karol Swietlicki)
* optimization: faster CONCATENATE 'STRING in low SPEED policies (reported
by David Vázquez)
* improvement: better error signalling for bogus parameter specializer names
in DEFMETHOD forms (reported by Pluijzer)
* bug fix: DELETE-FILE once again works on logical pathnames (regression
since 1.0.30.49)
* bug fix: LOGICAL-PATHNAME signals a TYPE-ERROR if pathspec is specified
incorrectly.
* bug fix: redefinition of a class via DEFCLASS without :DEFAULT-INITARGS
removes previous default initargs (reported by Lars Rune Nøstdal and
Samium Gromoff)
* bug fix: correct WHO-CALLS information for inlined lambdas with complex
lambda-lists. (reported by Peter Seibel)
* bug fix: SAVE-LISP-AND-DIE option :SAVE-RUNTIME-OPTIONS did not work
correctly when starting from an executable core without saved runtime
options (reported by Faré Rideau, thanks to Zach Beane)
* bug fix: (SETF SLOT-VALUE) signalled a warning which should have been
an optimization note instead. (reported by Martin Cracauer)
* bug fix: WITH-SLOTS did not work with THE forms. (thanks to David Tolpin)
* bug fix: Have RUN-PROGRAM with :INPUT T only run the subprocess in a
new process group if it doesn't need to share stdin with the sbcl
process. (thanks to Leslie Polzer)
* bug fix: SATISFIES could be misoptimized to refer to a local function.
(reported by Stanislaw Halik)
changes in sbcl-1.0.31 relative to sbcl-1.0.30:
* improvement: stack allocation is should now be possible in all nested
inlining cases: failure to stack allocate when equivalent code is manually
open coded is now considered a bug.
* improvements related to Unicode:
** the Unicode character database has been upgraded to the
Unicode 5.1 standard, giving names and properties to a number of new
characters, and providing a few extra characters with case
transformations.
** the system now recognizes and produces names for Unicode Hangul
syllable characters.
** the EBCDIC-US external-format is now supported for octet operations
(as well as for stream operations).
* new feature: experimental :EMIT-CFASL parameter to COMPILE-FILE can
be used to output toplevel compile-time effects into a separate .CFASL
file.
* optimization: COERCE to VECTOR, STRING, SIMPLE-STRING and recognizable
one-dimenstional subtypes of ARRAY is upto 70% faster when the coercion is
actually needed.
* optimization: TRUNCATE on known single- and double-floats is upto 25%
faster.
* optimization: division of floating point numbers by constants uses
multiplication by reciprocal when an exact reciprocal exists.
* optimization: multiplication of single- and double-floats floats by
constant two has been optimized.
* optimization: ARRAY-IN-BOUNDS-P is resolved at compile-time when
sufficient type information is available. (thanks to Leslie Polzer)
* optimization: SLOT-VALUE and (SETF SLOT-VALUE) with constant slot names on
known structure objects are as efficient as defstruct generated accessors.
* optimization: unused vector creation can now be optimized away.
* improvement: ASDF systems can now depends on SB-INTROSPECT.
* improvement: a STYLE-WARNING is signalled when a generic function
clobbers an earlier FTYPE proclamation.
* improvement: the compiler is able to track the effective type of
generic function across method addition and removal even in the
absence of an explicit DEFGENERIC.
* improvement: DESCRIBE now reports on symbols naming undefined
but assumed or declared function as well.
* improvement: recompilation of systems using SB-GROVEL now works
(thanks to Leslie Polzer)
* improvements to SB-CLTL2 (thanks to Larry D'Anna):
** functions DECLARATION-INFORMATION, PARSE-MACRO, and ENCLOSE have been
documented.
** AUGMENT-ENVIRONMENT and DEFINE-DECLARATION have been implemented.
** DECLARATION-INFORMATION now supports declaration name DECLARATION as
well as user defined declaration names.
** VARIABLE-INFORMATION is now aware of alien variables.
* improvement: improved address space layout on OpenBSD (thanks to Josh
Elsasser)
* improvement: pretty-printing of various Lisp forms has been improved
(thanks to Tobias Rittweiler)
* bug fix: calls to DECODE-FLOAT and INTEGER-DECODE-FLOAT whose value was
unused were deleted in safe code. (reported by John Fremlin)
* bug fix: a failing AVER compiling certain MAKE-ARRAY forms. (reported
by James Wright)
* bug fix: some out-of-line array predicates were missing (reported by
Stelian Ionescu)
* bug fix: a failing AVER in CONVERT-MV-CALL has been fixed. (thanks to
Larry D'Anna)
* bug fix: a failing AVER in %ALLOCATE-CLOSURES conversion has been fixed
(thanks to Larry D'Anna)
* bug fix: SLEEP supports times over 100 million seconds on long on OpenBSD
as well. (reported by Josh Elsasser)
* bug fix: DELETE-FILE on streams no longer closes the stream with :ABORT T,
leading to possible attempts to delete the same file twice. See docstring
on DELETE-FILE for details. (reported by John Fremlin)
* bug fix: DELETE-FILE once again deletes the file named by the pathname
designator argument, rather than its truename. (reported by Luis
Oliveira)
* bug fix: the low-level debugger had 32-bit assumptions and was missing
information about some array types. (thanks to Luis Oliveira)
* bug fix: moderately complex combinations of inline expansions could
be miscompiled if the result was declared to be dynamic extent.
* bug fix: on x86, SAP-REF of sizes greater than 8 bits with offsets of the
form (+ <variable> <integer>) were miscompiled under certain
circumstances.
* bug fix: in some cases no compiler note about failure to stack allocate
was emitted, even if the objects were in fact heap allocated.
* bug fix: minor violation of "otherwise inaccessible" rule for stack
allocation could cause objects users might reasonably expect to
be heap allocated to be stack allocated.
* bug fix: DESCRIBE signalled an error for generic functions under
certain circumstances. (thanks to Leslie Polzer)
* bug fix: Fixed spelling of an error message.
Pkgsrc changes:
o Adapt patch to work around dl-handle re-use to eliminate warnings
o Adapt PLIST to new contents
Upstream changes:
- Core changes
+ GC performance and encapsulation were greatly improved.
+ PMC freeze refactored.
+ More Makefile and build improvements.
- API Changes
+ The Array PMC was removed.
+ Several deprecated vtables were removed.
+ The OrderedHash PMC was substantialy improved.
- Platforms
+ Packaging improvements on some operating systems.
- Tools
+ Some cases in pbc_merge are now handled.
+ Improvements were made to the dependency checker.
+ New tool nativecall.pir added.
- correctly override the libtool used by the build.
- patch-ao: rearrange linker arguments so that vm/vm.a pulls in the libraries.
- patch-ap: fix building of npsqueak browser plugin (use cc as compiler. add
.so suffix to plugin)
- for whatever reason the plugins are now installed with .a and .so suffixes.
adjust PLISTs accordingly.
I can now at least start the vm again.
This avoids error messages from "perllink" while deinstalling (or
updateing) a Perl module package.
Fixed based on an analysis provided by Steven Drake on "tech-pkg".
Pkgsrc changes:
o Adjust PLIST to fit with new contents.
Upstream changes:
Parrot 2.0.0 News:
* Features
o Context PMCs now support attribute-based introspection
o Context and CallSignature PMCs merged into CallContext
o .lex directive throws exceptions when used with incorrect
register types
* Platforms
o Packaging improved for free OS distributions
o PPC, PPC64, and ARM now tested when running Linux
* Performance
o Minor improvements to the profiling runcore
o Improvements from the CallContext PMC merge
* New deprecations
o In/out parameters in STRING modification functions
o Void handling in NCI signatures
o Parameter passing opcodes order in PBC
* Tests
o Continued migration of core tests from Perl 5 to PIR
* Tools
o dependency checker improved
* Miscellaneous
o Deprecation cycle length changed to three months from six
o GC accuracy improved
o PMC freeze improvements; much more reliable
o Makefile improvements for dependency handling
Changes:
Version 4.2.4, January 2010
Added scheme/flonum and scheme/fixnum
Extended scheme/unsafe/ops
Changed JIT to support unboxed local binding of known-flonum
arguments to unsafe-fl functions
Changed JIT to inline numeric ops with more than 2 arguments
Added #:save-errno option for foreign-function types
Added module->imports and module->exports
Version 4.2.3, November 2009
Changed _pointer (in scheme/foreign) to mean a pointer that does not
refer to GCable memory; added _gcpointer
Added scheme/vector
Pkgsrc changes:
o Adjust patches to match new code
o Adjust PLIST to what's being installed
Upstream changes:
- Core
+ Made profiling runcore output format configurable and extensible
options include "pprof" and "none" ("binary" and "callgrind" are planned)
+ Added environment variables to specify profiling output type and filename
(PARROT_PROFILING_OUTPUT and PARROT_PROFILING_FILENAME)
+ Began merging Freeze/Thaw and Bytecode generator/loader
- Compilers
+ Included latest nqp-rx compiler, with many improvements
- GLOBAL:: package identifier
- dynamic variables look in global namespace
- $obj."$method" syntax
- :p(os) and :c(ontinue) option on regexes
- try/CATCH/CONTROL handling
- support leading & on subroutine declarations
- allow "category:" names (for builtin operators)
- simple version of smartmatch operator
- simple regex matches
- updated HLL::Compiler with new import/export methods
- Miscellaneous
+ Portability updates for RTEMS, and Intel architectures with GNU compilers
+ Completed conversion of ticket tracking system from RT to Trac
+ New draft of PDD31 for HLL export API and import implementation
+ Several (build time, runtime) performance improvements
+ Converted many tests to PIR, reducing test execution time
+ Various bugfixes, code cleanups, and coding standard fixes
on the "pkgsrc-users" mailing list:
1.) Fix 64-Bit ABI check for Snow Leopard so it doesn't break the build
on older version of Mac OS X.
2.) Properly disable the "pyexpat" module and remove it from the
package list.
Bump package revision because of these changes.
Scala is a general purpose programming language designed to express
common programming patterns in a concise, elegant, and type-safe way.
It smoothly integrates features of object-oriented and functional
languages, enabling Java and other programmers to be more productive.
it on NetBSD. I can't explain the behavior on DragonFly, but the use of
the mono linker in the Makefiles matching the source, so the problem is
elsewhere.
I was trying to solve here, but the new libtool doesn't like being
used like this, and it doesn't seem to be needed.
Fixes failure observed in bulk build.
XXX there's still a PLIST problem:
ERROR: The following files are in the PLIST but not in /usr/pkg:
ERROR: /usr/pkg/lib/gauche/0.9/x86_64--netbsd/gauche--threads.so
ERROR: /usr/pkg/share/gauche/0.9/lib/gauche/threads.scm
w/o "-l", yylinelo still gets defined in recent versions, but not
in the version which comes with NetBSD-4.
So require "flex" for the build and always use the "-l" flag, so we'll
hopefully get deterministic behavior.
Should fix PR pkg/42509 by Robert Elz.
Security Enhancements and Fixes in PHP 5.2.12:
* Fixed a safe_mode bypass in tempnam() identified by Grzegorz
Stachowiak. (CVE-2009-3557, Rasmus)
* Fixed a open_basedir bypass in posix_mkfifo() identified by Grzegorz
Stachowiak. (CVE-2009-3558, Rasmus)
* Added "max_file_uploads" INI directive, which can be set to limit the
number of file uploads per-request to 20 by default, to prevent possible
DOS via temporary file exhaustion, identified by Bogdan
Calin. (CVE-2009-4017, Ilia)
* Added protection for $_SESSION from interrupt corruption and improved
"session.save_path" check, identified by Stefan Esser. (CVE-2009-4143,
Stas)
* Fixed bug #49785 (insufficient input string validation of
htmlspecialchars()). (CVE-2009-4142, Moriyoshi, hello at iwamot dot com)
Key enhancements in PHP 5.2.12 include:
* Fixed unnecessary invocation of setitimer when timeouts have been
disabled. (Arvind Srinivasan)
* Fixed crash in com_print_typeinfo when an invalid typelib is given. (Pierre)
* Fixed crash in SQLiteDatabase::ArrayQuery() and
SQLiteDatabase::SingleQuery() when calling using Reflection. (Felipe)
* Fixed crash when instantiating PDORow and PDOStatement through
Reflection. (Felipe)
* Fixed memory leak in openssl_pkcs12_export_to_file(). (Felipe)
* Fixed bug #50207 (segmentation fault when concatenating very large strings
on 64bit linux). (Ilia)
* Fixed bug #50162 (Memory leak when fetching timestamp column from Oracle
database). (Felipe)
* Fixed bug #50006 (Segfault caused by uksort()). (Felipe)
* Fixed bug #50005 (Throwing through Reflection modified Exception object
makes segmentation fault). (Felipe)
* Fixed bug #49174 (crash when extending PDOStatement and trying to set
queryString property). (Felipe)
* Fixed bug #49098 (mysqli segfault on error). (Rasmus)
* Over 50 other bug fixes.
don't let the hints file add new libraries that may be found outside Pkgsrc
control.
Fixes build on Gentoo system, and possibly other Linux systems too that might
have stray -lgdbm_compat libraries lying around. This reverts hints/linux.sh
to look more like it did in 5.10.0.
This makes f2c work. Bump PKGREVISION.
The default CPP points to gcc, which broke f2c because gcc is unable to
preprocess Fortran files as the Fortran compiler is not installed.
Surprisingly, /usr/bin/cpp is just a wrapper around gcc, but it explicitly
passes '-x c' to cpp to force the language to be C and bypass the .F
extension.
Update OK'ed by agc@
Pkgsrc changes:
o Replace perl and parrot interpreter references where we can
(one perl module not available at pre-configure time not done)
o Remove patches which are no longer necessary, since they either
came from upstream or have been adopted there
o Update the PLIST to sync with what's being installed
Upstream changes:
- Functionality
+ The FileHandle PMC now exposes the exit code of child process
that was run as pipe.
+ Experimental support for overriding VTABLE invoke in PIR objects
was added.
+ The method 'type' was added to the PackfileAnnotations PMC.
+ The internals of the parrot calling conventions, PCC, were
reworked. All call paths now use a CallSignature object for
passing arguments and return values.
+ The new API-function 'Parrot_ext_call' was added for calling
into C-land.
+ The fixed-size allocator was improved.
+ The files installed by 'make install-dev' are now covered by
'make install' as well.
+ The experimental ops 'fetch' and 'vivify' were added.
+ The -I option to the command 'parrot' now prepends items to
the search path.
+ The Context struct was substituted with auto attributes
(context_auto_attrs branch).
+ Use the osname determined in auto::arch in subsequent configuration
steps (convert_OSNAME branch).
+ Eliminated dependence on Perl 5 '%Config' in auto::format
(auto_format_no_Config branch).
+ MultiSub PMCs now stringify to the name of their first candidate,
instead of the number of candidates.
+ The platform detection at the start of the configuration process
was improved.
+ The 'lineof' method on CodeString objects now precomputes line
number information to be more efficient on variable-width
encoded strings.
+ P6object now supports .WHO and .WHERE methods on protoobjects.
- Compilers
+ A shiny new self-hosting implementation of NQP has been added
in ext/nqp-rx.
- New NQP available as nqp-rx.pbc or parrot-nqp fakecutable.
- NQP includes direct support for grammars and regexes, including
protoregexes.
- NQP has a new PAST-based regex engine (intended to replace PGE).
- Regexes may contain code assertions, parameters, lexical
declarations, and more.
- Double-quoted strings now interpolate scalar variables and closures.
- Subroutine declarations are now lexical by default.
+ PCT
- PAST::Block now supports an 'nsentry' attribute.
- PAST::Var allows 'contextual' scope.
- Attribute bindings now return the bound value.
- Platforms
+ Fixes for the port of Parrot to RTEMS were applied. Yay, first
port to a real time OS!
+ On NetBSD, shared libs are now used.
- Performance
+ Use the the fixed-sized allocator in the Context and the
CallSignature PMC.
+ Many small speed improvements.
- New deprecations
+ MT19937, the Mersenne twisted pseudorandom number generator,
is now hosted on github and will be removed from the Parrot
core. (eligible in 2.1)
+ The 'Parrot_call_*' functions for invoking a sub/method object from C are
deprecated. They are replaced by 'Parrot_ext_call'. (eligible in 2.1)
+ All bitwise VTABLE functions are deprecated. (eligible in 2.1)
+ All bitwise ops will become dynops. (eligible in 2.1)
- Realized deprecations
+ The slice VTABLE entry was removed.
+ The last traces of the 'malloc' garbage collector were removed.
+ Parrot_pcc_constants() was renamed to Parrot_pcc_get_constants().
+ The deprecated functions from the Embedding/Extension interface
were removed.
+ The library YAML/Parser/Syck.pir was removed.
+ The VTABLE function instantiate_str() was removed.
+ Building of parrot_nqp was removed.
- Tests
+ The test coverage of the time-related ops was much improved.
+ New testing functions in Test::More: lives_ok() and dies_ok().
+ The Perl 5 based test scripts t/op/bitwist.t, t/op/comp.t,
t/op/inf_nan.t, t/op/literal.t, t/op/number.t, t/op/sprintf2.t,
and t/op/00ff-dos.t were converted to PIR.
+ The test scripts t/op/annotate.t and t/op/time.t have begun
to be translated from Perl 5 to PIR.
+ In some tests the dependency on %Config from Perl 5 was eliminated.
- Documentation
+ The meaning of 'p' means in NCI function call signatures was clarified.
- Tools
+ The stub for a new language, as created by mk_language_shell.pl,
now relies on the PIR-based tools, which are replacing the Perl
5-based tools.
+ The library Configure.pir was added.
+ The library distutils.pir was added.
- Miscellaneous
+ The mailing list parrot-users and a corresponding google group was created,
http://groups.google.com/group/parrot-users.
+ Many bugfixes, code cleanups, and coding standard fixes.
Important notes
---------------
* Multiple threads of execution are now experimentally supported
(not ready for prime time yet).
Thanks to Vladimir Tzankov <vtzankov@gm...>.
See <http://clisp.cons.org/impnotes/mt.html> for details.
* Module libsvm has been upgraded to the upstream version 2.89.
See <http://clisp.cons.org/impnotes/libsvm.html> for details.
* Module Berkeley-DB now supports Berkeley DB 4.7.
(older versions 4.* are, of course, still supported).
See <http://clisp.cons.org/impnotes/berkeley-db.html> for details.
* Module readline now supports readline 6.0.
(older versions 5.* are, of course, still supported).
See <http://clisp.cons.org/impnotes/readline-mod.html> for details.
* Passing :EXECUTABLE 0 to EXT:SAVEINITMEM results in an executable
image which delegates processing of all the usual CLISP command line
options to the :INIT-FUNCTION.
See <http://clisp.cons.org/impnotes/image.html> for details.
* Driver clisp accepts "-b" to print the installation directory.
See <http://clisp.cons.org/impnotes/clisp.html#opt-printlibdir> for details.
* Add file clisp.m4 so that the packages which use CLISP can check
whether it is properly installed and has the required version.
* POSIX:COPY-FILE now accepts :METHOD :HARDLINK-OR-COPY.
See <http://clisp.cons.org/impnotes/syscalls.html#copy-file> for details.
* New function POSIX:WAIT calls waitpid or wait4.
See <http://clisp.cons.org/impnotes/syscalls.html#wait> for details.
* New function EXT:TRIM-IF removes leading and trailing matches.
See <http://clisp.cons.org/impnotes/seq-func-ext.html#trim-if> for
details.
* New user command "LocalSymbols" (abbreviated ":ls").
See <http://clisp.cons.org/impnotes/repl.html#debugger-main-deb-step>
for details.
* Commands "add" and "create" replace "add-module-set", "add-module-sets" and
"create-module-set" in clisp-link.
See <http://clisp.cons.org/impnotes/modules.html#clisp-link> for details.
* Bug fixes:
+ Better support of :START and :END arguments in NEW-CLX. [ 2159172 ]
+ Fix LOAD-LOGICAL-PATHNAME-TRANSLATIONS when *LOAD-PATHS* contains
wild pathnames (introduced in 2.47). [ 2198109 ]
+ Module NEW-CLX now has the XLIB:QUEUE-EVENT function,
implemented by Philippe Brochard <hocwp@fr...>.
+ Extend the domain of LOG to larger BIGNUMs and RATIOs. [ 1007358 ]
+ Avoid a segfault on (EXPT <HUGE> <HUGE>). [ 2807311 ]
+ Fix interaction of finalizers and weak objects. [ 1472478 ]
* ANSI compliance:
+ Implement the ANSI (IGNORE #'FUNCTION) declaration.
ECL 9.12.3:
===========
* Visible changes:
- When converting rationals to floats, ECL now rounds instead of using the
routine in GMP, which truncates.
- LOAD open streams in buffered mode. It does not cause any significant
performance increase except in broken network filesystems that lack
buffering such as some implementations of NFS.
ECL 9.12.2:
===========
* Bugs fixed:
- RANDOM broken on 64-bits architectures.
- The debugger now shows the package names of inspected variables.
- The code in CLX that dealt with interrupts had become outdated.
* Other changes:
- Methods now show up in the debugger with their original name.
- Enlarged the string buffers used for reading and parsing lisp data.
ECL 9.12.1:
===========
* Platform support:
- Support for Itanium.
- Support for Solaris and SunStudio compiler.
- Support for Microsoft Visual Studio C++ 10 beta.
- Support for Cygwin.
* Visible changes:
- New function EXT:ARRAY-RAW-DATA returns a non-adjustable vector of type
(UNSIGNED-BYTE 8) with the content of an array. The returned array overlaps
with the original, so any change on one will affect the other.
- LOAD works on special files (/dev/null and the like).
- New command line option --version outputs the version number preceded
by the implementation name ("ECL 9.11.1" in this particular release).
- MULTIPLE-VALUE-BIND is optimally replaced with a LET form when the number
of variables is 1.
- ECL now accepts Windows' UNC pathnames.
(with-open-file (s #P"//JUANJO-IMAC/Public Folder/index.html"
:direction :input)
(loop for l = (read-line s nil nil)
while l
do (princ l)))
- The default memory limits are increased up to 512Mb for 32 bit images and
4Gb for 64-bits systems.
- The bignums generated by RANDOM did not contain enough random bits.
* Bugs fixed:
- In single-threaded builds, ECL did not properly restore the signal mask
before jumping out of a signal handler.
- Floating point exceptions were sometimes ignored, leading to infinite loops.
- A new configuration flag is added, --with-dffi. This flag allows
deactivating the foreign function interface when the compiler does not
support inline assembly with the GCC syntax and libffi is not available.
- In a multithreaded ECL, when handling a Ctr-C/SIGINT asynchronous interrupt,
the CONTINUE restart was not always available.
- In cygwin, LOAD was unable to load and execute binary files.
- In cygwin, FASL files can not lack a file extension, because dlopen()
then looks for a file ending in ".dll" and fails.
- In cygwin, files that are dlopen'ed must have executable permissions.
- ECL ignored the IGNORABLE declaration.
- The IGNORE/IGNORABLE declarations accept (but ignore) arguments of the
for (FUNCTION function-name).
- SUBTYPEP caused a SIGSEGV when the input was a not finalized class.
- Due to the SUBTYPEP bug, ECL could not compile DEFMETHOD forms whose
arguments referenced non-finalized classes
- When supplied an error value, (EXT:SAFE-EVAL form env &optional err-value)
never returned the output of the evaluated form.
- FIND-SYMBOL accepted string designators instead of just strings, as
mandated by the ANSI specification.
- APPEND copied also the last argument.
- (LOG #C(x x)) now produces a better result when x == 0
- (ATAN #C(0.0 1.0)) no longer produces an infinite recursion.
- Solved a hard to hit bug in DEFCLASS's routine for detecting collisions in
slot names
- LOG and LOG1P did not work properly with NaNs under linux.
- ECL had problems combining #. and #n=/#n# reader macros.
- FDEFINITION and SYMBOL-FUNCTION caused an incorrect error condition when
acting on NIL.
- The optimizer for TYPEP did not work when passed three arguments.
* Clos:
- CLOS:SET-FUNCALLABLE-INSTANCE-FUNCTION broke the value if SI:INSTANCE-SIG,
preventing any further access to the instance slots.
- The optimized slot accessors check that the instances are up to date.
- The use of MAKE-INSTANCES-OBSOLETE now forces UPDATE-INSTANCE-FOR-REDEFINED-CLASS
to be invoked even if the slots did not change.
- ENSURE-GENERIC-FUNCTION-USING-CLASS does not provide a default method class.
* Sockets:
- The socket option TCP_NODELAY option has been fixed: it was improperly using
the socket interface SOL_SOCKET instead of IPPROTO_TCP (Chun Tian)
- sockopt-linger and (setf sockopt-linger) now work as they should, using
the struct linger argument (M. Mondor)
* ASDF:
- ASDF:MAKE-BUILD now accepts also a :PROLOGUE-CODE argument with code to
be executed before all lisp files are run.
- C:BUILDER's argument :PROLOGUE-CODE can now be a lisp form. In the case of
standalone programs the prologue code is always executed after cl_boot() has
been invoked.
- QUIT did not work from standalone executables created with neither ASDF
nor with C:BUILDER.