diff options
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/ChangeLog | 5 | ||||
-rw-r--r-- | lisp/net/eww.el | 27 |
2 files changed, 21 insertions, 11 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 0865d0c81cf..ce530e898a0 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2013-11-21 Kenjiro Nakayama <nakayamakenjiro@gmail.com> (tiny change) + + * net/eww.el (eww-local-regex): New variable. + (eww): Use it to detect localhost and similar. + 2013-11-21 Leo Liu <sdl.web@gmail.com> Add completion for command `ag'. diff --git a/lisp/net/eww.el b/lisp/net/eww.el index 573715e8fcf..86e09776b42 100644 --- a/lisp/net/eww.el +++ b/lisp/net/eww.el @@ -101,23 +101,28 @@ (defvar eww-start-url nil) (defvar eww-contents-url nil) +(defvar eww-local-regex "localhost" + "When this regex is found in the URL, it's not a keyword but an address.") + ;;;###autoload (defun eww (url) "Fetch URL and render the page. If the input doesn't look like an URL or a domain name, the word(s) will be searched for via `eww-search-prefix'." (interactive "sEnter URL or keywords: ") - (if (and (= (length (split-string url)) 1) - (> (length (split-string url "\\.")) 1)) - (progn - (unless (string-match-p "\\`[a-zA-Z][-a-zA-Z0-9+.]*://" url) - (setq url (concat "http://" url))) - ;; some site don't redirect final / - (when (string= (url-filename (url-generic-parse-url url)) "") - (setq url (concat url "/")))) - (unless (string-match-p "\\'file:" url) - (setq url (concat eww-search-prefix - (replace-regexp-in-string " " "+" url))))) + (cond ((string-match-p "\\`file:" url)) + (t + (if (and (= (length (split-string url)) 1) + (or (> (length (split-string url "\\.")) 1) + (string-match eww-local-regex url))) + (progn + (unless (string-match-p "\\`[a-zA-Z][-a-zA-Z0-9+.]*://" url) + (setq url (concat "http://" url))) + ;; some site don't redirect final / + (when (string= (url-filename (url-generic-parse-url url)) "") + (setq url (concat url "/")))) + (setq url (concat eww-search-prefix + (replace-regexp-in-string " " "+" url)))))) (url-retrieve url 'eww-render (list url))) ;;;###autoload |