branch: externals/ssh-deploy
commit ba3b5c4532846063770858b45340a99805a2b811
Author: Christian Johansson <christ...@cvj.se>
Commit: Christian Johansson <christ...@cvj.se>

    Fix error in hydra byte-compilation when hydra is not installed
---
 Makefile            |  2 +-
 ssh-deploy-hydra.el | 78 +++++++++++++++++++++++++----------------------------
 ssh-deploy.el       |  6 ++---
 3 files changed, 40 insertions(+), 46 deletions(-)

diff --git a/Makefile b/Makefile
index 2f607b6..8a456d9 100644
--- a/Makefile
+++ b/Makefile
@@ -5,7 +5,7 @@ endif
 
 EMACS_CMD := $(EMACS) -Q -batch -L .
 
-EL  := ssh-deploy-diff-mode.el ssh-deploy-test.el ssh-deploy.el
+EL  := ssh-deploy-diff-mode.el ssh-deploy-hydra.el ssh-deploy-test.el 
ssh-deploy.el
 ELC := $(EL:.el=.elc)
 
 .PHONY: test
diff --git a/ssh-deploy-hydra.el b/ssh-deploy-hydra.el
index 2f406e2..b3b21e3 100644
--- a/ssh-deploy-hydra.el
+++ b/ssh-deploy-hydra.el
@@ -28,31 +28,21 @@
 ;;; Code:
 
 
-(autoload 'ssh-deploy-upload-handler-forced "ssh-deploy")
-(autoload 'ssh-deploy-upload-handler "ssh-deploy")
-(autoload 'ssh-deploy-download-handler "ssh-deploy")
-(autoload 'ssh-deploy-delete-handler "ssh-deploy")
-(autoload 'ssh-deploy-diff-handler "ssh-deploy")
-(autoload 'ssh-deploy-remote-terminal-eshell-base-handler "ssh-deploy")
-(autoload 'ssh-deploy-remote-terminal-eshell-handler "ssh-deploy")
-(autoload 'ssh-deploy-remote-terminal-shell-base-handler "ssh-deploy")
-(autoload 'ssh-deploy-remote-terminal-shell-handler "ssh-deploy")
-(autoload 'ssh-deploy-remote-changes-handler "ssh-deploy")
-(autoload 'ssh-deploy-rename-handler "ssh-deploy")
-(autoload 'ssh-deploy-browse-remote-base-handler "ssh-deploy")
-(autoload 'ssh-deploy-browse-remote-handler "ssh-deploy")
-(autoload 'ssh-deploy-open-remote-file-handler "ssh-deploy")
-(autoload 'ssh-deploy-remote-sql-mysql-handler "ssh-deploy")
-(autoload 'ssh-deploy-run-deploy-script-handler "ssh-deploy")
-
-(require 'hydra)
+(require 'ssh-deploy)
 
-;;;###autoload
-(defun ssh-deploy-hydra (shortcut)
-  "Attach hydra at SHORTCUT."
-  (when (fboundp 'defhydra)
-    (defhydra ssh-deploy-hydra (:color red :hint nil)
-      "
+(defmacro ssh-deploy--fboundp-macro (name body)
+  "Expand to BODY if NAME is bound.
+Takes care of byte-compilation issues where the `byte-code' for the latter 
could signal an error if it has been compiled with Emacs 24.1 and is then later 
run by Emacs 24.5."
+  (declare (indent 2) (debug (symbolp form &rest form)))
+  (if (fboundp name)
+      body
+    `(when (fboundp ',name)
+       (eval ',body))))
+
+(ssh-deploy--fboundp-macro
+ defhydra
+ (defhydra ssh-deploy-hydra (:color red :hint nil)
+   "
     SSH Deploy Menu
     
     _u_: Upload                              _f_: Force Upload
@@ -67,24 +57,28 @@
     _o_: Open current file on remote         _m_: Open sql-mysql on remote
     _s_: Run deploy script
     "
-      ("f" #'ssh-deploy-upload-handler-forced)
-      ("u" #'ssh-deploy-upload-handler)
-      ("d" #'ssh-deploy-download-handler)
-      ("D" #'ssh-deploy-delete-handler)
-      ("x" #'ssh-deploy-diff-handler)
-      ("t" #'ssh-deploy-remote-terminal-eshell-base-handler)
-      ("T" #'ssh-deploy-remote-terminal-eshell-handler)
-      ("h" #'ssh-deploy-remote-terminal-shell-base-handler)
-      ("H" #'ssh-deploy-remote-terminal-shell-handler)
-      ("e" #'ssh-deploy-remote-changes-handler)
-      ("R" #'ssh-deploy-rename-handler)
-      ("b" #'ssh-deploy-browse-remote-base-handler)
-      ("B" #'ssh-deploy-browse-remote-handler)
-      ("o" #'ssh-deploy-open-remote-file-handler)
-      ("m" #'ssh-deploy-remote-sql-mysql-handler)
-      ("s" #'ssh-deploy-run-deploy-script-handler))
-    (when (fboundp 'ssh-deploy-hydra/body)
-      (global-set-key (kbd shortcut) #'ssh-deploy-hydra/body))))
+   ("f" #'ssh-deploy-upload-handler-forced)
+   ("u" #'ssh-deploy-upload-handler)
+   ("d" #'ssh-deploy-download-handler)
+   ("D" #'ssh-deploy-delete-handler)
+   ("x" #'ssh-deploy-diff-handler)
+   ("t" #'ssh-deploy-remote-terminal-eshell-base-handler)
+   ("T" #'ssh-deploy-remote-terminal-eshell-handler)
+   ("h" #'ssh-deploy-remote-terminal-shell-base-handler)
+   ("H" #'ssh-deploy-remote-terminal-shell-handler)
+   ("e" #'ssh-deploy-remote-changes-handler)
+   ("R" #'ssh-deploy-rename-handler)
+   ("b" #'ssh-deploy-browse-remote-base-handler)
+   ("B" #'ssh-deploy-browse-remote-handler)
+   ("o" #'ssh-deploy-open-remote-file-handler)
+   ("m" #'ssh-deploy-remote-sql-mysql-handler)
+   ("s" #'ssh-deploy-run-deploy-script-handler)))
+
+;;;###autoload
+(defun ssh-deploy-hydra (shortcut)
+  "Attach hydra at SHORTCUT."
+  (when (fboundp 'ssh-deploy-hydra/body)
+    (global-set-key (kbd shortcut) #'ssh-deploy-hydra/body)))
 
 (provide 'ssh-deploy-hydra)
 ;;; ssh-deploy-hydra.el ends here
diff --git a/ssh-deploy.el b/ssh-deploy.el
index bd262c6..64d57b7 100644
--- a/ssh-deploy.el
+++ b/ssh-deploy.el
@@ -5,8 +5,8 @@
 ;; Author: Christian Johansson <christ...@cvj.se>
 ;; Maintainer: Christian Johansson <christ...@cvj.se>
 ;; Created: 5 Jul 2016
-;; Modified: 9 Sep 2019
-;; Version: 3.1.9
+;; Modified: 17 Sep 2019
+;; Version: 3.1.10
 ;; Keywords: tools, convenience
 ;; URL: https://github.com/cjohansson/emacs-ssh-deploy
 
@@ -373,7 +373,7 @@
 
 (defun ssh-deploy--file-is-in-path-p (file path)
   "Return non-nil if FILE is in the path PATH."
-  (not (null (string-match path file))))
+  (string-prefix-p path file))
 
 (defun ssh-deploy--file-is-included-p (path exclude-list)
   "Return non-nil if PATH is not in EXCLUDE-LIST."

Reply via email to