diff --git a/dispass.el b/dispass.el index efbdc09..09a359a 100644 --- a/dispass.el +++ b/dispass.el @@ -254,16 +254,21 @@ thrown." (while (re-search-forward "\\(\\(?:\\sw\\|\\s_\\)+\\) .*length=\\([0-9]+\\) .*hash=\\(\\sw+\\)$" nil t) - (add-to-list 'tmp-list `(,(match-string 1) - [(,(match-string 1) - face link - help-echo ,(concat "Generate passphrase for " (match-string 1)) - follow-link t - dispass-label ,(match-string 1) - dispass-length ,(match-string 2) - action dispass-from-button) - ,(match-string 2) - ,(match-string 3)])))) + (let ((label (match-string 1)) + (length (match-string 2)) + (hashmethod (match-string 3))) + (add-to-list 'tmp-list + `(,label + [(,label + face link + help-echo ,(concat "Generate passphrase for " + label) + follow-link t + dispass-label ,label + dispass-length ,length + action dispass-from-button) + ,length + ,hashmethod]))))) (setq tabulated-list-entries tmp-list))) (define-derived-mode dispass-labels-mode tabulated-list-mode "DisPass"