Protection against extremely small 2D histograms' zoom box.
Suggested here: https://sft.its.cern.ch/jira/browse/ROOT-6673
Use the fully qualified name.
[modules] Use stdlib instead or strtol
[modules] Use sys/stat.h instead of conflicting mis-forward declarations.
[modules] Put the OptionParser into ROOT namespace, avoid conflict in glibc
[modules] Remove useless configuration defines. Breaks the modules concept.
[modules] Remove control macro.
[modules] Add strlcpy.h as required include.
[modules] Rename the template copied from TClass.
reference REPL is a way most people will recognize
Fix warning on SLC6
Do not auto replace explicitly set, default sized TTreeCache (ROOT-6698).
From Wouter: new version of RooChebyshev which support the possibility to define a reference range for the evaluation and normalisation of the polynomial. This fixes the problem observed fitting in 2 distinct ranges, ROOT-6664
Add a protection to avoid the crash mentionned here: https://sft.its.cern.ch/jira/browse/ROOT-6675
Protect from skipping function template patterns.
Handle member fun ptr (ROOT-5467).
Add test for ROOT-5467.
Fix ROOT-6747: enums treatment in TCling::CheckClassInfo

an issue was present with the TCling::CheckClassInfo method.
It returned true, i.e. name known to the interpreter, even if
the name was an enum.
This behaviour can now be steered with a boolean that restricts
the search to classes/structs and namespaces only.
The problem that allowed to identify this unintended behaviour
was the following: a TClass instance was deleting itself during
its own destruction, leading to a double delete.
This inconsistent state was due to the fact that a last-resort
operation is performed in TClass::GetClass, a lookup into the
interpreter database.
The check was the following:
   //last attempt. Look in CINT list of all (compiled+interpreted) classes
   if (gInterpreter->CheckClassInfo(normalizedName.c_str()) {
      // Get the normalized name based on the decl (currently the only way
      // to get the part to add or drop the default arguments as requested by the user)
      std::string alternative;
      gInterpreter->GetInterpreterTypeName(normalizedName.c_str(),alternative,kTRUE);
      const char *altname = alternative.c_str();
      if ( strncmp(altname,"std::",5)==0 ) {
         // For namespace (for example std::__1), GetInterpreterTypeName does
         // not strip std::, so we must do it explicitly here.
         altname += 5;
      }
      if (altname != normalizedName && strcmp(altname,name) != 0) {
         // altname now contains the full name of the class including a possible
         // namespace if there has been a using namespace statement.

         // At least in the case C<string [2]> (normalized) vs C<string[2]> (altname)
         // the TClassEdit normalization and the TMetaUtils normalization leads to
         // two different space layout.  To avoid an infinite recursion, we also
         // add the test on (altname != name)

         return GetClass(altname,load);
      }
      TClass *ncl = gInterpreter->GenerateTClass(normalizedName.c_str(), /* emulation = */ kFALSE, silent);
      if (!ncl->IsZombie()) {
         return ncl;
      }
      delete ncl;
   }
The if clause, if normalizedName refers to an enum should not pass in order not to
bootstrap a TClass from an enum name.
There is of course a test in TClass::GetClass which checks if the name corresponds to
a selected enum:
   // Try to see if this is an enumerator
   if(TEnum::GetEnum(name,load ? TEnum::kAutoload : TEnum::kNone)) return nullptr;
If unfortunately the user did not select the enum and no parsing happened, the name
is unknowm to the system and the static method returns nullptr.
Fix for ROOT-6653
initialise data member in default constructor