[w3m-dev 00696] read/pipe/exec shell

From: Hironori Sakamoto (hsaka@mth.biglobe.ne.jp)
Date: Wed May 24 2000 - 11:40:51 CDT


$B:dK\$G$9!#(B

$B#3I$$NCn$rB`<#$7$^$7$?!#(B

$B!&(BPIPE_SHELL('#') $B$GFI$s$@;~$K%Q%$%W$,JD$8$i$l$J$/$J$C$F$7$^$C$F$$$?(B
$B!&(BRAED_SHELL('@') $B$d(B PIPE_SHELL('#') $B$+$iFI$_9~$s$@%P%C%U%!$r(B
  VIEW('v') $B$G(B HTML $BI=<($G$-$J$+$C$?(B
$B!&(Bmouse $B;HMQ;~$K(B EXEC_SHELL('!') $B$N7k2L$,N.$l$F$7$^$C$F$$$?(B

$B4XO"$7$F!"$A$g$C$H$d$C$F$_$?$$$3$H!#(B
$B!&8=:_$N%P%C%U%!$N%=!<%9$r%Q%$%W$r$+$^$7$F$+$iFI$_9~$`(B
  PIPE $B%3%^%s%I(B('|')$B$rDI2C$7$?$$!#(B
$B!&%j%s%/@h$N(B URL $B$r%Q%$%W$r$+$^$7$F$+$iFI$_9~$`(B
  PIPE_LINK $B%3%^%s%I(B('ESC |')$B$rDI2C$7$?$$!#(B
$B!&N>J}$H$b30It%V%i%&%6$NMM$K?t8DDj5A2DG=$K$7$?$$!#(B
$B!&(BContent-Type $B$K1~$8$F<+F0$G%Q%$%W$r$+$^$;$kMM$K$7$?$$!#(B
  (mailcap $B$G%3%^%s%I$,(B '|' $B$G;O$^$C$F$$$?$i$=$&$9$k$H$+(B)
[$B8zG=(B]
$B!&(BUTF-8 $B$NJ8=q$N>l9g$G$b(B "lv -Iu8 -Oej" $BEy$GFI$a$kMM$K$J$k!#(B
$B!&(BWord $B$d(B Excel $B$b(B wvHtml $B$d(B xlHtml $BEy$GFI$a$kMM$K$J$k!#(B
$B!&K]Lu%U%!%k%?$d(B kakasi $B$d(B osaka :-) $B$GJQ49$9$k;v$b$G$-$kMM$K$J$k!#(B
[$B<BAu(B]
$B!&(BPIPE $B$H(B PIPE_LINK $B$O!"$[$H$s$I(B readsh() $B$HF1$8$G$h$$$H;W$$$^$9!#(B
  $B!t(B $B<B$O>e$NCnC#$O<BAu$r9M$($F$$$FH/8+$7$?$b$N$G$9!#(B
$B!&<+F0$G%Q%$%W$r$+$^$;$k$N$O(B gunzip $BEy$HF1$8$G$h$$$H;W$$$^$9!#(B

w3m-0.1.10 $B$,=P$k$^$G$O2fK}$+$J(B^_^$B!#(B
----------------------------------
$B:dK\(B $B9@B'(B <hsaka@mth.biglobe.ne.jp>
 http://www2u.biglobe.ne.jp/~hsaka/

diff -u main.c.orig main.c
--- main.c.orig Wed May 24 23:31:04 2000
+++ main.c Thu May 25 01:09:06 2000
@@ -1171,6 +1171,8 @@
     }
     else {
         buf->bufferprop |= (BP_INTERNAL | BP_NO_URL);
+ if (buf->type == NULL)
+ buf->type = "text/plain";
         pushBuffer(buf);
     }
     displayBuffer(Currentbuf, B_FORCE_REDRAW);
@@ -1199,6 +1201,8 @@
     }
     else {
         buf->bufferprop |= (BP_INTERNAL | BP_NO_URL);
+ if (buf->type == NULL)
+ buf->type = "text/plain";
         pushBuffer(buf);
     }
     displayBuffer(Currentbuf, B_FORCE_REDRAW);
@@ -1208,15 +1212,26 @@
 void
 execsh(void)
 {
+#ifdef MOUSE
+ int use_m = use_mouse;
+#endif
     char *cmd;
     cmd = inputLineHist("(exec shell)!", "", IN_COMMAND, ShellHist);
     if (cmd != NULL && *cmd != '\0') {
         fmTerm();
         system(cmd);
- printf("[Hit any key]");
+ printf("\n[Hit any key]");
         fflush(stdout);
+#ifdef MOUSE
+ use_mouse = FALSE;
+#endif
         fmInit();
         getch();
+#ifdef MOUSE
+ use_mouse = use_m;
+ if (use_mouse)
+ mouse_init();
+#endif
     }
     displayBuffer(Currentbuf, B_FORCE_REDRAW);
 }
diff -u file.c.orig file.c
--- file.c.orig Wed May 24 23:30:51 2000
+++ file.c Thu May 25 00:33:53 2000
@@ -5026,7 +5026,8 @@
         if (Strlastchar(tmp) != '\n')
             putc('\n', f);
     }
- if (buf->pagerSource && strcmp(buf->buffername, CPIPEBUFFERNAME)) {
+ if (buf->pagerSource &&
+ strncmp(buf->buffername, CPIPEBUFFERNAME, strlen(CPIPEBUFFERNAME))) {
         l = getNextPage(buf, PagerMax);
         goto pager_next;
     }



This archive was generated by hypermail 2b29 : Wed Jul 19 2000 - 10:30:56 CDT