summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-11-11 22:59:35 +0100
committerLudovic Courtès <ludo@gnu.org>2015-11-11 23:29:20 +0100
commit6237b9fa39c6ab3283c50b96520b990c8612abc1 (patch)
treed7c527387ab8895ce2da49f243be94af761d09fa
parent6d2e833495f8bd63ea3893c23a0762ad88a11cef (diff)
downloadguix-6237b9fa39c6ab3283c50b96520b990c8612abc1.tar.gz
edit: Honor $VISUAL.
Suggested by Andreas Enge <andreas@enge.fr>.

* guix/scripts/edit.scm (%editor): Honor 'VISUAL' before 'EDITOR'.
  (show-help): Adjust accordingly.
* doc/guix.texi (Invoking guix edit): Likewise.
-rw-r--r--doc/guix.texi5
-rw-r--r--guix/scripts/edit.scm5
2 files changed, 6 insertions, 4 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 09a860a64f..3b6955c6f5 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -3929,8 +3929,9 @@ guix edit gcc-4.8 vim
 @end example
 
 @noindent
-launches the program specified in the @code{EDITOR} environment variable
-to edit the recipe of GCC@tie{}4.8.4 and that of Vim.
+launches the program specified in the @code{VISUAL} or in the
+@code{EDITOR} environment variable to edit the recipe of GCC@tie{}4.8.4
+and that of Vim.
 
 If you are using Emacs, note that the Emacs user interface provides
 similar functionality in the ``package info'' and ``package list''
diff --git a/guix/scripts/edit.scm b/guix/scripts/edit.scm
index 0509148c4d..73a5bb78d2 100644
--- a/guix/scripts/edit.scm
+++ b/guix/scripts/edit.scm
@@ -38,7 +38,7 @@
 
 (define (show-help)
   (display (_ "Usage: guix edit PACKAGE...
-Start $EDITOR to edit the definitions of PACKAGE...\n"))
+Start $VISUAL or $EDITOR to edit the definitions of PACKAGE...\n"))
   (newline)
   (display (_ "
   -h, --help             display this help and exit"))
@@ -48,7 +48,8 @@ Start $EDITOR to edit the definitions of PACKAGE...\n"))
   (show-bug-report-information))
 
 (define %editor
-  (make-parameter (or (getenv "EDITOR") "emacsclient")))
+  (make-parameter (or (getenv "VISUAL") (getenv "EDITOR")
+                      "emacsclient")))
 
 (define (search-path* path file)
   "Like 'search-path' but exit if FILE is not found."