$B:dK\$G$9!#(B
>> $B2,ED$G$9!#(B
>> PEEK $B$d(B PEEK_LINK $B$G2hLLI}$h$jD9$$(B URL $B$r8+$i$l$k$h$&$K!"(Bprefix $B$rMxMQ(B
>> $B$7$F<BAu$7$F$_$^$7$?!#(B
>> $BK\Ev$O0lEY$KA4ItI=<($7$?$+$C$?$N$G$9$,!"2hLL@)8f$^$o$j$,$h$/$o$+$i$J$+$C(B
>> $B$?$N$G!"$H$j$"$($:I=<($7$?$$ItJ,$r;XDj$9$kJ}K!$r$H$C$F$$$^$9!#(B2c $B$d(B 3u
>> $B$HF~NO$9$k$H!";XDj$5$l$?ItJ,$KBP1~$9$k!"(BURL $B$N0lIt$,I=<($5$l$^$9!#(B
>> $B8f0U8+!"8f46A[$*BT$A$7$F$*$j$^$9!#(B
$B$3$&$$$&$N$O$I$&$G$7$g$&!#(B
$BO"B3$7$?(B 'u' $B$d(B 'c' $B$G(B URL $B$,0lJ8;z$:$D%9%/%m!<%k$7$^$9!#(B
# $B:FIA2h$,$A$g$C$H$&$C$H$&$7$$$+$b!#(B
# $B2,ED$5$s$N0F$bF~$l$F$b$$$$$+$b$7$l$^$;$s!#(B
$B$J$*!"2,ED$5$s$N(B patch $B$d(B displayBuffer $B$G(B URL $B$rI=<($9$k=hM}$G$bF1MM(B
$B$G$9$,!"(BURL $B$K4A;z$,4^$^$l$F$$$k$HJ8;z2=$1$9$k$3$H$,$"$k$+$H;W$$$^$9!#(B
m17n $BHG$G$d$C$F$$$k(B URL $B$r(B parse $B$9$kA0$K(B quote $B$9$k=hM}$r$$$l$k$Y$-(B
$B$+$b$7$l$^$;$s!#(B
# $B$?$@!"%U%!%$%kL>$H(B URL $B$N5DO@$,Mm$`$+$i$J$"!#(B
-----------------------------------
$B:dK\(B $B9@B'(B <hsaka@mth.biglobe.ne.jp>
http://www2u.biglobe.ne.jp/~hsaka/
--- main.c.orig Fri Dec 22 13:57:37 2000
+++ main.c Fri Dec 22 14:45:03 2000
@@ -64,6 +64,7 @@
static void dump_source(Buffer *);
static void dump_head(Buffer *);
int prec_num = 0;
+int prev_key = -1;
int on_target = 1;
#define PREC_NUM (prec_num ? prec_num : 1)
@@ -663,6 +664,8 @@
prec_num = 0;
}
}
+ prev_key = CurrentKey;
+ CurrentKey = -1;
}
}
@@ -671,7 +674,6 @@
{
CurrentKey = c;
w3mFuncList[(int) GlobalKeymap[c]].func();
- CurrentKey = -1;
onA();
}
@@ -785,7 +787,7 @@
}
}
-static char *currentURL(void);
+static Str currentURL(void);
void
saveBufferInfo()
@@ -795,7 +797,7 @@
return;
}
else {
- fprintf(fp, "%s\n", currentURL());
+ fprintf(fp, "%s\n", currentURL()->ptr);
fclose(fp);
}
}
@@ -3043,10 +3045,20 @@
{
Anchor *a;
ParsedURL pu;
- Str s;
+ static Str s = NULL;
+ static int offset = 0;
if (Currentbuf->firstLine == NULL)
return;
+ if (CurrentKey == prev_key && s != NULL) {
+ if (s->length - offset >= COLS)
+ offset++;
+ else if (s->length <= offset) /* bug ? */
+ offset = 0;
+ goto disp;
+ } else {
+ offset = 0;
+ }
a = retrieveCurrentAnchor(Currentbuf);
if (a == NULL) {
a = retrieveCurrentImg(Currentbuf);
@@ -3061,27 +3073,36 @@
parseURL2(a->url, &pu, baseURL(Currentbuf));
s = parsedURL2Str(&pu);
disp:
- disp_message_nomouse(s->ptr, TRUE);
+ disp_message_nomouse(&s->ptr[offset], TRUE);
}
/* show current URL */
-static char *
+static Str
currentURL(void)
{
- Str s;
-
if (Currentbuf->bufferprop & BP_INTERNAL)
- return "";
- s = parsedURL2Str(&Currentbuf->currentURL);
- return s->ptr;
+ return Strnew_size(0);
+ return parsedURL2Str(&Currentbuf->currentURL);
}
void
curURL(void)
{
+ static Str s = NULL;
+ static int offset = 0;
+
if (Currentbuf->bufferprop & BP_INTERNAL)
return;
- disp_message_nomouse(currentURL(), TRUE);
+ if (CurrentKey == prev_key && s != NULL) {
+ if (s->length - offset >= COLS)
+ offset++;
+ else if (s->length <= offset) /* bug ? */
+ offset = 0;
+ } else {
+ offset = 0;
+ s = currentURL();
+ }
+ disp_message_nomouse(&s->ptr[offset], TRUE);
}
/* view HTML source */
This archive was generated by hypermail 2b29 : Fri Dec 22 2000 - 02:52:38 CST