branch: externals/ssh-deploy commit 519939d2cb02a69ea3e79ed7f79513de6fc09272 Author: Christian Johansson <christ...@cvj.se> Commit: Christian Johansson <christ...@cvj.se>
Fixes for mode-line status as stack --- ssh-deploy.el | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/ssh-deploy.el b/ssh-deploy.el index 1e3bb82..aa10676 100644 --- a/ssh-deploy.el +++ b/ssh-deploy.el @@ -281,6 +281,9 @@ (defconst ssh-deploy--status-detecting-remote-changes 5 "The mode-line status for detecting remote changes.") +(defconst ssh-deploy--status-undefined 10 + "The mode-line undefined status.") + (defvar ssh-deploy--mode-line-status '() "The mode-line status displayed in mode-line.") @@ -301,23 +304,30 @@ (let ((buffer (find-buffer-visiting filename))) (when buffer (with-current-buffer buffer + (when (not (listp 'ssh-deploy--mode-line-status)) + (setq ssh-deploy--mode-line-status '())) (push status ssh-deploy--mode-line-status) - ;; (message "SSH Deploy - Updated status to %s" ssh-deploy--mode-line-status) + ;; (message "SSH Deploy - Updated status to: %s" ssh-deploy--mode-line-status) (ssh-deploy--mode-line-status-refresh)))) (progn + (when (not (listp 'ssh-deploy--mode-line-status)) + (setq ssh-deploy--mode-line-status '())) (push status ssh-deploy--mode-line-status) - ;; (message "SSH Deploy - Updated status to %s" ssh-deploy--mode-line-status) + ;; (message "SSH Deploy - Updated status to: %s" ssh-deploy--mode-line-status) (ssh-deploy--mode-line-status-refresh)))) (defun ssh-deploy--mode-line-status-refresh () "Refresh the status text based on the status variable." - (ssh-deploy--mode-line-status-update (pop ssh-deploy--mode-line-status))) + (let ((status (pop ssh-deploy--mode-line-status))) + ;; (message "SSH Deploy - Refreshing status based on: %s" status) + (ssh-deploy--mode-line-status-update status))) -(defun ssh-deploy--mode-line-status-update (status) +(defun ssh-deploy--mode-line-status-update (&optional status) "Update the local status text variable to a text representation based on STATUS." (when (or (not (boundp 'status)) - (null status)) - (setq status 10)) + (not status)) + ;; (message "SSH Deploy -Resetting status: %s" status) + (setq status ssh-deploy--status-undefined)) (let ((status-text "")) (cond @@ -344,7 +354,7 @@ ) (make-local-variable 'ssh-deploy--mode-line-status-text) (setq ssh-deploy--mode-line-status-text (ssh-deploy--mode-line-status-text-format status-text)) - ;; (message "SSH Deploy - Updated status text to %s" ssh-deploy--mode-line-status-text) + ;; (message "SSH Deploy - Updated status text to: '%s' from: %d" ssh-deploy--mode-line-status-text status) )) (defun ssh-deploy--mode-line-status-text-format (text)