GNU globalの検索CGIをw3mのローカルCGIとして使いたい

GNU globalの検索CGIw3mのローカルCGIとして使いたい。以下、patch。

--- htags/global.cgi.tmpl.in.orig       2005-03-18 01:17:11.000000000 +0000
+++ htags/global.cgi.tmpl.in
@@ -21,6 +21,7 @@ print "Content-type: text/html\n\n";
 print "@html_begin@\n";
 print "@body_begin@\n";
 $htmlbase = $ENV{'HTTP_REFERER'};
+$htmlbase = $ENV{'W3M_URL'} unless $htmlbase;
 if (!$htmlbase) {
        print "<H1><FONT COLOR=#cc0000>Error</FONT></H1>\n";
        print "<H3>Your browser doesn't send HTTP_REFERER.</H3>\n";

んで、

$ cd /path/to/src
$ gtags
$ htags -nasf --action=/cgi-bin/global.cgi
$ w3m -o cgi_bin=/full/path/to/src/HTML/cgi-bin path/to/src/HTML/index.html

のように実行する。htagsの-f以外のオプションは適当で(-nasfがw3mの場合のオススメ)。cgi-binのディレクトリはw3mのオプションで指定している。設定ファイルでもできるけど、こちらの方が楽だから。
しかし、w3mのローカルCGIってHTTP_REFERERを入れてくれないのね。何でだろ。HTTP_REFERERがないと普通のCGIが流用しにくくなると思うんだけど。w3mのソースでは、こんな感じでOFFにしてるぽい。
w3m-0.5.1/main.c 1.242

2737  static Buffer *
2738  loadLink(char *url, char *target, char *referer, FormList *request)
2739  {
...
2748      base = baseURL(Currentbuf);
2749      if (base == NULL ||
2750          base->scheme == SCM_LOCAL || base->scheme == SCM_LOCAL_CGI)
2751          referer = NO_REFERER;

やっぱり各CGIアドホックに対応するんじゃなくて、w3mを直した方がいいような気がしてきた。