[w3m-dev 03625] keymap key SEARCH string

* main.c (srch): accept command argument
	(reMark): accept command argument
* Bonus/google.cgi: added
From: Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
This commit is contained in:
Fumitoshi UKAI
2003-01-10 16:23:52 +00:00
parent 329cc01d50
commit b003a875e2
3 changed files with 53 additions and 12 deletions

25
Bonus/google.cgi Executable file
View File

@@ -0,0 +1,25 @@
#!/usr/bin/perl
# ~/.w3m/urimethodmap
# g: file:/cgi-bin/google.cgi?%s
# google: file:/cgi-bin/google.cgi?%s
$url = "http://www.google.com/";
$_ = $ENV{"QUERY_STRING"};
s@^g(oogle)?:@@ && s@^//@@ && s@/$@@;
if ($_) {
s/\+/ /g;
s/%([\da-f][\da-f])/pack('C', hex($1))/egi;
s/[\000-\040\+:#?&%<>"\177-\377]/sprintf('%%%02X', unpack('C', $&))/eg;
$url .= "search?q=$_&hl=ja&lr=lang_ja&ie=EUC-JP";
} else {
$input = "w3m-control: GOTO_LINK";
}
print <<EOF;
w3m-control: GOTO $url
w3m-control: DELETE_PREVBUF
w3m-control: SEARCH \\[
w3m-control: MOVE_RIGHT
${input}
EOF

View File

@@ -1,3 +1,10 @@
2003-01-11 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
* [w3m-dev 03625] keymap key SEARCH string
* main.c (srch): accept command argument
(reMark): accept command argument
* Bonus/google.cgi: added
2003-01-11 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
* [w3m-dev 03622] Re: Error occured while reset
@@ -6268,4 +6275,4 @@ a * [w3m-dev 03276] compile error on EWS4800
* release-0-2-1
* import w3m-0.2.1
$Id: ChangeLog,v 1.663 2003/01/10 16:16:44 ukai Exp $
$Id: ChangeLog,v 1.664 2003/01/10 16:23:52 ukai Exp $

31
main.c
View File

@@ -1,4 +1,4 @@
/* $Id: main.c,v 1.187 2003/01/10 16:08:23 ukai Exp $ */
/* $Id: main.c,v 1.188 2003/01/10 16:23:59 ukai Exp $ */
#define MAINPROGRAM
#include "fm.h"
#include <signal.h>
@@ -1651,19 +1651,25 @@ srch(int (*func) (Buffer *, char *), char *prompt)
{
char *str;
int result;
int disp = FALSE;
str = inputStrHist(prompt, NULL, TextHist);
if (str != NULL && *str == '\0')
str = SearchString;
if (str == NULL) {
displayBuffer(Currentbuf, B_NORMAL);
return;
str = searchKeyData();
if (str == NULL || *str == '\0') {
str = inputStrHist(prompt, NULL, TextHist);
if (str != NULL && *str == '\0')
str = SearchString;
if (str == NULL) {
displayBuffer(Currentbuf, B_NORMAL);
return;
}
disp = TRUE;
}
result = srchcore(str, func);
if (result & SR_FOUND)
clear_mark(Currentbuf->currentLine);
displayBuffer(Currentbuf, B_NORMAL);
disp_srchresult(result, prompt, str);
if (disp)
disp_srchresult(result, prompt, str);
searchRoutine = func;
}
@@ -2634,10 +2640,13 @@ reMark(void)
if (!use_mark)
return;
str = inputStrHist("(Mark)Regexp: ", MarkString, TextHist);
str = searchKeyData();
if (str == NULL || *str == '\0') {
displayBuffer(Currentbuf, B_NORMAL);
return;
str = inputStrHist("(Mark)Regexp: ", MarkString, TextHist);
if (str == NULL || *str == '\0') {
displayBuffer(Currentbuf, B_NORMAL);
return;
}
}
if ((p = regexCompile(str, 1)) != NULL) {
disp_message(p, TRUE);