diff options
author | Alex Kost <alezost@gmail.com> | 2016-04-01 14:00:01 +0300 |
---|---|---|
committer | Alex Kost <alezost@gmail.com> | 2016-04-18 10:09:02 +0300 |
commit | 79c7a8f214707c98c1ea1936fd62baec41177a81 (patch) | |
tree | e159d941112a49cdee0523b983f74a78e7b81a41 /emacs/guix-backend.el | |
parent | b4ea535a9f0382f3575fdeb3b2eb1cc7cfc37cd4 (diff) | |
download | gnu-guix-79c7a8f214707c98c1ea1936fd62baec41177a81.tar gnu-guix-79c7a8f214707c98c1ea1936fd62baec41177a81.tar.gz |
emacs: Separate package location code.
* emacs/guix-base.el (guix-directory, guix-read-directory)
(guix-set-directory): Move to "guix-backend.el".
(guix-find-location, guix-package-location, guix-edit): Move to...
* emacs/guix-location.el: ... here. New file.
* emacs/guix-ui-package.el: Use it.
* emacs.am (ELFILES): Add it.
Diffstat (limited to 'emacs/guix-backend.el')
-rw-r--r-- | emacs/guix-backend.el | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/emacs/guix-backend.el b/emacs/guix-backend.el index 8afbc9ed48..6341aacae1 100644 --- a/emacs/guix-backend.el +++ b/emacs/guix-backend.el @@ -82,7 +82,7 @@ If you have a slow system, try to increase this time." :type 'string :group 'guix-repl) -(defcustom guix-after-start-repl-hook () +(defcustom guix-after-start-repl-hook '(guix-set-directory) "Hook called after Guix REPL is started." :type 'hook :group 'guix-repl) @@ -337,6 +337,28 @@ additional internal REPL if it exists." (geiser-repl--switch-to-buffer (guix-get-repl-buffer internal))) +;;; Guix directory + +(defvar guix-directory nil + "Default directory with Guix source. +If it is not set by a user, it is set after starting Guile REPL. +This directory is used to define package locations.") + +(defun guix-read-directory () + "Return `guix-directory' or prompt for it. +This function is intended for using in `interactive' forms." + (if current-prefix-arg + (read-directory-name "Directory with Guix modules: " + guix-directory) + guix-directory)) + +(defun guix-set-directory () + "Set `guix-directory' if needed." + (or guix-directory + (setq guix-directory + (guix-eval-read "%guix-dir")))) + + ;;; Evaluating expressions (defvar guix-operation-buffer nil |