[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
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
+8 -1
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> 2003-01-11 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
* [w3m-dev 03622] Re: Error occured while reset * [w3m-dev 03622] Re: Error occured while reset
@@ -6268,4 +6275,4 @@ a * [w3m-dev 03276] compile error on EWS4800
* release-0-2-1 * release-0-2-1
* import w3m-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 $
+10 -1
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 #define MAINPROGRAM
#include "fm.h" #include "fm.h"
#include <signal.h> #include <signal.h>
@@ -1651,7 +1651,10 @@ srch(int (*func) (Buffer *, char *), char *prompt)
{ {
char *str; char *str;
int result; int result;
int disp = FALSE;
str = searchKeyData();
if (str == NULL || *str == '\0') {
str = inputStrHist(prompt, NULL, TextHist); str = inputStrHist(prompt, NULL, TextHist);
if (str != NULL && *str == '\0') if (str != NULL && *str == '\0')
str = SearchString; str = SearchString;
@@ -1659,10 +1662,13 @@ srch(int (*func) (Buffer *, char *), char *prompt)
displayBuffer(Currentbuf, B_NORMAL); displayBuffer(Currentbuf, B_NORMAL);
return; return;
} }
disp = TRUE;
}
result = srchcore(str, func); result = srchcore(str, func);
if (result & SR_FOUND) if (result & SR_FOUND)
clear_mark(Currentbuf->currentLine); clear_mark(Currentbuf->currentLine);
displayBuffer(Currentbuf, B_NORMAL); displayBuffer(Currentbuf, B_NORMAL);
if (disp)
disp_srchresult(result, prompt, str); disp_srchresult(result, prompt, str);
searchRoutine = func; searchRoutine = func;
} }
@@ -2634,11 +2640,14 @@ reMark(void)
if (!use_mark) if (!use_mark)
return; return;
str = searchKeyData();
if (str == NULL || *str == '\0') {
str = inputStrHist("(Mark)Regexp: ", MarkString, TextHist); str = inputStrHist("(Mark)Regexp: ", MarkString, TextHist);
if (str == NULL || *str == '\0') { if (str == NULL || *str == '\0') {
displayBuffer(Currentbuf, B_NORMAL); displayBuffer(Currentbuf, B_NORMAL);
return; return;
} }
}
if ((p = regexCompile(str, 1)) != NULL) { if ((p = regexCompile(str, 1)) != NULL) {
disp_message(p, TRUE); disp_message(p, TRUE);
return; return;