* vba-basic-globals.diff & vba-sc-docuno-hook.diff : not so nice integration of vba globalnamespace. Problems with this patch

+ not scalable  [1]
+ introduces a nasty recursive search ( hard to debug, also possibly some lifecycle problems )

[1] well its effectively hardcoded at the moment, also if we ever introduced a word api, or if anybody else wants to add globals we need; 
   + some generic service level integration that provides information/objects like
        + default namespace search path for globals added e.g. ( org.openoffice.ba, org.openoffice.vba.Excel ) e.g. for constants
	+ list of objects ( and associated names ) to be added to namespace
	+ all of that needs to be hooked in a similar way to ThisComponent ( e.g. inserted into basic when required ), or maybe if the document StarBasic is away of its application ( calc, writer etc. ) it could raise some application specific service to provide the globals.

* vba-build.diff: patches sc/offapi/offuh/unoil to add new... stuff

* vba-basic-collection.diff: allows Object( Index ) syntax to be used for objects that implement XCollection. Patch introduces interface org/openoffice/vba/XCollection into basic, really we should do this better, this I believe could be achieved by supporting a default method ( we already do something like this for default property ) so this patch would be more generic ( where the collection syntax is just a specific case ) 


* svx-source-form-formControlVBAHandler-hxx.diff svx-source-form-formControlVBAHandler-cxx.diff svx-source-inc-fmundo-hxx.diff svx-source-form-makefile.diff svx-source-form-fmctrler-cxx.diff svx-source-form-fmundo-cxx.diff extensions-source-propctrlr-makefile-mk.diff extensions-source-propctrlr-formcontroller-cxx.diff vbaevents-services-build.diff vbaevents-services-sources.diff:
All of the patch files above provide the vba like interaction handling for controls ( not form controls ) eg for a button control "button1" if a button1_click method exists in basic then it will get called when you click the button, same for mouseover etc. 

* basic-source-classes-eventatt-cxx.diff: similar to the above patch execpt for controls in dialogs ( UserForms ) patch is more or less untested ( currently disabled )

* vba-basic-multidim-uno-arraywrap.diff: allows an uno array of arrays to be mapped to a multi-dimension basic array ( with 0 or 1 based indices ). One (unavoidable) problem is this introduces org.openoffice.vba.XArrayWrapper type ( if acceptable of course we could make that into css:script:XArrayWrapper ).


* vba-optionbasesupport.diff: when you define Option BASE 1 its only honoured when creating a new array ( afaik ) this patch makes sure that arrays behave as expected e.g. honour the OptionBase setting ( ala ms ) 

* vba-runtime-vba-enabled.diff: sets up new static method SbiRuntime::isVBAEnabled() and also new Option 'VBASupport'. The result of this method is determined TRUE if 'Option VBASupport 1' or FALSE if 'Option VBASupport 0' is defined at the top of the currently executing module.

* vba-dim-and-constants-patch.diff: patch provides ability to do

1)
'Dim something as Range' 

I Would imagine there will be upstream issues with this, because 
    + We have special processing ( aka hardcoding ) to allow the full namespace to be dropped "org.openoffice.vba"
    + We have special handling ( aka hardcoding ) to allow Range be defined instead of XRange ( which is the real type )

IMHO from a interop point of view we should be able to do "dim something as Object" the patch does a runtime check to see if the object implements the 'Object' interface, also default namespace(s) should be handled, see the very first comment on the first patch in this doc. So, to me it would seem the only nasty hacky bit is the Range=XRange type thing, but if we go a step further and allow a 
'Dim object as service' then I think then we could get around that. But how acceptible upstream is to this type of concept is yet to be determined.

2)
Allow constants in the org.openoffice.vba namespace to be accessed directly from basic.

* vba-evaluate-support.diff: allows '[A1]' syntax to be captured, trys to call a global Evaluate method with whats contained in between the [], again this is specific for us or vba, so..... that should not be a problem if done conditionally ( which it is )

* vba-support-stoc-typeprovider-xexactname.diff: doesn't modify basic but it provides XExactName on the typeprovider this allows case-insensitive matching of constants e.g. in vba-dim-and-constants-patch.diff above

* vba-basic-default.diff: provides detection and use of a default property for lhs and/or rhs arguments
example: allows handling of Range("A1") = 23

The set up and retrieval of the default property is fine, however the runtime patch bits seem to me ( who wrote them ) very brittle, most probably error prone & horrible. It would be great to get some advice on how to do this properly ( it would also be a nice feature ) 



* vba_configure_set_soenv_in.diff:
compile time switch

* basic-millisecTimer.diff needs to be removed, its bogus ( I thought I removed this ), that functionality already exists (can't recall the name)

