Alex Kost <alez...@gmail.com> writes:

> The potential problem with 'defconst', is that it overrides the
> current value if it already exists.  [...] That's why I think it is
> better to use 'defvar' for 'guix-guile-program'.

Done. Otherwise I've renamed this patch to better describe the intention.

--
Mathieu Lirzin

>From 07deba1e666befaedf1367f388fb7a16c6f992e7 Mon Sep 17 00:00:00 2001
From: Mathieu Lirzin <m...@openmailbox.org>
Date: Mon, 27 Jul 2015 22:55:28 +0200
Subject: [PATCH 2/3] emacs: Fix guix-guile-program default value.

* emacs/guix-backend.el: Use guix-config.
  (guix-guile-program): Move to ...
* emacs/guix-config.el.in (guix-guile-program): ... here.  Use Guile
  program file name from compile-time instead of depending on
  PATH.  (Bug#21127)
---
 emacs/guix-backend.el   | 10 +---------
 emacs/guix-config.el.in |  9 +++++++++
 2 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/emacs/guix-backend.el b/emacs/guix-backend.el
index 73a429b..3fafae4 100644
--- a/emacs/guix-backend.el
+++ b/emacs/guix-backend.el
@@ -52,6 +52,7 @@
 ;;; Code:
 
 (require 'geiser-mode)
+(require 'guix-config)
 (require 'guix-emacs)
 
 (defvar guix-load-path
@@ -63,15 +64,6 @@
   (expand-file-name "guix-helper.scm" guix-load-path)
   "Auxiliary scheme file for loading.")
 
-(defvar guix-guile-program (or geiser-guile-binary "guile")
-  "Name of the guile executable used for Guix REPL.
-May be either a string (the name of the executable) or a list of
-strings of the form:
-
-  (NAME . ARGS)
-
-Where ARGS is a list of arguments to the guile program.")
-
 
 ;;; REPL
 
diff --git a/emacs/guix-config.el.in b/emacs/guix-config.el.in
index 8804f72..0ab97e2 100644
--- a/emacs/guix-config.el.in
+++ b/emacs/guix-config.el.in
@@ -22,6 +22,15 @@
 (defconst guix-emacs-interface-directory
   (replace-regexp-in-string "${prefix}" "@prefix@" "@emacsuidir@"))
 
+(defvar guix-guile-program "@GUILE@"
+  "Name of the guile executable used for Guix REPL.
+May be either a string (the name of the executable) or a list of
+strings of the form:
+
+  (NAME . ARGS)
+
+Where ARGS is a list of arguments to the guile program.")
+
 (defconst guix-state-directory
   ;; This must match `NIX_STATE_DIR' as defined in `daemon.am'.
   (or (getenv "NIX_STATE_DIR") "@guix_localstatedir@/guix"))
-- 
2.1.4

Reply via email to