summaryrefslogtreecommitdiff
path: root/lisp/net/eww.el
diff options
context:
space:
mode:
authorAlex Branham <branham@utexas.edu>2017-07-02 21:18:47 +0200
committerNoam Postavsky <npostavs@gmail.com>2017-07-02 16:19:57 -0400
commit1fd6ca40fd50989b8f82b287c04a5079a051ed09 (patch)
tree221a2fc51319af8661757912c3b757011966fbc8 /lisp/net/eww.el
parent9a65b5779629d4f0f88d568ff164629e82db5ba8 (diff)
downloademacs-1fd6ca40fd50989b8f82b287c04a5079a051ed09.tar.gz
Make eww-search-words prompt for query if nothing selected
* lisp/net/eww.el (eww-search-words): Make eww-search-words prompt the user for a search query if the region is inactive or if the region is just whitespace. Copyright-paperwork-exempt: yes
Diffstat (limited to 'lisp/net/eww.el')
-rw-r--r--lisp/net/eww.el16
1 files changed, 12 insertions, 4 deletions
diff --git a/lisp/net/eww.el b/lisp/net/eww.el
index fe316579142..2fc36e180ee 100644
--- a/lisp/net/eww.el
+++ b/lisp/net/eww.el
@@ -312,11 +312,19 @@ word(s) will be searched for via `eww-search-prefix'."
(expand-file-name file))))
;;;###autoload
-(defun eww-search-words (&optional beg end)
+(defun eww-search-words ()
"Search the web for the text between BEG and END.
-See the `eww-search-prefix' variable for the search engine used."
- (interactive "r")
- (eww (buffer-substring beg end)))
+If region is active (and not whitespace), search the web for
+the text between BEG and END. Else, prompt the user for a search
+string. See the `eww-search-prefix' variable for the search
+engine used."
+ (interactive)
+ (if (use-region-p)
+ (let ((region-string (buffer-substring (region-beginning) (region-end))))
+ (if (not (string-match-p "\\`[ \n\t\r\v\f]*\\'" region-string))
+ (eww region-string)
+ (call-interactively 'eww)))
+ (call-interactively 'eww)))
(defun eww-open-in-new-buffer ()
"Fetch link at point in a new EWW buffer."