Test clang patch.


git-svn-id: http://root.cern.ch/svn/root/trunk@45061 27541ba8-7e3a-0410-8455-c3a389f83636
Improve the concept of transactions in cling.

In brief, a transaction in terms of cling is the user input swollen by cling at
once (Eg.: int a; int b; float f; or #include "world"). It doesn't matter if an
input contained 1 declaration or 1 billion - if it is eaten up at once it is 
single cling::Transaction.

Cling's transaction is the data structure containing the information about what
happened and when. The incremental parser, as its name says, should implement all
the interfaces for manipulating with transactions: begin-, end-transaction, 
commit, rollback and so on. It implements the basic support for nested 
transactions.

A nested transaction in cling is created when we have nested beginTransaction(). 
Eg:
beginTransaction()
  beginTransaction();
  ... stuff
  endTransaction();
endTransaction();

commit();

This concept simplifies the error recovery subsystem. And in essence it is a big
step in developing the code unloading (aka as .U).

To be more concrete:
* Add transaction support;
* ChainedConsumer simplified and will be further simplified. In general we saw 
that we need to implement just one interface in clang::SemaConsumer which is used
to inform us about new declarations. There are a lot of assertions in the 
implementation of the other interfaces just to make sure the interface we use is 
sufficient.
* Implement the proper transaction handling interfaces in the incremental parser.
* Move declare("DynamicRuntimeUniverse") in different the interpreter. Two reasons why:
1-st in the EvaluateTSynthesizer we shouldn't have the interpreter object. 2-nd 
in terms of transactions it doesn't make any sense to start new transaction (which 
declare does) in the middle of commitTransaction().


git-svn-id: http://root.cern.ch/svn/root/trunk@45062 27541ba8-7e3a-0410-8455-c3a389f83636
* Add const setter;
* Add more general commitTransaction and some asssertions;
* Add documentation.


git-svn-id: http://root.cern.ch/svn/root/trunk@45063 27541ba8-7e3a-0410-8455-c3a389f83636
Add the Transaction.cpp to cmake


git-svn-id: http://root.cern.ch/svn/root/trunk@45064 27541ba8-7e3a-0410-8455-c3a389f83636
Remove redundant IsQueueing member.


git-svn-id: http://root.cern.ch/svn/root/trunk@45065 27541ba8-7e3a-0410-8455-c3a389f83636
* Remove more redundant members.
* Improve documentation
* Unfriend the IncrementalParser from the ChainedConsumer.


git-svn-id: http://root.cern.ch/svn/root/trunk@45066 27541ba8-7e3a-0410-8455-c3a389f83636
* Use better naming;
* Improve documentation;


git-svn-id: http://root.cern.ch/svn/root/trunk@45067 27541ba8-7e3a-0410-8455-c3a389f83636
Make QuartzPixmap/QuartzImage initialization as standart Obj-C initialization (alloc and init in one statement),
handle errors inside QuartzPixmap/QuartzImage "constructors" - releasing 'self' and returning 'nil' in case of error.


git-svn-id: http://root.cern.ch/svn/root/trunk@45068 27541ba8-7e3a-0410-8455-c3a389f83636
Do not register window's 'back buffer' (actually, pixmap) as a standalone drawable - there is no way
ROOT can access it using pixmap's id, it's always 'part' of some window. Make this pixmap a 'retain' property
of a window/view.


git-svn-id: http://root.cern.ch/svn/root/trunk@45069 27541ba8-7e3a-0410-8455-c3a389f83636
Make memory management during initialization more logical: data, passed as parameter to a constructor
must be copied, instead of "if initialization was successful, object will take an ownership .... ".


git-svn-id: http://root.cern.ch/svn/root/trunk@45070 27541ba8-7e3a-0410-8455-c3a389f83636
Remove redundant if/else statement, remove obsolete comment.


git-svn-id: http://root.cern.ch/svn/root/trunk@45071 27541ba8-7e3a-0410-8455-c3a389f83636
Improve the documentation generation: sed over every html file containing the [$]LatestRev[$]


git-svn-id: http://root.cern.ch/svn/root/trunk@45072 27541ba8-7e3a-0410-8455-c3a389f83636