emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/engine-mode 75bca85a18 10/71: minor tweaks


From: ELPA Syncer
Subject: [nongnu] elpa/engine-mode 75bca85a18 10/71: minor tweaks
Date: Wed, 21 Dec 2022 09:59:00 -0500 (EST)

branch: elpa/engine-mode
commit 75bca85a18fee8ffbc4397d5e45cb32c42dcd5ce
Author: Harry Schwartz <harry@thoughtbot.com>
Commit: Harry Schwartz <harry@thoughtbot.com>

    minor tweaks
    
    * Assert that engine-name is a symbol
    * defengine always returns the function, even with keybindings
    
    Thanks to @purcell! https://github.com/hrs/engine-mode/pull/1/files
---
 engine-mode.el | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/engine-mode.el b/engine-mode.el
index ef96668215..8227b14263 100644
--- a/engine-mode.el
+++ b/engine-mode.el
@@ -47,6 +47,7 @@
 ;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 ;;; Code:
+(eval-when-compile (require 'cl))
 
 (define-minor-mode engine-mode
   "Minor mode for defining and querying search engines through Emacs."
@@ -61,7 +62,7 @@
 
 (defun engine/get-query (engine-name)
   "Return the selected region (if any) or prompt the user for a query."
-  (if mark-active
+  (if (use-region-p)
       (buffer-substring (region-beginning) (region-end))
     (engine/prompted-search-term engine-name)))
 
@@ -86,14 +87,14 @@
        (quote ,(engine/function-name engine-name)))))
 
 (defmacro defengine (engine-name search-engine-url &optional keybinding)
-  (let ((evaled-engine-name engine-name)
-        (search-term (gensym)))
-    `(progn (defun ,(engine/function-name evaled-engine-name) (,search-term)
-              ,(engine/docstring evaled-engine-name)
-              (interactive
-               (list (engine/get-query ,(symbol-name evaled-engine-name))))
-              (engine/execute-search ,search-engine-url ,search-term))
-            ,(engine/bind-key evaled-engine-name keybinding))))
+  (assert (symbolp engine-name))
+  `(prog1
+     (defun ,(engine/function-name engine-name) (search-term)
+       ,(engine/docstring engine-name)
+       (interactive
+        (list (engine/get-query ,(symbol-name engine-name))))
+       (engine/execute-search ,search-engine-url search-term))
+     ,(engine/bind-key engine-name keybinding)))
 
 (provide 'engine-mode)
 ;;; engine-mode.el ends here



reply via email to

[Prev in Thread] Current Thread [Next in Thread]