Added scheme/unsafe/ops
Added print-syntax-width
Added file-or-directory-identity
Inside: embedding applications should call scheme_seal_parameters
after initializing parameter values (currently used by Planet)
pkgsrc changes:
- Adding license definition
Upstream changes:
2.08 2009-10-04 10:14:36 UTC
- make_path() can now set user- and group-ownership
on created directories. (Suggested by Jens Rehsack,
CPAN #47558).
2.07_03 2009-06-21 13:11:30 UTC
- Merged 2.07_02 patches from blead
- Remove stat checks on Windows platform (inhibits
UNC path removals from working, and Windows is
immune to this particular attack). CPAN #34701
pkgsrc changes:
- Adding license definition
- Adjusting dependencies
Upstream changes:
1.70
- fixed various bugs
- documentation updates
- #48247: Win32 patch kindly provided by KMX@cpan.org
- sync with latest XML::LibXML ABI and add a compatibility check
- do not force -lgcrypt and -lgpg-error linker flags
- fix for attribute nodes returned by user-defined XPath functions
- address #41542: restore internalDTD subset on the source
document of a transformation (libxslt unlinks it)
pkgsrc changes:
- Adding license definition
- Adjusting dependencies
- Adding SUPERCEDES/CONFLICTS for merged textproc/p5-XML-LibXML-Common
Upstream changes:
1.70
- various fixes and improvements in the documentation
- added (convenient yet non-standard) methods nonBlankChildNodes,
firstNonBlankChild, nextNonBlankSibling, prevNonBlankSibling
that skip empty or whitespace-only Text and CDATA nodes
- exposed and documented external entity handler
- XPathContext can now be passed to toStringC14N and toStringEC14N
(e.g. to provide NS mapping for the XPath expression)
- avoid using libxml2's globals (Nick Wellnhofer)
- added interface to libxml2's regexp implementation: XML::LibXML::RegExp
- added XML::LibXML->load_xml and XML::LibXML->load_html with
uniform and cleaner API than the old parse_* family
- cleanup code dealing with parsing flags
- fix bogus validation results if revalidating a modified document
- added 'eq' and 'cmp' overloading on XML::LibXML::Error and set fallback to 1
- lots of bugs fixed
1.69_2
- provide context and more accurate column number in
structured errors
- clarify license and copyright
- support for Win32+mingw+ActiveState
1.69_1
- merge with XML::LibXML::Common
- fix compilation on Windows with mingw or msvc
- fix a bug in structured errors preventing the previous errors from being reported
- fix compilation bugs
- fix encoding problem in reader
- added getAttributeHash to the reader interface
- fix segfaults: reconcileNs in domReplaceChild, findnodes with a doc fragment (S. Rezic)
ECL 9.10.2:
===========
* Bugs fixed:
- Fixed typo in src/c/unixint.d that affected single-threaded builds
- The GMP library did not build in OS X Snow Leopard in 64-bits mode.
- The package MP is needed also in single-threaded versions (for fake
mp:with-lock, which is used in CLX).
- In CLX, there were a couple of typos in the code related to locks and ECL.
These typos only revealed in multithreaded builds of the CLX library.
- In Linux there is a problem with handlers for SIGFPE being totally ignored
by the system. The problem seems to be solved by avoiding the use of
feenableexcept() and restricting to C99 exception tests. That is bad because
we can not reliably and cheaply detect underflow exceptions.
- Under OS X, --enable-rpath works again. It was broken for about a year
due to my misunderstanding of how -install_name works and the differences
between that and -rpath.
ECL 9.10.1:
===========
* Configuration flags:
- The option --enable-slow-config is now always on in Solaris and it does not
take more time than an ordinary build using --with-system-gmp=no
- A new compiler macro ECL_NO_LEGACY can be defined to remove all deprecated
macros and functions. Have a look at the end of src/h/external.h to see
what functions are deprecated on each release -- typically they are functions
that have been renamed with one of the prefixes, ecl_, cl_, si_, ext_ or _ecl.
- Under OS X, you can use the environment variable ABI to select between
32-bits (ABI=32) or 64-bits pointers (ABI=64).
* Bignums:
- When embedded, ECL may coexist with code that uses the GMP library in
different ways, and sometimes that code may use different memory allocation
routines. In order to solve this problem ECL introduces a new option,
ECL_OPT_SET_GMP_MEMORY_FUNCTIONS, which determines whether GMP will use the
Boehm-Weiser garbage collector to allocate memory or not.
- The previous change also implies that ECL must do all bignum computations
using GMP-allocated numbers that are then automatically freed. More
precisely, this is done using big_register[0-2]_get() and
big_register_normalize() everywhere and operating destructively on those
numbers. These functions have been made aware of the fact that GMP may
use other allocation routines and always call mpz_clear() to free memory.
- The internal functions dealing with bignums have been renamed with the usual
prefix "_ecl", and some of them have been turned into macros. Do not use
those functions if possible.
- Bignums are now allocated as a compact IMMUTABLE unit that combines the lisp
object and the data for the GMP integer itself. Since it can be now
allocated as an atomic (i.e. pointerless) region of memory, the garbage
collector has to work less for marking and collecting them.
- The function ecl_alloc_simple_vector() also creates arrays as a compact unit
with pointerfree memory whenever possible.
- The functions cl_alloc_simple_{base,extended}_string() now carry the prefix
ecl_ instead of cl_, and they are simple aliases for ecl_alloc_simple_vector.
- ECL now implements weak pointers. The interface is
(ext:make-weak-pointer value) => weak-pointer
(ext:weak-pointer-value weak-pointer) => value
and it defines a new built-in type, EXT:WEAK-POINTER
- When running in multithreaded mode, the streams for *terminal-io*,
*standard-input* and *standard-output* are created using non-locking
C pipes, instead of locking C streams. This is essential to allow background
threads gain control of the console.
* Native threads:
- ECL now implements WITHOUT-INTERRUPTS and WITH-INTERRUPTS similarly to SBCL.
It creates three local macros, ALLOW-WITH-INTERRUPTS and
WITH-LOCAL-INTERRUPTS, and an additional one WITH-RESTORED-INTERRUPTS,
which executes the forms with the value of interrupts of the forms that
surround WITHOUT-INTERRUPTS.
- Symbol SI:*INTERRUPT-DISABLE* changes name to SI:*INTERRUPTS-DISABLED*.
- New function MP:PROCESS-JOIN, waits for a thread to terminate (J.C.Beaudoin)
For this to work, threads are always created in a joinable state, and they
only detach themselves when exiting and no process is waiting.
- EXT:QUIT now has a different definition
(ext:quit &optional (exit-code 0) (kill-all-threads nil))
The first difference is that QUIT will execute all unwind-protect forms
that surrounds the form that caused the exit. The second one is that we
can explicitely kill all threads and wait for them to exit before exiting.
- Two new functions MP:PROCESS-SUSPEND and MP:PROCESS-RESUME allow suspending
and resuming a thread.
- The C function ecl_import_current_thread() now automatically registers the
thread with the garbage collector. You should use ecl_release_current_thread()
before the thread exits, for consistency.
- Due to the change in ecl_import_current_thread(), ECL now needs a slightly
more modern version of the Boehm-Weiser garbage collector. Hence, even if you
try to enforce --enable-boehm=system, you may find that ECL ignores the
pre-installed library in favor of the one shipped with it.
* Bugs fixed:
- WITH-LOCK might run into a race condition when the lock acquisition process
was interrupted.
- The following functions are now interrupt safe: MP:MAKE-LOCK.
- The use of GIVEUP-LOCK in WITH-LOCK is now protected against interrupts.
- Forms in toplevel EVAL-WHEN or PROGN statements did not have a proper value
of bytecodes.definition, causing the debugger to enter an infinite chain
of errors
- In Solaris 8 ECL failed because it did not find inttypes.h
- When signbit() is not available, ECL now looks for existence of copysign.
* Signals and environment:
- The toplevel now allows handling multiple processes in the same console.
Two new commands, :w and :s, allow reading the list of processes waiting for
grabbing the console and switching to that given process.
- ECL now has a signal handling thread running in the background. When
Ctrl-C or Ctrl-Break is pressed or the process gets a SIGINT signal, then
a separate thread is spawned for handling that event. This thread typically
enters the debugger, allowing either to continue or to interrupt specific
processes.
* Packages:
- The package hash tables are not destructively extended, but rather a new
hash table is created when we need more room. ecl_sethash() now returns
the pointer to the possibly reallocated hashtable.
- ECL now follows the SBCL model, by which there is a global lock for
destructive package operations (INTERN, EXPORT, etc), but not for
query only operations (FIND-SYMBOL, PACKAGE-USE-LIST), etc.
* Windows:
- The latest version of Visual Studio introduced a number of automatically
generated files (*.implib, *.manifest, *.expdef) which are not used at
all by ECL, but which were also not deleted, causing the temporary
directory to be filled with garbage.
- FASLs created by COMPILE and LOAD in the directory for temporary files are
now properly deleted before exiting ECL.
- ECL now embeds the manifest file in the generated executables and shared
libraries.
* Other errors:
- Extended strings (i.e. strings with characters that are not base-characters)
were not identified as valid documentation strings by the interpreter.
Upstream changes:
0.38 2009-10-04 16:10 UTC
+ Dep : All the signature-related features are DEPRECATED and will be
removed in december 2009. This includes the 'sig' option to
wizard(), the getsig() and gensig() functions, and the SIG_*
constants.
Afaik those features were never used in real life, and they make
the XS code slow and brittle. If you want your wizards to be
globally available, you'll have to handle that yourself by
storing them in a hash.
+ Doc : More examples in a new COOKBOOK section.
+ Fix : Compatiblity with the 5.11.0 release. The new compatibility
constant VMG_COMPAT_ARRAY_PUSH_NOLEN_VOID was added to cover
this.
+ Fix : Work around Kwalitee test misfailures.
Upstream changes:
2.21 - Mon Oct 5 11:17:53 EDT 2009
Bug fixes:
- Adds full path in INCLUDE #line directives (RT#50198) [patch by "spb"]
Other:
- Updated copyright and maintainer list
2.20_07 - Sat Oct 3 11:26:55 EDT 2009
Bug fixes:
- Use "char* file" for perl < 5.9, not "char[] file"; fixes mod_perl
breakage due to prior attempts to fix RT#48104 [David Golden]
2.20_06 - Fri Oct 2 23:45:45 EDT 2009
Bug fixes:
- Added t/typemap to fix broken test on perl 5.6.2 [David Golden]
- More prototype fixes for older perls [Goro Fuji]
- Avoid "const char *" in test files as it breaks on 5.6.2 [Goro Fuji]
Other:
- Merged changes from 2.2004 maintenance branch (see 2.200401 to 2.200403)
[David Golden]
2.20_05 - Sat Aug 22 21:46:56 EDT 2009
Bug fixes:
- Fix prototype related bugs [Goro Fuji]
- Fix the SCOPE keyword [Goro Fuji]
Upstream changesi (since 5.8):
Version 6.0 07.10.2009
+ Added new functions "N_Delta_YMDHMS()", "Add_N_Delta_YMD()"
and "Add_N_Delta_YMDHMS()" to "Date::Calc"
+ Added more tests to "t/f037.t" for these new functions
+ Added a new "normalized" mode to "Date::Calc::Object" which
uses the new functions "N_Delta_YMD()", "N_Delta_YMDHMS()",
"Add_N_Delta_YMD()" and "Add_N_Delta_YMDHMS()"
+ Added test scripts "t/m012.t" and "t/m013.t" for this new mode
+ The language can now be set individually for each function
in "Date::Calc" that requires it (through a new optional
parameter; the default continues to be a global setting
for backward compatibility); the affected functions are:
"Decode_Month()", "Decode_Day_of_Week()", "Compressed_to_Text()",
"Date_to_Text()", "Date_to_Text_Long()", "Calendar()",
"Month_to_Text()", "Day_of_Week_to_Text()", "Day_of_Week_Abbreviation()",
"Decode_Date_EU()", "Decode_Date_US()", "Decode_Date_EU2()",
"Decode_Date_US2()", "Parse_Date()".
+ BEWARE that the interface of "DateCalc.c" has changed!
+ Module "Date::Calc::Object" has been changed similarly
+ Module "Date::Calendar::Year" has also been adapted accordingly
+ Many test scripts have been changed to reflect the modifications
in "Date::Calc", "Date::Calc::Object" and "Date::Calendar::Year"
and more test cases have been added
+ Updated the documentation to reflect all changes
+ Updated version numbers of dependencies in "t/f000.t"
pkgsrc changes:
- add newly imported devel/p5-MooseX-ConfigFromFile as test depend
Upstream changes:
0.23 Fri. Oct 02 2009
* MooseX::Getopt
- Allow the config file to be a code ref which is called to return
the config file location (Gordon Irving)
PoDoFo is a library to work with the PDF file format. The name
comes from the first letter of PDF (Portable Document Format). A
few tools to work with PDF files are already included in the PoDoFo
package.
The PoDoFo library is a free, portable C++ library which includes
classes to parse PDF files and modify their contents into memory.
The changes can be written back to disk easily. The parser can also
be used to extract information from a PDF file (for example the
parser could be used in a PDF viewer). Besides parsing PoDoFo
includes also very simple classes to create your own PDF files.
All classes are documented so it is easy to start writing your own
application using PoDoFo.