Initial release.

git-svn-id: svn://svn.gna.org/svn/py-notify/trunk@5 858f787b-f626-0410-ba0f-ce2d62e17340
2007-01-15  Paul Pogonyshev  <pogonyshev@gmx.net>

	* notify/condition.py (_Binary._get_dummy_reference): Remove
	method.
	(_IfElse): Reimplement completely and thus make new test pass.
	(_DummyCondition): Remove class (unused.)
	(_get_dummy_reference): New function, replaces removed method of
	`_Binary' class.

	* test/condition.py
	(GarbageCollectionConditionTestCase.test_garbage_collection_ifelse):
	New test.

	* notify/condition.py: Add one-sentence documentation.
	* notify/variable.py: Likewise.


git-svn-id: svn://svn.gna.org/svn/py-notify/trunk@10 858f787b-f626-0410-ba0f-ce2d62e17340
2007-01-17  Paul Pogonyshev  <pogonyshev@gmx.net>

	* notify/variable.py (_PredicateOverVariable): Update for new
	signal storage and creation scheme.

	* notify/condition.py (WatcherCondition): Update for new signal
	storage and creation scheme.
	(_Not): Likewise.
	(_Binary): Likewise.
	(_IfElse): Likewise.

	* notify/signal.py (CleanSignal): Reimplement completely.

	* notify/utils.py (_USED_OBJECTS, mark_object_as_used)
	(mark_object_as_unused): Variable and function moved here from
	`notify.base' module.

	* notify/base.py (_USED_VALUE_OBJECTS): Remove from this module.
	(AbstractValueObject.signal_changed): Reimplement for new storage
	scheme.
	(AbstractValueObject._create_signal): Likewise.
	(AbstractValueObject._changed): Likewise.
	(AbstractValueObject._set_used, AbstractValueObject._set_unused):
	Remove from this class and module.

	* run-tests.py: Reimplement so it is possible to run tests by
	name.

2007-01-16  Paul Pogonyshev  <pogonyshev@gmx.net>

	* README: Clarify section about standard test cases.

	* test/condition.py
	(SignalConditionTestCase.test_referenced_signal): New test.


git-svn-id: svn://svn.gna.org/svn/py-notify/trunk@12 858f787b-f626-0410-ba0f-ce2d62e17340
2007-01-21  Paul Pogonyshev  <pogonyshev@gmx.net>

	* notify/signal.py (AbstractSignal.default_exception_handler)
	(AbstractSignal.ignoring_exception_handler)
	(AbstractSignal.printing_exception_handler)
	(AbstractSignal.reraising_exception_handler): New functions.
	(Signal.emit): Call `AbstractSignal.exception_handler' on
	exceptions raised from handlers.
	(Signal): Make `_handlers' and `_blocked_handlers' protected.
	(CleanSignal.collect_garbage): Rewrite.

	* test/condition.py (BaseConditionTestCase.test_mutable): Expand.

	* generate-reference.py: Rename from `generate-docs.py'.

2007-01-17  Paul Pogonyshev  <pogonyshev@gmx.net>

	* generate-docs.py: Update post-processing for newer Epydoc.


git-svn-id: svn://svn.gna.org/svn/py-notify/trunk@13 858f787b-f626-0410-ba0f-ce2d62e17340
2007-01-23  Paul Pogonyshev  <pogonyshev@gmx.net>

	* notify/signal.py (Signal.disconnect): Reset `self._handlers' to
	None if possible.
	(CleanSignal.collect_garbage): collect_garbage() doesn't return
	anything, remove it from the test.


git-svn-id: svn://svn.gna.org/svn/py-notify/trunk@14 858f787b-f626-0410-ba0f-ce2d62e17340
2007-01-23  Paul Pogonyshev  <pogonyshev@gmx.net>

	* version: Release 0.1.1.

	* NEWS: New file.

	* MANIFEST.in: Include `notify/__init__.py.in', exclude the
	generated file.


git-svn-id: svn://svn.gna.org/svn/py-notify/trunk@15 858f787b-f626-0410-ba0f-ce2d62e17340
2007-01-25  Paul Pogonyshev  <pogonyshev@gmx.net>

	* test/condition.py
	(GarbageCollectionConditionTestCase.test_garbage_collection_signal_referenced_1)
	(GarbageCollectionConditionTestCase.test_garbage_collection_signal_referenced_2)
	(GarbageCollectionConditionTestCase.test_signal_garbage_collection):
	New tests.

2007-01-24  Paul Pogonyshev  <pogonyshev@gmx.net>

	* generate-reference.py: Don't generate marked up source code
	files by default.


git-svn-id: svn://svn.gna.org/svn/py-notify/trunk@19 858f787b-f626-0410-ba0f-ce2d62e17340
2007-01-26  Paul Pogonyshev  <pogonyshev@gmx.net>

	* generate-reference.py: Use new `doc/epydoc.css'.  More
	post-processing.

	* docs/epydoc.css: New file.


