[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: EWW, Duckduck go and Oops error
From: |
Kaushal Modi |
Subject: |
Re: EWW, Duckduck go and Oops error |
Date: |
Wed, 26 Apr 2017 19:10:43 +0000 |
On Wed, Apr 26, 2017 at 3:03 PM Kaushal Modi <kaushal.modi@gmail.com> wrote:
> Yes, I can finally confirm the issue on emacs 25.1.
>
> - emacs -Q
> - M-x eww
> - unsolved mysteries
> - (The first link somehow works.. but go to the "TheWrap" link.. search
> for "Wrap")
> - Now if you copy that link using "w" and paste it in a different browser,
> it works!
> - But if you hit Return on the same link, it fails.
>
> (Though it seems to be fixed on the master branch of emacs.)
>
Actually, looks like this is already fixed in emacs 25.2 too.
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25445
To fix it locally in emacs 25.1, you need need to add this to your config:
(with-eval-after-load 'eww
(defun eww-tag-meta (dom)
(when (and (cl-equalp (dom-attr dom 'http-equiv) "refresh")
(< eww-redirect-level 5))
(when-let (refresh (dom-attr dom 'content))
(when (or (string-match "^\\([0-9]+\\) *;.*url=\"\\([^\"]+\\)\"" refresh)
(string-match "^\\([0-9]+\\) *;.*url='\\([^']+\\)'" refresh)
(string-match "^\\([0-9]+\\) *;.*url=\\([^ ]+\\)" refresh))
(let ((timeout (match-string 1 refresh))
(url (match-string 2 refresh))
(eww-redirect-level (1+ eww-redirect-level)))
(if (equal timeout "0")
(eww (shr-expand-url url))
(eww-tag-a
(dom-node 'a `((href . ,(shr-expand-url url)))
(format "Auto refresh in %s second%s disabled"
timeout
(if (equal timeout "1")
""
"s")))))))))))
But, please, just update to 25.2 :)
--
Kaushal Modi