素人がプログラミングを勉強していたブログ

プログラミング、セキュリティ、英語、Webなどのブログ since 2008

連絡先: すかいぷ:javascripter_  か javascripter あっと tsukkun.net skypeのほうがいいです

Firebug、パッチ

毎回手動で直してるのも面倒だから、パッチの作りかたを調べた。
肉少なめ | Item - Firebugのコンソールでjavascript 1.8を使うで練習する。
まず、下のような感じにして、

/Users/javascripter/fbug/content/firebug% cp lib.js lib.js.orig
/Users/javascripter/fbug/content/firebug% vi lib.js
/Users/javascripter/fbug/content/firebug% diff -u lib.js.orig lib.js > lib.js.diff
/Users/javascripter/fbug/content/firebug% rm lib.js.orig

下のようなファイルができる。

--- lib.js.orig	2008-10-13 16:11:05.000000000 +0900
+++ lib.js	2008-10-13 16:14:02.000000000 +0900
@@ -264,7 +264,7 @@
 this.addScript = function(doc, id, src)
 {
     var element = doc.createElementNS("http://www.w3.org/1999/xhtml", "script");
-    element.setAttribute("type", "text/javascript");
+    element.setAttribute("type", "application/javascript;version=1.8");
     element.setAttribute("id", id);
     element.firebugIgnore = true;
     element.setAttribute("style", "display:none");

で、次に

/Users/javascripter/fbug% svn update

して、lib.jsが変更されてたら、

cd content/firebug
patch < lib.js.diff

で、パッチを当てる。

うまくいった。
同じやり方で、commandLine.jsも修正する。Twitter / javascripter: FirebugのConsole、実行に書いたやつ。

--- commandLine.js.orig	2008-10-13 16:27:46.000000000 +0900
+++ commandLine.js	2008-10-13 16:28:26.000000000 +0900
@@ -10,7 +10,7 @@
 
 const reOpenBracket = /[\[\(\{]/;
 const reCloseBracket = /[\]\)\}]/;
-const reCmdSource = /^with\(_FirebugCommandLine\){(.*)};$/;
+const reCmdSource = /^with\(_FirebugCommandLine\){(.*)\n};$/;
 
 // ************************************************************************************************
 // GLobals
@@ -95,7 +95,7 @@
         element.setAttribute("methodName", "evaluate");
 
         expr = expr.toString();
-        expr = "with(_FirebugCommandLine){" + expr + "};";
+        expr = "with(_FirebugCommandLine){" + expr + "\n};";
         element.setAttribute("expr", expr);
 
         var consoleHandler;

で、両方やり終ったら、

/Users/javascripter/fbug% ant
/Users/javascripter/fbug% open dist

して、firebug-1.3XJ.0a6.xpiをインストールする。
で、Firebugのconsoleで、

(function () { yield })();
alert("OK");//

がうまく動いたら、成功。