Bem simples e rápido a dica aqui.
Eu fiz uma alterção no jscalendar do Mihai Bazon que ao inserir muitos calendários numa mesma página, ocorria um erro:
Too much recursion - jscalendar (line 1796)

Aqui está o comando
diff -uNr jscalendar.original.js jscalendar.js > jscalendar.patch O arquivo jscalendar.patch ficou assim
--- jscalendar.original.js 2008-07-21 15:14:39.000000000 -0300
+++ jscalendar.js 2008-07-21 15:15:12.000000000 -0300
@@ -1790,6 +1790,7 @@
return str;
};
+if ( !Date.prototype.__msh_oldSetFullYear ) {
Date.prototype.__msh_oldSetFullYear = Date.prototype.setFullYear;
Date.prototype.setFullYear = function(y) {
var d = new Date(this);
@@ -1797,6 +1798,7 @@
if (d.getMonth() != this.getMonth())
this.setDate(28);
this.__msh_oldSetFullYear(y);
+}
};
// END: DATE OBJECT PATCHES
Para aplicar o patch em algum lugar que esteja desatualizado, use o comando
patch -p0 < jscalendar.patch Você deve estar na mesma pasta, e colocar o arquivo jscalendar.patch nesta mesma pasta
ou copie o arquivo jscalendar.patch para o /tmp e aonde esta o arquivo jscalendar.js execute o comando
patch -p0 < /tmp/jscalendar.patch