]> git.eshelyaron.com Git - emacs.git/commitdiff
Make eww-search-words prompt for query if nothing selected
authorAlex Branham <branham@utexas.edu>
Sun, 2 Jul 2017 19:18:47 +0000 (21:18 +0200)
committerNoam Postavsky <npostavs@gmail.com>
Sun, 2 Jul 2017 20:19:57 +0000 (16:19 -0400)
* 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

lisp/net/eww.el

index fe316579142c902d21f49d012cf20d04c4b4a8b6..2fc36e180eef48af013eb00226e6443990fabcc6 100644 (file)
@@ -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."