I think generally the guideline should be something like:
  • Submitted UDFs may be written to assume that case sensitivity is "OFF" and need not advertise this as a requirement.
  • Submitted UDFs which require case sensitivity to be "ON" may change the setting within the UDF, but only if the setting is guaranteed to revert to it's previous state on exit in all cases.
  • Use of the case sensitive operator "==" to explicitly mark case sensitive comparisons is encouraged.


Having case sensitivity "ON" is such an unusual state that I think it is reasonable to require "ON" scripts to reset the state before calling UDFs where the coder wants the UDF to behave as case insensitive.