git-svn-id: svn://svn.gna.org/svn/py-notify/trunk@20 858f787b-f626-0410-ba0f-ce2d62e17340
2007-01-28  Paul Pogonyshev  <pogonyshev@gmx.net>

	* test/condition.py: Use new `NotifyTestCase.collect_garbage'
	function everywhere.
	* test/bind.py: Likewise.

	* test/__common.py (NotifyTestCase.setUp)
	(NotifyTestCase.collect_garbage): New functions.

	* notify/condition.py (WatcherCondition._create_signal): Account
	for the change in `CleanSignal' interface.
	(_Not._create_signal): Likewise.
	(_Binary._create_signal): Likewise.
	(_IfElse._create_signal): Likewise.
	* notify/variable.py (_PredicateOverVariable._create_signal):
	Likewise.

	* notify/signal.py (CleanSignal): Reimplement: add `__parent'
	field and `orphan' method; don't mark self as used if
	orphaned (i.e. if don't have a parent.)

	* test/condition.py
	(GarbageCollectionConditionTestCase.test_signal_garbage_collection):
	Fix: remove reference from condition to make it
	garbage-collectable.

	* notify/condition.py (WatcherCondition.watch): Fix
	is-valid-to-watch condition.

	* test/condition.py (WatcherConditionTestCase): New test case.


git-svn-id: svn://svn.gna.org/svn/py-notify/trunk@21 858f787b-f626-0410-ba0f-ce2d62e17340
2007-01-28  Paul Pogonyshev  <pogonyshev@gmx.net>

	* benchmark/configobj.py: New file, by Michael Foord and Nicola
	Larosa.

	* benchmark.py: New file.
	* benchmark/__init__.py: New file.
	* benchmark/benchmarking.py: New file.
	* benchmark/emission.py: New file.

	* notify/signal.py (AbstractSignal._wrap_handler): Fix: don't pass
	`arguments' to WeakBinding.wrap() expanded.


git-svn-id: svn://svn.gna.org/svn/py-notify/trunk@22 858f787b-f626-0410-ba0f-ce2d62e17340
2007-01-28  Paul Pogonyshev  <pogonyshev@gmx.net>

	* version: Release 0.1.2.

	* NEWS: Update.

	* MANIFEST.in: Distribute new benchmarking files.

	* notify/signal.py (AbstractSignal.connect_safe): Fix: expand
	`arguments' before passing them to AbstractSignal.do_connect().


git-svn-id: svn://svn.gna.org/svn/py-notify/trunk@23 858f787b-f626-0410-ba0f-ce2d62e17340
2007-01-30  Paul Pogonyshev  <pogonyshev@gmx.net>

	* test/signal.py
	(RecursiveEmissionSignalTestCase.test_block_in_recursive_emission_1):
	Rename from `test_block_in_recursive_emission'.
	(RecursiveEmissionSignalTestCase.test_block_in_recursive_emission_2):
	New test.

2007-01-29  Paul Pogonyshev  <pogonyshev@gmx.net>

	* notify/signal.py (Signal.emit): Fix for the case of present
	accumulator and zero handlers.  Optimize for speed a little.

	* benchmark/benchmarking.py: Add option for number of runs.


git-svn-id: svn://svn.gna.org/svn/py-notify/trunk@26 858f787b-f626-0410-ba0f-ce2d62e17340
2007-01-31  Paul Pogonyshev  <pogonyshev@gmx.net>

	* notify/signal.py
	(AbstractSignal.LastValueAccumulator.accumulate_value): Typo fix:
	rename from accumulated_value().
	(AbstractSignal.ValueListAccumulator.accumulate_value): Likewise.
	Return `accumulated_value', not `None'.

	* test/signal.py (AccumulatorSignalTestCase): New test case.

	* notify/signal.py (Signal): Partially reimplement blocked
	handlers: store zero of them as the empty tuple.  Don't use a
	local variable in emit() function.
	(Signal.emit): One more fix for a present accumulator and zero
	handlers.  Don't inline collect_garbage() since it is meant to be
	a virtual method.


git-svn-id: svn://svn.gna.org/svn/py-notify/trunk@27 858f787b-f626-0410-ba0f-ce2d62e17340
2007-02-01  Paul Pogonyshev  <pogonyshev@gmx.net>

	* notify/signal.py (Signal.is_connected): Don't expand `arguments'
	tuple when constructing `Binding'.
	(Signal.is_blocked): Likewise.
	(Signal.disconnect): Likewise.
	(Signal.disconnect_all): Likewise.
	(Signal.block): Likewise.
	(Signal.unblock): Likewise.

	* test/signal.py
	(SimpleSignalTestCase.test_connect_with_arguments): New test.

	* benchmark/emission.py (GObjectEmissionBenchmark.get_version):
	New function.

	* benchmark/benchmarking.py (Benchmark.get_description): Rename
	from description().
	(Benchmark.get_version): New function.
	(BenchmarkProgram.__store_results): Use it.

	* notify/bind.py (Binding.get_object, Binding.get_function)
	(Binding.get_class, Binding.get_arguments): New functions.
	(Binding): Use new functions instead of properties.  Make
	properties use functions and not access fields directly.
	(WeakBinding.get_object): Rename from __get_object().
	(WeakBinding.__call__): Don't call super method and inline it
	instead (major speed improvement, so "do what is right" is
	sacrificed in this case.)


git-svn-id: svn://svn.gna.org/svn/py-notify/trunk@28 858f787b-f626-0410-ba0f-ce2d62e17340
2007-02-02  Paul Pogonyshev  <pogonyshev@gmx.net>

	* test/variable.py (BaseVariableTestCase): New test case.
	(VariableDerivationTestCase.test_derivation_4): New test.


git-svn-id: svn://svn.gna.org/svn/py-notify/trunk@29 858f787b-f626-0410-ba0f-ce2d62e17340
2007-02-03  Paul Pogonyshev  <pogonyshev@gmx.net>

	* test/variable.py (WatcherVariableTestCase): New test case (much
	like `WatcherConditionTestCase'.)
	(BaseVariableTestCase.test_predicate): Test that predicate
	condition is not mutable.

	* test/all.py (AllTestCase.test_variable): Test that it is
	defined.

	* notify/variable.py (WatcherVariable): New class (much like
	`WatcherCondition'.)


git-svn-id: svn://svn.gna.org/svn/py-notify/trunk@30 858f787b-f626-0410-ba0f-ce2d62e17340
2007-02-03  Paul Pogonyshev  <pogonyshev@gmx.net>

	* version: Release 0.1.3.

	* NEWS: Update.


git-svn-id: svn://svn.gna.org/svn/py-notify/trunk@31 858f787b-f626-0410-ba0f-ce2d62e17340
2007-02-03  Paul Pogonyshev  <pogonyshev@gmx.net>

	* notify/mediator.py (_identity): New function.

	* test/all.py (AllTestCase.assert_is_class): Check that classes
	define `__slots__' variable appropriately.


git-svn-id: svn://svn.gna.org/svn/py-notify/trunk@35 858f787b-f626-0410-ba0f-ce2d62e17340
2007-02-11  Paul Pogonyshev  <pogonyshev@gmx.net>

	* notify/all.py: Calculate `__all__' variable from imported
	modules.

	* test/bind.py (BindingWrapTestCase.test_wrap_5): Don't test
	hashes.

	* notify/bind.py (Binding): Remove: changeable object cannot be
	used as dictionary keys.

2007-02-09  Paul Pogonyshev  <pogonyshev@gmx.net>

	* benchmark/emission.py (EmissionBenchmark1): Rename from
	`EmissionBenchmark'.
	(EmissionBenchmark2): New benchmark test.
	(GObjectEmissionBenchmark1): Rename from
	`GObjectEmissionBenchmark'.
	(GObjectEmissionBenchmark2): New benchmark test.
	(_Dummy): New class.


git-svn-id: svn://svn.gna.org/svn/py-notify/trunk@36 858f787b-f626-0410-ba0f-ce2d62e17340
2007-02-11  Paul Pogonyshev  <pogonyshev@gmx.net>

	* notify/all.py: Change to a list of plain imports (more readable
	and doesn't seem to change anything; suggested by Edward Loper.)


git-svn-id: svn://svn.gna.org/svn/py-notify/trunk@37 858f787b-f626-0410-ba0f-ce2d62e17340