aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFumitoshi UKAI <ukai@debian.or.jp>2003-02-06 17:15:04 +0000
committerFumitoshi UKAI <ukai@debian.or.jp>2003-02-06 17:15:04 +0000
commitfbc26e9c4b8c8b09fdc307b6eb0d248fc243f354 (patch)
treebe000941b4e8b94086e51e3515c20bbb6e24f4ab
parentfix typo (diff)
downloadw3m-fbc26e9c4b8c8b09fdc307b6eb0d248fc243f354.tar.gz
w3m-fbc26e9c4b8c8b09fdc307b6eb0d248fc243f354.zip
[w3m-dev 03732] Re: scroll() is slow ?
* configure (use_raw_scroll): added (config.h) use_raw_scroll * config.h.dist (USE_RAW_SCROLL): added * display.c (displayBuffer): ifdef USE_RAW_SCROLL * proto.h (scroll): ifdef USE_RAW_SCROLL (rscroll): ditto (need_clrtoeol): if 0 (terms.c): if 0 need_clrtoeol (scroll_raw): ifdef USE_RAW_SCROLL From: Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
-rw-r--r--ChangeLog15
-rw-r--r--config.h.dist5
-rwxr-xr-xconfigure8
-rw-r--r--display.c7
-rw-r--r--proto.h6
-rw-r--r--terms.c9
6 files changed, 43 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index c70a6f1..c7fc387 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2003-02-07 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
+
+ * [w3m-dev 03732] Re: scroll() is slow ?
+ * configure (use_raw_scroll): added
+ (config.h) use_raw_scroll
+ * config.h.dist (USE_RAW_SCROLL): added
+ * display.c (displayBuffer): ifdef USE_RAW_SCROLL
+ * proto.h (scroll): ifdef USE_RAW_SCROLL
+ (rscroll): ditto
+ (need_clrtoeol): if 0
+ (terms.c): if 0 need_clrtoeol
+ (scroll_raw): ifdef USE_RAW_SCROLL
+
2003-02-06 Fumitoshi UKAI <ukai@debian.or.jp>
* NEWS: rc: decode_url
@@ -7087,4 +7100,4 @@ a * [w3m-dev 03276] compile error on EWS4800
* release-0-2-1
* import w3m-0.2.1
-$Id: ChangeLog,v 1.739 2003/02/05 16:45:57 ukai Exp $
+$Id: ChangeLog,v 1.740 2003/02/06 17:15:04 ukai Exp $
diff --git a/config.h.dist b/config.h.dist
index fbe8d22..5ca09d4 100644
--- a/config.h.dist
+++ b/config.h.dist
@@ -55,6 +55,11 @@
#undef MENU_THIN_FRAME
/*
+ * Use raw scroll
+ */
+#undef USE_RAW_SCROLL
+
+/*
*/
#undef TABLE_EXPAND
#undef TABLE_NO_COMPACT
diff --git a/configure b/configure
index 65e94c4..a051cef 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
#!/bin/sh
-# $Id: configure,v 1.96 2003/01/29 17:10:25 ukai Exp $
+# $Id: configure,v 1.97 2003/02/06 17:15:10 ukai Exp $
# Configuration.
#
@@ -883,6 +883,7 @@ def_param use_bufinfo n
def_param use_egd y
def_param enable_remove_trailingspaces n
def_param menu_thin_frame n
+def_param use_raw_scroll n
def_param emacs_like_lineedit $include_opt
def_param vi_prec_num $include_opt
def_param label_topline $include_opt
@@ -2316,6 +2317,11 @@ $def_enable_remove_trailingspaces
$def_menu_thin_frame
/*
+ * Use raw scroll
+ */
+$def_use_raw_scroll
+
+/*
*/
$def_table_expand
$def_table_no_compact
diff --git a/display.c b/display.c
index 6b94993..e0c3319 100644
--- a/display.c
+++ b/display.c
@@ -1,4 +1,4 @@
-/* $Id: display.c,v 1.62 2003/02/05 16:43:57 ukai Exp $ */
+/* $Id: display.c,v 1.63 2003/02/06 17:15:11 ukai Exp $ */
#include <signal.h>
#include "fm.h"
@@ -417,6 +417,7 @@ displayBuffer(Buffer *buf, int mode)
}
if (mode == B_FORCE_REDRAW || mode == B_SCROLL || mode == B_REDRAW_IMAGE ||
cline != buf->topLine || ccolumn != buf->currentColumn) {
+#ifdef USE_RAW_SCROLL
if (
#ifdef USE_IMAGE
!(activeImage && displayImage && draw_image_flag) &&
@@ -439,7 +440,9 @@ displayBuffer(Buffer *buf, int mode)
}
redrawNLine(buf, n);
}
- else {
+ else
+#endif
+ {
#ifdef USE_IMAGE
if (activeImage &&
(mode == B_REDRAW_IMAGE ||
diff --git a/proto.h b/proto.h
index 42bbb03..460663c 100644
--- a/proto.h
+++ b/proto.h
@@ -1,4 +1,4 @@
-/* $Id: proto.h,v 1.88 2003/02/05 16:44:00 ukai Exp $ */
+/* $Id: proto.h,v 1.89 2003/02/06 17:15:13 ukai Exp $ */
/*
* This file was automatically generated by version 1.7 of cextract.
* Manual editing not recommended.
@@ -449,9 +449,13 @@ extern void setbcolor(int color);
#endif /* USE_COLOR */
extern void refresh(void);
extern void clear(void);
+#ifdef USE_RAW_SCROLL
extern void scroll(int);
extern void rscroll(int);
+#endif
+#if 0
extern void need_clrtoeol(void);
+#endif
extern void clrtoeol(void);
extern void clrtoeolx(void);
extern void clrtobot(void);
diff --git a/terms.c b/terms.c
index d318250..f369597 100644
--- a/terms.c
+++ b/terms.c
@@ -1,4 +1,4 @@
-/* $Id: terms.c,v 1.43 2003/01/10 16:16:45 ukai Exp $ */
+/* $Id: terms.c,v 1.44 2003/02/06 17:15:16 ukai Exp $ */
/*
* An original curses library for EUC-kanji by Akinori ITO, December 1989
* revised by Akinori ITO, January 1995
@@ -398,7 +398,10 @@ void clear(), wrap(), touch_line(), touch_column(int);
void switch_wchar(FILE *);
void switch_ascii(FILE *);
#endif
-void need_clrtoeol(void), clrtoeol(void); /* conflicts with curs_clear(3)? */
+#if 0
+void need_clrtoeol(void);
+#endif
+void clrtoeol(void); /* conflicts with curs_clear(3)? */
int write1(char);
@@ -1444,6 +1447,7 @@ clear(void)
CurrentMode = C_ASCII;
}
+#ifdef USE_RAW_SCROLL
static void
scroll_raw(void)
{ /* raw scroll */
@@ -1535,6 +1539,7 @@ rscroll(int n)
}
}
}
+#endif
#if 0
void