It used to work in DuckDuckGo with the following code in my dot-emacs:
(require 'w3m-search) (setq w3m-search-default-engine "DuckDuck Go") (add-to-list 'w3m-search-engine-alist '("DuckDuck Go" "https://duckduckgo.com/?q=%s")) (global-set-key (kbd "M-g M-w") 'w3m-search) (defadvice w3m-search (after change-default activate) (let ((engine (nth 1 minibuffer-history))) (when (assoc engine w3m-search-engine-alist) (setq w3m-search-default-engine engine))))
But recently DuckDuckGo redirect the search to
https://lite.duckduckgo.com/lite/ and the GET method does not work anymore:
The (correct) search result page of
https://lite.duckduckgo.com/lite/ contains no search string and its form use the POST method instead.
With a search string attached at the end of the URL, e.g. searching for 'emacsclient' with my code posted above (
https://lite.duckduckgo.com/lite/?q=emacsclient) links of the search results become malformed, e.g. link to emacswiki's Emacsclient page will become
https://lite.duckduckgo.com/l/?kh=-1&uddg=https%3A%2F%2Fwww.emacswiki.org%2Femacs%2FEmacsClient instead of
Is it a bug in w3m-search or is there something w3m-search can do to make it work again?