Patch of http://sourceforge.net/p/swig/mailman/message/29816385
Fix shared data problem on MacOS 10.9 with xcode 5.1

Move to construct on first use idiom for singleton definition,
which prevents problems with singletons between ruby swig modules
in an environment with multiple modules on MacOS 10.9 with xcode 5.1.

Before this fix, data was being shared between modules which caused
a crash on shutdown of the ruby interpreter if more than one
module was loaded at a time.
Fixed JSClassRef declaration not using the static one

The class descriptor is not assigned to the static variable but to a local one, which makes the global variable unused.
Tcl documentation correction

From Ben Golding on swig-devel list.
Update Php.html

Short summary of the fact that dl() function can no longer be used.
Merge pull request #204 from ibell/patch-1

Update Php.html
Fix incorrect examples of regex %rename
Improve PHP docs about extension= and dl()
Fix issue with relative import when using single header file import.
  -- The commit propagates the package option to the newly create
     module node so it is recognized by SWIG
  -- Added a relativeimport test for this combination
     (in lack of py3 I was not able to test it with py3 but it
      "should just work")
small suggestions for changes in std_ios.i

Hi

Would it be possible to add the following 2 typedefs to std_ios.i?

 typedef basic_ios<char> ios;
 typedef basic_ios<wchar_t> wios;

at present, it contains only

 %template(ios) basic_ios<char>;
 %template(wios) basic_ios<wchar_t>;

This means however that things like std::ios::openmode are currently not
recognised by SWIG. With the above typedefs, they are. Similar typedefs
should probably be added in std_iostream.i for ostream etc.

Also, while checking std_ios.i, it seems that the definition of basic_ios
has a copy-paste error in the private section (the constructor is still as
ios_base). To avoid confusion, I suggest to change that. Below is a diff
with the suggested changes.

Kris
Initialize C++ arrays created by array_functions' new_foo().

`array_functions(TYPE, NAME)' generates a `new_foo(size)' function that
allocates a new array of the given type.  When compiling in C, the array
is initialized with `calloc()', which shows that the intent was to have
the array be zero-initialized.  When in C++, however, the array was not
getting initialized, so it could contain random garbage after creation,
when the type was a POD type.

This change makes `new_foo(size)' create a value-initialized array when
in C++, as per the C++ standard's 5.3.4.15 that says that adding a pair
of parentheses at the end of a new-expression does that.
fixup! Patch of http://sourceforge.net/p/swig/mailman/message/29816385
C# exception %exception example fix

From Cindy Gan
[skip ci]
apply SF Patch #350 and add testcase
Merge pull request #209 from talby-/inc_guard

apply SF Patch #350 and add testcase
Fix bug 206 where package information for relative in single file import is not propagated correctly.
Add generated Go files to .gitignore.
* Fixed typo --with-jsv8inc and --with-jsv8lib * Fixed locating of libv8 on osx
Allow to specify V8 version, for example

 V8_VERSION=0x031511 ENGINE=v8 make check-javascript-examples
Allow to specify V8 version, for example:

 V8_VERSION=0x031511 ENGINE=v8 make check-javascript-test-suite