* Use lang/ruby/gem.mk instead of misc/rubygems/rubygem.mk.
* Update HOMEPAGE.
* Add LICENSE.
* Adjust pacakge name, no duplicated ruby.
0.10.3
11/17/08
- a backtrace now warns when it thinks the callstack is truncated which it
gets by comparing with caller()
- fix setting $0.
- fix bug in showing variables in post-mortem
- Document how Debugger.start with a block is intended to be used.
- Move Kernel#debugger from ruby-debug-base into ruby-debug
- Get regression tests working again
- Warn and add a "confirmation" when setting a breakpoint on a
file that is not loaded.
* Use lang/ruby/gem.mk instead of misc/rubygems/rubygem.mk.
* Update HOMEPAGE.
* Add LICENSE.
0.10.3
11/17/08
- a backtrace now warns when it thinks the callstack is truncated which it
gets by comparing with caller()
- fix setting $0.
- fix bug in showing variables in post-mortem
- Document how Debugger.start with a block is intended to be used.
- Move Kernel#debugger from ruby-debug-base into ruby-debug
- Get regression tests working again
- Warn and add a "confirmation" when setting a breakpoint on a
file that is not loaded.
* Use lang/ruby/gem.mk instead of misc/rubygems/rubygem.mk.
* Add LICENSE.
* Remove default value of GEM_BUILD.
*2.3.9 (September 4, 2010)*
* i18n: bundle i18n 0.4.1 for forward compatibility with Rails 3.
Deprecates {{foo}} interpolation syntax in favor of 1.9-native %{foo}.
* Deprecate Kernel#returning in favor of Object#tap since it's included
in Ruby 1.8.7 and later. [Santiago Pastorino]
* Deprecates ActiveSupport::Dependencies.load_(once_)paths, renamed to
autoload_(once_)paths. [fxn]
* Deprecates Array#random_element, renamed to sample to match Ruby 1.9,
thanks to Marc-Andre Lafortune. [fxn]
* Use lang/ruby/gem.mk instead of misc/rubygems/rubygem.mk.
* Add LICENSE.
* Remove default value of GEM_BUILD.
* Update dependency according to gemspec.
* Use lang/ruby/gem.mk instead of misc/rubygems/rubygem.mk.
* Update HOMEPAGE.
* Add LICENSE.
* Remove default value of GEM_BUILD.
* Add CONFLICTS since it will install the same name commands both
ruby18 and ruby19 based packages.
=== 4.4.0 / 2010-09-01
* 1 major enhancement:
* Removed git building. I'm dropping direct support for rubinius.
* 3 minor enhancements:
* Added multiruby mri:list:x.y.z command so you can see what's available.
* Enabled installing specific patch versions of ruby.
* multiruby rubygems:update now forces a build to be less confusing.
* 1 bug fix:
* Removed redundant test_to_normal, now in zentest_mappings
=== 4.3.3 / 2010-06-17
* 2 minor enhancements:
* Added options and removed pattern from Autotest::RCov
* update_rubygems now deletes cached rubygems installs
=== 4.3.2 / 2010-06-02
* 1 minor enhancement:
* Removed support for rbx builds.
* 2 bug fixes:
* Removed 'preview' from version filter so I can test with 1.9.2
* Put PATH tweaks at front of PATH
=== 4.3.1 / 2010-03-30
* 1 bug fix:
* Fixed autotest output on 1.8. That's what I get for not having
tests for dots.
=== 4.3.0 / 2010-03-27
* 1 minor enhancement:
* Added gemcutter rubyforge and hoe to the_usual setup
* 4 bug fixes:
* 1.9 compat: don't use putc anymore. (fistfvck (hah!))
* Added note that included articles are out of date
* Fixed rcov plugin so multiple all_good hooks can coexist
* Fixed typo in doco
=== 4.2.1 / 2009-12-09
* 1 minor enhancement:
* Added GEM_HOME/GEM_PATH setting to multiruby.
* 1 bug fix:
* Fixed multiruby refactoring bug from previous release.
=== 4.2.0 / 2009-12-08
* 3 minor enhancements:
* Added 'multiruby -1 $version' for easier execution (idea from flori)
* Set up and tear down PATH in multiruby (luis)
* died hook now gets passed the exception (amikula)
* 3 bug fixes:
* Deal with windoze getc returning nil (undees)
* Fix unit_diff for multiline miniunit results.
* Fix warning for 1.8.8+
MFSA 2010-63 Information leak via XMLHttpRequest statusText
MFSA 2010-62 Copy-and-paste or drag-and-drop into designMode document allows XSS
MFSA 2010-61 UTF-7 XSS by overriding document charset using <object> type
attribute
MFSA 2010-59 SJOW creates scope chains ending in outer object
MFSA 2010-58 Crash on Mac using fuzzed font in data: URL
MFSA 2010-57 Crash and remote code execution in normalizeDocument
MFSA 2010-56 Dangling pointer vulnerability in nsTreeContentView
MFSA 2010-55 XUL tree removal crash and remote code execution
MFSA 2010-54 Dangling pointer vulnerability in nsTreeSelection
MFSA 2010-53 Heap buffer overflow in nsTextFrameUtils::TransformText
MFSA 2010-52 Windows XP DLL loading vulnerability
MFSA 2010-51 Dangling pointer vulnerability using DOM plugin array
MFSA 2010-50 Frameset integer overflow vulnerability
MFSA 2010-49 Miscellaneous memory safety hazards (rv:1.9.2.9/ 1.9.1.12)
pkgsrc changes:
- removing option for Data::Dumper::Names recommendation and install it
by default - target it to test most, not nearly most
- adjust dependencies
Upstream changes:
0.23 2010-09-08
- added "Excluding Test Symbols" feature (RT#61146, Karen Etheridge).
pkgsrc changes:
- add license definition
Upstream changes:
0.05 -- Wed Sep 8 00:51 CEST 2010
* Stop using the padlist to refcount GVs. Instead use regular magic. This
allows various modules, including B::Deparse, to safely peek into pads of
(re)named subs (Closes RT#42725) (Goro Fuji).
* Support perl >= 5.13.3 by using the new CvGV_set interface there
(Closes RT#59558).
* Stop using the deprecated PL_no_symref (Closes RT#57843).
pkgsrc changes:
- adjust dependencies
Upstream changes:
0.27 Sun Sep 5 11:47:03 2010
- c99_available() should not have any side effects (reported by makamaka)
0.26 Sat Aug 7 17:47:37 2010
- Use the version of installed gcc, not $Config{gccversion} (xaicron)
0.25 Tue Jul 13 19:43:34 2010
- Add requires_c99() to assert that the compiler supports C99
- Fix Win32 problems, hopefully
0.24 Sun May 16 13:24:58 2010
- Compliant with Module::Install 0.97
0.23_02 Fri May 14 11:42:09 2010
- Don't exit if include dirs don't exist (lestrrat)
- Add cc_assert_lib() as an interface to Devel::CheckLib (lestrrat)
- Add want_xs() (lestrrat)
- Separate out detection of "-" and stuff to cc_libs(), and let
cc_append_to_lib()s just be a simple function (lestrrat)
0.23_01 Mon May 10 12:10:59 2010
- Clarify docs (lestrrat)
- Add want_xs() command (lestrrat)
0.23 Sun May 9 11:15:41 2010
- Setup clean_files for gcov output files (*.gcov, *.gcno, *.gcda)
- Add cc_libs() for MakeMaker's LIBS option (currently, it is just an
ailas to cc_append_libs())
- cc_append_libs (and then cc_libs) accepts raw arguments as
"cc_libs qw(-L/path/to/libs -lfoo)" (lestrrat++)
pkgsrc changes:
- adjusting Module Type
- adjusting license definition
Upstream changes:
1.25 Sep 6, 2010
- Devel::StackTraceFrame was not actually subclassing
Devel::StackTrace::Frame. Patch by Tatsuhiko Miyagawa.
1.24 Sep 3, 2010
- Version 1.23 was missing a $VERSION assignment. Reported by Sergei
Vyshenski.
- Moved the frame object to its own file, and renamed it
Devel::StackTrace::Frame. The old package name, Devel::StackTraceFrame, is
now a subclass of the new package, to provide a backwards compatibility
shim.
1.23 Aug 27, 2010
- Added message and indent constructor parameters. Based on a patch by James
Laver. RT #59830.
pkgsrc changes:
- add license definition
Upstream changes:
2.13 Fri 3 Sep 2010
- Resolved#60703: Display glitch in Config::Tiny 2.12 POD
- Resolved#40585: member 'set;' doesn't exist
- Resolved#30479: does not warn or die when writing data it
cannot later.
- boot-strap (TOOL_DIFF): set this to ensure tests use the same version
of diff that configure tested
- in jobs mode, when we discover we cannot make something, call
PrintOnError before exit.
- formatting fixes for ignored errors
- ensure jobs are cleaned up regardless of where wait() was called.
- os.sh (MACHINE_ARCH): watch out for drivel from uname -p
- call PrintOnError from JobFinish when we detect an error we are not
ignoring.
- use bmake_signal() which is a wrapper around sigaction() in place of
signal()
- add .export-env to allow exporting variables to environment without
tracking (so no re-export when the internal value is changed).
- fix for .info et al being greedy.
- back to using realpath on argv[0] but only if contains '/' and does not
start with '/'.
native pthreads are present and used, to avoid surprises due to
conflicting implementations mixed up (in case of no bl3 use), from
Rumko per followup mail on PR pkg/43845
bump PKGREVISION
1.26 Fri Jun 25 18:35:15 BST 2010
- Document the 'debug' parameter
- Croak if the user does not supply the 'types' parameter
- Fix problems with SYNOPSIS and show example plugin usage
- Don't warn inside plugin_del
- Don't complain about invalid eat constants when debug mode is off
- Add irc_plugin_error event
( All the above by Hinrik ).
Changes:
0.95 2010-05-25T22:36+02:00 DOLMEN (Olivier Mengué)
No changes since 0.94_03.
Only change since 0.94 is fix for RT#56447 (allow POE aliases as target
session ID for events).
0.94_03 2010-05-25T00:14+02:00 DOLMEN (Olivier Mengué)
No functional change since 0.94_01.
Fixed constant functions: added "()" prototype to make them inlinable
by perl. Should have been like that since 0.91_01. That should
improve performance.
Added .perlcriticrc to disable Perl::Critic policies that do not match
our style (filled RT#57638, RT#57639, RT#57640, RT#57807 for issues
with default policies).
Made some suggestions from Perl::Critic. Reduced number of lines, so
improved test coverage ratio.
Test coverage: 94.5%.
Author build system: fixed the 'Build tag'.
Author build system: improved steps to publish 'Changes.rss' in the
Google Code wiki area.
0.94_02 2010-05-18T01:02+02:00 DOLMEN (Olivier Mengué)
Author build system: Changes.{rss,yml} generation is now automated by
extending Module::Build (see 'inc/MY/Build.pm' and
'inc/MY/Build/Changes.pm').
Added 't/90-critic.t' to 'MANIFEST.SKIP' as it is the main cause of
CPAN Testers failures.
Author build system: Drop 'Makefile.PL' generation by Module::Build.
Author build system: Transformed 'make-svn-tag.pl' into a Build target
('tag').
0.94_01 2010-05-09T19:44+02:00 DOLMEN (Olivier Mengué)
RT#56447 fixed, but I expect to unapply the fix once RT#57314
(allow aliases in $poe_kernel->refcount_{in,de}crement) is
implemented. Test cases added.
Bug references are now linked in 'Changes.rss'.
Test coverage: 91.6%.
0.94 2010-03-13T16:37+01:00 DOLMEN (Olivier Mengué)
Only minor POD changes in Schedule.pm since 0.93_02.
Increased dependencies versions.
Small tweak to the 'Changes' file format to make it more parseable
and be able to generate 'Changes.yml' and 'Changes.rss'.
Added 'Changes.rss' and 'Changes.yml', generated from 'Changes'
using either 'make-Changes-rss.pl' or 'make-Changes-rss-2.pl' (see
SVN repo).
Test coverage: 92.1%.
0.93_02 2010-02-13T16:30+01:00 DOLMEN (Olivier Mengué)
More test coverage, but still only 92.1%. Help still welcome for
RT#53925.
Improved argument check for ->add() (and now, with tests too).
POE >= 1.281 is recommended as it fixes the _child(lose) issue.
Updated POD: removed obsolete warnings, updated copyright.
Updated README: should be more helpful for distribution packagers.
0.93_01 2010-02-13T01:55+01:00 DOLMEN (Olivier Mengué)
Applied fix for RT#53925 (Patch by Zeph Gillen).
Added t/50-subclass.t to try to catch subclassing problems which may
affect POE::Component::Cron. Unfortunately it does not catch
RT#53925. Help needed.
Added strictures in tests.
Updated 'MANIFEST.SKIP' to match new Module::Build: ignore MYMETA.yml.
Failed 8/152 test programs. 6/3913 subtests failed.
==================================
2010-09-04T19:20:41.964969Z v1_293
==================================
Bump version for release.
Add user continuation parameters to sig() and sig_child().
Roll back most of the lexical FIFO event arrays. Going through a
POE::Queue for this will be a bit slower, but POE::XS::Queue::Array
may be fast enough.
Continue to guarantee FIFO event ordering despite the rollback to
dumping them in a time-ordered queue. Detect minor time regressions,
and use the last time value plus a small number when needed.
Fixed a mistake in the alias_list() example code in POE::Kernel
documentation, spotted by Paul G Webster
Chris Benedict reported that Mac OS X returns ESPIPE when accept() is
aborted, rather than ECONNABORTED everywhere else. Add ESPIPE to the
list of harmless accept() errors.
Chris Benedict reported that nmap will crash Wheel::SocketFactory
based things. nmap disconnects before accept() can be called, so
accept() returns ECONNABORTED. Technically applications can handle
this themselves and not destroy the wheel, but the wheel maybe
shouldn't report harmless errors.
Apply Hinrik's patch to increase test failure verbosity.
==================================
2010-08-02T06:01:19.221768Z v1_292
==================================
Bump revision for release.
Resolve rt.cpan.org 59925, wherein sig_child() use would increase
some events' latency to at 1sec. First reported by Getty, then Avar
opened the ticket. Fixed with Hinrik's copious valuable assistance.
Fix a method name typo in TRACE_REFCNT code.
==================================
2010-07-27T06:54:51.380682Z v1_291
==================================
New version to spackle over failed one.
Version bump for release.
Nick Perez pointed out that we don't absolutely need HighEvent, since
put() returns the high-water status much more conveniently. Resolve
his rt.cpan.org ticket 56432. Oh, and fix an unrelated test plan.
Clarify the refcount_{inc,dec}rement() return values per Olivier
'dolmen' Mengu
Remove some logic that stopped being used. Adjust idle-kernel checks
into a slightly more optimal order.
Finish a sentence. Incomplete docs noted by Hinrik.
Move non-alarms out of POE::Queue::Array.
Reduce calls to get_item_count() by one per _data_ev_dispatch_due().
Reduce calls to get_next_priority() by approx. one per
_data_ev_dispatch_due(). Micro-optimize get_item_count().
Fix tests related to recent POE::Resource::Events optimizations.
At long last, apply Ton Hospel's micro-optimization for
get_next_priority().
Small optimizations. Avoid _data_stat_add() calls when not needed.
Avoid redundant session refcounts when the source and destination are
the same. Breaks some pedantic tests, but we can fix those.
Apply Hinrik's test changes from http://gist.github.com/449231
Apply Hinrik's patch to catch die() and his test case for proper
shutdown if a child coderef process dies.
Fix a method typo at Hinrik
stdio closing on exec() errors, just in case.
Add TODO test for double POE::Loop loading
Add support for POE_CATCH_EXCEPTIONS environment variable. Apply
Justin Hunter's doc patch for POE::XS::Loop::EPoll.
Tweak the test so it uses RELEASE_TESTING
Fix invalid POD links
Remove the obnoxious warning about the win32 leak in Wheel::Run
Add proper exitval handling to POE::Wheel::Run, the previous patch
munged it :(
Add deprecation warning for 'Winsize' to POE::Wheel::Run->new
Patch POE::Wheel::Run for RT#56417 and add a test+more docs
==================================
2010-04-03T20:03:35.441534Z v1_289
==================================
Bump revision for a new release. No significant changes, other than
to build a new dist with the latest EUMM.
==================================
2010-04-03T18:17:45.177433Z v1_288
==================================
Fix dependencies and bump POE revision for release.
Set svn:ignore for: META.yml CHANGES run_network_tests PoLo-Gtk
forgot to clean run_network_tests
Back out of my previous commit to auto-clean META.yml and CHANGES, it
will blow up if an end-user did it on their box! /me is stupid :(
Automatically clean META.yml and CHANGES files on "make distclean"
because they are auto-generated
Fix a doc typo in ReadWrite in get_output_handle()
Fix a documentation typo in PoCo-Client-TCP
Fix a doc typo in my previous commit :(
Update the Wheel::ReadLine docs for a better explanation of the TERM
issue and workarounds, thanks BiNGOs!
Avoid undefined value warnings when trying to tab-complete
nothingness. dreamer on irc.perl.org #poe reported the problem, with
a useful test case.
After a lot of hacking/digging Cygwin with a TERM=dumb does not work
with POE::Wheel::ReadLine. This fix skips the test, and makes
Wheel::ReadLine die if it detects this situation. Added some docs for
our Cygwin users :)
Document how POE::Wheel::ReadWrite reports EOF.
Added a lot of loop-loading tests, so we can start work on the
"naive" loop load hacks
Tweak the @modules logic, thanks to TonyC ( it might not be perfect
but good enough for now )
Remove any XS modules from @modules, as usual TonyC spotted it :)
Fix loading of XS loops via POE.pm, thanks TonyC! Better document the
various loop loader shenanigans we have :)
==================================
2010-02-19T06:11:52.979284Z v1_287
==================================
Bump revision for new release.
Fix a sig_child() race condition discovered by Tom Lanyon and
reported (with the help of Jay Hannah) in irc.perl.org #poe. I
haven't been able to reproduce the problem in a non-MooseX::Workers
test case, but this change resolves Tom's more complex test case and
passes tests.
Fix an infinite file rollover when open() succeeds but stat() fails.
Jay Hannah discovered a bug when he passed in a filename with
trailing whitespace. Two-parameter open() treats trailing whitespace
as insignificant, so it passed. On the other hand, trailing
whitespace is significant in stat(), so it always failed, triggering
an unrelenting stream of file rollover events. Switched to
three-parameter open(), which considers trailing whitespace as
significant. Now both open() and stat() agree the file doesn't exist.
Thanks to Jay and the University of Nebraska at Omaha for securing me
some debugging time on their machines.
==================================
2010-02-15T06:36:51.553032Z v1_286
==================================
Bump for yet another release.
POE::Pipe and its subclasses work best using Cygwin's pipe(), not
IO::Socket. Previous Cygwin versions work better with sockets. If
01_sysrw.t hangs for you, upgrade your Cygwin and its Perl.
==================================
2010-02-14T21:37:14.937566Z v1_285
==================================
Bump the revision number for a new release.
Some code cleanup in POE::NFA.
Revision 2803 is mistaken. Rob Hildred reported the problem and
provided the test case that was instrumental in helping me resolve
it. And the bug report was rt.cpan.org 53517. I mistakenly assumed
the currently open tab was the same ticket I was debugging.
Fix state bleed between POE::NFA instances.
Resolve rt.cpan.org 53682 reported by Serguei Trouchelle. Thank you,
Serguei, for a very useful test case.
Replace the detach-during-start test with an enhanced test that
Olivier Mengu
Applied Andrew Feren's patch to avoid a POE::Wheel::Run memory leak
when running under Windows. Should resolve rt.cpan.org #50068.
Remove dependency on Test::Exception (it appears to be unused). Fix a
spot of tab damage while I'm in there.
Rely upon the latest POE::Test::Loops.
Resolve rt.cpan.org #54319. In polling mode, the wheel wasn't
iterating get_one() for the entire input from get_one_start(). As a
result, only one log line was returned per PollInterval. This change
iterates through get_one() until all lines are returned. Many thanks
to Oleg A. Mamontov for opening the ticket, and to Bazerka on
irc.perl.org #poe for supplying the basis for a test case.
Fix a documentation bug, thanks zephg! ( reported by arcanez@irc )
Added RELEASE_TESTING env var checks Added test for 404 links in POD
Cleanup old stuff and fix MANIFEST.SKIP
Correct a type reported by Hinrik
#poe.
Fix a cpantesters.org link that gcola reported as 404 in irc.perl.org
#poe.
Add more to what I've done.
[rt.cpan.org 53757] Apply G. Allen Morris III's spelling patch but
not his test based on Test::Spelling. That module doesn't seem to
work for me, so I couldn't use it.
Define a _stop handler to mollify assertions.
[rt.cpan.org 53777] Restore _start & _stop return values. Mikko Ehto
reported that _start and _stop don't return values as documented. He
also provided a testcase, which was very helpful. I added his test
case and fixed the underlying bug during the Perl Oasis hackathon.
Correct a documentation typo reported by jussive in IRC.
Fix a typo in a trace message, reported by "jussive" in irc.perl.org
#poe.
==================================
2010-01-14T07:20:50.660659Z v1_284
==================================
Bump the version for release.
[rt.cpan.org 53519] The issue was a disagreement in the
interpretation of "\n" on Windows (DOS newline semantics). Changed
the newline charater to "!", because I can.
==================================
2010-01-08T00:13:11.003173Z v1_283
==================================
Bump revision for release.
Fix POE::Wheel::FollowTail, at least as far as Hinrik's test and the
rest of the test suite are concerned.
Hinrik
code doesn't flush out the file on startup. Applied his changes to an
existing regression test for this wheel.
==================================
2010-01-06T20:55:14.534499Z v1_282
==================================
[rt.cpan.org 53352] Correct spelling mistakes found by Jonathan Yu.
Simplifies Debian package maintenance since that's one less
downstream patch to worrry about.
Bump the version for a new release.
POE::Wheel::ReadLine appears to hang on AIX when STDIN is set
blocking(1). Reported (and graciously debugged) by Criveti Mihai from
the Ministry of Economy and Finance in Romania.
Several doc changes to fix issues reported by garu in irc.perl.org
#poe. Thanks, garu!
Clarify what's going on in two Session References examples. Reported
by "garu" in irc.perl.org #poe.
==================================
2010-01-01T09:15:20.168519Z v1_281
==================================
Bump up the version for release.
[rt.cpan.org 24956] Set STDIN blocking. Large amounts of STDOUT data
will overrun terminal buffers if STDIN is non-blocking. Weird!
[rt.cpan.org 52452] Attempt to make the destruction order in the test
more deterministic.
[rt.cpan.org 51171] Olivier Mengu
completely different kind of value on MSWin32. Use his fix.
Upgrade the detachment test to use Test::More.
[rt.cpan.org 51772] Don't fire EN_CHILD,CHILD_LOSE when
detach_myself() is called from _start, since the parent session never
gets EN_CHILD,CHILD_CREATE to begin with. Fixes a bug reported by
Olivier Mengu
Change the timing of file reset detection to match previous logic.
Fix regression in the new file rotation code.
Make this test line-ending neutral.
Fix filename-based reset detection in Windows.
Detangle filehandle vs. filename timer callbacks. Simplified each at
the expense of some redundant code between them.
Improve reset detection on Windows. Reduce polling when a file is
idle.
Fix a typo in a code example reported by Hinrik
IRC.
Clarify session multitasking documentation per IRC feedback from a
person going by the nickname "skor".
Don't bother propagating wantarray() and tracking return values if
we're not dispatching ET_CALL.
Eliminate some temporary variables.
mousemask() is very not portable. Remove it.
Update POE::Test::Loops dependency to latest CPAN release.
1.30 (2010/08/30)
* (ms) [RT 60665] HUP handlers are stacked on top of each other now,
to make sure that multiple file appenders recreate multiple
files and not just one (patch provided by Karen Etheridge).
* (ms) [RT 60197] Fixed uninitialized value warnings with
the multiline appender and provided a test case (patch provided
by Karen Etheridge)
* (ms) [rt.cpan.org #59617] Fixed system-wide threshold without appender
thresholds. Bug reported by Dmitry Bigunyak.
* (ms) [rt.cpan.org #24884] Using require() instead of incomplete
logic in L4p::Util::module_available(). local __DIE__
handler takes care of user-defined __DIE__ handlers
ignoring $^S (suggested by Eric Wilhelm and others).
* (ms) [rt.cpan.org #60386] Fixed init_and_watch() which
double-bumped the caller_level and led to uninitialized
values in the pattern layout. Thanks to Mitja Bartsch for
the report.
* (ms) Applied patch by Karsten Silkenbäumer to add an optional
$log_dispatch_level to create_custom_level(). Updated
documentation.
1.29 (2010/06/16)
* (ms) Added documentation on how to use Log4perl's :easy macros
with Catalyst in Log::Log4perl::Catalyst.
* (ms) wrapper_register() now deals with caller_depth automatically.
Backwards compatibility with old wrapper classes using
caller_depth directly is provided. Documentation has been
updated.
* (ms) Felix Antonius Wilhelm Ostmann reported Resurrector.pm
crashes, fixed as suggested by setting the %INC value to
the module path.
* (ms) Another caller_depth fix in Log::Log4perl::Catalyst.
* (ms) Fixed logdie() caller_depth bug reported by Rob Retter.
* (ms) [RT 56145] Saving errstr in DBI appender to survive ping()
* (ms) Added INTERNAL_DEBUG env variable to test suite triggering
all _INTERNAL_DEBUG statements to be printed for better
error diagnosis on misbehaving systems.
Upstream changes:
1.23 - So Sep 5 2010
- 3 Patches from Tom Hukins++ to clean up inc/, pod and the license.
- Suggestion from So Matsui++ to restore HTTP POST from the 1.20 release.
- http_method now defaults to POST but can be set to GET.
1.22 - Fri Apr 2 10:51:58 PDT 2010
- Update URI::Encode dependency so we can depend on a consistent
encoding of *firefox to %2Afirefox.
- No code changes, just test fixes.
pkgsrc changes:
- add license definition
Upstream changes:
0.34 2010-03-18
- Fix keys and values like '010' being serialized as strings as expected
rather than being turned into ints. (RT#48594)
0.33 2009-07-14
- Added ability to store the order of the keys on decoding
PHP assoc array (Alexander Bassilov)
- Added ability to sort the keys on encoding HASHes (Alexander
Bassilov)
0.32 2009-06-20
- Making finite state machine
- Fixed bug in arrays RT21218
- RT24441 is not a bug
- Croaks on incomplete strings. RT44700
- Fixed bug with float as index. RT42029
- Removed warning from POD
- Changed todo in POD
- BOLAV@cpan.org
0.31 2009-04-14
- Add warning note to POD
- Take patch from RT#45024 to fix boolean deserialization bug.
pkgsrc changes:
- add license and homepage
- adjust module type
- use no languages
Upstream changes:
- Re-vamp module to Module::Build
- stty.txt merged into POD so it shows up on CPAN
- add Changes log
- basic tests
- die if no parameters passed to stty
of devel/svk.
PerlIO::gzip provides a PerlIO layer that manipulates files in the format
used by the gzip program. Compression and Decompression are implemented,
but not together. If you attempt to open a file for reading and writing
the open will fail.
Bullet is a 3D Collision Detection and Rigid Body Dynamics Library
for games and animation. Free for commercial use, including
Playstation 3, open source under the ZLib License. Discrete and
continuous collision detection, integrated into Blender 3D, and
COLLADA 1.4 Physics import.
The Gnome2 module allows a perl developer to use the Gnome libraries.
The perl bindings follow the C API very closely, and the C reference
documentation should be considered the canonical source.
This module allows you to use the GConf configuration system in
order to store/retrieve the configuration of an application. GConf
is a powerful configuration manager based on a user daemon that
handles a set of key and value pairs, and notifies any changes of
the value to every program that monitors those keys. GConf is used
by GNOME 2.x.
Overview of changes in Pango 1.221
==================================
* Properly export all our public symbols so that linking against us works on
MSWin32. (GNOME #576373)
* Noteworthy changes in release 1.4.15 (2010-08-31) [stable]
** Fix regression introduced in 1.4.9b where the `format' builtin could
crash on an invalid format string.
** Fix compilation against newer glibc, and on AIX 7.1BETA.
** A number of portability improvements inherited from gnulib.
pkgsrc changes:
- add license
- tidy
Upstream changes:
Release 0.69 - 28th August 2010
- Correctly report on C<my $x = $y || return> and other shortcuts.
- Put end to end tests in t/e2e.
- Add test for regexp eval fail (Florian Ragwitz).
- Fix some warnings from strict compilers (Florian Ragwitz).
- Allow tests to run in parallel (Florian Ragwitz).
- Test against 5.13.* development releases.
- We now require Test::More to run the tests.
pkgsrc changes:
- add license definition
Upstream changes:
0.7 2010-08-25 Add support for checking if a function exists
in a library and it returns the right value
(see RT #48332)
Add check_lib function
pkgsrc changes:
- add license definition
Upstream changes:
1.63 2010-05-29 $^O for VOS is sometimes VOS, sometimes vos;
VOS supports POSIX shell redirections
1.62 2010-05-21 Add OS X 10.5 platform and EBCDIC family
Upstream changes:
0.102340 2010-08-22 23:25:01 America/New_York
add PostgreSQL
0.102250 2010-08-13 09:54:29 America/New_York
alter the output of None to look a bit less repetitive (ABRAXXA)
Upstream changes:
0.09 - Aug 15, 2010
- Fix issue with MANIFEST
0.08 - Aug 13, 2010
- Fix passing multiple config files to SimpleConfig.
- Tests for this (zby)
pkgsrc changes:
- Adjusting dependencies
Upstream changes:
0.36 Tue, 31 Aug 2010 23:36:19 +0200
* Avoid deprecation warnings from new Moose version by depending on
MooseX::LazyRequire 0.06 (Jeremy Carman).
pkgsrc changes:
- add license definition
- add dependencies (from META.yml/Build.PL)
Upstream changes:
version 0.004; 2010-09-01
* mro option for mix_class(), to control the method resolution order
of the mixture class
* prefix option for mix_class(), to control where the mixture class
is located
* document that PREFIX missing from genpkg() means "don't care",
and change the actual default from "" to "Class::Mix::"
* check for required Perl version at runtime
* remove extra block around each sub definition, for readability
* use full stricture in test suite
* in Build.PL, explicitly declare configure-time requirements
* remove bogus "exit 0" from Build.PL
* add MYMETA.yml to .cvsignore
pkgsrc changes:
- remove deprecated homepage
Upstream changes:
Version 2.58: ( Mon May 17 10:43:06 IDT 2010 )
------------------------------------------------
* Incorporated a fix for some broken POD.
- https://rt.cpan.org/Ticket/Display.html?id=51617
- Thanks to Frank Wiegand for reporting it.
* Got rid of \r/carriage-returns's in lib/Config/IniFiles.pm .
- It interfered with applying a patch.
* Applied a patch to get rid of indirect object notation in the
documentation and code ("new Config::IniFiles") and replace it with
Config::IniFiles->new().
- https://rt.cpan.org/Ticket/Display.html?id=57536
- Thanks to Tom Molesworth for the patch.
Upstream changes:
[1.109] Released on 2010-08-29
Bug Fixes:
* ValuesAndExpressions::RequireInterpolationOfMetachars fix due to
changes in Email::Address 1.890. Note that this may find problems
in code that it didn't before, e.g. q<'@foo'>.
pkgsrc changes:
- upstream switched from Module::Build to ExtUtils::MakeMaker
- modify dependency versions
- update license condition
Upstream changes:
1.32 Jun 28, 2010
- Removed Test::Most dependency, which was causing a circular dependency
chain. Reported by Burak Gursoy. RT #58889.
1.31 Jun 26, 2010
- Made it possible to use Exception::Class::Base without loading
Exception::Class. Reported by Alex Peters. RT #57269.
Upstream changes:
2010-06-12 - Release 1.17 - Gisle Aas <gisle@ActiveState.com>
Fix dump of "1\n" (the newline was lost) [RT#56595]
Start using the range operator to shorten list dumps.
For instance dump(1,2,3,4,5) now returns '(1 .. 5)'.
CODE references now dumped as 'sub { ... }'.
Potetential compatibility issue as perl-5.12 or better
to eval such strings.
Fix how multiline hash values are indented.
Make indentation configurable
Improved documentation
2010-06-09 - Release 1.16 - Gisle Aas <gisle@ActiveState.com>
Add support for filter callbacks
- filters can modify how selected objects are dumped
Various enhancements to how/when hash keys are quoted
- don't quote keywords
- don't quote words prefixed with "-"
- don't quote long identifier keys
- quote all hash keys if one needs quoting for better alignment
Use case-insensitive sorting for hash keys
Upstream changes:
version 0.011; 2010-08-21
* bugfix: add a typemap entry for "const char *", to make XS version
of scalar_class() work correctly on Perl 5.6, having been broken by
the const fix in version 0.010
* in XS code, on Perls where it exists (prior to 5.9.5), treat SVt_PVBM
as a scalar referent type
version 0.010; 2010-08-20
* in XS, use PERL_NO_GET_CONTEXT for efficiency
* use full stricture in test suite
* also test POD coverage of pure Perl implementation
* in test suite, make all numeric comparisons against $] stringify it
first, to avoid architecture-dependent problems with floating point
rounding giving it an unexpected numeric value
* make XS code const clean for gcc -Wwrite-strings
* in Build.PL, explicitly set needs_compiler to avoid bogus
auto-dependency on ExtUtils::CBuilder
* in Build.PL, explicitly declare configure-time requirements
* add MYMETA.yml to .cvsignore
pkgsrc changes:
- correcting license
- adjusting dependency versions
Upstream changes:
0.22 2010-08-07
- Added always_explain() and always_show().
- Apply doc fixes from ranguard. Thanks :)
0.21_04 2010-02-06
- Give people the ability to exclude test modules in case of
conflicts. This is to resolve: "Prototype mismatch: sub
main::blessed ($) vs none" error with Moose and Test::Deep. See
https://rt.cpan.org/Ticket/Display.html?id=54362&results=e73ff63c5bf9ba0f796efdba5773cf3f
0.21_03 2010-02-06
- Bump up dependency on Test::Builder. Need that for done_testing()
and to deprecate all_done().
- Remove strict and warnings from tests since they no longer need them
:)
- Decided to bump up the minimum version number for all test modules.
This module should be "one stop shopping" for most people.
- Moderately significant POD update.
0.21_02 2010-02-06
- Import strict an warnings.
- Increase version requirement for
https://rt.cpan.org/Ticket/Display.html?id=44790 Thanks to Gerda
Shank for that.
0.21_01 2009-02-18
- Have explain() depend on Test::More::note() (patch from Schwern)
- Depend on Test::More directly (patch from Scwhern)
Upstream changes:
0.36 - or the "Adrian should have released this earlier" release [2010-08-19]
(Thanks to Mark Morgan for doing all the useful work on this one!)
- New add_filter() method allows global filtering of test methods
- Apply t/todo.t patch to fix RT#55324 (test bug, not Test::Class bug).
This makes the test suite pass with Test::Simple 0.95_01 and greater.
pkgsrc changes:
- switch to Module::Install::Bundled
Upstream changes:
1.01 Wed 16 Jun 2010
- Upgraded to Module::Install::DSL 0.99
- warn rather than die for objects that don't conform to our assumptions
- list tracked source line only once
- list the next caller in the stack if bless is called by the
class's new()
- add a checkpoint() status which lists new classes created (and
not destroyed) since the last call to checkpoint()
the linker flag should be filtered out by a rule in builtin.mk, but
apparently this doesn't always work. If in builtin.mk, it doesn't get
defined unnecessarily.
* More string format fixes in silcd and client libary
* configure: changed AC_PROG_LIBTOOL order to fix disabling shared libs
* configure: check threads support in OpenBSD
* Fixed string format vulnerability in client entry handling
* Reported and patch provided by William Cummings
* silcd: Fixed IDENTIFY command reply handling for channels
Changes 1.1.18 (server):
* silcd: Added heartbeat support
* Added support for sending SILC_PACKET_HEARTBEAT packets to connection,
to make sure they keep alive and to detect if they have died
* Set SO_KEEPALIVE for all accept()ed sockets
* silcd: Fixed SIGUSR1 signal handling
* Fixed the SIGUSR1 signal handling which can be used to dump the server
internals to /tmp.
* Changed also End of Stream handling to handle NULL idata pointer instead
of ignoring the EOS in case it is NULL.
* Changed also the DETACH timeout handling to use the packet stream
directly instead of looking up client in the callback
* More string format fixes in silcd and client libary
Version 3.3
-----------------------------
08/25/09: beazley
Fixed issue 15 related to the set_lineno() method in yacc. Reported by
mdsherry.
08/25/09: beazley
Fixed a bug related to regular expression compilation flags not being
properly stored in lextab.py files created by the lexer when running
in optimize mode. Reported by Bruce Frederiksen.
Version 3.2
-----------------------------
03/24/09: beazley
Added an extra check to not print duplicated warning messages
about reduce/reduce conflicts.
03/24/09: beazley
Switched PLY over to a BSD-license.
03/23/09: beazley
Performance optimization. Discovered a few places to make
speedups in LR table generation.
03/23/09: beazley
New warning message. PLY now warns about rules never
reduced due to reduce/reduce conflicts. Suggested by
Bruce Frederiksen.
03/23/09: beazley
Some clean-up of warning messages related to reduce/reduce errors.
03/23/09: beazley
Added a new picklefile option to yacc() to write the parsing
tables to a filename using the pickle module. Here is how
it works:
yacc(picklefile="parsetab.p")
This option can be used if the normal parsetab.py file is
extremely large. For example, on jython, it is impossible
to read parsing tables if the parsetab.py exceeds a certain
threshold.
The filename supplied to the picklefile option is opened
relative to the current working directory of the Python
interpreter. If you need to refer to the file elsewhere,
you will need to supply an absolute or relative path.
For maximum portability, the pickle file is written
using protocol 0.
03/13/09: beazley
Fixed a bug in parser.out generation where the rule numbers
where off by one.
03/13/09: beazley
Fixed a string formatting bug with one of the error messages.
Reported by Richard Reitmeyer
Version 3.1
-----------------------------
02/28/09: beazley
Fixed broken start argument to yacc(). PLY-3.0 broke this
feature by accident.
02/28/09: beazley
Fixed debugging output. yacc() no longer reports shift/reduce
or reduce/reduce conflicts if debugging is turned off. This
restores similar behavior in PLY-2.5. Reported by Andrew Waters.
Version 3.0
-----------------------------
02/03/09: beazley
Fixed missing lexer attribute on certain tokens when
invoking the parser p_error() function. Reported by
Bart Whiteley.
02/02/09: beazley
The lex() command now does all error-reporting and diagonistics
using the logging module interface. Pass in a Logger object
using the errorlog parameter to specify a different logger.
02/02/09: beazley
Refactored ply.lex to use a more object-oriented and organized
approach to collecting lexer information.
02/01/09: beazley
Removed the nowarn option from lex(). All output is controlled
by passing in a logger object. Just pass in a logger with a high
level setting to suppress output. This argument was never
documented to begin with so hopefully no one was relying upon it.
02/01/09: beazley
Discovered and removed a dead if-statement in the lexer. This
resulted in a 6-7% speedup in lexing when I tested it.
01/13/09: beazley
Minor change to the procedure for signalling a syntax error in a
production rule. A normal SyntaxError exception should be raised
instead of yacc.SyntaxError.
01/13/09: beazley
Added a new method p.set_lineno(n,lineno) that can be used to set the
line number of symbol n in grammar rules. This simplifies manual
tracking of line numbers.
01/11/09: beazley
Vastly improved debugging support for yacc.parse(). Instead of passing
debug as an integer, you can supply a Logging object (see the logging
module). Messages will be generated at the ERROR, INFO, and DEBUG
logging levels, each level providing progressively more information.
The debugging trace also shows states, grammar rule, values passed
into grammar rules, and the result of each reduction.
01/09/09: beazley
The yacc() command now does all error-reporting and diagnostics using
the interface of the logging module. Use the errorlog parameter to
specify a logging object for error messages. Use the debuglog parameter
to specify a logging object for the 'parser.out' output.
01/09/09: beazley
*HUGE* refactoring of the the ply.yacc() implementation. The high-level
user interface is backwards compatible, but the internals are completely
reorganized into classes. No more global variables. The internals
are also more extensible. For example, you can use the classes to
construct a LALR(1) parser in an entirely different manner than
what is currently the case. Documentation is forthcoming.
01/07/09: beazley
Various cleanup and refactoring of yacc internals.
01/06/09: beazley
Fixed a bug with precedence assignment. yacc was assigning the precedence
each rule based on the left-most token, when in fact, it should have been
using the right-most token. Reported by Bruce Frederiksen.
11/27/08: beazley
Numerous changes to support Python 3.0 including removal of deprecated
statements (e.g., has_key) and the additional of compatibility code
to emulate features from Python 2 that have been removed, but which
are needed. Fixed the unit testing suite to work with Python 3.0.
The code should be backwards compatible with Python 2.
11/26/08: beazley
Loosened the rules on what kind of objects can be passed in as the
"module" parameter to lex() and yacc(). Previously, you could only use
a module or an instance. Now, PLY just uses dir() to get a list of
symbols on whatever the object is without regard for its type.
11/26/08: beazley
Changed all except: statements to be compatible with Python2.x/3.x syntax.
11/26/08: beazley
Changed all raise Exception, value statements to raise Exception(value) for
forward compatibility.
11/26/08: beazley
Removed all print statements from lex and yacc, using sys.stdout and sys.stderr
directly. Preparation for Python 3.0 support.
11/04/08: beazley
Fixed a bug with referring to symbols on the the parsing stack using negative
indices.
05/29/08: beazley
Completely revamped the testing system to use the unittest module for everything.
Added additional tests to cover new errors/warnings.
Version 2.5
-----------------------------
05/28/08: beazley
Fixed a bug with writing lex-tables in optimized mode and start states.
Reported by Kevin Henry.
Version 2.4
-----------------------------
05/04/08: beazley
A version number is now embedded in the table file signature so that
yacc can more gracefully accomodate changes to the output format
in the future.
05/04/08: beazley
Removed undocumented .pushback() method on grammar productions. I'm
not sure this ever worked and can't recall ever using it. Might have
been an abandoned idea that never really got fleshed out. This
feature was never described or tested so removing it is hopefully
harmless.
05/04/08: beazley
Added extra error checking to yacc() to detect precedence rules defined
for undefined terminal symbols. This allows yacc() to detect a potential
problem that can be really tricky to debug if no warning message or error
message is generated about it.
05/04/08: beazley
lex() now has an outputdir that can specify the output directory for
tables when running in optimize mode. For example:
lexer = lex.lex(optimize=True, lextab="ltab", outputdir="foo/bar")
The behavior of specifying a table module and output directory are
more aligned with the behavior of yacc().
05/04/08: beazley
[Issue 9]
Fixed filename bug in when specifying the modulename in lex() and yacc().
If you specified options such as the following:
parser = yacc.yacc(tabmodule="foo.bar.parsetab",outputdir="foo/bar")
yacc would create a file "foo.bar.parsetab.py" in the given directory.
Now, it simply generates a file "parsetab.py" in that directory.
Bug reported by cptbinho.
05/04/08: beazley
Slight modification to lex() and yacc() to allow their table files
to be loaded from a previously loaded module. This might make
it easier to load the parsing tables from a complicated package
structure. For example:
import foo.bar.spam.parsetab as parsetab
parser = yacc.yacc(tabmodule=parsetab)
Note: lex and yacc will never regenerate the table file if used
in the form---you will get a warning message instead.
This idea suggested by Brian Clapper.
04/28/08: beazley
Fixed a big with p_error() functions being picked up correctly
when running in yacc(optimize=1) mode. Patch contributed by
Bart Whiteley.
02/28/08: beazley
Fixed a bug with 'nonassoc' precedence rules. Basically the
non-precedence was being ignored and not producing the correct
run-time behavior in the parser.
02/16/08: beazley
Slight relaxation of what the input() method to a lexer will
accept as a string. Instead of testing the input to see
if the input is a string or unicode string, it checks to see
if the input object looks like it contains string data.
This change makes it possible to pass string-like objects
in as input. For example, the object returned by mmap.
import mmap, os
data = mmap.mmap(os.open(filename,os.O_RDONLY),
os.path.getsize(filename),
access=mmap.ACCESS_READ)
lexer.input(data)
11/29/07: beazley
Modification of ply.lex to allow token functions to aliased.
This is subtle, but it makes it easier to create libraries and
to reuse token specifications. For example, suppose you defined
a function like this:
def number(t):
r'\d+'
t.value = int(t.value)
return t
This change would allow you to define a token rule as follows:
t_NUMBER = number
In this case, the token type will be set to 'NUMBER' and use
the associated number() function to process tokens.
11/28/07: beazley
Slight modification to lex and yacc to grab symbols from both
the local and global dictionaries of the caller. This
modification allows lexers and parsers to be defined using
inner functions and closures.
11/28/07: beazley
Performance optimization: The lexer.lexmatch and t.lexer
attributes are no longer set for lexer tokens that are not
defined by functions. The only normal use of these attributes
would be in lexer rules that need to perform some kind of
special processing. Thus, it doesn't make any sense to set
them on every token.
*** POTENTIAL INCOMPATIBILITY *** This might break code
that is mucking around with internal lexer state in some
sort of magical way.
11/27/07: beazley
Added the ability to put the parser into error-handling mode
from within a normal production. To do this, simply raise
a yacc.SyntaxError exception like this:
def p_some_production(p):
'some_production : prod1 prod2'
...
raise yacc.SyntaxError # Signal an error
A number of things happen after this occurs:
- The last symbol shifted onto the symbol stack is discarded
and parser state backed up to what it was before the
the rule reduction.
- The current lookahead symbol is saved and replaced by
the 'error' symbol.
- The parser enters error recovery mode where it tries
to either reduce the 'error' rule or it starts
discarding items off of the stack until the parser
resets.
When an error is manually set, the parser does *not* call
the p_error() function (if any is defined).
*** NEW FEATURE *** Suggested on the mailing list
11/27/07: beazley
Fixed structure bug in examples/ansic. Reported by Dion Blazakis.
11/27/07: beazley
Fixed a bug in the lexer related to start conditions and ignored
token rules. If a rule was defined that changed state, but
returned no token, the lexer could be left in an inconsistent
state. Reported by
11/27/07: beazley
Modified setup.py to support Python Eggs. Patch contributed by
Simon Cross.
11/09/07: beazely
Fixed a bug in error handling in yacc. If a syntax error occurred and the
parser rolled the entire parse stack back, the parser would be left in in
inconsistent state that would cause it to trigger incorrect actions on
subsequent input. Reported by Ton Biegstraaten, Justin King, and others.
11/09/07: beazley
Fixed a bug when passing empty input strings to yacc.parse(). This
would result in an error message about "No input given". Reported
by Andrew Dalke.
Version 2.3
-----------------------------
02/20/07: beazley
Fixed a bug with character literals if the literal '.' appeared as the
last symbol of a grammar rule. Reported by Ales Smrcka.
02/19/07: beazley
Warning messages are now redirected to stderr instead of being printed
to standard output.
02/19/07: beazley
Added a warning message to lex.py if it detects a literal backslash
character inside the t_ignore declaration. This is to help
problems that might occur if someone accidentally defines t_ignore
as a Python raw string. For example:
t_ignore = r' \t'
The idea for this is from an email I received from David Cimimi who
reported bizarre behavior in lexing as a result of defining t_ignore
as a raw string by accident.
02/18/07: beazley
Performance improvements. Made some changes to the internal
table organization and LR parser to improve parsing performance.
02/18/07: beazley
Automatic tracking of line number and position information must now be
enabled by a special flag to parse(). For example:
yacc.parse(data,tracking=True)
In many applications, it's just not that important to have the
parser automatically track all line numbers. By making this an
optional feature, it allows the parser to run significantly faster
(more than a 20% speed increase in many cases). Note: positional
information is always available for raw tokens---this change only
applies to positional information associated with nonterminal
grammar symbols.
*** POTENTIAL INCOMPATIBILITY ***
02/18/07: beazley
Yacc no longer supports extended slices of grammar productions.
However, it does support regular slices. For example:
def p_foo(p):
'''foo: a b c d e'''
p[0] = p[1:3]
This change is a performance improvement to the parser--it streamlines
normal access to the grammar values since slices are now handled in
a __getslice__() method as opposed to __getitem__().
02/12/07: beazley
Fixed a bug in the handling of token names when combined with
start conditions. Bug reported by Todd O'Bryan.
Version 2.2
------------------------------
11/01/06: beazley
Added lexpos() and lexspan() methods to grammar symbols. These
mirror the same functionality of lineno() and linespan(). For
example:
def p_expr(p):
'expr : expr PLUS expr'
p.lexpos(1) # Lexing position of left-hand-expression
p.lexpos(1) # Lexing position of PLUS
start,end = p.lexspan(3) # Lexing range of right hand expression
11/01/06: beazley
Minor change to error handling. The recommended way to skip characters
in the input is to use t.lexer.skip() as shown here:
def t_error(t):
print "Illegal character '%s'" % t.value[0]
t.lexer.skip(1)
The old approach of just using t.skip(1) will still work, but won't
be documented.
10/31/06: beazley
Discarded tokens can now be specified as simple strings instead of
functions. To do this, simply include the text "ignore_" in the
token declaration. For example:
t_ignore_cppcomment = r'//.*'
Previously, this had to be done with a function. For example:
def t_ignore_cppcomment(t):
r'//.*'
pass
If start conditions/states are being used, state names should appear
before the "ignore_" text.
10/19/06: beazley
The Lex module now provides support for flex-style start conditions
as described at http://www.gnu.org/software/flex/manual/html_chapter/flex_11.html.
Please refer to this document to understand this change note. Refer to
the PLY documentation for PLY-specific explanation of how this works.
To use start conditions, you first need to declare a set of states in
your lexer file:
states = (
('foo','exclusive'),
('bar','inclusive')
)
This serves the same role as the %s and %x specifiers in flex.
One a state has been declared, tokens for that state can be
declared by defining rules of the form t_state_TOK. For example:
t_PLUS = '\+' # Rule defined in INITIAL state
t_foo_NUM = '\d+' # Rule defined in foo state
t_bar_NUM = '\d+' # Rule defined in bar state
t_foo_bar_NUM = '\d+' # Rule defined in both foo and bar
t_ANY_NUM = '\d+' # Rule defined in all states
In addition to defining tokens for each state, the t_ignore and t_error
specifications can be customized for specific states. For example:
t_foo_ignore = " " # Ignored characters for foo state
def t_bar_error(t):
# Handle errors in bar state
With token rules, the following methods can be used to change states
def t_TOKNAME(t):
t.lexer.begin('foo') # Begin state 'foo'
t.lexer.push_state('foo') # Begin state 'foo', push old state
# onto a stack
t.lexer.pop_state() # Restore previous state
t.lexer.current_state() # Returns name of current state
These methods mirror the BEGIN(), yy_push_state(), yy_pop_state(), and
yy_top_state() functions in flex.
The use of start states can be used as one way to write sub-lexers.
For example, the lexer or parser might instruct the lexer to start
generating a different set of tokens depending on the context.
example/yply/ylex.py shows the use of start states to grab C/C++
code fragments out of traditional yacc specification files.
*** NEW FEATURE *** Suggested by Daniel Larraz with whom I also
discussed various aspects of the design.
10/19/06: beazley
Minor change to the way in which yacc.py was reporting shift/reduce
conflicts. Although the underlying LALR(1) algorithm was correct,
PLY was under-reporting the number of conflicts compared to yacc/bison
when precedence rules were in effect. This change should make PLY
report the same number of conflicts as yacc.
10/19/06: beazley
Modified yacc so that grammar rules could also include the '-'
character. For example:
def p_expr_list(p):
'expression-list : expression-list expression'
Suggested by Oldrich Jedlicka.
10/18/06: beazley
Attribute lexer.lexmatch added so that token rules can access the re
match object that was generated. For example:
def t_FOO(t):
r'some regex'
m = t.lexer.lexmatch
# Do something with m
This may be useful if you want to access named groups specified within
the regex for a specific token. Suggested by Oldrich Jedlicka.
10/16/06: beazley
Changed the error message that results if an illegal character
is encountered and no default error function is defined in lex.
The exception is now more informative about the actual cause of
the error.
Version 2.1
------------------------------
10/02/06: beazley
The last Lexer object built by lex() can be found in lex.lexer.
The last Parser object built by yacc() can be found in yacc.parser.
10/02/06: beazley
New example added: examples/yply
This example uses PLY to convert Unix-yacc specification files to
PLY programs with the same grammar. This may be useful if you
want to convert a grammar from bison/yacc to use with PLY.
10/02/06: beazley
Added support for a start symbol to be specified in the yacc
input file itself. Just do this:
start = 'name'
where 'name' matches some grammar rule. For example:
def p_name(p):
'name : A B C'
...
This mirrors the functionality of the yacc %start specifier.
09/30/06: beazley
Some new examples added.:
examples/GardenSnake : A simple indentation based language similar
to Python. Shows how you might handle
whitespace. Contributed by Andrew Dalke.
examples/BASIC : An implementation of 1964 Dartmouth BASIC.
Contributed by Dave against his better
judgement.
09/28/06: beazley
Minor patch to allow named groups to be used in lex regular
expression rules. For example:
t_QSTRING = r'''(?P<quote>['"]).*?(?P=quote)'''
Patch submitted by Adam Ring.
09/28/06: beazley
LALR(1) is now the default parsing method. To use SLR, use
yacc.yacc(method="SLR"). Note: there is no performance impact
on parsing when using LALR(1) instead of SLR. However, constructing
the parsing tables will take a little longer.
09/26/06: beazley
Change to line number tracking. To modify line numbers, modify
the line number of the lexer itself. For example:
def t_NEWLINE(t):
r'\n'
t.lexer.lineno += 1
This modification is both cleanup and a performance optimization.
In past versions, lex was monitoring every token for changes in
the line number. This extra processing is unnecessary for a vast
majority of tokens. Thus, this new approach cleans it up a bit.
*** POTENTIAL INCOMPATIBILITY ***
You will need to change code in your lexer that updates the line
number. For example, "t.lineno += 1" becomes "t.lexer.lineno += 1"
09/26/06: beazley
Added the lexing position to tokens as an attribute lexpos. This
is the raw index into the input text at which a token appears.
This information can be used to compute column numbers and other
details (e.g., scan backwards from lexpos to the first newline
to get a column position).
09/25/06: beazley
Changed the name of the __copy__() method on the Lexer class
to clone(). This is used to clone a Lexer object (e.g., if
you're running different lexers at the same time).
09/21/06: beazley
Limitations related to the use of the re module have been eliminated.
Several users reported problems with regular expressions exceeding
more than 100 named groups. To solve this, lex.py is now capable
of automatically splitting its master regular regular expression into
smaller expressions as needed. This should, in theory, make it
possible to specify an arbitrarily large number of tokens.
09/21/06: beazley
Improved error checking in lex.py. Rules that match the empty string
are now rejected (otherwise they cause the lexer to enter an infinite
loop). An extra check for rules containing '#' has also been added.
Since lex compiles regular expressions in verbose mode, '#' is interpreted
as a regex comment, it is critical to use '\#' instead.
09/18/06: beazley
Added a @TOKEN decorator function to lex.py that can be used to
define token rules where the documentation string might be computed
in some way.
digit = r'([0-9])'
nondigit = r'([_A-Za-z])'
identifier = r'(' + nondigit + r'(' + digit + r'|' + nondigit + r')*)'
from ply.lex import TOKEN
@TOKEN(identifier)
def t_ID(t):
# Do whatever
The @TOKEN decorator merely sets the documentation string of the
associated token function as needed for lex to work.
Note: An alternative solution is the following:
def t_ID(t):
# Do whatever
t_ID.__doc__ = identifier
Note: Decorators require the use of Python 2.4 or later. If compatibility
with old versions is needed, use the latter solution.
The need for this feature was suggested by Cem Karan.
09/14/06: beazley
Support for single-character literal tokens has been added to yacc.
These literals must be enclosed in quotes. For example:
def p_expr(p):
"expr : expr '+' expr"
...
def p_expr(p):
'expr : expr "-" expr'
...
In addition to this, it is necessary to tell the lexer module about
literal characters. This is done by defining the variable 'literals'
as a list of characters. This should be defined in the module that
invokes the lex.lex() function. For example:
literals = ['+','-','*','/','(',')','=']
or simply
literals = '+=*/()='
It is important to note that literals can only be a single character.
When the lexer fails to match a token using its normal regular expression
rules, it will check the current character against the literal list.
If found, it will be returned with a token type set to match the literal
character. Otherwise, an illegal character will be signalled.
09/14/06: beazley
Modified PLY to install itself as a proper Python package called 'ply'.
This will make it a little more friendly to other modules. This
changes the usage of PLY only slightly. Just do this to import the
modules
import ply.lex as lex
import ply.yacc as yacc
Alternatively, you can do this:
from ply import *
Which imports both the lex and yacc modules.
Change suggested by Lee June.
09/13/06: beazley
Changed the handling of negative indices when used in production rules.
A negative production index now accesses already parsed symbols on the
parsing stack. For example,
def p_foo(p):
"foo: A B C D"
print p[1] # Value of 'A' symbol
print p[2] # Value of 'B' symbol
print p[-1] # Value of whatever symbol appears before A
# on the parsing stack.
p[0] = some_val # Sets the value of the 'foo' grammer symbol
This behavior makes it easier to work with embedded actions within the
parsing rules. For example, in C-yacc, it is possible to write code like
this:
bar: A { printf("seen an A = %d\n", $1); } B { do_stuff; }
In this example, the printf() code executes immediately after A has been
parsed. Within the embedded action code, $1 refers to the A symbol on
the stack.
To perform this equivalent action in PLY, you need to write a pair
of rules like this:
def p_bar(p):
"bar : A seen_A B"
do_stuff
def p_seen_A(p):
"seen_A :"
print "seen an A =", p[-1]
The second rule "seen_A" is merely a empty production which should be
reduced as soon as A is parsed in the "bar" rule above. The use
of the negative index p[-1] is used to access whatever symbol appeared
before the seen_A symbol.
This feature also makes it possible to support inherited attributes.
For example:
def p_decl(p):
"decl : scope name"
def p_scope(p):
"""scope : GLOBAL
| LOCAL"""
p[0] = p[1]
def p_name(p):
"name : ID"
if p[-1] == "GLOBAL":
# ...
else if p[-1] == "LOCAL":
#...
In this case, the name rule is inheriting an attribute from the
scope declaration that precedes it.
*** POTENTIAL INCOMPATIBILITY ***
If you are currently using negative indices within existing grammar rules,
your code will break. This should be extremely rare if non-existent in
most cases. The argument to various grammar rules is not usually not
processed in the same way as a list of items.
Version 2.0
------------------------------
09/07/06: beazley
Major cleanup and refactoring of the LR table generation code. Both SLR
and LALR(1) table generation is now performed by the same code base with
only minor extensions for extra LALR(1) processing.
09/07/06: beazley
Completely reimplemented the entire LALR(1) parsing engine to use the
DeRemer and Pennello algorithm for calculating lookahead sets. This
significantly improves the performance of generating LALR(1) tables
and has the added feature of actually working correctly! If you
experienced weird behavior with LALR(1) in prior releases, this should
hopefully resolve all of those problems. Many thanks to
Andrew Waters and Markus Schoepflin for submitting bug reports
and helping me test out the revised LALR(1) support.
Version 1.8
------------------------------
08/02/06: beazley
Fixed a problem related to the handling of default actions in LALR(1)
parsing. If you experienced subtle and/or bizarre behavior when trying
to use the LALR(1) engine, this may correct those problems. Patch
contributed by Russ Cox. Note: This patch has been superceded by
revisions for LALR(1) parsing in Ply-2.0.
08/02/06: beazley
Added support for slicing of productions in yacc.
Patch contributed by Patrick Mezard.
Version 1.7
------------------------------
03/02/06: beazley
Fixed infinite recursion problem ReduceToTerminals() function that
would sometimes come up in LALR(1) table generation. Reported by
Markus Schoepflin.
03/01/06: beazley
Added "reflags" argument to lex(). For example:
lex.lex(reflags=re.UNICODE)
This can be used to specify optional flags to the re.compile() function
used inside the lexer. This may be necessary for special situations such
as processing Unicode (e.g., if you want escapes like \w and \b to consult
the Unicode character property database). The need for this suggested by
Andreas Jung.
03/01/06: beazley
Fixed a bug with an uninitialized variable on repeated instantiations of parser
objects when the write_tables=0 argument was used. Reported by Michael Brown.
03/01/06: beazley
Modified lex.py to accept Unicode strings both as the regular expressions for
tokens and as input. Hopefully this is the only change needed for Unicode support.
Patch contributed by Johan Dahl.
03/01/06: beazley
Modified the class-based interface to work with new-style or old-style classes.
Patch contributed by Michael Brown (although I tweaked it slightly so it would work
with older versions of Python).
Version 1.6
------------------------------
05/27/05: beazley
Incorporated patch contributed by Christopher Stawarz to fix an extremely
devious bug in LALR(1) parser generation. This patch should fix problems
numerous people reported with LALR parsing.
05/27/05: beazley
Fixed problem with lex.py copy constructor. Reported by Dave Aitel, Aaron Lav,
and Thad Austin.
05/27/05: beazley
Added outputdir option to yacc() to control output directory. Contributed
by Christopher Stawarz.
05/27/05: beazley
Added rununit.py test script to run tests using the Python unittest module.
Contributed by Miki Tebeka.
Version 1.5
------------------------------
05/26/04: beazley
Major enhancement. LALR(1) parsing support is now working.
This feature was implemented by Elias Ioup (ezioup@alumni.uchicago.edu)
and optimized by David Beazley. To use LALR(1) parsing do
the following:
yacc.yacc(method="LALR")
Computing LALR(1) parsing tables takes about twice as long as
the default SLR method. However, LALR(1) allows you to handle
more complex grammars. For example, the ANSI C grammar
(in example/ansic) has 13 shift-reduce conflicts with SLR, but
only has 1 shift-reduce conflict with LALR(1).
05/20/04: beazley
Added a __len__ method to parser production lists. Can
be used in parser rules like this:
def p_somerule(p):
"""a : B C D
| E F"
if (len(p) == 3):
# Must have been first rule
elif (len(p) == 2):
# Must be second rule
Suggested by Joshua Gerth and others.
Pkgsrc changes:
- adjust dependencies
Upstream changes:
1.12 Sat, Aug 28, 2010
[BUG FIXES]
* Fix the MANIFEST. Fixes RT #60831, reported by Alberto Simões.
1.11 Fri, Aug 27, 2010
[API CHANGES]
* An attribute in a subclass can now override the value of "is". (doy)
* The deprecation warnings for alias and excludes have been turned back off
for this release, to give other module authors a chance to tweak their
code. (Dave Rolsky)
[BUG FIXES]
* mro::get_linear_isa was being called as a function rather than a method,
which caused problems with Perl 5.8.x. (t0m)
* Union types always created a type constraint, even if their constituent
constraints did not have any coercions. This bogus coercion always
returned undef, which meant that a union which included Undef as a member
always coerced bad values to undef. Reported by Eric Brine. RT
#58411. (Dave Rolsky)
* Union types with coercions would always fall back to coercing the value to
undef (unintentionally). Now if all the coercions for a union type fail,
the value returned by the coercion is the original value that we attempted
to coerce. (Dave Rolsky).
1.6.3 (2010-08-26)
This is a monthly bugfix release. It includes several significant
fixes, including a fix for a long-standing hardlink corruption
issue on Windows.
alias: make shadowing behavior more consistent (issue2054)
bisect: better message for unrelated starting revisions
bookmarks: Check if the bookmark to delete exists on the remote
bookmarks: guard against listing bookmarks on unsupported repos
chunkbuffer: use += rather than cStringIO to reduce memory footprint
convert: Using --dest-type svn crashed, if the source repo used tags.
convert: properly set encoding for gnuarch converter
convert: use encoding.encoding instead of locale.getpreferredencoding()
encoding: improve handling of buggy getpreferredencoding() on Mac OS X
graphlog: mark --branch as incompatible with --graph
http basic auth: reset redirect counter on new requests (issue2255)
httprepo: decompress stream incrementally to reduce memory usage
log: fix the bug 'hg log --stat -p == hg log --stat'
mercurial.spec: gettext is a build requirement for getting
proper localization
merge: drop reference to file contents after write
merge: move reverse-merge logic out of filemerge (issue2342)
merge: fix detection of conflict markers with checkconflicts enabled
mq: don't inherit default and default-push paths with --mq (issue2333)
resolve: updated help documentation for improved clarity
revlog: drop cache after use to save memory footprint
templatefilters: unnest uescape()
templates: add filenolink to raw style (issue2332)
url: expand vars in all [auth] settings (issue2328)
url: limit expansion to safe auth keys (Issue2328)
util: avoid using hashlib on Python < 2.5 (issue2278)
verify: initialize rp variable in case we hit out of memory
verify: reduce memory footprint when unpacking files
verify: report exceptions that don't have a str() method
win32: correctly break hardlinks on network drives (issue761)
Upstream changes:
0.12 2010-05-19 00:45 UTC
+ Fix : Compatibility with perl 5.13.
+ Fix : Test failures with perl 5.8.0.
+ Fix : A minor leak of SVs when a non array/hash was passed to
localize_elem().
0.11 2010-04-16 23:20 UTC
+ Chg : It's now forbiddent to pass a reference to a non-glob variable
as the localization target of localize(), localize_elem() and
localize_delete().
+ Chg : localize_elem() now only accepts localization of arrays or hashs
elements. For other types, it used to be a synonym of localize.
+ Chg : localize_elem() no longer accepts a glob as the target. You now
have to specify the variable as a string. This is because it was
impossible in this case to handle meaningfully the array or the
hash reference passed as the assigned value.
+ Doc : The synopsys was revamped, and the rest of the documentation was
reviewed.
+ Fix : [RT #55593] : Segfault when localizing hash or array element to
different package in different file.
Thanks Dagfinn Ilmari Manns??ker for reporting.
+ Fix : [RT #56301] : reap loses eval context when dying naturally.
Thanks Andrew Main for reporting.
+ Fix : Scope inconsistencies and segfaults when saving several
localizations into the same target scope.
+ Fix : Stop skipping frames as a pop optimization. This caused breakage
under the debugger (and most likely outside as well).
Upstream changes:
0.21 - Tue Aug 17 19:13:13 CDT 2010
- Don't test the 'iomode' option under 5.6, because layers aren't
supported yet.
- Fixes to spelling errors in the docmuentatino. [Ansgar Burchardt
and Debian patchers]
pkgsrc changes:
- add license definition
- switch module type to Module::Build
Upstream changes:
- Todd Rinaldo takes maintainership
changes in 0.11:
0.11 Tue Mar 16 2010
- re-structure module to more modern layout. Convert to M::B
- re-factor tests to test::more
- pod fixes now we're testing them
- clean up authors and generate proper META.yml
- Fix 5.10 deprecation of defined %hash. Just use %hash to the same
effect.
New Libraries
* Meta State Machine: High-performance expressive UML2 finite state machines,
from Christophe Henry
* Polygon: Booleans/clipping, resizing/offsetting and more for planar polygons
with integral coordinates, from Lucanus Simonson.
Updated Libraries
* Accumulators
* Asio
* Config
* Filesystem
* Foreach
* Hash
* Iostreams
* Math
* MPL
* Multi-index Containers
* Proto
* Regex
* Thread
* TR1
* Type Traits
* uBLAS
* Utility
* Uuid
* Xpressive
Upstream changes:
0.09004 Wed Aug 11 04:23:15 2010
- Changed the way Class::XSAccessor is invoked if available
(recommended by C::XSA author)
- Modified internal cache names to avoid real accessor clashes
- Some micro-optimizations for get_inherited
- Fixed field names with a single quote in them (patch from Jason Plum)
Upstream changes:
1.07 Sun Aug 15 14:41 2010
- Include two new test files for the fix in 1.06.
- Define PERL_CORE, but *only* while including XSUB.h to get
a significant speed-up (see XSAccessor.xs for an explanation).
Idea from Chocolateboy. Complaints from rightfully annoyed
perl5-porters (in particular but not limited to Nicholas)
go to Steffen.
1.06 Sat Aug 14 20:21 2010
- Add sanity checks to make sure we don't segfault on
invalid invocants (chocolateboy)
Packages Collection.
The Perl 5 module File::Path::Tiny provides recursive versions of
mkdir() and rmdir() with as little code and overhead as possible.
Pkgsrc changes:
- adjust dependencies
Upstream changes:
1.10 Sun, Aug 22, 2010
[API CHANGES]
* The long-deprecated alias and excludes options for role applications now
issue a deprecation warning. Use -alias and -excludes instead. (Dave
Rolsky)
[BUG FIXES]
* Inlined code no longer stringifies numeric attribute defaults. (vg, doy)
* default => undef now works properly. (doy)
* Enum type constraints now throw errors if their values are nonsensical.
(Sartak)
[ENHANCEMENTS]
* Optimizations that should help speed up compilation time (Dave Rolsky).
Upstream changes:
1.07 Tue, Aug 25, 2010
[BUG FIXES]
* Fix a mysterious error reported by Piers Cawley. The error showed up as
"Can't use an undefined value as a symbol reference at
/usr/local/lib/perl/5.10.1/Class/MOP/Mixin/HasMethods.pm line 167." (Dave
Rolsky)
1.06 Sun, Aug 23, 2010
[BUG FIXES]
* Version 1.05 no longer reported constants as methods, except with Perl
5.8.x, and doing so in 5.8.x caused test failures. Constants are now
_expected_ to be reported as methods, and we explicitly test this. (Dave
Rolsky)
1.05 Sun, Aug 22, 2010
[ENHANCEMENTS]
* Refactorings and improvements to how defaults are handled, particularly
for inlined code (doy).
* Optimizations that should help speed up compilation time (Dave Rolsky).
Upstream changes:
2.37 Tue Jul 20 2010
- Updated for 5.13.4
- Remove 'Filespec' module. It never existed in the core and is supposed to be
'VMS::Filespec' instead.
pkgsrc changes:
- adjusting module type
- adjusting depends to catch core module AutoLoader right
Upstream changes:
[Changes for 1.002 - Jul 25, 2010]
- Fixes to VERSIONs of PAR::Setup*.
- No change in behaviour since 1.001
[Changes for 1.001 - Jul 25, 2010]
- RT #57399: extract everything (including DLLs) in File::ShareDir
directories. Module::ScanDeps classifies everything in
File::ShareDir directories as "data", but PAR uses it's own
heuristics what to extract from a .par.
- Previous release was missing META.yml.
- Upgrade Module::Install to 1.00
[Changes for 1.000 - Apr 10, 2010]
- Fix defined(%hash) deprecation warning in PAR::Heavy
Upstream changes:
5.271 Tue Jun 8 12:05:46 CEST 2010
- backport to perl 5.8.x.
5.27 Sun Jun 6 12:12:05 CEST 2010
- postpone differently in AnyEvent::Socket now, as
when not, canceling the connection attempt might fail
(found by Felix Antonius Wilhelm Ostmann).
- explicitly check for non-stream sockets in AE::Handle, too many
clueless people fell into the trap of this somehow working.
- simplified and reworked the "OTHER MODULES" section.
- better/more condvar examples.
5.261 Wed Apr 28 16:13:36 CEST 2010
- AF_INET6 was not properly used from Socket6 during configuration
time (found by Andy Grundman).
5.26 Mon Apr 12 04:49:35 CEST 2010
- don't generate spurious readyness notifications when select
returns EINTR in the pure perl backend (analysed and testcase
by Bas Denissen).
- give same examples in SYNOPSIS sections of AnyEvent and AE.
- provider faster implementations for AE::time/now/now_update for
EV and Perl backends.
- provide faster AE::cv and AE::time implementations for all
backends.
- no longer support lower/mixed-case signal names (this was
never documented nor universally supported).
- some more memory ??-optimisations, and somewhat less messy
code to cope with both AnyEvent and AE APIs.
shared library version changed from 6.2.2 to 6.2.3 - I assume no revbump
needed
Upstream changes:
libstatgrab 0.17 (21 February 2010)
* Provide iowait cpu information on Linux version 2.5.41 or later.
* Display data for ZFS on Solaris.
* Dynamically get list of valid filesystems on FreeBSD.
(Thanks to Baptiste Daroussin)
* Support FreeBSD 9.
* Use utmpx when available (required for FreeBSD 9).
(Thanks to Ed Schouten)
* Support larger amounts of memory on FreeBSD.
(Thanks to Tom Bird)
Pkgsrc changes:
- adjust dependencies with respect to the minimum version required
of the perl package
Upstream changes:
0.4.5 2010-08-16 19:30:23 America/Montreal
* fix --force documentation/error message/support for git-cpan-import.
Thanks to chocolateboy.
Pkgsrc changes:
- adjust dependencies
Upstream changes:
1.0012 Fri Aug 20 12:46:34 PDT 2010
- version check with -L and -l was failing with --skip-installed default. Now fixed (reported by leedo) #55
- Fixed the code to find root of tarballs (perlpilot)
to trigger/signal a rebuild for the transition 5.10.1 -> 5.12.1.
The list of packages is computed by finding all packages which end
up having either of PERL5_USE_PACKLIST, BUILDLINK_API_DEPENDS.perl,
or PERL5_PACKLIST defined in their make setup (tested via
"make show-vars VARNAMES=..."), minus the packages updated after
the perl package update.
sno@ was right after all, obache@ kindly asked and he@ led the
way. Thanks!
Changes:
- 1.2.5: Fix: Again CR deletion... Turns out some OS do not understand '\r'
but only '\015' (thanks to Isaiah Weiner)
Support for Win64 (untested; thanks to David Allsopp)
ocamlfind no longer emits auto-generated -ccopt options. These tend to
accumulate, and it is possible that for large projects the maximum command
line length is exceeded. Current versions of the O'Caml compilers do not
need these extra -ccopt anyway, so this code is completely dropped.
- 1.2.4: Fix: Bigarray needs unix (Thanks to Markus Mottl)
Fix: In the version of camlp4 provided by O'Caml 3.11 various libraries do
not contain dynlink anymore. Because of this, dynlink becomes a
prerequisite of camlp4. (Thanks to Martin Jambon)
Attempt: Fixing the space issue for paths (Win32). It is unclear whether it
is solved. (Thanks to Christophe Troestler)
- 1.2.3: Solving the CR deletion differently, to make OS X happy.
- 1.2.2: Fix: Problem with CR character (Cygwin) (Thanks to David Allsopp)
Fix: Case-insensitive filesystems (partially solved) (Thanks to David
Allsopp)
Fix: File name with backslashes at the end (Win32; thanks to Dmitry
Grebeniuk)
- 1.2.1: Fix: Camlp4 rules now activate the stream parser extension
- 1.2: Fix in build scripts: Prepending $(prefix) when installing safe_camlp4
(thanks to Daniel Janus)
Non-existing -I directories are ignored (thanks to Nicolas Pouillard)
A script to create a MacOS X package (thanks to Pietro Abate)
Better support for Windows (with help from Robert Roessler and David
Allsopp)
Support for camlp4 on O'Caml 3.10
Fix: "ocamlfind install" with "-patch" option writes now correct META file
for the case that subpackages occur
Adding environment variable OCAMLFIND_IGNORE_DUPS_IN to reduce the number of
warnings ocamlfind emits
pkgsrc/devel/p5-Module-Manifest as dependency of scheduled update
of editors/p5-Padre to 0.69.
Module::Manifest is a simple utility module created originally for use in
Module::Inspector.
It can load a MANIFEST file that comes in a Perl distribution tarball,
examine the contents, and perform some simple tasks. It can also load the
MANIFEST.SKIP file and check that.
Granted, the functionality needed to do this is quite simple, but the Perl
distribution MANIFEST specification contains a couple of little
idiosyncracies, such as line comments and space-seperated inline comments.
The use of this module means that any little nigglies are dealt with behind
the scenes, and you can concentrate the main task at hand.
Based on PR#43757 by Kamel Derouiche.
Tue, Sep 22, 2009: Released Check 0.9.8
based on r559 (2009-09-23 21:00).
* Fix CHECK_MICRO_VERSION, left at 6 in 0.9.7 by mistake.
Tue, Sep 22, 2009: Released Check 0.9.7
based on r552 (2009-09-22 09:26).
* Added CK_SUBUNIT support for outputting test information in the subunit wire
protocol. See the check manual for more information. (Contributed by Robert
Collins).
* Added code and tests for timeout scaling via environment variable.
Feature requested in tracker item #1549835 on sourceforge.
* Added documentation for testing exit values with tcase_add_exit_test().
* Add make_macros perl script from somebody (who?)
* add type to check_type error message
* add contrib dir with xslt transform
* function exist testing support (patch #1726574).
* introduce HAVE_WORKING_SETENV to protect tc_timeout_env usage
* support running tests with multiple pthreads (Daniel Gollub, closes 1391527)
* partial MSYS/MinGW support
Mon, Dec 29, 2008: Released Check 0.9.6
based on r453 (2008-12-01 22:14:15).
* 'make distcheck' does not work out of the box. Disable the two
top lines in doc/Makefile.am and it shall pass. Will have to
be fixed later.
* add call to AC_REPLACE_FUNCS([strsignal])
* add new rpl_strsignal following rpl_(re)malloc template, body
of function due to Roland Illig
-- hopefully closes 1629755
* add missing NULL argument to fail* varargs macro calls
* define incorrect tests for __GNUC__ only
-- both per Roland Illig in bug 1677391
* define CK_ATTRIBUTE_UNUSED for GCC >= 2.95, closing:
[ 1674626 ] compile error with non defined __attribute__ compiler
* Fixed error in documentation example Makefile.am, bug #1888237
* Fixed spelling (patch #1652630)
* Handle NULL in srunner_add_suite(). Fixes#1624887
* add CK_FORK_GETENV to enum fork_status and delete CK_FORK_UNSPECIFIED
* call strdup on result from strsignal to avoid clobbering it
* add Torok Edwin to AUTHORS
* add CK_TEST_RESULT_INVALID to enum test_result
* add CK_CTX_INVALID to ck_result_ctx and don't use -1 anymore
* count checks in setup() as well; patch due to Roland Stigge
* use int __attribute__((unused)) _i instead of
int _i __attribute__((unused))
per gcc-3.3.5 request from Sebastian Trahm
* rename signal to _signal in _tcase_add_test to avoid a
symbol clash with /usr/include/sys/signal.h on OS X.
* define rpl_malloc and rpl_realloc for platforms where
!malloc(0) and !realloc(0,0), such as AIX, because configure
goes and redefines malloc/realloc in this case...
* SVNChangeLog patch from Robert Collins
* Incorporated patch from Debian for debian bug #395466. This fixes
'AM_PATH_CHECK causes "possibly undefined macro" errors'.
* Added new Check fail API. Implemented on top of fail_unless. Future
versions will reverse this so fail_unless is implemented on top of the
ck_assert API. This API is not documented yet, will probably not be fully
released until 0.9.8, when it will be possible to choose API.
Upstream changes:
0.010 T. R. Wyant 06-Aug-2010
Fix fatal error in PPIx::Regexp::Token::Code->ppi().
Move author tests from xt/ to xt/author/.
0.009 T. R. Wyant 03-Aug-2010
Recognize s/.../.../ee as being different from s/.../.../e. In
particular, the replacement portion of the former is _not_ a Perl
expression: it's an interpolatble string, which later gets
eval{}'ed.
Upstream changes:
version 0.28: Mon May 31 16:00:12 CEST 2010
Fixes:
- ::Exception::toString() should produce a string, sometimes it
was an overloaded ::Message object.
- More test fixes to repair Test::More changes.
- Avoid call to close on undef in END
rt.cpan.org#57955 [Jan Henning Thorsen]
version 0.27: Fri May 28 15:37:44 CEST 2010
Fixes:
- turn autoflush on for FILE dispatcher. Found by [Robin V.]
- Test::More 0.95_01 changes is() w.r.t. overloading... broken
tests. rt.cpan.org#57703 [Slaven Rezic]
pkgsrc changes:
- adjust build type
Upstream changes:
3.22 2010-08-14
- Allow TAP::Parser to recognize a nested BAIL_OUT directive.
- Add brief HOWTO for creating and running pgTAP tests to
TAP::Parser::SourceHandler::pgTAP.
- Fix trailing plan + embedded YAML + TAP 13 case. Thanks to
Steffen Schwigon. #54518.
- Numerous spelling fixes. Thanks to Ville Skytt??.
- Add new option --tapversion for prove to set the default
assumed TAP version. Thanks to Steffen Schwigon.
- Fixed tests to run successfully under Devel::Cover. Thanks to
Phillipe Bruhat.
- Fixed injection of test args to work with general executables
as well as Perl scripts (#59186).
- Allow multiple --ext=.foo arguments to prove, to allow running
different types of tests in the same prove run.
- App::Prove::extension() is now App::Prove::extensions(), and
returns an arrayref of extensions, rather than a single scalar.
The same change has been made to App::Prove::State::extension().
- Preserve old semantics for test scripts with a shebang line
by favouring Perl as the intepreter for any file with a
shebang (#59457).
- Add --trap (summary on Ctrl-C) option to prove (#59427).
- Removed TAP::Parser::SourceHandler::pgTAP. Find it in its own
distribution on CPAN.
- Source options to prove can now be specified so as to be passed to
the source as a hash reference, eg:
prove --source XYZ --xyz-option pset=foo=bar
Ths "pset" option will be passed as a hash reference with the key
"foo" and the value "bar".
0.96 Tue Aug 10 21:13:04 PDT 2010
Bug Fixes
* You can call done_testing() again after reset() [googlecode 59]
Other
* Bug tracker moved to github
0.95_02 Wed May 19 15:46:52 PDT 2010
Bug Fixes
* Correct various typos and spelling errors (Nick Cleaton)
* Fix alignment of indented multi-line diagnostics from subtests
(Nick Cleaton)
* Fix incorrect operation when subtest called from within a todo block
(Nick Cleaton)
* Avoid spurious output after a fork within a subtest
(Nick Cleaton)
0.95_01 Wed Mar 3 15:36:59 PST 2010
Bug Fixes
* is_deeply() didn't see a difference in regexes [rt.cpan.org 53469]
* Test::Builder::Tester now sets $tb->todo_output to the output handle and
not the error handle (to be in accordance with the default behaviour of
Test::Builder and allow for testing TODO test behaviour).
* Fixed file/line in failing subtest() diagnostics. (Nick Cleaton)
* Protect against subtests setting $Level (Nick Cleaton)
New Features
* subtests without a 'plan' or 'no_plan' have an implicit 'done_testing()'
added to them.
* is_deeply() performance boost for large structures consisting of
mostly non-refs (Nick Cleaton)
Feature Changes
* is() and others will no longer stringify its arguments before
comparing. Overloaded objects will make use of their eq
overload rather than their "" overload. This can break tests of
impolitely string overloaded objects. DateTime prior to 0.54 is
the biggest example.
pkgsrc changes:
- adapting dependencies
- use right module for Darwin 64-bit
Upstream changes:
0.91 Sun 23 May 2010
- Moving the FreeDesktop driver to prod
- Adding File::HomeDir::Test driver
0.90_04 Fri 12 Feb 2010
- Adding missing prereq
0.90_03 Tue 9 Feb 2010
- Using FreeDesktop implementation only if xdg-user-script is
present, since it's now what's been used internally. This should
prevent test failures seen in _02. (JQUELIN)
0.90_02 Thu 14 Jan 2010
- Adding support for the alternate FreeBSD xdg directory (JQUELIN)
- Improved specification compliance (DAXIM)
0.90_01 Thu 7 Jan 2010
- WARNING: This release introduces a major backwards incompatibility
for Unix users. The results returned by most methods may change.
- Added complete implementation of the FreeDesktop specification and
auto-detection of the Unix hosts to which it applies (JQUELIN)
- 01_compile.t now loads all backends (since on most platforms,
most backends will never normally be loaded).
* Changes in version 2.4.3 (2010-08-05):
** Bison now obeys -Werror and --warnings=error for warnings about
grammar rules that are useless in the parser due to conflicts.
** Problems with spawning M4 on at least FreeBSD 8 and FreeBSD 9 have
been fixed.
** Failures in the test suite for GCC 4.5 have been fixed.
** Failures in the test suite for some versions of Sun Studio C++ have
been fixed.
** Contrary to Bison 2.4.2's NEWS entry, it has been decided that
warnings about undefined %prec identifiers will not be converted to
errors in Bison 2.5. They will remain warnings, which should be
sufficient for POSIX while avoiding backward compatibility issues.
** Minor documentation fixes.
* Major changes in Autoconf 2.67 (2010-07-21) [stable]
Released by Eric Blake, based on git versions 2.66.*.
** AC_CONFIG_SUBDIRS with more than one subdirectory at a time works again.
Regression introduced in 2.66.
** AC_CHECK_SIZEOF of a pointer type works again. Regression introduced in
2.66.
** New macro AC_FC_LINE_LENGTH to accept long Fortran source code lines.
** AC_PREPROC_IFELSE now keeps the preprocessed output in the conftest.i
file for inspection by the commands in the ACTION-IF-TRUE argument.
** AC_INIT again allows parentheses and other characters that are literal
in single- or double-quoted strings, and in quoted and unquoted
here-documents, for its PACKAGE and VERSION arguments. Regression
introduced in 2.66.
** autoreconf passes warning flags to new enough versions of aclocal.
** Running an Autotest testsuite in parallel mode no longer triggers a
race condition that could cause the testsuite run to end early,
fixing a sporadic failure in autoconf's own testsuite. Bug present
since introduction of parallel tests in 2.63b.
* Major changes in Autoconf 2.66 (2010-07-02) [stable]
Released by Eric Blake, based on git versions 2.65.*.
** AC_FUNC_MMAP works in C++ mode again. Regression introduced in 2.65.
** Use of m4_divert without a named diversion now issues a syntax warning,
since it is seldom right to change diversions behind autoconf's back.
** The macros AC_TYPE_INT8_T, AC_TYPE_INT16_T, AC_TYPE_INT32_T, and
AC_TYPE_INT64_T work again. Regression introduced in 2.65.
** AC_PROG_INSTALL correctly uses `shtool' again. Regression introduced
in 2.64.
** Autoconf should work on EBCDIC hosts.
** AC_CHECK_DECL and AC_CHECK_DECLS accept optional function argument types
for overloaded C++ functions.
** AS_SET_CATFILE accepts nonliterals in its variable name argument now.
** Autotest testsuites accept an option --recheck to rerun tests that
failed or passed unexpectedly during the last non-debug testsuite run.
** AC_ARG_ENABLE and AC_ARG_WITH now also accept `+' signs in `--enable-*'
and `--with-*' arguments, converting them to underscores for the variable
names.
** In configure scripts, loading CONFIG_SITE no longer searches PATH,
and problems in loading the configuration site files are diagnosed.
** Autotest testsuites may optionally provide colored test results.
** The previously undocumented Autotest macros AT_ARG_OPTION and
AT_ARG_OPTION_ARG have seen bug fixes and are documented now.
AT_ARG_OPTION has been changed in that the negative of a long option
--OPTION is now --no-OPTION rather than --noOPTION.
** The macro AS_LITERAL_IF is slightly more conservative; text
containing shell quotes are no longer treated as literals.
Furthermore, a new macro, AS_LITERAL_WORD_IF, adds an additional
level of checking that no whitespace occurs in literals.
** The macros AS_TR_SH and AS_TR_CPP no longer expand their results.
** The following macros are now documented:
AS_BOX
** New macro AC_FC_FIXEDFORM to accept fixed-form Fortran.
py-cxfreeze doesn't work correctly yet -- it seems that it eric4
fetches some plugin glue code from upstream at runtime which we
should better have under local control. Don't understand yet
how this is supposed to work.
1.006007).
Upstream changes:
1.006007 2010-08-12
- Fixing stuff so that search.cpan.org displays right
- Documented one method in all languages
1.006006 2010-08-12
- Added portuguese translation
- Several minor fixes in the documentation
- Changed methods look in documentation
Based on PR#43763 by Kamel Derouiche, additionaly, some clean up.
2010/07/14 (4.7i)
- escape dashes used in manpage, to work with groff (patch by Kenneth
Pronovici)
- add RPM and Debian build scripts, for testing.
- add configure checks for ctags and lint program.
- fix strict compiler warnings, e.g., using const.
- support DESTDIR variable in makefile.
- drop mkdirs.sh, use "mkdir -p"
- several improvements to configure macros
- quoted ifelse() params
- distinguish Darwin 9 from previous releases
- ignore stderr in check for gcc version, to work with c89 wrapper.
- use consistent date and formatting in the CHANGES file, for processing
contributor's information using a script.
- update config.guess, config.sub
2009/09/3 (4.7h)
- updated configure macros CF_ADD_CFLAGS CF_GCC_ATTRIBUTES CF_GCC_WARNINGS
CF_XOPEN_SOURCE
- update config.guess, config.sub
2008/11/19 (4.7g)
- modify cpp command to redirect stderr to /dev/null if -q option is given,
for consistency with the non-cpp mode (report by Nicolas Limare).
https://bugs.launchpad.net/ubuntu/+source/cproto/+bug/275248
- add configure --disable-leaks option.
- use configure macro CF_XOPEN_SOURCE macro to make mkstemp() prototyped on
Linux.
- remove isascii() usage.
- code cleanup, to remove K&R relics.
- update config.guess, config.sub
Based on PR#43747 by Kamel Derouiche.
Version 0.19
* IniFile.py: add support for trusted desktop files (thanks to karl mikaelsson)
* DesktopEntry.py: Support spec version 1.0, Debian bug #563660
* MimeType.py: Fix parsing of in memory data, Debian bug #563718
* DesktopEntry.py: Fix constructor, Debian bug #551297, #562951, #562952
Version 0.18
* DesktopEntry.py: Add getMimeTypes() method, correctly returning strings
* DesktopEntry.py: Deprecated getMimeType() returning list of regex
* Menu.py: Add support for XDG_MENU_PREFIX
* Mime.py: Add get_type_by_contents()
Collection.
Perl has two pseudo-constants describing the current location in
your source code, __FILE__ and __LINE__. The Perl 5 module Dir::Self
adds __DIR__, which expands to the directory your source file is
in, as an absolute pathname.
- new URLs for HOMEPAGE and MASTER_SITES
- smaller DESCR (avoids pkglint's complaints)
- remove patch-a{a,b,c} (paths seem to be fixed inside configure/make scripts).
Changelog:
* 0.2.3
** Language:
- <= constraints relating an expression metavariable to one or more
inherited expression metavariables that it should be a subexpression of
- the -inplace and -outplace options have been renamed -in_place and
-out_place. -in_place no longer makes a backup. A backup can be
requested using the option -backup_suffix, eg -backup_suffix .bk
- identifiers can be constrained to be different from an inherited
identifier metavariable, or from a set containing both concrete
identifiers and inherited identifier metavariables.
- support for ocaml scripting
- ast available in ocaml scripts
** Features:
- drop inconsistent paths check when only one node was matched
- allow #define id with no definition
- attempt to add newlines in the generated code when function calls in the
smpl cause passing column 80
- allow - in front of statement level nests, if everything inside the nest
is also -
- 'configure' looks for some system libraries: menhirLib, sexplib, pycaml.
Not available libraries are replaced by a copy provided with the sources.
- added static for a function goes just before what is specified in the
semantic patch, not before any comments etc.
- Add a new option, -ignore_unknown_options, to ease the integration
of Coccinelle as a checker in a toolchain.
- error in python code causes immediate abort of spatch
- use the same algorithm for collecting grep tokens as for collecting
glimpse tokens
- Add scripts/spatch.bash_completion for automatic completion of common
options under the bash shell.
- Print rule name when a script rule crashes
- Allow the declaration of an expression list or parameter list
metavariable to specify the number of expressions or parameters,
respectively.
** Bugfix:
- drop inconsistent paths check when only one node was matched
- better take into account virtual rules when selecting glimpse tokens
- print diff when only a comment is added
- the type of the C code !x should be int regardless of the type of x
- allow python code at the beginning of an included file
- better adjustment of whitespace when deleting adjacent lines. Thanks to
Wolfram Sang for pointing out the problem.
- allow metavariables to be inherited from included files
- allow ? on goto
- more graceful failure on finding a strange character in a macro parameter
list
- support Parameter metavariables
- add space after the last comma in an added portion of an argument list
- SmPL nameless struct should only match a nameless struct, not a nameless
union. Thanks to Peter Tummeltshammer for pointing out the problem.
- adjustments to storage don't modify inline as well
- matching and transformation allowed on inline
- allow removed field between two ... in structure initialization
- allow removing an entire structure initialization
- manage labels within do while 0 macros
- added space after : in printing a conditional expression. Thanks to Josh
Triplett for noticing the problem.
- dropped trailing whitespace when code at the end of a line is deleted.
Thanks to Josh Triplett for noticing the problem.
- Fixed environment management when script rule uses cache. Thanks to
Bissyande for finding the problem.
- when false matches if with no else
- ensure { ... } with whencode checks to the end of the function. Thanks to
Rene Rydhof Hansen for finding the problem.
* 0.2.2
** Language:
- Added ToTestExpression to iso language, see standard.iso for an
explanation
- Added depends on to initialize and finalize script code
** Features:
- Update Emacs mode (cocci.el) to support 'virtual' rules and fix other
keywords sush as 'depends on', 'using', 'disable'
- better treatment of != 0 in isos, communtativity for ==/!= for all
constants
- allow adding // comments and blank lines (even after cocci + code)
- Add support for multiple -I options
** Bugfix:
- correct interaction between virtual rules and included .cocci files
- improvement in treatment of ! in isos, to avoid duplicating + code
- improvement in treatment of metavars as isos, to avoid duplicating + code
between toplevel and variable instantiation
- test expression of smpl conditional, etc no longer assumed to have type
int
- correct + line numbers in the patch produced when using *
- iso constant metavariable matches an identifier whose name is all capital
letters, eg NULL
- allow / at the end of the name of a directory (-dir) or patch prefix
(-patch)
- dropped space in + code after the binding of a type metavariable that is
a pointer type
- better handling of . or .. in -dir name
- allow keywords and metavariable names in identifier constraints (not sure
keywords is very useful, though)
- no lubtype on arguments of && and || in SmPL
- allow unknown as type for array indices in SmPL
- support matching of static annotation on functions that are both static
and inline
- support ENOTDIR error in Common.lfile_exists, to allow for the case where
an include file is in a subdirectory that exists but is an ordinary file,
not a directory.
- better management of unbound position variables that appear in
constraints
- cause python parser to skip over // comments, hoping that // is not
meaningful inside python
- require + on every line of a multiline comment
- correct calculation of line numbers when there is script code
- always annotate arguments of && || and ! as test expressions in C code.
* 0.2.1
** Language:
- Add virtual identifiers
- Add coccilib.report and coccilib.trac Python modules
- coccilib.org and coccilib.report are imported by default but not loaded
in the current scope.
** Features:
- Parse_error_msg now more helpful. New option -verbose_parsing for even
more information.
- Improve Python import handling. They are imported once during script
initialization.
** Bugfix:
- correct treatment of depends on with || for virtual rules
* 0.2.0
** Language:
** Features:
- Remove duplicated code in disjunctions
- Better error message when grep finds nothing relevant. Thanks to Joe
Perches for the suggestion.
- added -keep_comments option for the unparsing of the transformed code
- Option "-version" now also gives information about built-in
Python binding support.
- slightly faster environment manipulation in pathological cases
- hack added to accept well-formed #define after function header
** Bugfix:
- Proper consideration of #define macro arguments in checking for the use
of metavariables and in computing the line numbers of complex terms
- Better parsing of included .cocci files
- Put included .cocci files in the right order
- Bind position variables only once for #include
- Fix bug in include_match that caused everything to halt when all matches
were discarded
- Merge unlikely/likely iso rules under a iso rule named unlikely
- Some fixes to coccicheck rules, thanks to Andrew Lunn
- Support groups in regular expression, thanks to Michael Stefaniuc
* 0.1.11
** Language:
- Meta-identifier/function and constant could be filtered from SmPL by
regular expressions using the "~=" and "!~=" operators followed by
an OCaml regular expression (see man Str) in double quote.
- Virtual rules, which can be referenced in depends, and set and unset
using the command-line options -D
- ++ for multiple additions
** Features:
- coccicheck: a framework to check a series of SmPL files on a project
see scripts/coccicheck for more information
** Bugfix:
- bind position variables to the correct starting position in the case of a
complex statement such as an if or while. Thanks to Derek Jones for
pointing out the problem.
- checking for non mentioned case lines in switch should be unchecked.
- space should be printed after sizeof when there are no parentheses around
the argument. Thanks to Daniel Walker for pointing out the problem.
- avoid introducing sharing in propagating ! over () in treatment of isos
- save_excursion has to handle and rethrow exceptions
- eliminate unnecessary consideration of CVS strings. Thanks to David
Young for pointing out the problem.
- completely new treatment of statement metavariables
- better type checking for macro definitions
- drop regression testing in -parse_c
* 0.1.10
** Language:
- declarations allowed in switch, suggested by Derek M. Jones
** Features:
- use interval timer for timeouts. Thanks to Derek M. Jones for the
implementation.
- more flexible env.sh, thanks to Derek Jones.
- faster Python invocation
- simplify unparsing in the sgrep case
** Bugfix:
- for glimpse there is no point to create a pattern containing a numeric
constant because glimpse doesn't index them
- add spaces after commas in function calls and function headers
- made python integration more like the ubuntu version
http://patches.ubuntu.com/by-release/extracted/debian/c/coccinelle/0.1.5dbs-2/01-system-pycaml
this fixes some memory management problems with None, True, and False
- correct labels associated with a switch in the CFG so that a statement
metavariable can match a switch. Thanks to Derek Jones for pointing out
the problem.
- keep switch pattern within switch body. Thanks to Derek Jones for
pointing out the problem.
- Allow expanded tokens to be stored in metavariables, as long as they are
not removed. But this does currently allow them in + code, which will
produce the expansion. Thanks to Ali-Erdem Ozcan for pointing out the
problem.
- improved adjustment of spacing when code removed at the beginning of a line
* 0.1.9
** Language:
- allow fresh identifiers to be declared using ## such that the value mixes
both strings and previously declared metavariables
** Features:
- better handling of expanded code containing ##. Now compute the
result.
- more precise warning message for the "'\' outside define".
Thanks to Nicholas Mc Guire for pointing out the problem.
- more precise warning message related to ifdefization.
Thanks to Derek Jones for pointing out the problem.
- we don't create any more certain files in /tmp (they may be a cause
of security problems).
Thanks to Eugeniy Meshcheryakov for pointing out the problem.
- More optimization for the case of just deleting a complete function.
Allows this to happen without tracing through all the control-flow
paths. Thanks to Francois Bissyande for pointing out the problem.
- prevent code from being added to the beginning or end of a disjunction
- more information about why a script is not applied when using -debug option
- added -no_safe_expressions option
- added -no_loops option. Ignores back edges derived from looping
constructs. This is unsafe, but perhaps useful for bug finding, as it can
be more efficient.
- for semantic matches, allow "minus" on same code with multiple
environments
- better error message for mismatch of parenthesis in column 0 with normal
parenthesis. Thanks to Derek Jones for pointing out the problem.
- allow disjunctions on function return types. Thanks to Pierre Habouzit
for pointing this out.
** Bugfix:
- keep disjunction in the proper order for structure initialization fields
- variables declared in different places should not seem to match each
other
- drop complaints about label metavariables not being used
- drop test information from the type of an expression when the expression
is bound to a metavariable
- nests should not extend beyond the before and after code, even if the
before and after code matches the nest code
- nests should extend into conditionals that end in error exit
- take into account metavariables on "else". Thanks to Derek Jones for
pointing out the problem.
- print single quotes on generated character constants
- better typedef handling in the initialisation/affectation builtin
isomorphism, cf -test init_affect_typedef
- support disjunction of types on variable declaration
- allow @ within strings in script code. ignore // comment lines in script
code.
- don't drop + code placed after the transformed code
- drop spaces produced by removing code before semicolons
- adjusted spacing within generated code
- less verbose -sp. Thanks to Derek Jones for pointing out the problem.
- accept multiple type names in a SmPL typedef declaration.
This is another framework for writing test scripts. It is loosely
inspired by Test::More, and has most of it's functionality, but it
is not a drop-in replacement.
Test::More (and other existing test frameworks) suffer from two weaknesses:
None offer the ability to access specific tests in a reasonably
interactive fashion
None offer the ability to write the tests in whatever format
would make the tests the most readable
Version 6.10 2010-04-29
Fixed a bug where Date_ConvTZ not working correctly with timezones specified
by offset. Chris Butler
Fixed a documentation bug in Date::Manip::TZ where "stdonly" was listed as the
default value for $dstflag, but in actuality, "std" is the default.
Changed Date::Manip::TZ::zone so "dst" is sometimes the default $dstflag.
Based on the bug report by Chris Butler.
OpenUNIX puts a colon at the start of some timezones. It's removed. Jean Hassler
Fixed a bug where business mode calculations involving minutes was not handled
correctly. Damien Moore
*** Combined 5.xx and 6.xx releases into one distribution so cpan/cpanp will
work correctly.
Newest zoneinfo data (tzdata 2010i)
Fixed a bug where business mode calculations failed in some cases. RT 56638
Converted tests to Test::Inter
Version 6.11 2010-04-30
Fixed a problem in Build.PL that had an incorrect module requirement.
Version 3.82
A complete list of bugs fixed in this version is available here:
http://sv.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=104&set=custom
* Compiling GNU make now requires a conforming ISO C 1989 compiler and
standard runtime library.
* WARNING: Future backward-incompatibility!
Wildcards are not documented as returning sorted values, but up to and
including this release the results have been sorted and some makefiles are
apparently depending on that. In the next release of GNU make, for
performance reasons, we may remove that sorting. If your makefiles
require sorted results from wildcard expansions, use the $(sort ...)
function to request it explicitly.
* WARNING: Backward-incompatibility!
The POSIX standard for make was changed in the 2008 version in a
fundamentally incompatible way: make is required to invoke the shell as if
the '-e' flag were provided. Because this would break many makefiles that
have been written to conform to the original text of the standard, the
default behavior of GNU make remains to invoke the shell with simply '-c'.
However, any makefile specifying the .POSIX special target will follow the
new POSIX standard and pass '-e' to the shell. See also .SHELLFLAGS
below.
* WARNING: Backward-incompatibility!
The '$?' variable now contains all prerequisites that caused the target to
be considered out of date, even if they do not exist (previously only
existing targets were provided in $?).
* WARNING: Backward-incompatibility!
As a result of parser enhancements, three backward-compatibility issues
exist: first, a prerequisite containing an "=" cannot be escaped with a
backslash any longer. You must create a variable containing an "=" and
use that variable in the prerequisite. Second, variable names can no
longer contain whitespace, unless you put the whitespace in a variable and
use the variable. Third, in previous versions of make it was sometimes
not flagged as an error for explicit and pattern targets to appear in the
same rule. Now this is always reported as an error.
* WARNING: Backward-incompatibility!
The pattern-specific variables and pattern rules are now applied in the
shortest stem first order instead of the definition order (variables
and rules with the same stem length are still applied in the definition
order). This produces the usually-desired behavior where more specific
patterns are preferred. To detect this feature search for 'shortest-stem'
in the .FEATURES special variable.
* WARNING: Backward-incompatibility!
The library search behavior has changed to be compatible with the standard
linker behavior. Prior to this version for prerequisites specified using
the -lfoo syntax make first searched for libfoo.so in the current
directory, vpath directories, and system directories. If that didn't yield
a match, make then searched for libfoo.a in these directories. Starting
with this version make searches first for libfoo.so and then for libfoo.a
in each of these directories in order.
* New command line option: --eval=STRING causes STRING to be evaluated as
makefile syntax (akin to using the $(eval ...) function). The evaluation
is performed after all default rules and variables are defined, but before
any makefiles are read.
* New special variable: .RECIPEPREFIX allows you to reset the recipe
introduction character from the default (TAB) to something else. The
first character of this variable value is the new recipe introduction
character. If the variable is set to the empty string, TAB is used again.
It can be set and reset at will; recipes will use the value active when
they were first parsed. To detect this feature check the value of
$(.RECIPEPREFIX).
* New special variable: .SHELLFLAGS allows you to change the options passed
to the shell when it invokes recipes. By default the value will be "-c"
(or "-ec" if .POSIX is set).
* New special target: .ONESHELL instructs make to invoke a single instance
of the shell and provide it with the entire recipe, regardless of how many
lines it contains. As a special feature to allow more straightforward
conversion of makefiles to use .ONESHELL, any recipe line control
characters ('@', '+', or '-') will be removed from the second and
subsequent recipe lines. This happens _only_ if the SHELL value is deemed
to be a standard POSIX-style shell. If not, then no interior line control
characters are removed (as they may be part of the scripting language used
with the alternate SHELL).
* New variable modifier 'private': prefixing a variable assignment with the
modifier 'private' suppresses inheritance of that variable by
prerequisites. This is most useful for target- and pattern-specific
variables.
* New make directive: 'undefine' allows you to undefine a variable so that
it appears as if it was never set. Both $(flavor) and $(origin) functions
will return 'undefined' for such a variable. To detect this feature search
for 'undefine' in the .FEATURES special variable.
* The parser for variable assignments has been enhanced to allow multiple
modifiers ('export', 'override', 'private') on the same line as variables,
including define/endef variables, and in any order. Also, it is possible
to create variables and targets named as these modifiers.
* The 'define' make directive now allows a variable assignment operator
after the variable name, to allow for simple, conditional, or appending
multi-line variable assignment.
Release 8.10 25-Jun-2010
------------------------
There are two major additions: support for (*MARK) and friends, and the option
PCRE_UCP, which changes the behaviour of \b, \d, \s, and \w (and their
opposites) so that they make use of Unicode properties. There are also a number
of lesser new features, and several bugs have been fixed. A new option,
--line-buffered, has been added to pcregrep, for use when it is connected to
pipes.
1.6.2 (2010-08-02)
This release addresses a regression in the color extension.
* color: pass write/write_err to win32print correctly (issue2312)
* convert/progress: use plural and avoid retrieving
* color: call correct superclass method in write_err
1.6.1 (2010-08-01)
This is a scheduled monthly minor bugfix release.
* alias: ensure checksignature() is applied directly to the command (issue2286)
* bash/zsh completion: use HGPLAIN when invoking hg (issue2297)
* bookmarks: don't allow name to contain whitespaces only
* bookmarks: ensure current bookmark is updated when specified with -r .
* bundle: lookup revisions after addbranchrevs
* color/progress: subclass ui instead of using wrapfunction (issue2096)
* commit: only warn when reopening the workdir's branch
* dispatch: give better error message when cwd doesn't exist (issue2293)
* doc: make sure we use our own code for generating man pages
* filelog: cmp: don't read data if hashes are identical (issue2273)
* filelog: test behaviour for data starting with "\1\n"
* hg.clone: fix branch value when passing a repo object (issue2267)
* hgweb.wsgi: add a URL to the corresponding wiki documentation
* hgwebdir: allow pure relative globs in paths
* hgwebdir: use template paths configured in the hgrc (issue2281)
* init: create target directory recursively
* inotify: check all components of filenames against hgignore (issue884)
* keyword: move collecting of [keyword] patterns to reposetup (issue2303)
* log: fix missing diff output for hg log -p in subdirectory
* log: follow filenames through renames (issue647)
* mail: ensure that Python2.4 to 2.7 use the same header format
*
mercurial.spec: rename docutils to python-docutils in BuildRequires
* mq: clarify the fact that qimport is trying to read a file
* mq: cleanup status if applied mq is stripped (issue1881)
* mq: fixed ENOENT when qrename to new/directory.patch
* mq: reset self.added after the mq transaction instead of inside qimport
* qpush --move: move the right patch even with comment lines
* rebase: re-add patches to mq repo after rebase
* revert: rename original to .orig instead of copying (issue2282)
* revset: fix ancestor subset handling (issue2298)
* runrst: try to be more helpful if docutils is not installed
* tag: do not allow tag names to consist solely of whitespace (issue2307)
* transplant: crash if repo.commit() finds nothing to commit
Upstream changes:
Release 0.68 - 5th August 2010
- Fix gcov2perl to work with large numbers (Thomas Dorner) (rt 45028).
- Fix "gcov -l" include files (Thomas Dorner) (rt 44864).
- Test against 5.12.1.
- Gross workaround for for regexp evals (Florian Ragwitz).