summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorTed Zlatanov <tzz@lifelogs.com>2013-11-21 11:41:35 -0500
committerTed Zlatanov <tzz@lifelogs.com>2013-11-21 11:41:35 -0500
commit604ede6c0722816ff54a72644ccd73fdc18530ed (patch)
tree6d3f5ed60f79678e50f4f5a0df93cb7e2f581a9f /lisp
parent2021a20053592053dfe78ff5190afa1104010344 (diff)
downloademacs-604ede6c0722816ff54a72644ccd73fdc18530ed.tar.gz
net/eww.el: Detect localhost and similar patterns.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/net/eww.el27
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