[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Quicksearch support in Emacs-w3m
※ "山岡さん" こと yamaoka@jpl.org さんの
『[emacs-w3m:04281] Re: Quicksearch support in Emacs-w3m』より
山岡さん> あの、以前から疑問だったんですが、http://www.google.com/ を開く
山岡さん> と、勝手に http://www.google.co.jp/ に飛ばされてしまうのはなぜで
山岡さん> しょう? なので、ぼくは ("gg" . "google") だけで充分。:-p
なぜなんでしょうね?Accept-Language を en にしても cookieを
無効にしても co.jp にいってしまうようです。
私はまず「日本語のページを検索」で絞り込んで探して、なければ
「ウェブ全体から検索」って使い方をしたいものでして。
水戸さん> どうせなら、w3m-search-quick-search-engine-alist の定義のあ
水戸さん> たりでこれと同等のことをしてもらえればいいと思うのですが、い
水戸さん> かがでしょう?
山岡さん> あ、ぜひそうして下さい。パッチと ChangeLog お待ちしております。:)
defcustom でやっちゃっていいものか判断がつかなかったんですが、
とりあえずやってみました。
2002-11-13 Mito <mito@mxa.nes.nec.co.jp>
* w3m-search.el (w3m-search-quick-search-engine-alist): Add all engines in w3m-search-engine-alist automatically.
--- w3m-search.el.~1.19.~ Wed Nov 13 09:15:41 2002
+++ w3m-search.el Wed Nov 13 11:57:50 2002
@@ -88,12 +88,20 @@
:type 'string)
(defcustom w3m-search-quick-search-engine-alist
- '(("gg" . "google")
+ (let ((engine-alist w3m-search-engine-alist)
+ (quick-search-engine-alist '(("gg" . "google")
("ggg" . "google groups")
("ya" . "yahoo")
("al" . "altavista")
("bts" . "debian-bts")
- ("dpkg" . "debian-pkg"))
+ ("dpkg" . "debian-pkg")))
+ engine)
+ (while engine-alist
+ (setq engine (car (car engine-alist))
+ engine-alist (cdr engine-alist))
+ (when (not (rassoc engine w3m-search-quick-search-engine-alist))
+ (nconc quick-search-engine-alist (list (cons engine engine)))))
+ quick-search-engine-alist)
"*An alist of short names for defined search engine names.
Each element follows the scheme (NAME . ENGINE)
NAME if the short name you want to use for this engine.
※ "山岡さん" こと yamaoka@jpl.org さんの
『[emacs-w3m:04282] Re: Quicksearch support in Emacs-w3m』より
山岡さん> 後知恵で申し訳ありませんが、w3m-search-quick-search-engine-alist
山岡さん> に w3m-search-engine-alist をマージするのは大変だし、ユーザオプ
山岡さん> ションとしての特性が変化してしまうので、例えば w3m-search.el に
山岡さん> w3m-search-quick-search-engine-alist と同名の関数を作って、二つ
山岡さん> の変数をマージした結果を返すようにしてはいかがでしょう?
真意をちゃんと理解していないかもしれませんが、以下のような感
じでしょうか?
---
11/13 13:01頃
NECソフト 水戸
--- w3m-search.el.~1.19.~ Wed Nov 13 09:15:41 2002
+++ w3m-search.el Wed Nov 13 12:35:09 2002
@@ -102,6 +102,18 @@
engines defined in `w3m-search-engine-alist'."
:group 'w3m)
+(defun w3m-search-quick-search-engine-alist ()
+ "Concatinate w3m-search-quick-search-engine-alist and w3m-search-engine-alist."
+ (let ((engine-alist w3m-search-engine-alist)
+ engine)
+ (while engine-alist
+ (setq engine (car (car engine-alist))
+ engine-alist (cdr engine-alist))
+ (when (not (rassoc engine w3m-search-quick-search-engine-alist))
+ (nconc w3m-search-quick-search-engine-alist
+ (list (cons engine engine)))))
+ w3m-search-quick-search-engine-alist)
+
(defcustom w3m-search-word-at-point t
"*Non-nil means that the word at point is used as initial string."
:group 'w3m
@@ -157,7 +169,7 @@
If URL is a quicksearch url, replace it with the real url needed to access
the search engine. If not, leave it alone."
(let ((ret url))
- (dolist (quick-search-engine w3m-search-quick-search-engine-alist ret)
+ (dolist (quick-search-engine (w3m-search-quick-search-engine-alist) ret)
(if (string-match (concat "\\`" (car quick-search-engine) ":") url)
(let ((query (substring url (match-end 0))))
(unless (string= query "")