w3m-0.5.3/0040755000175000000000000000000011514251126011524 5ustar satodaiwheelw3m-0.5.3/scripts/0040755000175000000000000000000011510563324013215 5ustar satodaiwheelw3m-0.5.3/scripts/multipart/0040755000175000000000000000000011510563324015236 5ustar satodaiwheelw3m-0.5.3/scripts/multipart/CVS/0040755000175000000000000000000011510563324015671 5ustar satodaiwheelw3m-0.5.3/scripts/multipart/CVS/Root0100644000175000000000000000005610436007525016537 0ustar satodaiwheel:ext:inu@w3m.cvs.sourceforge.net:/cvsroot/w3m w3m-0.5.3/scripts/multipart/CVS/Repository0100644000175000000000000000002610436007525017770 0ustar satodaiwheelw3m/scripts/multipart w3m-0.5.3/scripts/multipart/CVS/Entries0100644000175000000000000000033211510563324017220 0ustar satodaiwheel/.cvsignore/1.2/Mon Sep 22 22:53:53 2003// /README/1.2/Wed Nov 21 09:21:59 2001// /mailcap/1.1/Thu Nov 15 00:32:14 2001// /multipart.cgi.in/1.11/Tue Feb 18 15:26:39 2003// /Makefile.in/1.6/Tue Jan 4 09:22:28 2011// D w3m-0.5.3/scripts/multipart/.cvsignore0100644000175000000000000000002707733676601017251 0ustar satodaiwheelmultipart.cgi Makefile w3m-0.5.3/scripts/multipart/Makefile.in0100644000175000000000000000273411510563324017306 0ustar satodaiwheel@SET_MAKE@ SHELL=@SHELL@ PACKAGE = @PACKAGE@ VERSION = @VERSION@ DOMAIN = $(PACKAGE) srcidr=@srcdir@ top_srcdir=@top_srcdir@ VPATH= $(srcdir):. prefix = @prefix@ exec_prefix = @exec_prefix@ datarootdir = @datarootdir@ bindir = @bindir@ datadir = @datadir@ libdir = @libdir@ includedir = @includedir@ infodir = @infodir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ mandir = @mandir@ oldincludedir = @oldincludedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ top_srcdir = @top_srcdir@ VPATH = $(top_srcdir):. CGIBIN_DIR = $(libexecdir)/$(PACKAGE)/cgi-bin AUXBIN_DIR = $(libexecdir)/$(PACKAGE) HELP_DIR = @HELP_DIR@ RC_DIR = @RC_DIR@ ETC_DIR = $(sysconfdir) CONF_DIR = $(sysconfdir)/$(PACKAGE) LIB_TARGETS = multipart.cgi MKDIR = mkdir -p INSTALL = @INSTALL@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ PERL = @PERL@ NKF = @NKF@ all: $(LIB_TARGETS) # do nothing $(LIB_TARGETS): install: $(LIB_TARGETS) -$(MKDIR) $(DESTDIR)$(CGIBIN_DIR) for file in $(LIB_TARGETS); \ do \ $(INSTALL_SCRIPT) $$file $(DESTDIR)$(CGIBIN_DIR); \ done uninstall: -for file in $(LIB_TARGETS); \ do \ rm -f $(CGIBIN_DIR)/$$file; \ done clean: distclean: -rm -f $(LIB_TARGETS) -rm -f Makefile dist: all @-rm -fr $(distdir)/multipart $(MKDIR) $(distdir)/multipart cp Makefile README multipart.cgi.in $(distdir)/multipart ( cd $(distdir); tar -cf - multipart | GZIP='' gzip ) \ > $(distdir)/multipart.tar.gz -rm -fr $(distdir)/multipart w3m-0.5.3/scripts/multipart/README0100644000175000000000000000115007376671067016133 0ustar satodaiwheel Content-Type: multipart/* を扱う local-CGI Content-Type: multipart/* なファイルを扱うための local-CGI です。 主に mailx などでメールを PAGER="w3m -m" で読む場合を想定しています。 インストール * make install 必要なら PERL, NKF, LIBDIR を設定してください。 * mailcap を ~/.w3m/mailcap にマージ multipart.cgi のパスに注意 * w3m の Option Setting Panel で、 『保存時に Content-Transfer-Encoding をデコードする』を ON 添付ファイルの保存時に便利です。 必要なもの * NKF モジュールまたは nkf 文字コード変換や MIME ヘッダのデコードにを使ってます。 気にいらなければ変えてください。 w3m-0.5.3/scripts/multipart/mailcap0100644000175000000000000000011107374606416016572 0ustar satodaiwheelmultipart/*; /usr/local/lib/w3m/multipart.cgi %s %{boundary}; htmloutput w3m-0.5.3/scripts/multipart/multipart.cgi.in0100644000175000000000000001270707624450257020367 0ustar satodaiwheel#!@PERL@ eval "use NKF;"; if (! $@) { $use_NKF = 1; $CONV = "-e"; $MIME_DECODE = "-m -e"; } else { $use_NKF = 0; # $CONV = "w3m -dump -e"; $CONV = "@NKF@ -e"; $MIME_DECODE = "@NKF@ -m -e"; } $MIME_TYPE = "$ENV{'HOME'}/.mime.types"; $SCRIPT_NAME = $ENV{'SCRIPT_NAME'} || $0; $CGI = "file://$SCRIPT_NAME"; if ($ENV{'REQUEST_METHOD'} eq 'POST') { sysread(STDIN, $query, $ENV{'CONTENT_LENGTH'}); } elsif (defined($ENV{'QUERY_STRING'})) { $query = $ENV{'QUERY_STRING'}; } if (defined($query)) { for (split('&', $query)) { s/^([^=]*)=//; $v{$1} = $_; } $file = &form_decode($v{'file'}); $boundary = &form_decode($v{'boundary'}); } else { $file = $ARGV[0]; if (@ARGV >= 2) { $boundary = $ARGV[1]; } } (-f $file) || exit(1); open(F, "< $file") || exit(1); $end = 0; $mbody = ''; if (defined($boundary)) { while() { s/\r?\n$//; ($_ eq "--$boundary") && last; ($_ eq "--$boundary--") && ($end = 1, last); $mbody .= "$_\n"; } } else { while() { s/\r?\n$//; if (s/^\-\-//) { $boundary = $_; last; } $mbody .= "$_\n"; } } if (defined($v{'count'})) { $count = 0; while($count < $v{'count'}) { while() { s/\r?\n$//; ($_ eq "--$boundary") && last; } eof(F) && exit; $count++; } %header = (); $hbody = ''; while() { /^\s*$/ && last; $x = $_; s/\r?\n$//; if (/=\?/) { $_ = &decode($_, $MIME_DECODE); } if (s/^(\S+)\s*:\s*//) { $h = $&; if ($h =~ /^w3m-control/i) { $h = "WARNING: $h"; } $hbody .= "$h$_\n"; $p = $1; $p =~ tr/A-Z/a-z/; $header{$p} = $_; } elsif (s/^\s+//) { chop $hbody; $hbody .= "$_\n"; $header{$p} .= $_; } } $type = $header{"content-type"}; $dispos = $header{"content-disposition"}; if ($type =~ /application\/octet-stream/) { if ($type =~ /type\=gzip/) { print "Content-Encoding: x-gzip\n"; } if ($type =~ /name=\"?([^\"]+)\"?/ || $dispos =~ /filename=\"?([^\"]+)\"?/) { $type = &guess_type($1); if ($type) { print "Content-Type: $type; name=\"$1\"\n"; } else { print "Content-Type: text/plain; name=\"$1\"\n"; } } } print $hbody; print "\n"; while() { $x = $_; s/\r?\n$//; ($_ eq "--$boundary") && last; if ($_ eq "--$boundary--") { last; } print $x; } close(F); exit; } $qcgi = &html_quote($CGI); $qfile = &html_quote($file); $qboundary = &html_quote($boundary); if ($mbody =~ /\S/) { $_ = $mbody; s/\&/\&/g; s/\/\>/g; print "
\n";
	print $_;
	print "
\n"; } $count = 0; while(! $end) { %header = (); $hbody = ''; while() { /^\s*$/ && last; s/\r?\n$//; if (/=\?/) { $_ = &decode($_, $MIME_DECODE); } if (s/^(\S+)\s*:\s*//) { $hbody .= "$&$_\n"; $p = $1; $p =~ tr/A-Z/a-z/; $header{$p} = $_; } elsif (s/^\s+//) { chop $hbody; $hbody .= "$_\n"; $header{$p} .= $_; } } $type = $header{"content-type"}; $dispos = $header{"content-disposition"}; $plain = 0; $image = 0; if (! $dispos || $dispos =~ /^inline/i) { if (! $type || $type =~ /^text\/plain/i) { $plain = 1; } elsif ($type =~ /^image\//i) { $image = 1; } } $body = ''; while() { s/\r?\n$//; ($_ eq "--$boundary") && last; if ($_ eq "--$boundary--") { $end = 1; last; } if ($plain) { $body .= "$_\n"; } } $| = 1; print "
\n"; { $_ = $hbody; s/\&/\&/g; s/\/\>/g; print "
\n";
		print $_;
		print "
\n"; if ($type =~ /name=\"?([^\"]+)\"?/ || $dispos =~ /filename=\"?([^\"]+)\"?/) { $name = $1; } else { $name = "Content"; } print "
\n"; print "\n"; print "\n"; print "\n"; if ($image) { print "\n"; } else { print "\n"; } print "
\n" } if ($plain) { $body = &decode($body, $CONV); $_ = $body; s/\&/\&/g; s/\/\>/g; print "
\n\n";
		print $_;
		print "
