[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
async patch (was: emacs-w3m doesn't work)
>> On Tue, 24 Aug 2004 22:04:53 +0900
>> usata@sodan.ecc.u-tokyo.ac.jp (Mamoru KOMACHI) said as follows:
>If you have applied async patch from
>http://www.page.sannet.ne.jp/knabe/w3m/w3m-0.5.1-async-1.diff.gz
>emacs-w3m hangs on browsing the internet.
ちょっと手元で試してみましたが,確かに,w3m 本体に対する async パッチ
を適用すると emacs-w3m が動かなくなりますね.
それでまあ,ものすごくアドホックなパッチなんですが,async パッチに加え
て,末尾に添付したパッチを適用すれば,async パッチと emacs-w3m が共存
できるようになるのではないかと思います.
動作確認報告を募集します.
--
土屋 雅稔 ( TSUCHIYA Masatoshi )
--- w3m-0.5.1/main.c~ 2004-09-19 19:03:06.000000000 +0900
+++ w3m-0.5.1/main.c 2004-09-19 19:49:21.000000000 +0900
@@ -1298,7 +1298,7 @@
}
#endif
-static void
+void
dump_head(Buffer *buf)
{
TextListItem *ti;
@@ -1320,16 +1320,10 @@
puts("");
}
-static void
+void
dump_extra(Buffer *buf)
{
printf("W3m-current-url: %s\n", parsedURL2Str(&buf->currentURL)->ptr);
- if (buf->baseURL)
- printf("W3m-base-url: %s\n", parsedURL2Str(buf->baseURL)->ptr);
-#ifdef USE_M17N
- printf("W3m-document-charset: %s\n",
- wc_ces_to_charset(buf->document_charset));
-#endif
#ifdef USE_SSL
if (buf->ssl_certificate) {
Str tmp = Strnew();
@@ -1361,18 +1355,9 @@
}
do {
if (Currentbuf->load_flag != BF_LOADING_HEADER) {
- if (flag & DUMP_EXTRA) {
- dump_extra(Currentbuf);
- flag &= ~DUMP_EXTRA;
- }
- if (flag & DUMP_HEAD) {
- dump_head(Currentbuf);
- flag &= ~DUMP_HEAD;
- }
-#if 0
- if (flag & DUMP_SOURCE)
- dump_source(Currentbuf);
-#endif
+ flag &= ~DUMP_EXTRA;
+ flag &= ~DUMP_HEAD;
+ flag &= ~DUMP_SOURCE;
if (flag == DUMP_BUFFER &&
!(Currentbuf->post_flag & BF_RENDER_FRAME)) {
saveBuffer(Currentbuf, stdout, FALSE);
--- w3m-0.5.1/file.c~ 2004-09-19 19:03:06.000000000 +0900
+++ w3m-0.5.1/file.c 2004-09-19 19:48:28.000000000 +0900
@@ -19,6 +19,9 @@
#include "local.h"
#include "regex.h"
+void dump_extra(Buffer *);
+void dump_head(Buffer *);
+
#ifndef max
#define max(a,b) ((a) > (b) ? (a) : (b))
#endif /* not max */
@@ -6319,6 +6322,11 @@
newBuf->sourcefile = tmp->ptr;
}
+ if (w3m_dump & DUMP_EXTRA)
+ dump_extra(newBuf);
+ if (w3m_dump & DUMP_HEAD)
+ dump_head(newBuf);
+
loadHTMLstream(f, newBuf, src, newBuf->bufferprop & BP_FRAME);
return newBuf;
}