From d38bd08c74009ffa2a3d764054f1ca39c9192fff Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Sun, 2 Nov 2014 13:58:21 +0300 Subject: emacs: Add interface for comparing generations. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Suggested by Ludovic Courtès. * doc/emacs.texi (Emacs List buffer): Document new key bindings. * emacs/guix-base.el (guix-generation-packages-buffer-name-function, guix-generation-packages-update-buffer, guix-output-name-width): New variables. (guix-generation-file, guix-manifest-file, guix-generation-packages, guix-generation-packages-buffer-name-default, guix-generation-packages-buffer-name-long, guix-generation-packages-buffer-name, guix-generation-packages-buffer, guix-generation-insert-package, guix-generation-insert-packages, guix-profile-generation-manifest-file, guix-profile-generation-packages-buffer): New procedures. * emacs/guix-list.el: Add key bindings for comparing generations. (guix-generation-list-generations-to-compare, guix-generation-list-show-added-packages, guix-generation-list-show-removed-packages, guix-generation-list-compare, guix-generation-list-ediff-manifests, guix-generation-list-diff-manifests, guix-generation-list-ediff-packages, guix-generation-list-diff-packages, guix-generation-list-ediff, guix-generation-list-diff): New procedures. * emacs/guix-messages.el (guix-messages): Add 'generation-diff' search type. (guix-message-outputs-by-diff): New procedure. * emacs/guix-utils.el (guix-diff-switches): New variable. (guix-diff): New procedure. * emacs/guix-main.scm (package/output-sexps): Handle 'generation-diff' search type. (manifest-entry->package-specification, manifest-entries->package-specifications, generation-package-specifications, generation-package-specifications+paths, generation-difference): New procedures. --- emacs/guix-utils.el | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'emacs/guix-utils.el') diff --git a/emacs/guix-utils.el b/emacs/guix-utils.el index 878781489e..77ccb67532 100644 --- a/emacs/guix-utils.el +++ b/emacs/guix-utils.el @@ -154,6 +154,16 @@ accessed with KEYS." (dolist (key keys val) (setq val (cdr (assq key val)))))) + +;;; Diff + +(defvar guix-diff-switches "-u" + "A string or list of strings specifying switches to be passed to diff.") + +(defun guix-diff (old new &optional switches no-async) + "Same as `diff', but use `guix-diff-switches' as default." + (diff old new (or switches guix-diff-switches) no-async)) + (provide 'guix-utils) ;;; guix-utils.el ends here -- cgit v1.2.3