\n"; } eof(F) && last; $count++; } close(F); sub decode { if ($use_NKF) { local($body, $opt) = @_; return nkf($opt, $body); } local($body, @cmd) = @_; local($_); $| = 1; pipe(R, W2); pipe(R2, W); if (! fork()) { close(F); close(R); close(W); open(STDIN, "<&R2"); open(STDOUT, ">&W2"); exec @cmd; die; } close(R2); close(W2); print W $body; close(W); $body = ''; while() { $body .= $_; } close(R); return $body; } sub html_quote { local($_) = @_; local(%QUOTE) = ( '<', '<', '>', '>', '&', '&', '"', '"', ); s/[<>&"]/$QUOTE{$&}/g; return $_; } sub form_decode { local($_) = @_; s/\+/ /g; s/%([\da-f][\da-f])/pack('c', hex($1))/egi; return $_; } sub form_encode { local($_) = @_; s/[\000-\040\+:#?&%<>"\177-\377]/sprintf('%%%02X', unpack('C', $&))/eg; return $_; } sub guess_type { local($_) = @_; /\.(\w+)$/ || return ""; $_ = $1; tr/A-Z/a-z/; %mime_type = &load_mime_type($MIME_TYPE); $mime_type{$_}; } sub load_mime_type { local($file) = @_; local(%m, $a, @b, $_); open(M, "< $file") || return (); while() { /^#/ && next; chop; (($a, @b) = split(" ")) >= 2 || next; for(@b) { $m{$_} = $a; } } close(M); return %m; } w3m-0.5.3/scripts/bm2menu/0040755000175000000000000000000010436007525014564 5ustar satodaiwheelw3m-0.5.3/scripts/bm2menu/CVS/0040755000175000000000000000000010436007525015217 5ustar satodaiwheelw3m-0.5.3/scripts/bm2menu/CVS/Root0100644000175000000000000000005610436007525016063 0ustar satodaiwheel:ext:inu@w3m.cvs.sourceforge.net:/cvsroot/w3m w3m-0.5.3/scripts/bm2menu/CVS/Repository0100644000175000000000000000002410436007525017312 0ustar satodaiwheelw3m/scripts/bm2menu w3m-0.5.3/scripts/bm2menu/CVS/Entries0100644000175000000000000000012410436007525016545 0ustar satodaiwheel/README/1.1/Thu Nov 15 00:32:14 2001// /bm2menu.pl/1.1/Thu Nov 15 00:32:14 2001// D w3m-0.5.3/scripts/bm2menu/bm2menu.pl0100644000175000000000000000200307374606416016471 0ustar satodaiwheel#!/usr/bin/perl $PRE_MENU = ""; $POST_MENU = <) { if (/

(.*)<\/h2>/) { $s = &unquote($1); push(@section, $s); } elsif (/
  • (.*)<\/a>/) { $u = &unquote($1); $t = &unquote($2); $url{$s} .= "$u\n"; $title{$s} .= "$t\n"; } } print "menu Bookmarks\n"; print $PRE_MENU; foreach(@section) { print " popup\t\"$_\"\t\"$_\"\n"; } print $POST_MENU; print "end\n"; foreach(@section) { print "\n"; print "menu \"$_\"\n"; @ts = split("\n", $title{$_}); @us = split("\n", $url{$_}); while(@ts) { $t = shift @ts; $u = shift @us; print " func\t\"$t\"\tGOTO\t\"\"\t\"$u\"\n"; } print "end\n"; } sub unquote { local($_) = @_; s/\</\/g; s/\ / /g; s/\&/\&/g; return $_; } w3m-0.5.3/scripts/bm2menu/README0100644000175000000000000000071007374606416015452 0ustar satodaiwheel bm2menu.pl ブックマークファイル ~/.w3m/bookmark.html を変換して w3m の ブックマークメニューとして使える様にする。 使用法 ~/.w3m/bookmark.html を変換して ~/.w3m/menu に追加。 perl bm2menu.pl ~/.w3m/bookmark.html >> ~/.w3m/menu 次に、~/.w3m/keymap に keymap x MENU Bookmarks の様にキーの割り当てを追加します。 これで、キー `x' でブックマークメニューが開きます。 メニューの操作は doc-jp/README.menu を読んでください。 w3m-0.5.3/scripts/CVS/0040755000175000000000000000000011510563324013650 5ustar satodaiwheelw3m-0.5.3/scripts/CVS/Root0100644000175000000000000000005610436007525014516 0ustar satodaiwheel:ext:inu@w3m.cvs.sourceforge.net:/cvsroot/w3m w3m-0.5.3/scripts/CVS/Repository0100644000175000000000000000001410436007525015744 0ustar satodaiwheelw3m/scripts w3m-0.5.3/scripts/CVS/Entries0100644000175000000000000000103011510563324015173 0ustar satodaiwheel/.cvsignore/1.10/Mon Sep 22 22:53:53 2003// /dirlist.cgi.in/1.7/Fri Feb 7 15:06:17 2003// /w3mhelp-funcdesc.en.pl.in/1.4/Mon Mar 22 17:03:13 2004// /w3mhelp-funcdesc.ja.pl.in/1.4/Mon Mar 22 17:03:13 2004// /w3mhelp-funcname.pl.in/1.3/Mon Apr 7 15:19:43 2003// /w3mmail.cgi.in/1.14/Mon Aug 30 16:32:24 2004// /xface2xbm.in/1.3/Mon Nov 18 17:33:01 2002// /xface2xpm.in/1.1/Tue Apr 9 14:45:58 2002// D/bm2menu//// D/multipart//// D/w3mman//// /Makefile.in/1.11/Tue Jan 4 09:22:28 2011// /w3mhelp.cgi.in/1.29/Tue Jan 4 09:22:28 2011// w3m-0.5.3/scripts/w3mman/0040755000175000000000000000000011510563324014417 5ustar satodaiwheelw3m-0.5.3/scripts/w3mman/CVS/0040755000175000000000000000000011510563324015052 5ustar satodaiwheelw3m-0.5.3/scripts/w3mman/CVS/Root0100644000175000000000000000005610436007525015720 0ustar satodaiwheel:ext:inu@w3m.cvs.sourceforge.net:/cvsroot/w3m w3m-0.5.3/scripts/w3mman/CVS/Repository0100644000175000000000000000002310436007525017146 0ustar satodaiwheelw3m/scripts/w3mman w3m-0.5.3/scripts/w3mman/CVS/Entries0100644000175000000000000000046311510563324016406 0ustar satodaiwheel/.cvsignore/1.3/Mon Sep 22 22:53:53 2003// /README/1.3/Wed Dec 18 16:48:02 2002// /hlink.cgi/1.1/Thu Nov 15 00:32:14 2001// /w3mman.1.in/1.6/Fri Apr 7 15:33:56 2006// /w3mman.in/1.5/Fri Apr 7 15:33:56 2006// /Makefile.in/1.5/Tue Jan 4 09:22:28 2011// /w3mman2html.cgi.in/1.9/Tue Jan 4 09:22:28 2011// D w3m-0.5.3/scripts/w3mman/.cvsignore0100644000175000000000000000005207733676601016430 0ustar satodaiwheelw3mman w3mman2html.cgi w3mman.1 Makefile w3m-0.5.3/scripts/w3mman/Makefile.in0100644000175000000000000000421611510563324016464 0ustar satodaiwheel@SET_MAKE@ SHELL=@SHELL@ PACKAGE = @PACKAGE@ VERSION = @VERSION@ DOMAIN = $(PACKAGE) srcidr=@srcdir@ top_srcdir=@top_srcdir@ VPATH= $(srcdir):. prefix = @prefix@ exec_prefix = @exec_prefix@ datarootdir = @datarootdir@ bindir = @bindir@ datadir = @datadir@ libdir = @libdir@ includedir = @includedir@ infodir = @infodir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ mandir = @mandir@ oldincludedir = @oldincludedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ top_srcdir = @top_srcdir@ VPATH = $(top_srcdir):. CGIBIN_DIR = $(libexecdir)/$(PACKAGE)/cgi-bin AUXBIN_DIR = $(libexecdir)/$(PACKAGE) HELP_DIR = @HELP_DIR@ RC_DIR = @RC_DIR@ ETC_DIR = $(sysconfdir) CONF_DIR = $(sysconfdir)/$(PACKAGE) BIN_DIR = $(bindir) MAN1_DIR = $(mandir)/man1 TARGETS = w3mman CGIBIN_TARGETS = w3mman2html.cgi MAN1_TARGETS = w3mman.1 MAN_TARGETS = $(MAN1_TARGETS) MKDIR = mkdir -p INSTALL = @INSTALL@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_MAN = @INSTALL_DATA@ all: $(TARGETS) $(CGIBIN_TARGETS) $(MAN_TARGETS) # do nothing $(TARGETS) $(CGIBIN_TARGETS) $(MAN_TARGETS): install: $(TARGETS) $(CGIBIN_TARGETS) $(MAN_TARGETS) -$(MKDIR) $(DESTDIR)$(BIN_DIR) -$(MKDIR) $(DESTDIR)$(CGIBIN_DIR) -$(MKDIR) $(DESTDIR)$(MAN1_DIR) for file in $(TARGETS); \ do \ $(INSTALL_SCRIPT) $$file $(DESTDIR)$(BIN_DIR); \ done for file in $(CGIBIN_TARGETS); \ do \ $(INSTALL_SCRIPT) $$file $(DESTDIR)$(CGIBIN_DIR); \ done for file in $(MAN1_TARGETS); \ do \ $(INSTALL_MAN) $$file $(DESTDIR)$(MAN1_DIR); \ done uninstall: -for file in $(TARGETS); \ do \ rm -f $(BIN_DIR)/$$file; \ done -for file in $(CGIBIN_TARGETS); \ do \ rm -f $(CGIBIN_DIR)/$$file; \ done -for file in $(MAN1_TARGETS); \ do \ rm -f $(MAN1_DIR)/$$file; \ done clean: distclean: -rm -f $(TARGETS) $(CGIBIN_TARGETS) $(MAN_TARGETS) -rm -f Makefile dist: all @-rm -fr $(distdir)/w3mman -$(MKDIR) $(distdir)/w3mman cp Makefile README w3mman.in w3mman2html.cgi.in hlink.cgi w3mman.1.in $(distdir)/w3mman ( cd $(distdir); tar -cf - w3mman | GZIP='' gzip ) \ > $(distdir)/w3mman.tar.gz -rm -fr $(distdir)/w3mman w3m-0.5.3/scripts/w3mman/README0100644000175000000000000000204607600123302015267 0ustar satodaiwheel w3mman 他のマニュアルやヘッダファイルにリンクをはることができる man コマンドの代替コマンドです。 使用法 w3mman w3mman [(
    )] w3mman [
    ] w3mman -k 環境変数 W3MMAN_W3M 使用する w3m コマンドを指定します(デフォルトは w3m) W3MMAN_MAN 使用する man コマンドを指定します(デフォルトは man) インストール make install 必要なら PERL, MAN, LIBDIR を設定してください。 w3mman2html.cgi もインストールされます。 ================ w3mman2html.cgi 使用法 w3m file:///$LIB/w3mman2html.cgi w3m file:///$LIB/w3mman2html.cgi?[(
    )] w3m file:///$LIB/w3mman2html.cgi?man=[§ion=
    ] w3m file:///$LIB/w3mman2html.cgi?keyword= インストール make install 必要なら PERL, MAN, LIBDIR を設定してください。 w3mman もインストールされます。 ================ hlink.cgi ヘッダファイルなどにリンクを張る インストール /$LIB/ にコピー w3mman2html.cgi で使用するならば $CGI2 に設定してください。 w3m-0.5.3/scripts/w3mman/hlink.cgi0100644000175000000000000000274407374606416016231 0ustar satodaiwheel#!/usr/local/bin/perl $SCRIPT_NAME = $ENV{'SCRIPT_NAME'} || $0; $CGI = "file://$SCRIPT_NAME?"; if ($ENV{'QUERY_STRING'}) { $file = $ENV{'QUERY_STRING'}; } else { $file = $ARGV[0]; } $file = &cleanup($file); if (-d $file) { print <$file $_ EOF exit 1; } $file = &html_quote($file); ($dir = $file) =~ s@[^/]*$@@; print <$file
    EOF
    while () {
      $_ = &html_quote($_);
    
      s/^(\#\s*include\s+)(\".*\"|\<\;.*\>\;)/$1 . &header_ref($2)/ge;
    
      print;
    }
    close(FILE);
    print "
    \n"; sub header_ref { local($_) = @_; local($d); if (s/^\"//) { s/\"$//; return ""
    $_""; } s/^\<\;//; s/\>\;$//; for $d ( "/usr/include", "/usr/local/include", "/usr/X11R6/include", "/usr/X11/include", "/usr/X/include", "/usr/include/X11" ) { -f "$d/$_" && return "<$_>"; } return $_; } sub html_quote { local($_) = @_; local(%QUOTE) = ( '<', '<', '>', '>', '&', '&', '"', '"', ); s/[<>&"]/$QUOTE{$&}/g; return $_; } sub cleanup { local($_) = @_; s@//+@/@g; s@/\./@/@g; while(m@/\.\./@) { s@^/(\.\./)+@/@; s@/[^/]+/\.\./@/@; } return $_; } w3m-0.5.3/scripts/w3mman/w3mman.1.in0100644000175000000000000000252610415503144016307 0ustar satodaiwheel.TH W3MMAN 1 "Nov 5, 2005" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: .\" .nh disable hyphenation .\" .hy enable hyphenation .\" .ad l left justify .\" .ad b justify to both left and right margins .\" .nf disable filling .\" .fi enable filling .\" .br insert line break .\" .sp insert n+1 empty lines .\" for manpage-specific macros, see man(7) .SH NAME w3mman \- an interface to the on-line reference manuals by w3m(1) .SH SYNOPSIS .B w3mman .RI "[-M " path ] " " [ section ] " page" .br .B w3mman .RI "[-M " path "] -k " keyword .br .B w3mman .RI -l " file .SH DESCRIPTION .B w3mman is the system's manual pager by .BR w3m (1). .SH OPTIONS A summary of options is included below. .TP .BI \-M " path" Specify .I path as MANPATH. .TP .BI \-k " keyword" Specify .I keyword. .TP .BI \-l " file" Specify a .I file. .SH ENVIRONMENT .TP .B W3MMAN_W3M If W3MMAN_W3M is set, its value is used instead of @W3M@. .TP .B W3MMAN_MAN If W3MMAN_MAN is set, its value is used instead of @MAN@. .SH FILES .TP .I @libexecdir@/@PACKAGE@/cgi-bin/w3mman2html.cgi convert manual page to html. .SH SEE ALSO .BR man (1), .BR w3m (1). .SH AUTHOR This manual page was written by Fumitoshi UKAI , for the Debian GNU/Linux system (but may be used by others). w3m-0.5.3/scripts/w3mman/w3mman.in0100644000175000000000000000214010415503144016140 0ustar satodaiwheel#!@PERL@ @W3M = split(' ', $ENV{'W3MMAN_W3M'} || '@W3M@'); $ENV{'W3MMAN_MAN'} ||= '@MAN@'; $SCRIPT = 'file:///$LIB/w3mman2html.cgi'; sub usage { ($_ = $0) =~ s@.*/@@; print STDERR "$_ [-M ] [[
    ] ]\n"; print STDERR "$_ [-M ] [-k ]\n"; print STDERR "$_ [-l ]\n"; exit 1; } $query = ""; while (@ARGV) { $_ = shift @ARGV; if (/^-M$/) { @ARGV || &usage(); $ENV{'MANPATH'} = shift @ARGV; } elsif (/^-k$/) { @ARGV || &usage(); $query = "?keyword=" . &form_encode(shift @ARGV); } elsif (/^-l$/) { @ARGV || &usage(); $query = "?quit=ok&local=" . &form_encode(shift @ARGV); $query .= "&pwd=" . &form_encode($ENV{'PWD'}); } elsif (/^-/) { &usage(); } elsif (/^\d/ || $_ eq 'n') { @ARGV || &usage(); $query = "?quit=ok&man=" . &form_encode(shift @ARGV); $query .= "§ion=" . &form_encode($_); } else { $query = "?quit=ok&man=" . &form_encode($_); } } exec @W3M, "$SCRIPT$query"; sub form_encode { local($_) = @_; s/[\000-\040\+:#?&%<>"\177-\377]/sprintf('%%%02X', unpack('C', $&))/eg; return $_; } w3m-0.5.3/scripts/w3mman/w3mman2html.cgi.in0100644000175000000000000001340311510563324017657 0ustar satodaiwheel#!@PERL@ $MAN = $ENV{'W3MMAN_MAN'} || '@MAN@'; $QUERY = $ENV{'QUERY_STRING'} || $ARGV[0]; $SCRIPT_NAME = $ENV{'SCRIPT_NAME'} || $0; $CGI = "file://$SCRIPT_NAME"; $CGI2 = "file:"; # $CGI2 = "file:///\$LIB/hlink.cgi?"; $SQUEEZE = 1; $ENV{'PAGER'} = 'cat'; if ($QUERY =~ /\=/) { for (split('&', $QUERY)) { ($v, $q) = split('=', $_, 2); $query{$v} = &form_decode($q); } } else { $QUERY =~ s/^man=//; $query{"man"} = &form_decode($QUERY); } if ((! $query{"man"}) && (! $query{"local"})) { if ($query{"keyword"}) { $keyword = $query{"keyword"}; $k = &html_quote($keyword); print < man -k $k

    man -k $k

      EOF $keyword =~ s:([^-\w\200-\377.,])::g; open(F, "$MAN -k $keyword 2> /dev/null |"); @line = (); while() { chop; $_ = &html_quote($_); s/(\s+-.*)$//; $title = $1; s@(\w[\w.\-]*(\s*\,\s*\w[\w.\-]*)*)\s*(\([\dn]\w*\))@&keyword_ref($1, $3)@ge; print "
    • $_$title\n"; } close(F); print < EOF exit; } print < man
      Manual:
      Section:
      Keyword:
      EOF exit; } if ($query{"local"}) { $file = $query{"local"}; if (! ($file =~ /^\//)) { $file = $query{"pwd"} . '/' . $file; } open(F, "MAN_KEEP_FORMATTING=1 $MAN -l $file 2> /dev/null |"); } else { $man = $query{"man"}; if ($man =~ s/\((\w+)\)$//) { $section = $1; $man_section = "$man($1)"; } elsif ($query{"section"}) { $section = $query{"section"}; $man_section = "$man($section)"; } else { $section = ""; $man_section = "$man"; } $section =~ s:([^-\w\200-\377.,])::g; $man =~ s:([^-\w\200-\377.,])::g; open(F, "MAN_KEEP_FORMATTING=1 $MAN $section $man 2> /dev/null |"); } $ok = 0; undef $header; $blank = -1; $cmd = ""; $prev = ""; while() { if (! defined($header)) { /^\s*$/ && next; $header = $_; $space = $header; chop $space; $space =~ s/\S.*//; } elsif ($_ eq $header) { # delete header $blank = -1; next; } elsif (!/\010/ && /^$space[\w\200-\377].*\s\S/o) { # delete footer $blank = -1; next; } if ($SQUEEZE) { if (/^\s*$/) { $blank || $blank++; next; } elsif ($blank) { $blank > 0 && print "\n"; $blank = 0; } } s/\&/\&/g; s/\/\>/g; s@([\200-\377].)(\010{1,2}\1)+@$1@g; s@(\&\w+;|.)(\010\1)+@$1@g; s@__\010{1,2}((\)?[\200-\377].(\)?)@$1@g; s@_\010((\)?(\&\w+\;|.)(\)?)@$1@g; s@((\)?[\200-\377].(\)?)\010{1,2}__@$1@g; s@((\)?(\&\w+\;|.)(\)?)\010_@$1@g; s@.\010(.)@$1@g; s@\\\_\\\@_@g; s@\\_\\@_@g; s@\\@@g; s@\\@@g; if (! $ok) { /^No/ && last; print < man $man_section
      EOF
          print;
          $ok = 1;
          next;
        }
      
        s@(http|ftp)://[\w.\-/~]+[\w/]@$&@g;
        s@(\W)(mailto:)?(\w[\w.\-]*\@\w[\w.\-]*\.[\w.\-]*\w)@$1$2$3@g;
        s@(\W)(\~?/[\w.][\w.\-/~]*)@$1 . &file_ref($2)@ge;
        s@(include(<\/?[bu]\>|\s)*\<)([\w.\-/]+)@$1 . &include_ref($3)@ge;
        if ($prev && m@^\s*(\<[bu]\>)*(\w[\w.\-]*)(\)*(\([\dm]\w*\))@) {
          $cmd .= "$2$4";
          $prev =~ s@(\w[\w.\-]*-)((\)*\s*)$@$1$2@;
          print $prev;
          $prev = '';
          s@^(\s*(\<[bu]\>)*)(\w[\w.\-]*)@@;
          print "$1$3";
        } elsif ($prev) {
          print $prev;
          $prev = '';
        }
        s@(\w[\w.\-]*)((\)*)(\([\dm]\w*\))@$1$2$4@g;
        if (m@(\w[\w.\-]*)-(\)*\s*$@) {
          $cmd = $1;
          $prev = $_;
          next;
        }
        print;
      }
      if ($prev) {
        print $prev;
      }
      close(F);
      if (! $ok) {
        if ($query{'quit'}) {
          if ($query{'local'}) {
            print STDERR "File $file not found.\n";
          } else {
            print STDERR "No manual entry for $man_section.\n";
          }
          print STDERR "No manual entry for $man_section.\n";
          print <
      man $man_section
      
      
      EOF
        if ($query{'local'}) {
          print "File $file not found.\n";
        } else {
          print "No manual entry for $man_section.\n";
        }
      }
      print <
      
      
      EOF
      
      sub is_command {
        local($_) = @_;
        local($p);
      
        (! -d && -x) || return 0;
        if (! defined(%PATH)) {
          for $p (split(":", $ENV{'PATH'})) {
            $p =~ s@/+$@@;
            $PATH{$p} = 1;
          }
        }
        s@/[^/]*$@@;
        return defined($PATH{$_});
      }
      
      sub file_ref {
        local($_) = @_;
      
        if (&is_command($_)) {
          ($man = $_) =~ s@.*/@@;
          return "$_";
        }
        if (/^\~/ || -f || -d) {
          return "$_";
        }
        return $_;
      }
      
      sub include_ref {
        local($_) = @_;
        local($d);
      
        for $d (
      	"/usr/include",
      	"/usr/local/include",
      	"/usr/X11R6/include",
      	"/usr/X11/include",
      	"/usr/X/include",
      	"/usr/include/X11"
        ) {
          -f "$d/$_" && return "$_";
        }
        return $_;
      }
      
      sub keyword_ref {
        local($_, $s) = @_;
        local(@a) = ();
      
        for (split(/\s*,\s*/)) {
          push(@a, "$_");
        }
        return join(", ", @a) . $s;
      }
      
      sub html_quote {
        local($_) = @_;
        local(%QUOTE) = (
          '<', '<',
          '>', '>',
          '&', '&',
          '"', '"',
        );
        s/[<>&"]/$QUOTE{$&}/g;
        return $_;
      }
      
      sub form_decode {
        local($_) = @_;
        s/\+/ /g;
        s/%([\da-f][\da-f])/pack('c', hex($1))/egi;
        return $_;
      }
      
      w3m-0.5.3/scripts/.cvsignore0100644000175000000000000000022007733676601015223 0ustar  satodaiwheeldirlist.cgi
      w3mhelp.cgi
      w3mmail.cgi
      w3mhelp-funcdesc.en.pl
      w3mhelp-funcdesc.ja.pl
      w3mhelp-funcname.pl
      w3mhelp-funcdesc-stamp
      xface2xpm
      Makefile
      w3m-0.5.3/scripts/w3mhelp-funcdesc.en.pl.in0100644000175000000000000000273310027616121017725 0ustar  satodaiwheel# charset
      $charset = 'US-ASCII';
      
      # Buffer selection mode
      
      %buf_funcdesc = (
       'BUF:PREV', 'Select previous buffer',
       'BUF:NEXT', 'Select next buffer',
       'BUF:DELETE', 'Delete current buffer',
       'BUF:GO', 'Go to the selected buffer',
      );
      
      %lineedit_funcdesc = (
       'LINEEDIT:FORWARD', 'Move cursor forward',
       'LINEEDIT:BACK', 'Move cursor backward',
       'LINEEDIT:BS',  'Delete previous character',
       'LINEEDIT:DEL', 'Delete current character',
       'LINEEDIT:KILL_AFTER', 'Kill everything after cursor',
       'LINEEDIT:KILL_BEFORE', 'Kill everything before cursor',
       'LINEEDIT:TOP', 'Move to the top of line',
       'LINEEDIT:BOTTOM', 'Move to the bottom of line',
       'LINEEDIT:PREV', 'Fetch the previous string from the history list',
       'LINEEDIT:NEXT', 'Fetch the next string from the history list',
       'LINEEDIT:EDITOR', 'Edit with external editor',
       'LINEEDIT:COMPLETE', 'Complete filename',
       'LINEEDIT:ACCEPT', 'Accept',
      );
      
      %menu_funcdesc = (
       'MENU:SELECT', 'Select item',
       'MENU:CLOSE', 'Close menu',
       'MENU:CANCEL', 'Back',
       'MENU:DOWN', 'Move to next item',
       'MENU:UP', 'Move to previous item',
       'MENU:LINE_UP', 'Scroll up one item',
       'MENU:LINE_DOWN', 'Scroll down one item',
       'MENU:TOP', 'Go to top item',
       'MENU:LAST', 'Go to last item',
       'MENU:NEXT', 'Go to next page',
       'MENU:PREV', 'Go to previous page',
       'MENU:SEARCH_FORE', 'Search foreward',
       'MENU:SEARCH_BACK', 'Search backward',
       'MENU:SEARCH_NEXT', 'Search next regexp',
       'MENU:SEARCH_PREV', 'Search previous regexp',
       'MENU:SUSPEND', 'Suspend',
      );
      
      1;
      w3m-0.5.3/scripts/w3mhelp-funcdesc.ja.pl.in0100644000175000000000000000373110027616121017714 0ustar  satodaiwheel# charset
      $charset = 'EUC-JP';
      
      # Buffer selection mode
      
      %buf_funcdesc = (
       'BUF:PREV', '一つ上のバッファを選択',
       'BUF:NEXT', '一つ下のバッファを選択',
       'BUF:DELETE', '現在選択しているバッファを削除',
       'BUF:GO', '現在選択しているバッファを表示',
      );
      
      %lineedit_funcdesc = (
       'LINEEDIT:FORWARD', 'カーソルを右へ移動',
       'LINEEDIT:BACK', 'カーソルを左へ移動',
       'LINEEDIT:BS',  '前の文字を削除',
       'LINEEDIT:DEL', 'カーソル位置の文字を削除',
       'LINEEDIT:KILL_AFTER', 'カーソルの後方を全て削除',
       'LINEEDIT:KILL_BEFORE', 'カーソルの前までを全て削除',
       'LINEEDIT:TOP', '行頭に移動',
       'LINEEDIT:BOTTOM', '行末へ移動',
       'LINEEDIT:PREV', 'ヒストリから一つ前の文字列を取り出す',
       'LINEEDIT:NEXT', 'ヒストリから次の文字列を取り出す',
       'LINEEDIT:EDITOR', '外部エディタで編集',
       'LINEEDIT:COMPLETE', 'ファイル名の補完',
       'LINEEDIT:ACCEPT', '入力終了',
      );
      
      %menu_funcdesc = (
       'MENU:SELECT', '項目を選択',
       'MENU:CLOSE', 'メニューを閉じる',
       'MENU:CANCEL', '戻る',
       'MENU:DOWN', '一つ下の項目へ',
       'MENU:UP', '一つ上の項目へ',
       'MENU:LINE_UP', '項目を下にスクロール',
       'MENU:LINE_DOWN', '項目を上にスクロール',
       'MENU:TOP', '先頭の項目へ',
       'MENU:LAST', '最後の項目へ',
       'MENU:NEXT', '次ページの項目へ',
       'MENU:PREV', '前ページの項目へ',
       'MENU:SEARCH_FORE', '項目を下に向かって検索',
       'MENU:SEARCH_BACK', '項目を上に向かって検索',
       'MENU:SEARCH_NEXT', '次の項目を検索',
       'MENU:SEARCH_PREV', '前の項目を検索',
       'MENU:SUSPEND', 'サスペンド',
      );
      
      %title = (
       "Show keymap file", 'keymap ファイルを見る',
       "Page/Cursor motion", 'ページ/カーソル移動',
       "Hyperlink operation", 'ハイパーリンク操作',
       "File/Stream operation", 'ファイル/ストリーム操作',
       "Buffer operation", 'バッファ操作',
       "Tab operation", 'タブ操作',
       "Buffer selection mode", 'バッファ選択モード',
       "Bookmark operation", 'ブックマーク操作',
       "Search", '検索',
       "Dictionary look-up", '辞書検索',
       "Mark operation", 'マーク操作',
       "Miscellany", 'その他',
       "User defined keymaps", 'ユーザ定義',
       "Line-edit mode", '行編集モード',
       "Popup menu", 'メニュー',
      );
      
      1;
      w3m-0.5.3/scripts/w3mhelp-funcname.pl.in0100644000175000000000000000470307644313417017342 0ustar  satodaiwheel
      %buf_funcname = (
       'BUF:PREV', 'buffer_prev',
       'BUF:NEXT', 'buffer_next',
       'BUF:DELETE', 'buffer_delete',
       'BUF:GO', 'buffer_go',
      );
      
      %lineedit_funcname = (
       'LINEEDIT:FORWARD', 'lineedit_forward',
       'LINEEDIT:BACK', 'lineedit_back',
       'LINEEDIT:BS', 'lineedit_backspace',
       'LINEEDIT:DEL', 'lineedit_delete',
       'LINEEDIT:KILL_AFTER', 'lineedit_kill_after',
       'LINEEDIT:KILL_BEFORE', 'lineedit_kill_before',
       'LINEEDIT:TOP', 'lineedit_top',
       'LINEEDIT:BOTTOM', 'lineedit_bottom',
       'LINEEDIT:PREV', 'lineedit_prev',
       'LINEEDIT:NEXT', 'lineedit_next',
       'LINEEDIT:EDITOR', 'lineedit_editor',
       'LINEEDIT:COMPLETE', 'lineedit_complete',
       'LINEEDIT:ACCEPT', 'lineedit_accept',
      );
      
      %menu_funcname = (
       'MENU:SELECT', 'menu_select',
       'MENU:CLOSE', 'menu_close',
       'MENU:CANCEL', 'menu_cancel',
       'MENU:DOWN', 'menu_down',
       'MENU:UP', 'menu_up',
       'MENU:LINE_UP', 'menu_line_up',
       'MENU:LINE_DOWN', 'menu_line_down',
       'MENU:TOP', 'menu_top',
       'MENU:LAST', 'menu_last',
       'MENU:NEXT', 'menu_next',
       'MENU:PREV', 'menu_prev',
       'MENU:SEARCH_FORE', 'menu_search_fore',
       'MENU:SEARCH_BACK', 'menu_search_back',
       'MENU:SEARCH_NEXT', 'menu_search_next',
       'MENU:SEARCH_PREV', 'menu_search_prev',
       'MENU:SUSPEND', 'menu_suspend',
      );
      
      %buf_keyfunc = (
       'k', 'BUF:PREV',
       'C-p', 'BUF:PREV',
       'j', 'BUF:NEXT',
       'C-n', 'BUF:NEXT',
       'D', 'BUF:DELETE',
       'RET', 'BUF:GO'
      );
      
      %lineedit_keyfunc = (
       'C-f', 'LINEEDIT:FORWARD',
       'C-b', 'LINEEDIT:BACK',
       'C-h', 'LINEEDIT:BS',
       'C-d', 'LINEEDIT:DEL',
       'C-k', 'LINEEDIT:KILL_AFTER',
       'C-u', 'LINEEDIT:KILL_BEFORE',
       'C-a', 'LINEEDIT:TOP',
       'C-e', 'LINEEDIT:BOTTOM',
       'C-p', 'LINEEDIT:PREV',
       'C-n', 'LINEEDIT:NEXT',
       'C-o', 'LINEEDIT:EDITOR',
       'TAB', 'LINEEDIT:COMPLETE',
       'SPC', 'LINEEDIT:COMPLETE',
       'RET', 'LINEEDIT:ACCEPT'
      );
      
      %menu_keyfunc = (
       'RET', 'MENU:SELECT',
       'SPC', 'MENU:SELECT',
       'RIGHT', 'MENU:SELECT',
       '^[[28~', 'MENU:CLOSE',
       '^[[2~', 'MENU:CLOSE',
       'C-c', 'MENU:CLOSE',
       'C-h', 'MENU:CANCEL',
       'DEL', 'MENU:CANCEL',
       'LEFT', 'MENU:CANCEL',
       'C-n', 'MENU:DOWN',
       'j', 'MENU:DOWN',
       'DOWN', 'MENU:DOWN',
       'C-p', 'MENU:UP',
       'k', 'MENU:UP',
       'UP', 'MENU:UP',
       'K', 'MENU:LINE_UP',
       'J', 'MENU:LINE_DOWN',
       'C-a', 'MENU:TOP',
       'C-e', 'MENU:LAST',
       'C-f', 'MENU:NEXT',
       'C-v', 'MENU:NEXT',
       '^[[6~', 'MENU:NEXT',
       'C-b', 'MENU:PREV',
       'ESC-v', 'MENU:PREV',
       '^[[5~', 'MENU:PREV',
       'C-s', 'MENU:SEARCH_FORE',
       '/', 'MENU:SEARCH_FORE',
       'C-r', 'MENU:SEARCH_BACK',
       '?', 'MENU:SEARCH_BACK',
       'n', 'MENU:SEARCH_NEXT',
       'N', 'MENU:SEARCH_PREV',
       'C-z', 'MENU:SUSPEND',
      );
      
      1;
      w3m-0.5.3/scripts/w3mhelp.cgi.in0100644000175000000000000001747311510563324015676 0ustar  satodaiwheel#!@PERL@
      # $Id: w3mhelp.cgi.in,v 1.29 2007/05/29 11:50:24 inu Exp $
      
      if ( $^O =~ /^(ms)?(dos|win(32|nt)?)/i ) {
        $CYGPATH = 1;
      }
      
      $prefix = "@prefix@";
      $datarootdir = "@datarootdir@";
      $helpdir = "@HELP_DIR@";
      if ($CYGPATH) {
        $helpdir = &cygwin_pathconv($helpdir);
      }
      unshift(@INC, $helpdir);
      @docdirs = split(" ", "@DOCDIRS@");
      
      require "w3mhelp-funcname.pl";
      require "w3mhelp-funcdesc.en.pl";
      $lang = 'en';
      $charset = 'US-ASCII';
      
      %htmlesc = (
          '<', '<',
          '>', '>',
          '&', '&'
      );
      
      $RC_DIR = '@RC_DIR@';
      $RC_DIR =~ s/^~/$ENV{'HOME'}/;
      if ($CYGPATH) {
        $RC_DIR = &cygwin_pathconv("$RC_DIR");
      }
      $keymap = "$RC_DIR/keymap";
      $version = '*unknown*';
      if (defined($ENV{'QUERY_STRING'})) {
          print "QUERY_STRING=$ENV{'QUERY_STRING'}\n";
          if ($ENV{'QUERY_STRING'} =~ /(^|&)version=([^&]*)/) {
      	$version = $2;
      	$version =~ s/\+|%([0-9A-Fa-f][0-9A-Fa-f])/$& eq '+' ? ' ' : pack('C', hex($1))/ge;
      	$version =~ s/w3m\///;
          }
          if ($ENV{'QUERY_STRING'} =~ /(^|&)lang=([^&]*)/) {
      	local($tlang) = $2;
      	$tlang =~ s/\+|%([0-9A-Fa-f][0-9A-Fa-f])/$& eq '+' ? ' ' : pack('C', hex($1))/ge;
      	$tlang =~ tr/A-Z/a-z/;
      	if ($tlang !~ /^[a-z][a-z]$/) {
      	    $tlang = 'en';
      	}
      	# print "tlang=$tlang\n";
      	eval {require "w3mhelp-funcdesc.$tlang.pl";};
      	if (defined(%funcdesc)) {
      	    $lang = $tlang;
      	}
          }
      }
      
      %f = %keyfunc;
      %keyfunc = ();
      while (($key, $fname) = each %f) {
      	$key = &norm_key($key);
      	$keyfunc{$key} = $fname;
      }
      
      if (-f $keymap) {
          open(KEYMAP, "< $keymap") || die "cannot open keymap: $keymap, $!";
          &load_keymap(*KEYMAP, $func);
          close(KEYMAP);
      }
      
      local (%funckeydesc, $key, $fname, $desc);
      
      %funcname = (%funcname, %buf_funcname, %lineedit_funcname, %menu_funcname);
      
      %funcdesc = (%funcdesc, %buf_funcdesc, %lineedit_funcdesc, %menu_funcdesc);
      while (($fname, $desc) = each %funcdesc) {
          $funckeydesc{$funcname{$fname}} = "$fname\n$desc\n";
      }
      
      while (($key, $fname) = each %keyfunc) {
          $keydata{$key} && next;
          $funckeydesc{$funcname{$fname}} .= "$key,";
      }
      while (($key, $fname) = each %buf_keyfunc) {
          $funckeydesc{$funcname{$fname}} .= "$key,";
      }
      while (($key, $fname) = each %lineedit_keyfunc) {
          $funckeydesc{$funcname{$fname}} .= "$key,";
      }
      while (($key, $fname) = each %menu_keyfunc) {
          $funckeydesc{$funcname{$fname}} .= "$key,";
      }
      
      print <
      
      w3m help page
      
      
      
      ******* w3m (WWW-wo-Miru) Version $version by A.ITO ********
      ***** Key assign table *****
      HEADING $q_version = $version; $q_version =~ s/[^A-Za-z0-9_\$\.\-]/sprintf('%%%02X', ord($&))/ge; $script = "$d[2] version\n"; } } $keymap =~ s/[<>&]/$htmlesc{$&}/ge; $head = "Show keymap file"; if (defined($title{$head})) { $head = $title{$head}; $head =~ s/[<>&]/$htmlesc{$&}/ge; } print "

      $head\n"; &show_keymap("Page/Cursor motion", split(" ", "pgFore pgBack movR movL movD movU movR1 movL1 movD1 movU1 ldown1 lup1 shiftl shiftr col1L col1R linbeg linend ctrCsrH ctrCsrV goLine goLineF goLineL movRW movLW topA lastA nextA prevA movlistMn nextR nextL nextD nextU nextRD nextLU undoPos redoPos")); &show_keymap("Hyperlink operation", split(" ", "followA tabA svA followI svI submitForm curURL peekURL peekIMG pginfo curlno chkURL chkWORD chkNMID rFrame extbrz linkbrz linkLst listMn linkMn accessKey")); &show_keymap("File/Stream operation", split(" ", "goURL gorURL tabURL tabrURL ldfile readsh pipesh pipeBuf")); &show_keymap("Buffer operation", split(" ", "backBf nextBf prevBf selMn selBuf vwSrc svSrc svBuf editBf editScr reload reshape rdrwSc dispI stopI")); &show_keymap("Tab operation", split(" ", "newT closeT nextT prevT tabMn tabR tabL")); &show_keymap("Bookmark operation", split(" ", "ldBmark adBmark")); &show_keymap("Search", split(" ", "srchfor srchbak srchnxt srchprv isrchfor isrchbak")); &show_keymap("Dictionary look-up", split(" ", "dictword dictwordat")); &show_keymap("Mark operation", split(" ", "_mark nextMk prevMk reMark")); &show_keymap("Miscellany", split(" ", "mainMn ldhelp ldOpt dispVer cooLst ldHist ldDL docCSet defCSet msgs msToggle wrapToggle execCmd setAlarm setOpt setEnv defKey reinit execsh susp qquitfm quitfm")); &show_keymap_data("User defined keymaps"); print "
      \n


      \n"; &show_keymap("Buffer selection mode", split(" ", "buffer_next buffer_prev buffer_delete buffer_go")); print "
      \n
      \n"; &show_keymap("Line-edit mode", split(" ", "lineedit_forward lineedit_back lineedit_backspace lineedit_delete lineedit_kill_after lineedit_kill_before lineedit_top lineedit_bottom lineedit_prev lineedit_next lineedit_editor lineedit_complete lineedit_accept")); print "
      \n
      \n"; &show_keymap("Popup menu", split(" ", "menu_select menu_close menu_cancel menu_down menu_up menu_line_up menu_line_down menu_top menu_last menu_next menu_prev menu_search_fore menu_search_back menu_search_next menu_search_prev menu_suspend")); print < PAGE exit 0; sub load_keymap { local(*FH) = shift; local($func) = @_; while () { /^#/ && next; s/^\s*keymap\s+// || next; s/^(\"(\\\"|[^\"])+\"|\'(\\\'|[^\'])+\'|\S+)\s+(\S+)\s*// || next; ($key, $fname) = ($1, $4); $data = $_; $fname =~ tr/a-z/A-Z/; defined($funcdesc{$fname}) || next; $key =~ s/^["'](.*)["']$/$1/; $key = &norm_key($key); $keyfunc{$key} = $fname; if ($data) { $keydata{$key} = $data; } else { delete $keydata{$key}; } } } sub norm_key { local($_) = @_; s/(ESC|SPC|TAB|DEL|UP|DOWN|RIGHT|LEFT)/\U$1/i; s/\\(.)/$1/g; s/(^|\s+|-)\^(.)/${1}C-$2/g; s/(^|\s+|-)(C-\[|M-)/${1}ESC-/g; if (/^ESC-\[/) { /^ESC-\[A$/ && return "UP"; /^ESC-\[B$/ && return "DOWN"; /^ESC-\[C$/ && return "RIGHT"; /^ESC-\[D$/ && return "LEFT"; } s/(^|\s+|-)ESC-\[/$1\^\[\[/g; s/(^|\s+|-)ESC-\^(.)/${1}ESC-C-$2/g; s/(^|\s+|-)(ESC-)?C-[iI]/$1${2}TAB/g; s/(^|\s+|-)(ESC-)?C-\?/$1${2}DEL/g; return $_; } sub show_keymap { local($head, @list) = @_; local($fid); local($attr) = " WIDTH=140"; if (defined($title{$head})) { $head = $title{$head}; $head =~ s/[<>&]/$htmlesc{$&}/ge; } print <$head
  • PAGE foreach $fid (@list) { local ($name, $desc, $keys) = split("\n", $funckeydesc{$fid}, 3); $keys =~ s/,$//; $keys = '' if ($keys eq ''); $keys =~ s/[<>&]/$htmlesc{$&}/ge; if ($name =~ /:/) { $name = ""; } else { $name =~ s/[<>&]/$htmlesc{$&}/ge; $name = " ($name)"; } $desc =~ s/[<>&]/$htmlesc{$&}/ge; print <$keys
    $desc$name PAGE $attr = ""; } print "
    \n"; } sub show_keymap_data { local($head, @list) = @_; local($fid); local($attr) = " WIDTH=140"; if (defined($title{$head})) { $head = $title{$head}; $head =~ s/[<>&]/$htmlesc{$&}/ge; } print <$head PAGE foreach $keys (sort keys %keydata) { $keys =~ s/[<>&]/$htmlesc{$&}/ge; $name = $keyfunc{$keys}; $data = $keydata{$keys}; $name =~ s/[<>&]/$htmlesc{$&}/ge; $data =~ s/[<>&]/$htmlesc{$&}/ge; print <$keys
    $name$data PAGE $attr = ""; } print "
    \n"; } sub cygwin_pathconv { local($_) = @_; local(*CYGPATH); open(CYGPATH, '-|') || exec('cygpath', '-w', $_); $_ = ; close(CYGPATH); s/\r?\n$//; s!\\!/!g; s!/$!!; return $_; } w3m-0.5.3/scripts/w3mmail.cgi.in0100755000175000000000000002324510114653230015660 0ustar satodaiwheel#!@PERL@ $rcsid = q$Id: w3mmail.cgi.in,v 1.14 2004/08/30 16:32:24 ukai Exp $; ($id = $rcsid) =~ s/^.*,v ([\d\.]*).*/$1/; ($prog=$0) =~ s/.*\///; $query = $ENV{'QUERY_STRING'}; $cookie_file = $ENV{'LOCAL_COOKIE_FILE'}; $local_cookie = ''; $SENDMAIL = '/usr/lib/sendmail'; $SENDMAIL = '/usr/sbin/sendmail' if -x '/usr/sbin/sendmail'; $SENDMAIL_OPT = '-oi -t'; if (-f $cookie_file) { open(F, "< $cookie_file"); $local_cookie = ; close(F); } if ($query =~ s/^\w+://) { $url = $query; $qurl = &html_quote($url); $to = $query; $opt = ''; if ($to =~ /^([^?]*)\?(.*)$/) { $to = $1; $opt = $2; } $to = &url_unquote($to); %opt = &parse_opt($opt); @to = ($to); push(@to, $opt{'to'}) if ($opt{'to'}); $opt{'to'} = join(',', @to); if ($ENV{'REQUEST_METHOD'} eq 'POST') { sysread(STDIN, $body, $ENV{'CONTENT_LENGTH'}); $content_type = $ENV{'CONTENT_TYPE'}; if ($content_type =~ /^multipart\/form-data;\s+boundary=(.*)$/) { $boundary = $1; } } else { $body = $opt{'body'}; delete $opt{'body'}; } &lang_setup; print "Content-Type: text/html; charset=$charset\r\n"; print "w3m-control: END\r\n"; print "w3m-control: PREV_LINK\r\n"; print "\r\n"; print "W3M Mailer: $qurl\n"; print "

    W3M Mailer: $qurl

    \n"; print "
    \n"; $local_cookie = &html_quote($local_cookie); print "\n"; print "\n"; foreach $h ('from', 'to', 'cc', 'bcc', 'subject') { $v = &lang_html_quote($opt{$h}); print "
    \u$h:\n"; delete $opt{$h}; } if ($boundary) { $boundary = &html_quote($boundary); print "
    Content-Type:multipart/form-data; boundary=\"$boundary\"\n"; print "\n"; } foreach $h (keys %opt) { $qh = &html_quote($h); $v = &lang_html_quote($opt{$h}); print "
    \u$h:$v\n"; print "\n"; } print "
    \n"; print "\n"; print "
    \n"; print "\n"; print "
    \n"; print "\n"; exit(0); } else { sysread(STDIN, $req, $ENV{'CONTENT_LENGTH'}); %opt = &parse_opt($req); if ($local_cookie ne $opt{'cookie'}) { print "Content-Type: text/plain\r\n"; print "\r\n"; print "Local cookie doesn't match: It may be an illegal execution\n"; exit 1; } delete $opt{'cookie'}; $body = $opt{'body'}; delete $opt{'body'}; $act = $opt{'action'}; delete $opt{'action'}; $boundary = $opt{'boundary'}; delete $opt{'boundary'}; &lang_setup; if ($act eq "Preview") { print "Content-Type: text/html; charset=$charset\r\n"; print "w3m-control: DELETE_PREVBUF\r\n"; print "w3m-control: NEXT_LINK\r\n"; print "\r\n"; print "W3M Mailer\n"; print "\n"; print "

    W3M Mailer: preview

    \n"; print "
    \n"; $local_cookie = &html_quote($local_cookie); print "\n"; print "
    \n"; print "
    \n";
    	foreach $h (keys %opt) {
    	    $qh = &html_quote($h);
    	    $v{$h} = &lang_html_quote($opt{$h});
    	    if ($v{$h}) {
    		print "\u$qh: $v{$h}\n";
    	    }
    	}
    	($cs,$cte,$body) = &lang_body(&lang_html_quote($body), 0);
    	print "Mime-Version: 1.0\n";
    	if ($boundary) {
    	    $boundary = &html_quote($boundary);
    	    print "Content-Type: multipart/form-data;\n";
    	    print "    boundary=\"$boundary\"\n";
    	} else {
    	    print "Content-Type: text/plain; charset=$cs\n";
    	}
    #	print "Content-Transfer-Encoding: $cte\n";
    	print "User-Agent: ", &html_quote("$ENV{'SERVER_SOFTWARE'} $prog/$id"),
    		"\n";
    	print "\n";
    	print $body;
    	print "\n" if ($body !~ /\n$/);
    	print "
    \n"; print "\n"; print "
    \n"; print "\n"; foreach $h ('from', 'to', 'cc', 'bcc', 'subject') { print "
    \u$h:\n"; delete $opt{$h}; } if ($boundary) { print "
    Content-Type:Content-Type: multipart/form-data; boundary=\"$boundary\"\n"; print "\n"; } foreach $h (keys %opt) { $qh = &html_quote($h); print "
    \u$qh:$v{$h}\n"; print "\n"; } print "
    \n"; print "\n"; print "
    \n"; print "
    \n"; print "\n"; } else { # XXX: quote? # if ($opt{'from'}) { # $sendmail_fromopt = '-f' . $opt{'from'}; # } unless (open(MAIL, "|$SENDMAIL $SENDMAIL_OPT")) { print "Content-Type: text/html\r\n"; print "\r\n"; print "W3M Mailer\n"; print "

    W3M Mailer: open sendmail failed

    \n"; print "

    ", &html_quote($@), "

    \n"; print "\n"; exit(0); } foreach $h (keys %opt) { $v = &lang_header($opt{$h}); if ($v) { print MAIL "\u$h: $v\n"; } } ($cs,$cte,$body) = &lang_body($body, 1); $body =~ s/\r//g; print MAIL "Mime-Version: 1.0\n"; if ($boundary) { print MAIL "Content-Type: multipart/form-data;\n"; print MAIL " boundary=\"$boundary\"\n"; } else { print MAIL "Content-Type: text/plain; charset=$cs\n"; } print MAIL "Content-Transfer-Encoding: $cte\n"; print MAIL "User-Agent: $ENV{'SERVER_SOFTWARE'} $prog/$id\n"; print MAIL "\n"; print MAIL $body; if (close(MAIL)) { print "w3m-control: DELETE_PREVBUF\r\n"; print "w3m-control: BACK\r\n"; print "\r\n"; } else { print "Content-Type: text/html\r\n"; print "\r\n"; print "W3M Mailer\n"; print "

    W3M Mailer: close sendmail failed

    \n"; print "

    ", &html_quote($@), "

    \n"; print "\n"; } } } sub lang_setup { $lang = $ENV{'LC_ALL'} || $ENV{'LC_CTYPE'} || $ENV{'LANG'}; if ($lang =~ /^ja/i) { eval "use NKF;"; if (! $@) { $use_NKF = 1; } else { $use_NKF = 0; } $charset = "EUC-JP"; } else { $charset = &guess_charset($lang); } } sub lang_header { if ($lang =~ /^ja/i) { return &lang_header_ja(@_); } else { return &lang_header_default(@_); } } sub lang_body { if ($lang =~ /^ja/i) { return &lang_body_ja(@_); } else { return &lang_body_default(@_); } } sub lang_html_quote { local($_) = @_; if ($lang =~ /^ja/i) { if (/[\x80-\xFF]/ || /\033[\$\(][BJ@]/) { $_ = &conv_nkf("-e", $_); } } return &html_quote($_); } sub lang_header_default { local($h) = @_; if ($h =~ s/([=_?\x80-\xFF])/sprintf("=%02x", ord($1))/ge) { return "=?$charset?Q?$h?="; } else { return $h; } } sub lang_body_default { local($body, $_7bit) = @_; if ($body =~ /[\x80-\xFF]/) { if ($_7bit) { $body =~ s/([=\x80-\xFF])/sprintf("=%02x", ord($1))/ge; return ($charset, "quoted-printable", $body); } else { return ($charset, "8bit", $body); } } else { return ("US-ASCII", "7bit", $body); } } sub lang_header_ja { local($h) = @_; if ($h =~ /[\x80-\xFF]/ || $h =~ /\033[\$\(][BJ@]/) { $h = &conv_nkf("-j", $h); &conv_nkf("-M", $h); } else { return $h; } } sub lang_body_ja { local($body, $_7bit) = @_; if ($body =~ /[\x80-\xFF]/ || $body =~ /\033[\$\(][BJ@]/) { if ($_7bit) { $body = &conv_nkf("-j", $body); } return ("ISO-2022-JP", "7bit", $body); } else { return ("US-ASCII", "7bit", $body); } } sub conv_nkf { local(@opt) = @_; if ($use_NKF) { return nkf(@opt); } local($body) = pop(@opt); $body =~ s/\r+\n/\n/g; $| = 1; pipe(R, W2); pipe(R2, W); if (! fork()) { close(F); close(R); close(W); open(STDIN, "<&R2"); open(STDOUT, ">&W2"); exec "nkf", @opt; die; } close(R2); close(W2); print W $body; close(W); $body = ''; while() { $body .= $_; } close(R); return $body; }; sub parse_opt { local($opt) = @_; local(%opt) = (); if ($opt) { foreach $o (split('&', $opt)) { if ($o =~ /(\w+)=(.*)/) { $opt{"\L$1"} = &url_unquote($2); } } } return %opt; } sub html_quote { local($_) = @_; local(%QUOTE) = ( '<', '<', '>', '>', '&', '&', '"', '"', ); s/[<>&"]/$QUOTE{$&}/g; return $_; } sub url_unquote { local($_) = @_; s/\+|%([0-9A-Fa-f][0-9A-Fa-f])/$& eq '+' ? ' ' : pack('c', hex($1))/ge; return $_; } sub guess_charset { local(%lang_charset) = ( 'cs', 'iso-8859-2', 'el', 'iso-8859-7', 'iw', 'iso-8859-8', 'ja', 'EUC-JP', 'ko', 'EUC-KR', 'hu', 'iso-8859-2', 'pl', 'iso-8859-2', 'ro', 'iso-8859-2', 'ru', 'iso-8859-5', 'sk', 'iso-8859-2', 'sl', 'iso-8859-2', 'tr', 'iso-8859-9', 'zh', 'GB2312', ); local($_) = @_; local($lang); if (! s/\.(.*)$//) { if (/^zh_tw/i) { return 'Big5'; } /^(..)/; return $lang_charset{$1} || 'iso-8859-1'; } $lang = $_; $_ = $1; if (/^euc/i) { if (/^euc$/i) { $lang =~ /^zh_tw/ && return 'EUC-TW'; $lang =~ /^zh/ && return 'GB2312'; $lang =~ /^ko/ && return 'EUC-KR'; return 'EUC-JP'; } /^euccn/i && return 'GB2312'; s/[\-_]//g; s/^euc/EUC-/i; tr/a-z/A-Z/; } elsif (/^iso8859/i) { s/[\-_]//g; s/^iso8859/iso-8859-/i; } return $_; } w3m-0.5.3/scripts/xface2xbm.in0100644000175000000000000000000007566222115015415 0ustar satodaiwheelw3m-0.5.3/scripts/xface2xpm.in0100644000175000000000000000254107454577246015465 0ustar satodaiwheel#!@PERL@ $USAGE = "xface2xpm [-t] [-fg ] [-bg ] []"; # compface/uncompface # ftp://metalab.unc.edu/pub/Linux/apps/graphics/convert/ $UNCOMPFACE = "uncompface"; $T = "c"; $BG = "white"; $FG = "black"; while (@ARGV) { $_ = shift @ARGV; if (/^-h/) { &usage(0); } elsif (/^-t/) { $T = "s"; $BG = "none"; } elsif (/^-bg/) { @ARGV || &usage(1); $BG = shift @ARGV; } elsif (/^-fg/) { @ARGV || &usage(1); $FG = shift @ARGV; } elsif (/^-./) { &usage(1); } else { unshift(@ARGV, $_); last; } } $xf = ""; while(<>) { # s/^X-Face://i if ($xf eq ""); $xf .= $_; } pipe(R, W2); pipe(R2, W); if (! fork()) { close(R); close(W); open(STDIN, "<&R2"); open(STDOUT, ">&W2"); exec $UNCOMPFACE; exit 1; } close(R2); close(W2); print W $xf; close(W); while() { while(s/0x(..)(..)//) { push(@bm, hex($1), hex($2)); } } close(R); @bm || exit 1; $W = 48; $H = @bm * 8 / $W; # must be 48 print <> (8-$i)) & 1) ? "." : " "); } } print (@bm ? "\",\n" : "\"\n"); } print < w3mhelp-funcname.pl @sed -ne "/^[a-zA-Z@]/s/\([a-zA-Z@][a-zA-Z0-9@_]*\)[ ][ ]*\([^ ]*\)/'\1', '\2',/p" < ../funcname.tab >> w3mhelp-funcname.pl @echo ');' >> w3mhelp-funcname.pl @echo '%keyfunc = (' >> w3mhelp-funcname.pl @case "$(KEYBIND_SRC)" in *lynx*) keymap=keymap.lynx;; *) keymap=keymap.default;; esac; \ sed -ne "/^keymap/s/^keymap[ ][ ]*\([^ ]*\)[ ][ ]*\([a-zA-Z@][a-zA-Z0-9@_]*\)/'\1', '\2', /p" < $(top_srcdir)/doc/$$keymap >> w3mhelp-funcname.pl @echo ');' >> w3mhelp-funcname.pl @cat $(srcdir)/w3mhelp-funcname.pl.in >> w3mhelp-funcname.pl @echo "done" w3mhelp-funcdesc-stamp: $(top_srcdir)/doc/README.func $(top_srcdir)/doc-jp/README.func w3mhelp-funcdesc.en.pl.in w3mhelp-funcdesc.ja.pl.in @echo "generating w3mhelp-funcdesc*.pl..." @for dirlang in $(DOCDIRS); do \ dir=`expr "$$dirlang" : "\(.*\):.*"`; \ lang=`expr "$$dirlang" : ".*:\(.*\)_.*"`; \ echo '%funcdesc = (' > w3mhelp-funcdesc.$$lang.pl; \ sed -ne "/^[a-zA-Z@]/s/\([a-zA-Z@][a-zA-Z0-9@_]*\)[ ][ ]*\(.*\)/'\1', '\2',/p" < $(top_srcdir)/$$dir/README.func >> w3mhelp-funcdesc.$$lang.pl; \ echo ');' >> w3mhelp-funcdesc.$$lang.pl; \ cat $(srcdir)/w3mhelp-funcdesc.$$lang.pl.in >> w3mhelp-funcdesc.$$lang.pl; \ done @echo done @touch w3mhelp-funcdesc-stamp $(SUBDIRS): for subdir in $(SUBDIRS); \ do \ (cd $$subdir && $(MAKE)); \ done install: $(LIB_TARGETS) $(HELP_TARGETS) -$(MKDIR) $(DESTDIR)$(AUXBIN_DIR) -$(MKDIR) $(DESTDIR)$(CGIBIN_DIR) -$(MKDIR) $(DESTDIR)$(HELP_DIR) for file in $(AUXBIN_TARGETS); \ do \ $(INSTALL_SCRIPT) $$file $(DESTDIR)$(AUXBIN_DIR); \ done for file in $(LIB_TARGETS); \ do \ $(INSTALL_SCRIPT) $$file $(DESTDIR)$(CGIBIN_DIR); \ done for file in w3mhelp-*.pl; \ do \ $(INSTALL_DATA) $$file $(DESTDIR)$(HELP_DIR); \ done for subdir in $(SUBDIRS); \ do \ (cd $$subdir && $(MAKE) install); \ done uninstall: -for file in $(AUXBIN_TARGETS); \ do \ rm -f $(AUXBIN_DIR)/$$file; \ done -for file in $(LIB_TARGETS); \ do \ rm -f $(LIB_DIR)/$$file; \ done -for file in w3mhelp-*.pl; \ do \ rm -f $(HELP_DIR)/$$file; \ done -for subdir in $(SUBDIRS); \ do \ (cd $$subdir && $(MAKE) uninstall); \ done clean: -rm -f $(HELP_TARGETS) w3mhelp-*.pl -for subdir in $(SUBDIRS); \ do \ (cd $$subdir && $(MAKE) clean); \ done distclean: -rm -f $(LIB_TARGETS) $(AUXBIN_TARGETS) -for subdir in $(SUBDIRS); \ do \ (cd $$subdir && $(MAKE) distclean); \ done -rm -f Makefile w3m-0.5.3/scripts/dirlist.cgi.in0100755000175000000000000002523007620745551015775 0ustar satodaiwheel#!@PERL@ # # Directory list CGI by Hironori Sakamoto (hsaka@mth.biglobe.ne.jp) # if ( $^O =~ /^(ms)?(dos|win(32|nt)?)/i ) { $WIN32 = 1; $CYGPATH = 1; } elsif ( $^O =~ /cygwin|os2/i ) { $WIN32 = 1; $CYGPATH = 0; } else { $WIN32 = 0; $CYGPATH = 0; } $RC_DIR = '@RC_DIR@'; $RC_DIR =~ s@^~/@$ENV{'HOME'}/@; if ($CYGPATH) { $RC_DIR = &cygwin_pathconv("$RC_DIR"); } $CONFIG = "$RC_DIR/dirlist"; $CGI = $ENV{'SCRIPT_NAME'} || $0; $CGI = "file://" . &file_encode("$CGI"); $AFMT = '%s'; $NOW = time(); @OPT = &init_option($CONFIG); $query = $ENV{'QUERY_STRING'}; $dir = ''; $cmd = ''; $cookie = ''; $local_cookie = ''; foreach(split(/\&/, $query)) { if (s/^dir=//) { $dir = &form_decode($_); } } $body = undef; if ($ENV{'REQUEST_METHOD'} eq 'POST') { sysread(STDIN, $body, $ENV{'CONTENT_LENGTH'}); foreach(split(/\&/, $body)) { if (s/^dir=//) { $dir = &form_decode($_); } elsif (s/^opt(\d+)=//) { $OPT[$1] = $_; } elsif (s/^cmd=//) { $cmd = $_; } elsif (s/^cookie=//) { $cookie = &form_decode($_); } } } $cookie_file = $ENV{'LOCAL_COOKIE_FILE'}; if (-f $cookie_file) { open(F, "< $cookie_file"); $local_cookie = ; close(F); } if ($local_cookie eq '' || (defined($body) && $cookie ne $local_cookie)) { print < Directory list of $qdir $qdir: $! ! EOF exit 1; } print < Directory list of $qdir

    Directory list of $qdir

    EOF &print_form($qdir, @OPT); print < EOF $dir =~ s@/$@@; @sdirs = split('/', $dir); $_ = $sdirs[0]; if ($_ eq '') { $_ = '/'; } if ($TYPE eq $TYPE_TREE) { print <
    EOF
      $q = "$ROOT". &html_quote("$_");
      $e = "$ROOT" . &file_encode("$_");
      if ($dir =~ m@^$@) {
        $n = "\" name=\"current";
      } else {
        $n = '';
      }
      printf("$AFMT\n", "$e$n", "$q");
      $N = 0;
      $SKIPLINE = "";
    
      &left_dir('', @sdirs);
    
      print <
    
    
    $SKIPLINE
    EOF
    } else {
      print <
    EOF
    }
    
    &right_dir($dir);
    
    if ($TYPE eq $TYPE_TREE) {
      print <
    
    
    
    
    EOF
    } else {
      print <
    
    
    EOF
    }
    
    sub left_dir {
      local($pre, $dir, @sdirs) = @_;
      local($ok) = (@sdirs == 0);
      local(@cdirs) = ();
      local($_, $dir0, $d, $qdir, $q, $edir, $e);
    
      $dir0 = "$dir/";
      $dir = "$dir0";
      opendir(DIR, "$ROOT$dir") || return;
    
      foreach(sort readdir(DIR)) {
        -d "$ROOT$dir$_" || next;
        /^\.$/ && next;
        /^\.\.$/ && next;
        push(@cdirs, $_);
      }
      closedir(DIR);
    
      $qdir = "$ROOT" . &html_quote($dir);
      $edir = "$ROOT" . &file_encode($dir);
      while(@cdirs) {
        $_ = shift @cdirs;
        $q = &html_quote($_);
        $e = &file_encode($_);
        $N++;
        if (!$ok && $_ eq $sdirs[0]) {
          $d = $dir0 . shift @sdirs;
          if (!@sdirs) {
            $n = "\" name=\"current";
            $SKIPLINE = "\n" x $N;
          } else {
            $n = '';
          }
          printf("${pre}o-$AFMT\n", "$edir$e$n", "$q");
          &left_dir(@cdirs ? "$pre| " : "$pre  ", $d, @sdirs);
          $ok = 1;
        } else {
          printf("${pre}+-$AFMT\n", "$edir$e", $q);
        }
      }
    }
    
    sub right_dir {
      local($dir) = @_;
      local(@list);
      local($_, $qdir, $q, $edir, $e, $f, $max, @d, $type, $u, $g);
      local($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
            $atime,$mtime,$ctime,$blksize,$blocks);
      local(%sizes, %ctimes, %prints);
    
      $dir = "$dir/";
      opendir(DIR, "$ROOT$dir") || return;
    
      $qdir = "$ROOT" . &html_quote($dir);
      $edir = "$ROOT" . &file_encode($dir);
      if ($TYPE eq $TYPE_TREE) {
        print "$qdir\n";
      }
      @list = ();
      $max = 0;
      foreach(readdir(DIR)) {
        /^\.$/ && next;
    #    if ($TYPE eq $TYPE_TREE) {
    #      /^\.\.$/ && next;
    #    }
        $f = "$ROOT$dir$_";
        (($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
          $atime,$mtime,$ctime,$blksize,$blocks) = lstat($f)) || next;
        push(@list, $_);
        $sizes{$_} = $size;
        $ctimes{$_} = $ctime;
    
        if ($FORMAT eq $FORMAT_COLUMN)  {
          if (length($_) > $max) {
            $max = length($_);
          }
          next;
        }
        $type = &utype($mode);
        if ($FORMAT eq $FORMAT_SHORT)  {
          $prints{$_} = sprintf("%-6s ", "[$type]");
          next;
        }
        if ($type =~ /^[CB]/) {
          $size = sprintf("%3u, %3u", ($rdev >> 8) & 0xff, $rdev & 0xffff00ff);
        }
        if ($FORMAT eq $FORMAT_LONG) {
          $u = $USER{$uid} || ($USER{$uid} = getpwuid($uid) || $uid);
          $g = $GROUP{$gid} || ($GROUP{$gid} = getgrgid($gid) || $gid);
          $prints{$_} = sprintf( "%s %-8s %-8s %8s %s ",
    		&umode($mode), $u, $g, $size, &utime($ctime));
    #   } elsif ($FORMAT eq $FORMAT_STANDARD) {
        } else {
          $prints{$_} = sprintf("%-6s %8s %s ", "[$type]", $size, &utime($ctime));
        }
      }
      closedir(DIR);
      if ($SORT eq $SORT_SIZE) { 
        @list = sort { $sizes{$b} <=> $sizes{$a} || $a cmp $b } @list;
      } elsif ($SORT eq $SORT_TIME) { 
        @list = sort { $ctimes{$b} <=> $ctimes{$a} || $a cmp $b } @list;
      } else {
        @list = sort @list;
      }
      if ($FORMAT eq $FORMAT_COLUMN) {
        local($COLS, $l, $nr, $n);
        if ($TYPE eq $TYPE_TREE) {
          $COLS = 60;
        } else {
          $COLS = 80;
        }
        $l = int($COLS / ($max + 2)) || 1;
        $nr = int($#list / $l + 1);
        $n = 0;
        print "\n";
        foreach(@list) {
          $f = "$ROOT$dir$_";
          $q = &html_quote($_);
          $e = &file_encode($_);
          if ($n % $nr == 0) {
            print "\n";
          } else {
            print "
    \n"; } } print "
    "; } if (-d $f) { printf($AFMT, "$edir$e", "$q/"); } else { printf($AFMT, "$edir$e", $q); } $n++; if ($n % $nr == 0) { print "
    \n"; return; } foreach(@list) { $f = "$ROOT$dir$_"; $q = &html_quote($_); $e = &file_encode($_); print $prints{$_}; if (-d $f) { printf($AFMT, "$edir$e", "$q/"); } else { printf($AFMT, "$edir$e", $q); } if (-l $f) { print " -> ", &html_quote(readlink($f)); } print "\n"; } } sub init_option { local($config) = @_; $OPT_TYPE = 0; $OPT_FORMAT = 1; $OPT_SORT = 2; $TYPE_TREE = 't'; $TYPE_STANDARD = 'd'; $FORMAT_SHORT = 's'; $FORMAT_STANDARD = 'd'; $FORMAT_LONG = 'l'; $FORMAT_COLUMN = 'c'; $SORT_NAME = 'n'; $SORT_SIZE = 's'; $SORT_TIME = 't'; local(@opt) = ($TYPE_TREE, $FORMAT_STANDARD, $SORT_NAME); local($_); open(CONFIG, "< $config") || return @opt; while() { chop; s/^\s+//; tr/A-Z/a-z/; if (/^type\s+(\S)/i) { $opt[$OPT_TYPE] = $1; } elsif (/^format\s+(\S)/i) { $opt[$OPT_FORMAT] = $1 } elsif (/^sort\s+(\S)/i) { $opt[$OPT_SORT] = $1; } } close(CONFIG); return @opt; } sub update_option { local($config) = @_; open(CONFIG, "> $config") || return; print CONFIG <
    EOF foreach(0 .. 2) { print "\n"; } print "\n"; foreach(0 .. 2) { print "\n"; } print <
     $disc[$_]
    EOF } sub html_quote { local($_) = @_; local(%QUOTE) = ( '<', '<', '>', '>', '&', '&', '"', '"', ); s/[<>&"]/$QUOTE{$&}/g; return $_; } sub file_encode { local($_) = @_; s/[\000-\040\+:#?&%<>"\177-\377]/sprintf('%%%02X', unpack('C', $&))/eg; return $_; } sub form_decode { local($_) = @_; s/\+/ /g; s/%([\da-f][\da-f])/pack('C', hex($1))/egi; return $_; } sub cleanup { local($_) = @_; s@//+@/@g; s@/\./@/@g; while(m@/\.\./@) { s@^/(\.\./)+@/@; s@/[^/]+/\.\./@/@; } return $_; } sub utype { local($_) = @_; local(%T) = ( 0010000, 'PIPE', 0020000, 'CHR', 0040000, 'DIR', 0060000, 'BLK', 0100000, 'FILE', 0120000, 'LINK', 0140000, 'SOCK', ); return $T{($_ & 0170000)} || 'FILE'; } sub umode { local($_) = @_; local(%T) = ( 0010000, 'p', 0020000, 'c', 0040000, 'd', 0060000, 'b', 0100000, '-', 0120000, 'l', 0140000, 's', ); return ($T{($_ & 0170000)} || '-') . (($_ & 00400) ? 'r' : '-') . (($_ & 00200) ? 'w' : '-') . (($_ & 04000) ? 's' : (($_ & 00100) ? 'x' : '-')) . (($_ & 00040) ? 'r' : '-') . (($_ & 00020) ? 'w' : '-') . (($_ & 02000) ? 's' : (($_ & 00010) ? 'x' : '-')) . (($_ & 00004) ? 'r' : '-') . (($_ & 00002) ? 'w' : '-') . (($_ & 01000) ? 't' : (($_ & 00001) ? 'x' : '-')); } sub utime { local($_) = @_; local(@MON) = ( 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' ); local($sec,$min,$hour,$mday,$mon, $year,$wday,$yday,$isdst) = localtime($_); if ($_ > $NOW - 182*24*60*60 && $_ < $NOW + 183*24*60*60) { return sprintf("%3s %2d %.2d:%.2d", $MON[$mon], $mday, $hour, $min); } else { return sprintf("%3s %2d %5d", $MON[$mon], $mday, 1900+$year); } } sub cygwin_pathconv { local($_) = @_; local(*CYGPATH); open(CYGPATH, '-|') || exec('cygpath', '-w', $_); $_ = ; close(CYGPATH); s/\r?\n$//; s!\\!/!g; s!/$!!; return $_; } w3m-0.5.3/doc-jp/0040755000175000000000000000000011514207344012703 5ustar satodaiwheelw3m-0.5.3/doc-jp/CVS/0040755000175000000000000000000011514251125013332 5ustar satodaiwheelw3m-0.5.3/doc-jp/CVS/Root0100644000175000000000000000005610436007510014175 0ustar satodaiwheel:ext:inu@w3m.cvs.sourceforge.net:/cvsroot/w3m w3m-0.5.3/doc-jp/CVS/Repository0100644000175000000000000000001310436007510015422 0ustar satodaiwheelw3m/doc-jp w3m-0.5.3/doc-jp/CVS/Entries0100644000175000000000000000213111514251125014660 0ustar satodaiwheel/FAQ.html/1.9/Sat Apr 8 11:26:23 2006// /HISTORY/1.1.1.1/Thu Nov 8 05:16:27 2001// /README.SSL/1.4/Tue May 13 17:17:54 2003// /README.cygwin/1.4/Sun Feb 23 16:00:17 2003// /README.dict/1.4/Wed Apr 24 18:46:48 2002// /README.func/1.22/Mon Sep 22 21:02:23 2003// /README.keymap/1.1.1.1/Thu Nov 8 05:16:34 2001// /README.mailcap/1.2/Fri Nov 9 04:59:18 2001// /README.menu/1.2/Wed Nov 27 16:28:37 2002// /README.migemo/1.2/Tue May 13 17:17:54 2003// /README.mouse/1.1/Mon Nov 25 17:23:47 2002// /README.pre_form/1.3/Mon May 12 16:24:53 2003// /README.tab/1.1/Tue Nov 5 17:24:48 2002// /STORY.html/1.3/Tue May 13 17:17:54 2003// /keymap.lynx/1.4/Fri Dec 13 03:02:04 2002// /menu.default/1.4/Fri Apr 7 15:22:07 2006// /menu.submenu/1.3/Fri Apr 7 15:22:07 2006// /keymap.default/1.8/Sat Jun 10 09:52:18 2006// /MANUAL.html/1.9/Tue Jan 4 09:22:24 2011// /README.img/1.7/Tue Jan 4 09:22:24 2011// /README.m17n/1.3/Tue Jan 4 09:22:24 2011// /README.passwd/1.1/Tue Aug 3 10:02:16 2010// /w3m.1/1.7/Tue Jan 4 09:22:24 2011// /README.cookie/1.4/Sat Jan 15 01:57:39 2011// /README/1.26/Sat Jan 15 02:17:10 2011// D w3m-0.5.3/doc-jp/FAQ.html0100644000175000000000000001720410415716737014213 0ustar satodaiwheel W3M FAQ

    w3mに関して良く聞かれる(であろう)質問とその答え

    伊藤 彰則
    aito@fw.ipsj.or.jp

    一般的なこと,入手方法,動作環境

    ``w3m''は何と読むのですか?
    「だぶりゅーさんえむ」または「だぶりゅーすりーえむ」です. ``w3m''と書いてプテラノドンと読んだりはしません.

    どうして``w3m''という名前なの?
    WWW-wo-Miru(WWWを見る)から付けました.

    どういう環境で動くの?
    一般的なUNIXで動きます.最新版またはそれに近いバージョンで動作が確認されているのは,
    SunOS 4.1.x
    HP-UX 9.x, 10.x
    Solaris 2.5.x, 2.6, 8, 9
    Linux 2.0.*/2.2.*/2.4.*
    FreeBSD 2.2.8, 3.1, 3.2, 4.6
    NetBSD/macppc, m68k
    EWS4800 Rel.12.2 Rev.A
    Digital UNIX: v3.2D, v4.0D
    IRIX 5.3, IRIX 6.5
    OS/2 with emx
    Windows 9x/NT with Cygwin b20.1, 1.1.x, 1.3.x
    MS-DOS with DJGPP and WATT32 packet driver
    MacOS X Server
    MacOS X 10.1, 10.2
    
    などです.その他のものでも,メジャーなUNIXシステムなら動くでしょう.

    version 990226 から,OS/2 で動くようです.

    version 990303 から,Windows+cygwin32 で動くようになりました.

    Windows 9x/NT では動かないの?
    Cygwinを使えば動きます.

    w3mに関する情報はどこから手に入るの?
    http://w3m.sourceforge.net/に w3m のページ があります.

    最新版はどこから手に入るの?
    http://prdownloads.sourceforge.net/w3m/から手に入ります.

    w3m に関するMLはありませんか?
    開発者向けML(w3m-dev(日本語)とw3m-dev-en(英語))があります。詳しくは w3m のページ をご覧ください。開発関連以外で 何か言いたいことがある場合には,作者に 直接メールするか,あるいは w3m BBSに書いてください.

    バイナリ配布はしないの?
    いくつかのプラットフォームについて,w3mのバイナリ配布をやって くださっているサイトがあります.詳しくは w3mのページをごらんください.

    コンパイルとインストール

    特に問題なし :-)

    オプション,コマンド,使いかた

    w3m と入力したら,何も表示せずに終わっちゃいました.何が悪いの?
    w3m はページャです.ですから,何も指定しないで起動すれば そのまま終了します.何か表示させたい場合には,
    1. 引数にファイル名かURLを書く.
    2. 標準入力に何か入れてあげる.
    3. -B オプション(ブックマーク表示)をつける.
    4. 環境変数 HTTP_HOME か WWW_HOME に,見たいページのURLを入れておく.
    のどれかをやってください.

    w3mを起動したら,画面が真っ黒になってしまいました.どうして?
    w3mをカラー表示の設定でコンパイルすると,最初は背景色が白で 文字色が黒の設定になります.そのため,ふだん背景を黒にしている状態で w3mを起動すると,字が見えなくなります.

    こういう場合は,次のようにして色を設定します.

    • w3m -M で w3m を起動し,白黒モードで表示する.
    • "o" コマンドでオプション設定画面にする.
    • カラー表示モードをONにし,適当な文字色を選んで, [OK]を選択する.

    カラー表示をさせるにはどうするの?
    コンパイル時に,configure のオプションに --disable-color を指定しな ければカラー表示ができるようになります。

    白黒で表示したいんだけど?
    方法は3つあります.
    1. 上記の質問に 1 と答えてコンパイルする.
    2. -M オプションをつけて起動する.
    3. "o" コマンドでオプション設定パネルを起動し,カラー表示をOFFにする.

    画面をはみ出した部分を見るには?
    カーソルを画面の端に移動させれば,それに合わせて画面全体がずれます. また,">"と"<"で画面全体をずらすことができます.

    カーソル移動がわずらわしい.
    TABで次のアンカーに移動するので,Lynxと似た感覚で使えるでしょう. また,C-uおよびESC TABで前のアンカーに戻ります.

    Netscapeでは赤い文字になっている部分が,w3m では黒いまま.なぜ?
    w3mは,<FONT COLOR="..">による文字の色指定には対応していません. 対応は不可能ではないですが,文字の色が背景と同じになったりして見づらく なるのがオチなので,あまり対応する気になりません.

    アンカー/画像/formの色を変えるには?
    990309版から,オプションで切りかえられるようになりました."o" コマンド で設定パネルを表示させ,好きな色を選んでください.字の表示色が背景と同じに なって何も見えないという場合には,-M オプションで白黒表示にしてから設定を するとよいでしょう.

    環境変数 EDITOR を設定したけど,効かないのはなぜ?
    "o"コマンドでオプションを表示させてみてください. エディタの項目に何か書いてあれば,それが優先されます. 環境変数を効かせたい場合は,この欄を空白にしてオプションを 更新してください.

    サーチやURL入力を途中でやめるには?
    C-c で戻ります.

    WWWを使う場合の質問

    formに入力するにはどうするの?
    formの部分は,画面上で赤(または反転)で表示されていますので, そこにカーソルを持っていってリターンを押します.すると,
    • text の場合は,画面最下行で入力待ちになりますので,文字を入力します.
    • radio, checkbox の場合は,その項目が選ばれます.
    • textarea の場合は,エディタが起動しますので,文章を入力します. このとき,必ず表示用漢字コードと同じ漢字コードでファイルを保存してください.
    • submit, reset の場合は,formの内容を送信/クリアします.
    文書の表示が遅いんだけど?
    w3mはHTML文書を2パスで整形するので,文書全体を読みこまないと 表示ができません.Netscapeなどは文書を読みながら表示するので, 表示が速いように思えるのでしょう.

    一度読んだ文書を2度目に読んだときに,読みこみが速くならないんだけど?
    他の多くのブラウザと違い,w3mはキャッシュを持っていません. そのため,文書を読むたびにWWWサーバから文書を転送します.もし可能なら, キャッシュサーバを利用すると快適です.設定はプロキシの設定と同じです.

    リンク先のファイルを直接保存する方法はないの?
    'a' (Lynx 風キーバインドの場合は 'd') または ESC RETでリンク先の文書を 保存します.画像を保存する場合は ESC I です.

    プロキシの設定はどうするの?
    環境変数 HTTP_proxy を設定するか,"o" コマンドのオプション設定パネル で設定します.例えば proxy.hogege.com というホストの 8000番ポートを 利用する場合,

        http://proxy.hogege.com:8000/
    

    と設定します.

    外部ブラウザを起動すると,w3mが固まってしまいます. 何とかなりませんか?
    "o"コマンドで設定パネルを表示し,外部ブラウザの項目に,例えば

        netscape %s &
    

    のように入力します.この場合,%s の部分が URL に置きかわってブラウザが起動し ます.

    画像のビューアを変えたいんだけど,どうするの?
    初期設定では画像を見るのに xv を使うようになっていますが,これを 例えば display に変える場合は,~/.w3m/mailcap または /etc/mailcap に次のよ うな記述を入れます.

    image/*; display %s
    

    同じように,他のタイプのデータを処理するプログラムを指定することも できます.

    image/*;                     display %s
    application/postscript;      ghostview %s
    application/x-dvi;           xdvi %s
    

    その他

    設定ファイルはどこにあるの?
    ~/.w3m ディレクトリの下の config です. オプション設定パネルで変更できると記述されているオプションの値を このファイルで変更すると,w3m の挙動を調整できます. オプションの名前と値を空白で区切ったものを 1 行に 1 組ずつ書いて設定します.

    ~/.w3m の下に w3mXXXXXX のようなファイルがたくさんあるけど,何?
    WWWサーバからファイルを読んでいるときに,それを一時的に保存する ファイルです.いわゆるキャッシュファイルではありません. w3m を終了すれば消去されるはずですが,w3mが異常終了した場合には残る ことがあります.そういう場合は手で消してください.

    w3m-0.5.3/doc-jp/HISTORY0100644000175000000000000045263307372412453014007 0ustar satodaiwheel2001/3/23 ============================================================== From: Hironori Sakamoto Subject: [w3m-dev 01807] Re: w3m-0.2.0 * url.c が USE_NNTP や __EMX__ でコンパイルできない。 * EWS4800 用の patch (間に合いませんでしたね。坂根さん) * ssl_forbid_method がらみで #define USE_SSL で #undef USE_SSL_VERIFY の場合の処理。(rc.c と url.c) # hsaka24 でアナウンスせずに修正を入れてしまったのが問題でしたね。 # すみません。 * rc.c に一部 ISO-2022-JP があるものを修正。 # 添付の patch であたるかどうか… * saveBufferDelNum で del==TRUE の時、":" 以前が2回削除される。 * main.c の URL履歴を保存する位置の修正。 # これも hsaka24 でアナウンスせずに修正を入れてました。 From: TSUCHIYA Masatoshi Subject: [w3m-dev 01810] deflate (was: w3m-0.2.0) 0.2.0 には Content-encoding: deflate に対応するためのパッチ [w3m-dev 01684] も含まれているようですが、これだけでは http://cvs.m17n.org/~akr/diary/ は閲覧できませんでした。 From: Fumitoshi UKAI Subject: [w3m-dev 01808] Re: w3m-0.2.0 GNU/Linux で glibc 2.2系だと sin.ss_len がないので IPv6 でコンパイルできません。 From: Hironori Sakamoto Subject: [w3m-dev-en 00399] Re: w3m-0.2.0 >> From: Dan Fandrich >> Version 0.2.0 still contains the following bugs which I fixed two months >> ago and sent patches for to this list, namely: >> - core dumps on startup if given a URL requiring a needsterminal mailcap >> handler >> - destroys most of an existing ~/.mailcap file without warning when editing >> - mailcap handling is still wrong as MIME type should be case insensitive >> - private mailcap extension has an illegal name From: SATO Seichi Subject: w3mの正規表現検索におけるバグ 検索文字列として $* を渡すと Segmentation fault が 発生するようです。(全然無意味な文字列なんですが) 2001/3/22 ============================================================== From: Hironori Sakamoto Subject: [w3m-dev 01664] Re: Patch for anonymizer.com HTTP(HTTPS)の場合に URL が  http:///: ... となっていれば cleanupName() を呼ばない様にしてみました。 From: Hironori Sakamoto Subject: [w3m-dev 01670] Re: w3m-0.1.11-pre-kokb24-test1 Str.c の strcpy/strncpy を bcopy or memcpy にする件ですが、 bcopy 系と memcpy 系を統一するのは後にするとしても、とりあえず全て bcopy に置き換えた方がいいと思います。 ついでに、saveBufferDelNum で一部 '\0' が扱えなくなっているバグの修正です。 From: TSUCHIYA Masatoshi Subject: [w3m-dev 01618] backend patch Subject: [w3m-dev 01671] backend patch for w3m-0.1.11-pre-kokb24-test1 w3m を対話的なクライアントとして働く機能を追加するパッチです。 From: hsaka@mth.biglobe.ne.jp (Hironori Sakamoto) Subject: [w3m-dev 01673] SEGV in append_frame_info() >w3m/0.1.11-pre-kokb23-m17n-0.8 を使っていますが、Der Angriff のトップページ ( >http://i.am/goebbels/)で、ページの情報を見ようと「=」キーを押したら、 >Segmentation Fault してしまいました。 との指摘がありました。m17n 版に限らないので、とりあえず対処しておきます。 From: hsaka@mth.biglobe.ne.jp (Hironori Sakamoto) Subject: [w3m-dev 01674] image map > AREAで作ったクライアントサイドイメージマップのhrefが"#test"のような場合に、 > ジャンプ出来ません。 > Image map links の画面では、URLだけでなく、altやtitleも表示した方が良いと > 思います。 との指摘がありましたので修正/対応してみました。ただし、 * #undef MENU_MAP の場合、#label のみであっても reload になる。 別のバッファからの呼び出しなので、こうしないとちょっと難しいです。 なお、内部で作成したバッファからの呼び出しは全てそうなる様にしました。 バッファを作らない #define MENU_MAP の方がいいかと思います。 * 追加した属性は alt のみ (title って何?) MapList 構造体を変えた方が良いようにも思いましたが、面倒なので止めました。 となってます。 From: hsaka@mth.biglobe.ne.jp (Hironori Sakamoto) Subject: [w3m-dev 01675] goto label GOTO や #define MENU_MAP の場合のイメージマップ で #label のみの URL が指定された場合に reload しない様にしました。 それから、[w3m-dev 01101] space in URL で追加された処理を goURL() に移し ました。ただし、inputLineHist() で URL を入力する場合、空白文字は ^V を 使わないと入力できないので必要ないとも思います。そういうこともあって 後ろの空白の処理は外しました。 From: Tsutomu Okada Subject: [w3m-dev 01676] Re: w3m-0.1.11-pre-kokb24-test1 Subject: [w3m-dev 01678] Re: w3m-0.1.11-pre-kokb24-test1 須藤さんの [w3m-dev 01627] のパッチのうち、GC_warn 関連と細かなソース の修正は当てておいたほうがいいように思います。 From: Hironori Sakamoto Subject: [w3m-dev 01680] Re: w3m-0.1.11-pre-kokb24-test1 >> 岡田です。 >> 私の環境では、-pedantic によって >> warning: ANSI forbids assignment between function pointer and `void *' >> warning: pointer targets in initialization differ in signedness う、ごめんなさい。私ですね。墓穴を掘ってしまった... >> warning: overflow in implicit constant conmplicit con version >> warning: pointer targets in passing arg 2 of `Strcat_charp_n' differ in signedness >> という警告が出ましたが、これらも修正すべきでしょうか? 修正するにこしたことはないので patch を出します。 From: Hironori Sakamoto Subject: [w3m-dev 01684] Re: http://cvs.m17n.org/~akr/diary/ application/x-deflate 対応. From: Moritz Barsnick Subject: [w3m-dev-en 00318] Information about current page Subject: [w3m-dev-en 00320] Re: Information about current page Subject: [w3m-dev-en 00322] Re: Information about current page Subject: [w3m-dev-en 00323] Buglet (Was: Re: Information about current page) Changes 'URL of the current anchor' on the info page into 'full' URL. When the cursor is on a form element, `Method/type of current form' will be displayed. From: c603273@vus069.trl.telstra.com.au (Brian Keck) Subject: [w3m-dev-en 00343] patch for proxy user:passwd on command line Subject: [w3m-dev-en 00351] Re: patch for proxy user:passwd on command line This patch to w3m-0.1.11-pre-kokb23 adds the lynx-like option -pauth username:password so I don't have to retype username & password every time I run w3m, which is often. It's so simple I wonder whether it's against policy, but it would be nice for me & some others if it was in the official 0.1.11. From: Hironori Sakamoto Subject: [w3m-dev 01772] Re: visited anchor Subject: [w3m-dev 01773] Re: visited anchor * visited anhor color。 * textlist ベースの history。hash 化された (URL) history。 * #undef KANJI_SYMBOLS の場合の rule の実装の変更。 From: Hironori Sakamoto Subject: [w3m-dev 01786] Re: w3m-0.1.11-pre-hsaka24 Subject: [w3m-dev 01787] Re: w3m-0.1.11-pre-hsaka24 >> 1. http://www.tomoya.com/ で、 の文書を表示させ(フレームの自 >> 動表示が ON なら、F を押す)、MAIN のフレームを表示させようとすると、 >> main.c:2082 の Sprintf で落ちる(gotoLabel を label=0x0 で呼びだしてい >> る)。 [w3m-dev 01675] の致命的なバグ。すみません。 >> 2. 掲示板α http://133.5.222.232/keijiban/index.htm を表示させようとす >> ると、frame.c:668 の strcasecmp で落ちる こっちは前々から。 From: Hironori Sakamoto Subject: [w3m-dev 01788] Re: w3m-0.1.11-pre-hsaka24 w3m-0.1.11-pre-hsaka24 のバグ修正です。 From: Hironori Sakamoto Subject: [w3m-dev 01792] Re: w3m-0.1.11-pre-hsaka24 >> 全然別件なのですが、useVisitedColor が TRUE のとき >> http://www.kusastro.kyoto-u.ac.jp/%7Ebaba/wais/other-system.html にお >> いて、最後の画面の表示が 1〜2 秒ほど待たされます。具体的には、goLineL retrieveAnchor() が linear search だったのが原因でした。 binary search に変えてみました。どうでしょう。 From: hsaka@mth.biglobe.ne.jp (Hironori Sakamoto) Subject: [w3m-dev 01793]
  • タグの type 属性ですが、その
  • にのみ有効なのではなくて、
        での指定を上書きする(以降の
      • にも有効となる)様 ですので修正しました。 From: hsaka@mth.biglobe.ne.jp (Hironori Sakamoto) Subject: [w3m-dev 01801] some fixes. frame を表示していて、2重に出力されている部分がありました。 その修正です。 Subject: IPv6 support for w3m's ftp From: Hajimu UMEMOTO w3m の HTTP は IPv6 対応されているのですが、残念ながら FTP 機能の方 は IPv6 対応していません。FTP 機能に対する IPv6 対応パッチを作成しまし たので、非公式パッチに含めて頂けないでしょうか? 2001/3/16 ================================================================== From: hsaka@mth.biglobe.ne.jp (Hironori Sakamoto) Subject: [w3m-dev 01711] Authorization ・http://user:pass@hostname/ に対応. From: hsaka@mth.biglobe.ne.jp Subject: [w3m-dev 01724] buf->type when mailcap is used. mailcap を使った場合(copiousoutput, htmloutput) にも、 buf->type を設定する様にしました。 'v', 'E' を使いたいのと、m17n の方でバッファが text/html だという 情報が必要な箇所があるので。 From: hsaka@mth.biglobe.ne.jp (Hironori Sakamoto) Subject: [w3m-dev 01726] anchor jump too slow by TAB-key on STDIN. 標準入力からHTMLを読んでいる場合, リンク先の URL が相対 path 指定だったりすると、常に、currentdir() が 呼ばれているために速度が低下していました. そこで立ち上げた時点で一度 カレントディレクトリを設定する様にしました。 ついでに標準入力からの場合の変な URL "file:///-" を "-" だけにしました。 From: sakane@d4.bsd.nes.nec.co.jp (Yoshinobu Sakane) Subject: [w3m-dev 01727] C-z when stdin % cat main.c | w3m して、C-z した際にシェルプロンプトに戻らない件に対するパッチ です。 From: Hironori Sakamoto Subject: [w3m-dev 01729] ignore_null_img_alt ignore_null_img_alt が OFF だと、 という ALT 属性が 無い場合でも何も表示しなくなっていたので修正しました。 それから、 の様な指定の場合に、
        で置き換えると、width 属性が無視され改行が入ってしまうのが いまいちなので
        と同様の処理を入れる様にしました。 From: Hironori Sakamoto Subject: [w3m-dev 01730] Re:
        in a table
        の改良. From: Hironori Sakamoto Subject: [w3m-dev 01731] completion list 最下行入力でのファイル名の補完時に ----- Completion list ----- X11R6/ compat/ include/ libdata/ local/ nfs/ ports/ share/ bin/ games/ lib/ libexec/ mdec/ obj/ sbin/ src/ (Load)Filename? /usr/ の様に表示させるための patch です。 From: Kiyokazu SUTO Subject: [w3m-dev 01733] A patch concerning SSL SSLを使う時に 1. 使わないメソッドを指定するオプション「ssl_forbid_method」を追加する、 2. 接続確立に失敗したときにエラーメッセージを表示する、 From: Kiyokazu SUTO Subject: [w3m-dev 01735] Re: A patch concerning SSL Subject: [w3m-dev 01737] Re: A patch concerning SSL 1. ssl_forbid_methodの「データ型」をP_STRINGからP_SSLPATHに変えて、起 動後のオプション設定パネルによる変更でもSSL接続に使われるメソッドの 選択に反映されるようにした、 2. 各種エラーメッセージをある程度取っておいて後で見れるようにした(mule 2.3 base on emacs 19.34の機能のパクリ、他のemacsenにあるかは知らず)、 From: sakane@d4.bsd.nes.nec.co.jp (Yoshinobu Sakane) Subject: [w3m-dev 01738] [w3m-doc] w3m document maintenance w3m連絡帳(http://mi.med.tohoku.ac.jp/~satodai/w3m/bbs/spool/log.html) にも書きましたが、懸案であったw3mのドキュメント整備を始めた いと思います。 From: kiwamu Subject: [w3m-dev 01739] ホイールマウス対応 patch w3mをホイールマウス対応させてみました。 rxvtとxtermで使用できます。 ktermだとホイールの上下が同じコントロールコードを返してしまうので 実現不可能みたいです。 From: Fumitoshi UKAI Subject: [w3m-dev 01742] w3mmee 0.1.11p16-6 segfault w3mmee 0.1.11p16-6 ですが、mime.types の内容によっては segfault します。 # 空行があるとダメ From: Hironori Sakamoto Subject: [w3m-dev 01752] SEGV in search_param() > >> ・w3m -o 1 等で SEGV します。 > search_param() で size_t が unsigned のため i = 0 のとき > e = 4294967295 になってしまっているようです。 From: Hironori Sakamoto Subject: [w3m-dev 01753] empty 〜 に