[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master a651ed9 4/4: * packages/hydra/*.el: Fix compilation warnin
From: |
Stefan Monnier |
Subject: |
[elpa] master a651ed9 4/4: * packages/hydra/*.el: Fix compilation warnings |
Date: |
Sat, 28 Mar 2015 20:30:14 +0000 |
branch: master
commit a651ed9f258e8fa8a5e6b802a5120d7d9b693e12
Author: Stefan Monnier <address@hidden>
Commit: Stefan Monnier <address@hidden>
* packages/hydra/*.el: Fix compilation warnings
* packages/hydra/hydra.el (hydra-timer): Move before first use.
(hydra--make-funcall, hydra-multipop): Move before first use.
* packages/hydra/hydra-test.el:
* packages/hydra/hydra-ox.el: Require hydra.
* packages/hydra/lv.el (golden-ratio-mode): Declare.
---
packages/hydra/hydra-ox.el | 1 +
packages/hydra/hydra-test.el | 1 +
packages/hydra/hydra.el | 36 ++++++++++++++++++------------------
packages/hydra/lv.el | 2 ++
4 files changed, 22 insertions(+), 18 deletions(-)
diff --git a/packages/hydra/hydra-ox.el b/packages/hydra/hydra-ox.el
index 5f1a5c9..1dc7088 100644
--- a/packages/hydra/hydra-ox.el
+++ b/packages/hydra/hydra-ox.el
@@ -25,6 +25,7 @@
;;; Code:
(require 'org)
+(require 'hydra) ;`defhydradio' is not autoloaded!
(defhydradio hydra-ox ()
(body-only "Export only the body.")
diff --git a/packages/hydra/hydra-test.el b/packages/hydra/hydra-test.el
index 155c047..f876e36 100644
--- a/packages/hydra/hydra-test.el
+++ b/packages/hydra/hydra-test.el
@@ -25,6 +25,7 @@
;;; Code:
(require 'ert)
+(require 'hydra)
(ert-deftest hydra-red-error ()
(should
diff --git a/packages/hydra/hydra.el b/packages/hydra/hydra.el
index 18233af..7195e36 100644
--- a/packages/hydra/hydra.el
+++ b/packages/hydra/hydra.el
@@ -396,6 +396,9 @@ BODY is the second argument to `defhydra'"
(delete-window lv-wnd)
(kill-buffer buf))))
+(defvar hydra-timer (timer-create)
+ "Timer for `hydra-timeout'.")
+
(defun hydra-keyboard-quit ()
"Quitting function similar to `keyboard-quit'."
(interactive)
@@ -658,6 +661,11 @@ OTHER-POST is an optional extension to the :post key of
BODY."
(recur (cdr map)))))))
(recur keymap)))
+(defmacro hydra--make-funcall (sym)
+ "Transform SYM into a `funcall' that calls it."
+ `(when (and ,sym (symbolp ,sym))
+ (setq ,sym `(funcall #',,sym))))
+
(defun hydra--handle-nonhead (keymap name body heads)
"Setup KEYMAP for intercepting non-head bindings.
NAME, BODY and HEADS are parameters to `defhydra'."
@@ -730,6 +738,16 @@ In duplicate HEADS, :cmd-name is modified to whatever they
duplicate."
lst
(append lst (make-list (- n len) nil)))))
+(defmacro hydra-multipop (lst n)
+ "Return LST's first N elements while removing them."
+ `(if (<= (length ,lst) ,n)
+ (prog1 ,lst
+ (setq ,lst nil))
+ (prog1 ,lst
+ (setcdr
+ (nthcdr (1- ,n) (prog1 ,lst (setq ,lst (nthcdr ,n ,lst))))
+ nil))))
+
(defun hydra--matrix (lst rows cols)
"Create a matrix from elements of LST.
The matrix size is ROWS times COLS."
@@ -806,9 +824,6 @@ NAMES should be defined by `defhydradio' or similar."
(dolist (n names)
(set n (aref (get n 'range) 0))))
-(defvar hydra-timer (timer-create)
- "Timer for `hydra-timeout'.")
-
(defun hydra-timeout (secs &optional function)
"In SECS seconds call FUNCTION, then function `hydra-keyboard-quit'.
Cancel the previous `hydra-timeout'."
@@ -974,11 +989,6 @@ result of `defhydra'."
(or body-body-pre body-pre) body-post
'(setq prefix-arg current-prefix-arg))))))
-(defmacro hydra--make-funcall (sym)
- "Transform SYM into a `funcall' that calls it."
- `(when (and ,sym (symbolp ,sym))
- (setq ,sym `(funcall #',,sym))))
-
(defmacro defhydradio (name _body &rest heads)
"Create radios with prefix NAME.
_BODY specifies the options; there are none currently.
@@ -1002,16 +1012,6 @@ DOC defaults to TOGGLE-NAME split and capitalized."
',(mapcar (lambda (h) (intern (format "%S/%S" name (car h))))
heads))))
-(defmacro hydra-multipop (lst n)
- "Return LST's first N elements while removing them."
- `(if (<= (length ,lst) ,n)
- (prog1 ,lst
- (setq ,lst nil))
- (prog1 ,lst
- (setcdr
- (nthcdr (1- ,n) (prog1 ,lst (setq ,lst (nthcdr ,n ,lst))))
- nil))))
-
(defun hydra--radio (parent head)
"Generate a hydradio with PARENT from HEAD."
(let* ((name (car head))
diff --git a/packages/hydra/lv.el b/packages/hydra/lv.el
index ee5a739..f51d185 100644
--- a/packages/hydra/lv.el
+++ b/packages/hydra/lv.el
@@ -56,6 +56,8 @@
(set-window-parameter lv-wnd 'no-other-window t))
(select-window ori)))))
+(defvar golden-ratio-mode)
+
(defun lv-message (format-string &rest args)
"Set LV window contents to (`format' FORMAT-STRING ARGS)."
(let* ((ori (selected-window))